Completed!
Last thing I have added was random trending git repo. When searching freeapis i found interesting one. Which was official github api. So, now I can get random open source project by command. Well it was pretty straightforward to implement. The new thing I learned was mrkdwn format use in slackbot respond, i had to make clickable link.
Also I spent time making readme readable and making demo md. I looked throught projects of others and tried to get best from other.
So, i made channel for my bot for ease of testing.
Also, i had removed joke function from tutorial as api seeps to fail.
Also, I have uploaded bot to the nest! it actually had problems, but they were easy to solve, I just accidentally added extra text in .env file, but it was fixed.
2 Function added. It converts currencies like USD and CNY to my local currency.
apparently very easy as it doesnt involve any image or other. Straightforward send get request to api, fetch it and respond with it. I think I will ship third function and after fixing the readme will already ship it.
Just starting out. Quickly passed through the guide and got the basics of making slack bots. So after pinging my own bot and adding basic cat fact funtion I tried to add my own function that sends api to anime provider. So, now I can see all ongoing animes. Had to look through githubs of other projects to learn how to send images, as guide focused only on text response. But currently I am pretty happy with the result, Also thinking of adding other functions too. Not sure for now what I will add.
The firmware is done! NiroClock design completed.
The only thing remaining to actually build it.
For that i need help of stardance.
Lets write how making firmware went.
Actually, i thing it was harder than routing or 3d modelling but in some state very interesting. Again instructions are not enought to make good alarm, as they stop only on how to use display. Yet, i had experience with arduino ide and c++ so was able to make my own system. To learn i read through githubs of other projects in the same mission and build my own unique one with 5 pages, with secondmeter, with different display modes and I liked how i though about every second literally. it was about time conversion, storing. Also, i applied my previous experience from making macropads on how to handle button press. But there was multiple syntax error as i really get confused java and c++ sometimes. Some parts became repetitive and that was boring, making the similar button control to other pages with similar time conversion. At then though I saw what huge task i have done and I am happy for that. it actually works and happy to build it. I will organize everything in correct repo structure and wait it to be approved.
#NiroClock completed by 2/3. 3D Done.
It looks more like a dumb terminal or an old computer. It was done intentionally. I believe it has its own vibe.
So the total time spent was a little more than 3h. Time passed so fast I didn’t notice. Yet it was interesting, so I don’t regret.
Firstly, I imported the display and the pcb that i designed. and the instruction had some new information for me. I fastened them with offset and put angle as i wanted. (But in future, this angle led to some frustration).
I learned about assembly context for the first time. It was new and helpful for me.
I first made bottom case went straight forward until I changed angle of display and updated context and everything shifted. So, I spent some time trying to return. Nevertheless, I just again counter shifted it so it seems to solve situation. My case consist of 4 parts and I though about fasteners for each. I liked my design. But I tried to foresee printing problems but I suppose there is still going to be some printing problems due to the angled display. I also worry about keycaps if they are going to fit. in theory and by my calculations they should fit, but hope it will work in reality too. I created type C port; I have no worries about it.
I liked the process and excited to make it in real life
NiroClock V0.333
well 1/3 of the project is done. PCB part is completed and let me go through the process.
Currently, it doesn’t seem unique and in most similar with project from instructions. Though, without much variety of components It seems ok. This layout is just necessary for my idea, and at the end it won’t be similar to the project done in the instruction.
I am currently thinking about design that would look like old computer, but not sure if i can make it with my CAD skills. It definitely worth trying though.
Schematics and routing was pretty easy to be honest. As there isn’t much components to get confused by. So, things went pretty straightforward. Yet, one thing frustrated me. I went from kiCad 9.0 to 10.0 and this update went with loss of some previous data including 3d models of Switches. And I dont know why i couldn’t update them all at once, so had to change the
d model of each switch manually. That was most boring part.
I liked again adding silk art. I love my logo so I put it everywhere. I also used Poppins font it seems more modern to me. I could have added more images, but i am out of ideas. So, I kept only essential part.
I hope in the CAD part I can express more of my personality and uniqueness in this misson.
It took more than hour I assure you. Deploying was hell.
As you rejected me and didn’t even try to read, that I dont have funding vps, you just suggested me to deploy on some static hosting…
But I did bought vps, I did ran my application there and solved million errors by the way, and ran there all Redis+FastAPI+Celery+Postgres, that you can not deploy on static hosting.
Then I used vercel for hosting frontend. I had to get the ssl certificate for the backend which I did by first getting free domian from https://www.duckdns.org/domains . and finally I did it, now you can try.
But unfortunately due to data centre IP it flags and max resolution is 360p…
yet it is enough for demo.
Almost everything done.
It seemed like more than 3 hours but ok.
I couldn’t solve the problem with slow segment downloading with yt-dlp. So, I left it how it was. Yes it is slow, yet it works. From the backend part what I added was
Format selection, Now the resolution of the video can be selected.
Attaching download to the user_id small change, yet now download logs are saved when user login.
My goal was not learning frontend, so this part I gave it to AI. I used Codex skill and made pretty good frontend.
But again, even if frontend was done by AI, the backend was done completely by me. So, it still required huge effort.
Stage 1.1V ?
If someone has experience in downloading youtube videos, especially only part of the video with python yt-dlp please contact me. I really appreciate any help.
I am getting close to finishing the segment downloading function, but…
I am hitting the wall. the downloading only slice of the yt video is slower than i expected. it might take up to hours if clip has to be extracted from long video. I don’t know what to do now. I am searching for some solution in official yt-dlp repository through issues and questions. Still, couldn’t find solution that would work for me. I tried direct ffmpeg,aria2c as external downloaders and maybe i will have to download full video first and only then cut clip from it… Though I find it very inefficient.
STAGE 1: IT IS WORKING!!
Following the three stage plan I made, and now I am happy to share that first stage is completed.
Right now, the backend includes
that is basically it?
I know there are many downloader apps for youtube. But, this is not final stage and I have a lot of things to add and learn.
Stage 2 planned functions:
The conclusion from first stage.
It took longer than I expected (partly because I played and was glued to Factorio game). Nevertheless, I certainly made a step to my goal and specializing in backend coding without any use of AI and understanding every code I write.
So, learn, build and enjoy!
YAY, made authorization completely from scratch using fast api. This project is not just the sake of the final product. I want to actually learn and love the process. So, it is also a challenge for me.
Actually, I started learning FastApi and python backend a little earlier, so I know the basics. Previously, though, I only repeated from tutorials, and I couldn’t make it from scratch. Yet, I was able to do it now, so I enjoy this small accomplishment.
In future, though, there are huge challenges on my way.
Made multiple sections already, why I forgot to write devlog between them? I don’t know, may be I was in flow state :)
Nevertheless second section design I liked it, the idea the background. The only thing I dont like here is the color of the text on container, I tried black, red , green, yellow. Nothing suits, so left brown, even if I dont like it tbh.
Also I am using different font for each section, looks strange but I like it.
Then I had grand Idea let me use pictures instead of words. It seems so creative to me. So, I wanted to make section dedicated to my roots. I am Kazakh, and dedicated section for that. forest of kazakh memes. I love kazakh memes about viltrumites.
I had better design on my head, but it will also fit.
Then I ran out of Ideas and just made cards section.
But, I actually included part of me to that text. Three things that I wanted to tell everyone about me
Day 1.
it’s hero page.
Installed bunch of cool fonts from google fonts.
This time I want to try mystery, horror , secret theme.
Though not sure what will be final result, its just all about momentary interests. So, I wanted to try.
So hero page is just huge question
Do you know who is…
Nurazkhan?
and I also added a transition white block slightly rotated, so gradient transitions don’t look fake.
Tomorrow I have to add actual content to this pages, and answer
who is Nurazkhan.
The QMK firmware#Third EntryThe worst and most unclear part I’ve countered.The only thing guide has is just link to documentation, which was so unclear.Because document had so many thing toolbox, cli, msys, something for advanced users, I didn’t know even where to start.I tried to read, I got confused and searched for the youtube. Saw some people, but they wrote to some keyboard on different microcontroller, and to be honest they were also unclear.So, again came to documentation tried to follow getting started and setup parts, but still couldn’t get sense of it. So, I opened github of the example orpheusPAD, and get some sense of what to write. Still I saw only result not the way how to start. So, I decided to use AI. It actually helped a lot, I installed the QMK MSYS and setted up and created new keyboard there.Then, again opened documentation and went to section using QMK part.Get basic sense and skimmed through the keycodes out there. My laptop doesnt have the numbers section in the right side, and I thought it will be handy, especially when I write with my native language. Because when I do that the numbers are top are not printing numbers but lnaguage specific letters, So i can write button. so it was easy, just KC_1-9,Encoder and LEDs I am not sure if this correct. I didnt want to just copy from github of example, and just tried to write how it should work after skimming the documentation. Encoder will change volume and led will be always red. and Oled display will shows if caps lock pressed, my laptop doesnt have indicator and sometimes it is disturbing.as i dont have macropad in hand right now, I have no motivation to experiment, as I can’t even check.But when I actually get it I am definitely improve QMK.1. I want to exact LED light when button is pressed. 2. Also, same when encoder gets rotated they leds under it should glow.3. Finally, I want it glow when caps lock state changes
This entry is for 3d enclosure part. Actually, it was hard. very hard.I chose onShape because I have previously worked with it. But, I don’t know is it my laptop getting laggy , so that even browser is getting slow, so it was high cortisol task :(First I followed guide made enclosure little bit bigger than pcb to keep spacefor printer inaccuracy 4 mm.My pcb is 8 and 10cm, so as guide told it must be at max 20x10x10. So I had to make sure the 8cm part shouldn’t be more than 10. Also for clear visibility and test, I imported the pcb with all 3d models to onShape from KiCad, I suppose it was amazing desicion. It indeed helped when designing the typeC port and knob for encoder.I used some website also showed in the guide to genereate dxf file for me, so I extruded it from there. Should have been easiest part, but at first I messed up with location of switches itself so Had to calibrate offset.The knob part was too easy actually. Just cylynder with hole for encoder. It was boring, so I searched for way to add texture on knob. And learned about knurling. That was the interesting part, and most laggy part. my bad internet connection + laggy laptop made it the longest part, when it tried to render 36 element consisting sweep in cylinder in both direction.The display part and little holes for indicators was easy to do, I aligned with pcb model actually I suppose it was good.I wanted to add a lot of text actually. But for each text I had to make one sketch, and it was too much time. Not sure why that happened, but i added only few texts. and mention hack club of course :)That is how I made that 3d enclosure part.