Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Learn X by Doing Y – A project-based learning search engine (aquadzn.github.io)
339 points by didizaja on Jan 12, 2021 | hide | past | favorite | 51 comments


Maybe this is an opportunity to create a new kind of Show/Ask HN, called “Who’s got questions?”

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.


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


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.


Does anyone know of a similar website that aggregates youtube courses or any free course for that matter?


Nice idea. Hopefully gain a traction.


One thing I do enjoy on reddit is the communities that run 'weekly stupid questions´-threads.


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?


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.


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?


I didn't know about this site, it's nice. If I can, I'll try to scrape it and add some Arduino projects.


just added the first 10 tutorials pages from this website


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.


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.


I just added a parameter taking into account # and + for C# and C++. The results goes from 140 without to 27 and 111 with.


Oh dear this is a pet peeve when I was searching for pirated video tutorials back then.


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! :)


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...


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?)


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?


I just added four video chat / call projects :)


Thanks! I'll check it out later!


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



Nice project!

Would be great to have a way to search by technology.


thanks, I wanted to add it but I don't know if a long drop-down menu is ergonomic on mobile.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: