Learn X by Doing Y – A project-based learning search engine(aquadzn.github.io)
aquadzn.github.io
Learn X by Doing Y – A project-based learning search engine
https://aquadzn.github.io/learn-x-by-doing-y/
52 comments
Use a queue. For example, a redis list. Then you can have scalable workers lpop to process the jobs and save the results somewhere. Would require 2 endpoints, one to schedule the job and one to fetch the results. You can generate a uuid to id each job.
Or you can use a managed queue service like SQS as well.
Or you can use a managed queue service like SQS as well.
Does anyone know of a similar website that aggregates youtube courses or any free course for that matter?
If you're talking about having periodic jobs to run you can use heroku's scheduler plugin and start a job.
It will use a different dyno from the one running your api.
You will end up paying more, but you won't have problems with resources sharing.
In a traditional VPS environment you would have needed to have a machine beefy enough to run both api and jobs or spin up a new machine. Cron, Jenkins or another task runner could have achieved the same.
If you're talking about having long running requests initiated by users, a common pattern is to have a queue:
- User send a request
- API add request to a queue
- n workers wait for a queue message and process it once it arrives
Another simpler approach is to just spin another instance of the API and just forward long running requests to the new instance. Depending on the type of job, its dependencies, its frequency you may run into some problems that you wouldn't have with the queue based approach
You will end up paying more, but you won't have problems with resources sharing.
In a traditional VPS environment you would have needed to have a machine beefy enough to run both api and jobs or spin up a new machine. Cron, Jenkins or another task runner could have achieved the same.
If you're talking about having long running requests initiated by users, a common pattern is to have a queue:
- User send a request
- API add request to a queue
- n workers wait for a queue message and process it once it arrives
Another simpler approach is to just spin another instance of the API and just forward long running requests to the new instance. Depending on the type of job, its dependencies, its frequency you may run into some problems that you wouldn't have with the queue based approach
I detected videos of Siraj Raval to learn deep learning. That make me doubt of the teaching quality of the site.
Can you elaborate? (I have no idea who he is)
He plagiarized a lot of stuff, and eventually confessed about a year ago. It was a lot of flash/pizazz, with not as much substance as you really needed to learn something.
I haven't checked in on him since... maybe he's doing better at teaching now?
I haven't checked in on him since... maybe he's doing better at teaching now?
The videos that I found are the old ones.
I didn't watch any of the new ones.
I really like the concept, I look forward to seeing more diverse projects added to the index. I looked for, embedded stuff, virtual reality and high frequency trading and got 0 hits on all of em :(
> high frequency trading
Take a pile of money, burn it.
Obviously I'm joking, but I would assume that the local nature of HFT basically means you have to be a big-gun to play without losing your money.
Take a pile of money, burn it.
Obviously I'm joking, but I would assume that the local nature of HFT basically means you have to be a big-gun to play without losing your money.
I'm not super concerned about losing money on a hobby project :P hard limit 1grand let it ride.
Do you mean simply algo trading? There is absolutely zero chance whatsoever that you will compete in any way with institutional hft.also with 1k what are you planning on trading without pdt and other restrictions?
Probably? I don't really know anything about the field at all just seemed fun, I'm purely interested in this from an intellectual standpoint so competing isn't really my end goal just want to understand the systems.
Couldn't find any Arduino projects but i wanted to contribute. After a quick google search, I found this:
https://create.arduino.cc/projecthub
Which seems to be a narrower mindset of the OP's vision. Should i link that page or pick a couple projects?
https://create.arduino.cc/projecthub
Which seems to be a narrower mindset of the OP's vision. Should i link that page or pick a couple projects?
The idea is very interesting although at the moment it seems to cover only popular choices. I tried to look for prolog and I found no results at all. Same for other topics like knowledge database or petri networks for which google is just a better option.
I hope they can somehow automate the data input for the search engine.
I hope they can somehow automate the data input for the search engine.
My pet peeve: there are still many developer-oriented sites (including this site) that can't handle special characters in search. For example, searching for `C#` or `C++` returns C, C++, C# results.
Lol, didn't expected to be on HN. Thanks @didizaja
Could you show an error message on the site in case Javascript (or just 3rd party JS) is disabled? Without JS the page gives no indication anything is missing, it just looks like a beautiful page with only an "Add a project" button: https://i.imgur.com/SReAOYG.png
thanks, yes will do
You're welcome! I saw it and immediately thought it was something that a lot of people might find both interesting and useful. There are so many projects on the site that I want to try out, and I love the fact that it can grow organically as people choose to contribute new projects to it.
Amazing work on the awesome idea and on the execution! :)
Amazing work on the awesome idea and on the execution! :)
Also liked the way you are hosting it on github pages. Smart move.
Search is good, but if you're like me and would like to just see the list of available projects, it's here
https://github.com/aquadzn/learn-x-by-doing-y/blob/main/proj...
https://github.com/aquadzn/learn-x-by-doing-y/blob/main/proj...
I looked at the title and thought "You know it would be really cool to learn rust by making a Roguelike with it". Then I clicked the link and searched for Rust and there it was! Upvoted!
I'm really tempted to document my own learning/musings in microarchitecture by making a semi-zachlike "game" to go through it. Really stretching the definition of game though, although I know I'd play it which is enough for me.
There's already one on steam, but I don't think it uses a real HDL - thanks to yosys (Claire Wolf you're a god) it could be completely open-source, and you could even just about gamify the end result (Dhrystone MIPS per gate?)
There's already one on steam, but I don't think it uses a real HDL - thanks to yosys (Claire Wolf you're a god) it could be completely open-source, and you could even just about gamify the end result (Dhrystone MIPS per gate?)
Any suggestions for hardware? I'm currently going through Ben Eaters videos on youtube, going to get his kit soon. Seem like it's a great resource. Any more?
Check out https://nandgame.com/ if you want to apply some of your knowledge from the videos on youtube.
This looks super accessible and low-investment. Thanks!
Raspberry Pi ?
cool site. I've been wondering about building a video streaming app/platform but unfortunately I couldn't find anything related to that here. Any pointers on how one can go about building a Zoom like service? Is Web RTC the way to go?
WebRTC is a good start! I played around with it at the start of the pandemic. It's pretty quick to get to a working demo, and you don't have to worry about any of the gory details with regard to video.
I played with WebRTC as part of a masters project about 7 years ago. I wonder how far it has come. It'd be nice to have some sort of a plug and play cloud service to deal with multimedia streaming in realtime and you can focus mostly on logic and UI/UX
This just showed up on the front page last week! https://peerjs.com/
Have you checked out Jitsi?
[deleted]
It looks like the list "Build your own X" https://github.com/danistefanovic/build-your-own-x
This looks really cool. The thing that makes me sad is that there are way too many resources on stuff like React and python and not much material on stuff like webgl. I wanna learn webgl!! Where do i go
Here is a Udacity course using webgl:
https://www.udacity.com/course/interactive-3d-graphics--cs29...
Here is the Class Central page with reviews: https://www.classcentral.com/course/udacity-interactive-3d-g... You can search for other courses on class central, though searching for webgl didn't actually find the Udacity course - had to look at related courses for a no longer available Coursera course listing that searching did find.
Edit: Also, Packt's free ebook of the day is currently Learn Three.js, which is a wrapper around webgl. Only available for the next 9 hours or so. If you don't have a packt subscription, you can only read it in a web browser. https://www.packtpub.com/free-learning
Here is the Class Central page with reviews: https://www.classcentral.com/course/udacity-interactive-3d-g... You can search for other courses on class central, though searching for webgl didn't actually find the Udacity course - had to look at related courses for a no longer available Coursera course listing that searching did find.
Edit: Also, Packt's free ebook of the day is currently Learn Three.js, which is a wrapper around webgl. Only available for the next 9 hours or so. If you don't have a packt subscription, you can only read it in a web browser. https://www.packtpub.com/free-learning
For more such projects: https://github.com/tuvtran/project-based-learning
love this already, been trying to learn webrtc
Very cool!
I notice that the search is not doing partial matches within words, e.g. "RTC" does not bring up results with "WebRTC" in the title. Not sure how this would affect other results.
For example. I’m a self-described senior electron/react/iOS app dev and I have created exactly one API in my life using node/express/GraphQL/mongo/redis on heroku. It works great! I had a ton of fun learning and deploying and now maintaining.
Now... I want to add some features such as long-running (30s-10m) batch jobs. How do I go about doing this? I noticed Redis has Bull ... but I’m still not clear on the architecture. I feel a bit stuck and nervous I’m going to pick something that’s going to fall over at the slightest traffic.