About20 years old developer with something like 10+ years of experience in C. I love programming <3 And i also love Chemistry and Physics and Math :) And I love Cryptography and Steganography Also I love Linux !!!! Get rid of all that bugs !
SkillsJava, C, C++, Arduino, Bash, Linux, Android ROM porting, lot of shit TBH. (Just not python, I hate that shit)
LocationIn a Galaxy far far away.
Joined devRant on 5/13/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
So i was just using my Mi Band 4 and while its cool i dont like having crap like that on my hand. Heck it cant even fucking run Linux kernel. AKA its useless.
Yes that means im going to build the top of the line smartwatch. And actually do the name "SmartWatch" a freaking justice. Android Watch ? HAHAHAHAHAHAHAHAH. Android watch is shit. It can run Linux kernel but its still useless. Its not running mainline linux kernel. And to the new people. If you are going to build anything running Linux. Make sure its fucking Mainline linux or dont bother releasing it.
So while all the plans arent fully done yet. I have some parts ordered and when it all arrives you can expect some pics and probably a writeup on github on how exactly to do it all blah blah.
Obv all the files i will use will be opensource. Except the things i cant control like the firmware of the hardware which is required.16
I just spent 3 hours debugging my 3D printer.
The issue was that the lines extruded werent the exact size as i needed. So the first thing. Esteps for extruder are wrong. I checked 4 times. They were spot on. So i continued searching for the issue. Some belts were looser than i liked. Fixed that. Some bolts were loose. Fixed that. I retry the print. Still same issue. At this point i had no clue what could be wrong. Then i checked esteps again with metal meter. That old ones. Not the electric ones. HOLY SHIT.
5mm off underextruding. I fix it. Reprint and its absolutely perfect.
Now how can a tool that i paid 80$ for thats supposed to have 0.01mm+- accuracy be 5mm off ?
Weird thing is that its exactly 5mm. So now i will never use those ones for precise things cause damn thats a lot of slack.
Point being triple check that the tool you are using is actually correct and precise when doing something like this.
So i just learnt that Cyberpunk 2077 will release with Proton support and it will work out of the box.
Great fucking job Valve.
See you in Night City people !6
Phone CPU on mainline now boosts up to 2.2Ghz. i have arch installed on it as one should and i must damn say im compiling mesa on it and snap its faster than i expected.8
Soooo finally. Day 2 of installing gentoo cane to an end. Right before midnight my first ever freaking gentoo install booted up just fine.
Yes first ever. I did install LFS before and Arch (which i used for 7 years) but never gentoo until now.
TBH only kernel changes are needed and this system will work perfectly. I used bare minimum config i made to get it at least running without GPU first. And yeah well first boot and yeah. I love it.
Its running without GPU and its nearly as fast with it.
Now i see why people say gentoo is the speed. Hell yeah it is.
But yes. The install did take me 2 days. I was aiming for that first ever boot to be a success boot. So i went slow and careful.
Did not use many guides as to learn as much as possible. And to make it more hard i did install systemd amd gnome.
Yeah thats all for today.5
I recommend people who are running linux-next (i know there isnt many of you) Dont update. There is a null pointer dereference. If you updated then have a backup kernel ready cause it will fail to boot.6
So i have little bit of time today between classes. Grabbed old Xperia P.
Tried U-boot again nothing from UART.
Friend suggested hey that kernel base adress seems not correct change it.
I boot it up.
Display says nothing as expected.
I plug in UART.
ITS FUCKING ALIVE
ITS FUCKING ALIVE
OK for those who dont know what u-boot is well.
Im not fucking google. You are programmers. Go fucking search what it is jeez.
OK with that out of the way. What does this mean ?
Well since one guy was so nice and already did most of the work for U8500 chip then well USB should work.
It doesnt exactly but thats small issue cause EMMC works.
Since EMMC works i can check all the partitions and actually flash mainline kernel on this shit.
And well once Mainline shows me some output oh BOI.18
There are too many but let's see.
When I was doing xperia P development I had this issue that it would not install via TWRP cause it would not recognize the phone.
For 2 months I was releasing a manually edited zip file with the hack to fix that bug until I finally fixed it.
Or when I had to hex edit the camera blob cause it was sending a command that new HAL and driver in kernel interpreted as hard reset. I didn't know where the F and why the fuck it's doing it so for like a week I had hacked blob on my phone.
And sadly many many more.
So the bug i posted about last day has been fixed. Fucking variable had 0x465f7 instead of 0x465e7.
In other news tho CP2077 system req are out. And im gonna play it.1
Well what i fucking shitty day today was.
I wake up at 5AM to go to uni to grab some papers.
I miss the bus by few seconds.
The second bus is also late by 3 minutes.
Luckily it arrived with only the 3 minute delay. I grab the papers. Go on train and i pull out my laptop. 15% battery. FUCK. I go charge it in train. I plus in the charger and laptop screen goes black. And laptop is not turning on anymore.
OK i pulled my phone out. That was luckily fine.
I get back home and had to reset CMOS because IDK how a fucking unstable power can do something like this. Like realistically. If somebody can explain it please do.
So it now turns on.
I get spammed by friends to fix a bug i was working on. I thought i had a fix but nope.
Then one of the friends. (One of the best C devs i ever saw) says hey look at this line.
It was LITERALLY 1 fucking letter typo.
I fix it. Oh the bug isnt fucking fixed.
I want to pull my hair out.
The best is that i cant really fucking debug it because its a kernel bug on a phone and there shit is 3x harder then whatever i worked with.
But i bet i will tomorrow send a rant saying that it was some fucking stupid thing i missed totally.2
Who ever thought that creating WCN3980 was a good idea i hate you.
So lets see the story shall we ?
Naive me jumps on the mainline tree.
Everything goes well with the phones we ported.
We have touch and all that jazz.
Now came Bluetooth.
Then the all mighty QCOM decided that downstream they will use some shitty driver to make this piece of shit work.
While the more smart people of upstream (mainline) decided that hey lets do the driver the proper way.
So they did.
Now comes the funny part.
The BT chip isnt connected to SoC normally as one would expect.
It is via UART.
Which is fine you think. Until you take a look how downstream and upstream handle it.
On upstream we have it the proper way of assigning BT node as a subnode of UART.
On downstream ? Just define the BT node as normal node. Driver will figure it the fuck out.
Now on this SoC we have 4 UARTs.
2 of which are crashing\freezing our phones when we enable them.
So lets try the other 2.
1: It boots up which is good but ultimately fails that frame reassembly failed with -84 aka illegal byte sequence.
Yea thats not good.
2: It also boots up and now doesnt throw -84 error on me.
What it does do tho is throw at me timeout error for the chip turning on sequence. (-110)
Then i figure out that 1 vreg (Voltage Regulator) is incorrect. So i fix that.
I left it like this for a while.
I got back to it week or so ago.
The vreg was wrong noticed one of the other guys im working with on this.
So we implement the new regulator type.
I pass it to the driver hoping we get BT but no. Same error.
Today i made the ultimate discovery.
That vreg we set ?
Yes i know by this time its getting crazy but this is making me go nuts
The downstream didnt set VDDIO they set chip power.
I looked in one place. Found the real 10000000% correct regulator for it. Turned it on anddddddd BT still not working.
OK hmmm what if i try setting all the voltages to as the chip wants them to be to be turned on.
BT still not working.
And this is where im right now. Stuck on this piece of shit thing.
I have some ideas what can be wrong. Most of them have been proven wrong by me from testing already tho.2
Yesterday i said i need to make Android 11 building.
Well today i spent literally deleting and reorganizing shit because hey google once again decided that it would be AMAZING if hey LOCAL_COPY_HEADERS would be deprecated completely.
Oh hey you need that in your projects ? SIKE FUCK YOU. We are gonna deprecate it and you cant do shit.
It is building for now. If it will continue and if it will finish (Highely unlikely) is unknown at the moment.
But its building so far.4
And here we go again. Lets start the work on making this piece of shit boot up.
If you didnt get it: ANDROID 11 IS FUCKING OUT21
Just 3D printer. Laptop and lot of stuff I use daily.
Wait I actually got dev C duck here. Not playing with it.2
They say it's amazing and all that jazz.
I have ascended.
This wonderful thing. It's like something completely different.
I have been spoiled and I can't go back.8
Can we please kill Google ?
Android 9 was OK with the changes they did. I mean not GREAT. But OK still.
Android 10 was HORRIBLE. Broke nearly every custom ROM out there and they didnt fucking care.
TBH Android 11 isnt that bad. Its not OK but not horrible. But now we cant build kernels in android sources because google decided it so.
Yes this was android 10 change but it is slowly getting enforced and i hate it.
Dont get me wrong. I love the UI changes. They are sick. Grabbing more from Custom ROMs and bringing it to official android.
But if you didnt realize Google is making Android app and ROM developers an hell from life.7
Me and mainling bluetooth on my phone.
*Implement the bluetooth node*
Driver: FUCK YOU
*Replace the regulators names with proper ones according to new driver*
Driver: FUCK YOU
*Find that one regulator is wrong*
Driver: FUCK YOU
*Add max frequency to not go over that limit*
Driver: FUCK YOU
And this my friends is kernel development in short.
Driver cant read the data from the chip because its offline. And i have no clue why.
And it has no way of telling me why.
Cause it doesnt know.7
I grew up without having access to PC or internet until i was like 7-8. (This may seems weird to kids today that have internet and PC or phone basically when they can slightly think)
So when i started using PC i started playing games.
ofc they were basic and all.
But as always i started thinking. They were limited. Very limited. Like cant we do better ?
So i started looking at how games were made.
And guess what ?
I found out that it was indeed possible to create a basic game.
I knew this is what i wanted to do in life.
I mean sure i learnt C as my first language cause of 1 book and learnt C book from another book but oh well.
I mean sure i dont want to create games but now 11 years later i still work (Hobby or non paid work. I blame fucking coro*a.) in C basically every single day.6
//Another 3D printer rant
So as many know im student.
And i have been 3D printing for years now.
And like 2 months ago i have decided to buy 3D touch (BLTouch shit clone).
BLTouch is like 40-50$
and 3D touch is 15$.
Yes its a clone but from what i heard the accuracy is not that bad really.
I plug it in and try the accuracy test in marlin.
Standard deviation of 0.25mm
That is 1 freaking fucking layer.
Heck 0.05mm more then 1 layer.
So i read how it works.
OK its not that complicated.
Basically a hall sensor.
So i unscrewed the sensor and magnetized the screw and probe.
I put it together again but now with only 0.6mm gap between the screw and the top of the sensor. (Before it was really deep in there).
I try the accuracy test again. (Yes i have run the tests multiple times and got an average of them in the past tests and future tests too).
Still horrible but better.
So i go around internet and i find one guy saying turn on debugging in marlin.
OK i mean i might just as well.
That is better then some old original BLTouch probes.
I hope to get BLTouch v3.1 in future but this will do for now i guess.
So would i recommed the shit cheap clones ?
They are unrealible pieces of shit and you have to spend hours upon hours to make them work properly and even then they wont get to the accuracy of new BLTouch.
Yes there is also the point that Z motor isnt really perfect either and 1/16 micro stepping is also shit and you cant go that precise.
Oh and while typing this the fucking shit probe decided it would be a great idea to fail and failed.
Resoulting in a deep hole in my printing bed.
So if you think the 15$ is a great value NO.
DONT BUY THE CLONE.
I have learnt my lesson.10
Friend bought a 3D printer.
I had friend who bought a 3D printer before and all came to me for some tips so did this one.
He got also Auto leveling probe with his printer.
And when he saw that he has like 5 choices of auto bed leveling he went nuts.
I was big fan of bilineral leveling but i have switched to Unified Bed Leveling or UBL for short and never went back.
The options you have in there are crazy. Yes it takes time to set up properly but DAMN it is worth it.
Im gonna print PETG ?
Switch to PETG leveling profile.
Switch to PLA leveling profile.
Like if you arent using UBL go change that NOW.
I helped him set it up and he was amazed at how much better the adhesion got.6
Fuck this shit.
IDK how this even makes fucking sense.
I apply for a job im fully qualified for.
I get a no
I misread a job offer. I read it as C++ programmer. They wanted C++ unreal engine programmer.
So i applied.
Not being even qualified for the job. I was thinking i was but when i read the UE part im not.
I got an offer.
WHAT THE ABSOLUTE FLYING FUCKING HELL PEOPLE ?
HOW DOES THIS MAKE SENSE.
Ofc i refused the offer as i know nothing of UE and they wanted a small project to show skills but they were very much interested.
Can anyone explain how this makes even sense ?5
So this is an funny one.
Im here enjoying some good music and coding.
Editing Marlin firmware (3D printer firmware).
I checked the code twice to be sure its ok as i had to have hands near the printer while its moving.
I apparently didnt check enough as i missed 1 if statement.
Making the printer to run at firmware allowed MAX speed.
I have my hands in there with piece of paper (For leveling)
I start it the function.
The nozzle was just in so perfect height that if i had my finger under it it would grab the skin and also burning it as it was at 215C.
How do i know so specifically ?
Well cause when i started the function that was what happened.
The printer moved very fast and i didnt react fast enough.
And to add to the injury as the axis was moving at nearly 900mm/s (Yes you read that correctly) i had to replace both the motor and stepper driver for the X axis.
If it didnt hit me it would be fine but as it hit me it tried to push more power to motor. Frying the stepper driver and the motor internals got fucked.
Also yes i was OK. It was just the top level skin layer and straight line only.
It just hurt a lot.
Now when doing something like this i wear gloves and also checking the code without my hands in there first.6
So me and my friend had to create a script while we are mainlining some phones.
As you can imagine you have to build the kernel a lot and test often. As a Linux user that calls for a script.
Since the friend already had one I asked him for it.
Upon reading it I saw sudo when using fastboot. That is not needed when set up properly which I know he did since he can debug with ADB without sudo.
So I ask about it.
"Well that's just so that I don't flash old build when the current one fails and I don't wonder why it's still broken"
So I played some room music and created the top of the freaking line building script for our needs. It had everything. Making back up of the old builds. Error checking if the build fails and even tells you to fix it if it fails (LOL I had to do that).
So I send him this script. He looks at it. Thanks me and sarcastically says she it's just tiny improvement over mine lol.3
Im really starting to hate applying all those jobs and having no response or that they are not interested.
Been trying for a month or so. Applied to a lot of jobs.
Just today i got first call that they would be interested. Heck the person said i would be be hired ASAP with my experience (Repairing phones hardware and software, Nearly perfect job TBH)
The issue why i didnt get it ?
The site showed it to me even tho i was looking for a part time job or remote full time job. They wanted full time guy and since im going to uni in 2 or so months i cannot just do that sadly.
I only apply to jobs for fresh out of school people or when i know i fit all the criteria required.
2 funny stories so far.
Applied and got response that they are not interested because they are looking for people with 5+ years experience in that field (In real work. Not just hobby or open source projects. (Fuck you. Count open source projects as experience)) And yes this was job for fresh out of school people. ARE YOU FUCKING KIDDING ME ?
HOW THE FUCK?
Just how ?
Second story is basically the same.
So i truly dont know what the fuck im doing wrong.
I cant be without a job this summer as im going to uni. Yes the uni is paid by state but i still need money to live somehow.
Im even considering going to a fucking cashier job just to get some money. Yes that would be crazy but well if it will be the only choice i will take it.25
Holy fuck fuck fuck fuck fuck fuck.
I just played Russian roulette on 300$ phone by accident.
If it went wrong no joking the phone would be DEAD. Like hardware dead.
So how the fuck did i do this ?
Yeah you see. Im working on mainlining this phone with friend and i worked on MMCC driver needed for display. So i did the driver and friend did DTS stuff.
He got it working on his phone that different then mine since we are mainling 2 platforms. Anyways.
He sent me panel driver.
So i get it build and flash it on phone. Run it.
The screen just went blinking.
It got hot quick.
So i turned it off. Then i realized my mistake.
He did DTS for his panel.
I didnt change compatible of the panel node in my DTS.
So what happened was that the phone was using driver for the different phone.
And kernel developers will know how terrible that can go. It can break the panel.
Meaning phone without screen.
And as you can imagine that WOULD SUCK.
So well luckily it seems everything is fine and the phone survived it.11
//Unusual Haxk20 real rant :O
Ah yes you all love it.
You in a project group chat agree to change your current development branch to match the naming scheme and rebase that to master if needed.
You have manifest file for cloning all the required repos specifying branch for each one.
One guy changes them but forgets about half of the other ones. (To his credit only 1 caused breakage but still)
He forgot one that was needed and tadaaaaaaaaaaaaaaaaa entire android build is fucked.
So in the time the android build would finish i had to check each repo if it has the new branch and change all repos that had it to it.
My high school networking project. I should resurrect it.
It was basically device using LoRa for peer to peer communication between 2 custom boards that connect to phone via Bluetooth.
*Haxk20 slaps himself to check if he isnt dreaming.* You will see why.
So i go to twitch sometimes. And you know they sometimes have giveaways. Like you say yeah sure you cant win.
So there was giveaway for Ryzen 7 3700X.
I mean sure why not enter.
Days go past and im like IDK when they are rolling it.
So i join today on their stream just to be welcomed by "HERE HE IS" GG MATE.
WTF is happening i think.
So they explained that i won the giveaway and that they will be sending it my way very soon. Now if thats not crazy IDK what is.
And thats not the only thing that happened today. Sadly i cant talk about that. Lets just say that made my day and i officially made it best day of my life. And now this. Im officially saying it. BEST DAY OF MY FUCKING LIFE.24
Mainline it they said. It will be fun they said.
If i find that this piece of shit booted up at least the slightest bit and it was just some tiny issue i will throw it all away. I swear to fucking god. If this shit phone boots mainline i will throw it out of the window. Cause its not worthy of mainline.
UART should be as easy as just telling in DTS to which address to output shit. Bootloader should figure shit out next. I got UART on routers this way. Even on 1 phone. This one ? NOOOOOOOOOO1
Ah yes. Do that please one guy in our dev group says. OK easy. Oh i forgot. Do it for all platforms of phones we support and then also do it in all individual devices.
So we have 7 platforms. 1 platform has minimum of 2 devices. Some 3 or more even.
All in all its around 28 repos.
And i have to PR to all of them basically the same thing just slightly modified.