Old programming Thoughts
August 31, 2022
None
Full Install USB (not a live usb)
https://www.fosslinux.com/10212/how-to-install-a-complete-ubuntu-on-a-usb-flash-drive.htm
Technologies
learn adoc and find a docisfy alternative or modify docsify yourself to support adoc. Also go learn adoc nerd
Docsify Tauri Google seo guide
CDN:
https://cdnperf.com/ https://stackpath.com/ https://bunny.net/
fkit https://www.youtube.com/watch?v=rFP7rUYtOOg
Docker-compose self hosted stuff + docker + ansible embedded c and rust using pi pico jellyfin/webdav/nas plex filebrowser homer flame adguard home wireguard synology openmediavault apollo client
How do I utilize tutorials in a better way?
Instead of following the solution step by step, truly go learn the fundamentals of the technologies and language before copying the tutorial. This will make what you learned more useful to build your own project or version of the tutorial. Nice video by Traversy Media that gives the truth.
What is in the core of being a programmer? Splitting your problem into smaller, solvable, tasks. For example, for a physics engine, making gravity. Or, for a network stack, make a small part, say tcp.
Reading code is extremely helpful. Going to the earliest commits of a big project to see the starting point to jumpstart continuing the project is helpful.
My biggest problem is figuring out what problems I need to solve, I need to learn and not be lazy before jumping in because it sounds cool. I also need to figure out a starting point to jumpstart motivation to work on the project and get more ideas.
Start with "boring or easy" projects, the more you program and focus on fundamentals of how everythings works, the better ideas you'll get about what you need and whats useful. Don't worry about it now because you likely won't understand.
mailing: express-rate-limit with sendgrid/mail
blog/note site solution book/pdf solution music solution? media solution webdav/nas for both of these? (works with documents)
make webapps from scratch to learn
- spyfall
- codenames
- yt mp3 converter
- file format converter
- pastebin clone
- todo list that syncs with web
- raw and jpeg extention sorter in subfolders
- Logging library
- x86 or ARM assembler / assembly
- c/c++/c# ecosystems
- simple blockchain
- simple http server
- kotlin/java
- haskell
- rust
- clojure
- scala
- zig
- crafting interpreters book
- create own version of ? querying in nextjs
- brainfuck interpreter & compiler
- pissjs / dontleaveme / other dumb script/framework
- math expression parser (simple wolfram/latex)
- pi calculator
- embedded programming
- markdown to book on a webpage/pdf/etc
- image to ascii library
- file hosting service, url shortener, with discord integration
minecraft
learn about external and internal java clients move to c++ learn about dll injection and others learn about java agents and asm(library to manipulatoin bytecode) process memory manipulation attach with c++ using jvmti https://www.youtube.com/watch?v=RR-SG2GdMiM https://www.youtube.com/watch?v=U2Juq5F3Q1w
"Here are a few ways to develop or help you develop good ideas:
Attend hackathons. Hackathons showcase all sorts of cool projects that will help inspire you to come up with ideas of your own, and you'll likely also be pitched other people's ideas that you can implement or help implement. Look at industry-funded research projects at universities. The goal of many of these projects is to develop and identify talent for recruitment. Even if you work on a similar project independently, it'll still look good on your application. Contribute to open source software. Having submitted patches to notable FOSS projects looks great to employers, as it shows you have the ability to contribute to very large and complex codebases, and it essentially means your work is being used in production by perhaps millions of people. If you're really ambitious, you might even fork a project to make more significant changes to it.
Some specific examples from the above sources:
a sign language interpreter using Leap Motion difficulty: moderate software to create a 3D display out of any monitor by identifying where the user is located relative to the monitor (using a web cam or other sensor) difficulty: moderate a virtual "touch interface" that allows the user to "tap" objects on the screen without actually touching the display (this could be done by calculating the user's pyramid of vision to map the viewport to a smaller quadrilateral somewhere closer to the user's face) difficulty: moderate-advanced flight control software for a drone difficulty: moderate-advanced a mission planner / GCS app for operating drones difficulty: moderate software for aerial oblique and ortho imaging (being able to fly over a region with a drone-mounted camera and automatically calculate an accurate 3D model of the region from those photos) difficulty: advanced a steganography app to encode text or binary data into photos difficulty: easy-moderate enable a drone to identify and track objects using OpenCV difficulty: moderate an algorithmic trading application (e.g. for stocks or ForEx or cryptocurrencies) difficulty: advanced build your own 3D engine / physics engine / game engine difficulty: advanced a reliable/usable cross-platform password manager that is compatible with the Password Safe format and works on OS X Yosemite (if you're taking personal requests ;-P) difficulty: moderate a more user-friendly and better designed fork of GnuCash difficulty: moderate-advanced"