About20 years old developer with something like 11 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
//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.5
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.3
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.4
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.
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.23
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.
I cant anymore. Im done. How the F.
Friend calls me that he sent his resume to like 100 companies and none of them even invited him for interview. Which seemed kinda crazy. So i asked him to send it to me so i will take a look at it.
I look at it. Most of the stuff was OK.
Then i have. Skills:
Web site programming (squarespace): Pro.
OK wait what even ?
Are you fucking serious ?
So i asked him where he was applying.
For web developer.
i ask him. Do you know HTML or CSS at least ? NO what is that ?
At this point i wasnt sure if im supposed to laugh or cry TBH.
I mean are you fucking serious ??????????
I explain to him calmly that well squarespace wont et you a job like web developer.
I fucking hope he is able to learn at least fucking HTML.
I mean im pretty sure i could teach an 6 year old HTML.8
Well 0.1mm nozzle on 3D printer is surely fun. I mean the detail out of this little shit is mind blowing. Sure i have to print at 0.05mm layer height but still it takes lots of time to print small stuff but the layers are INVISIBLE.
Maybe just a tiny issue is that the bed has to be ULTRA leveled and the layer height needs to be really perfect or nothing will stick to it.3
So today i got B2 english certificate. Meaning that i know english at B2 or better level. Was kinda surprised how easy it is. Lets get C1 next year. Because well why not ?34
So we are crashing when uncompressing the fucking kernel by the looks of it.
2 solutions to this it seems. Either you fix it somehow which i dont have time to do and well I dont want to port U-boot totally.
Second one is well kinda crazy but normal.
If it crashes in uncompressing the fucking kernel then well dont compress it at all.
So i grab the uncomp image.
12.3MB Well shite.
I pack it in boot.img and its 14.9MB and partition is 16MB. Well this is close AF.
Anyways. I flash it. Boot it and no UART as expected. I expected data abort tho. Nothing like that tho. :O
So now either this shit isnt loading at all. Or i just dont have UART.
Sadly i have no way of testing that. So either i can make UART work and then i will know that yes it works or well IDK.
*Haxk20 not so techy stuff :O*
So in my country its the time where you find out if you have been accepted to the unis you applied to or not.
I have gotten the mail 2 days ago.
And to not make it an huge post
I applied to one of the best universities in my country that is for computer science fields.
And well i have been accepted.
IDK how i managed to do it. But i did it.
From what i heard math on high school compared to this is out of this fucking world. So yeah i will surely be having few funny nights there.
Good luck to anyone who is still waiting for the answer if they have been accepted or not.23
Xperia P mainline:
UART doesnt work. Fucking bootloader doesnt set the L2 cache and doesnt lock it.
Kernel crashes right after uncompressing.
I had no clue what was wrong since UART doesnt work and i was thinking its just something wrong with the file since Data Abort. But thats kernel crashing before it can segfault or panic and just drops and bootloader tells you something went horribly fucking wrong.
So now i need to port u-boot which is kinda OK considering there is port of it already for the processor. Oh the same UART shit. What a surprise. So i need to get UART working. USB working so i can flash kernel via u-boot and then i can mainline this shit. Just WOW.
Mainline XPeria P progress update:
Non booting. No UART. Nothing.
Kernel seems to Data Abort even before uncompressing or whatever.
So far i want to burn it all.5
So you mainlined your phone to the point where UART is working. Amazing right ?
You flash it.
You boot it up and basically nothing happens.
You recheck the adresses and GPIO pins in device tree file. No its all correct.
Then you realize it.
The phone is old and the bootloader has no clue what dts file even is so no luck there. What do you do ?
You append the dts to the kernel image.
Isnt it wonderful that you can make 1 file from 2 and use that as kernel which then takes the dts file and uses it instead of relying on bootloader to do all the shit work for him ? Yeah it is absolutely AMAZING and saves me ton shit lot of time because if it wasnt for this i would be porting U-boot at this point which i really really dont wont to do at this point. Why not ?
Its kinda simple.
When mainlining a phone that doesnt have dts support the bootloader has to set the regulators to the correct values and shit otherwise the phone would die. And the amazing thing is that if i dont specify that regulator in dts it wont be set to anything and it will be at the value bootloader set it to. So its kinda like a safebox for me at this moment.
If i replaced it with uboot (Which i will do once the phone is working on mainline kernel) then the bootloader would not have all the regulators and it will be a shit mess and the phone would most likely die.
Isnt mainlining so much fun ? It IS.3
Do you know when you got into like a real low level programming ?
Not when you learn assembler because that takes ages to learn to the skill level where you can actually use it properly.
For me it is writing device tree files in Linux kernel. One typo and the mobile phone is literally dead.
Oh I accidentally typed one more 0 to the voltage in regulator. Yeah goodbye phone.
You have to be careful as fuck and read the shit six times before you flash it on the phone.
And oh God mainlining a phone. It surely is fun seeing the phone boot the same exact kernel version my PC uses. But dang it is hard.14
So we had a nice chat with few devs and one dev said that i should just swap HDD cause i needed it at the moment. So i did.
Me the freaking idiot at the moment didnt realize that no the 0.5Tb HDD isnt SSD and that it needs to stop rotating otherwise there can be hardware damage and not umounting it will lead to issues.
So i disconnected the HDD. (Bless servers for this amazing thing called hot pluggable drive bays. Lovely thing i tell you) and after fixing it i plugged it back in.
Oh what is this ? Input output error ?
Ohhh Fuck. (This is the moment i realized i fucked up 0.5Tb of data).
Me the lucky idiot at the moment decided to backup all the data to second HDD since i knew the drive bay had to be fixed so i did that before doing this.
So what did i learn ?
Unmount the drives, Sync them, Stop the drive spinning. Then unplug them.10
//Before you go i knew this was you. Yes it is Haxk20
I grab 2 devices i have at home. I port postmarketOS to both of them.
One fails to boot because if their shitty fucking kernel.
Enabling virtual terminal crashes ramdisk loading as if that makes any fucking sense but oh well.
One boots up to OS fine. Small issue is touchscreen but can be fixed i guess with little bit of magic.
Anyways. Implement some crap to the ELF support for pmOS and then mainline 1 device.1
I mean this is the basic of the basic you need. Yet when you learn it.
Oh boy you have the power.
No silly color schemes crap or some fancy shit.
It will let you do your work.
NANO TEAM ASSEMBLE.13
One would expect that bitcoin isnt used that much anymore. But one would be correct. It is getting slowly replaced by other currencies as the one and glorious Monero. I was today doing my fair share of exchanging to get hella good prices and well as one does make some money also but then i saw the fucking fee for bitcoin transaction. 0.0005BTC
Do you know how much that is ?
I aint giving someone 3.5 for 1 fucking transaction. So i used second exhange where the prices were finally OK and i could get XMR exchanged for BTC instantly and get myself some sweet money.
We really need to get monero up there. Cause its private, secure to the point you cannot see how much was in 1 transaction without key. WOW.
Also the fee is so much better.3
PostmarketOS rant 4 or whatever it is now.
I wish i could say it boots up and all but thats not the case.
enabling CONFIG_VT breaks reading ramdisk completely. So no Logo or booting the fucking shit.
What do you do in this case ?
Well one could spend the time finding the issue and fixing it.
Which would take lot of time.
The second option is mainline bitches.
Since this SOC is very well supported thats the only reasonable option. Mainline the phone and it will boot up for sure.
Also running linux-next on phone ? Fuck im haxk20. COUNT ME FUCKING IN.
And since its basically free time whatelse would i do at home ? LUL2
postmarketOS rant 3:
This is not a rant anymore. IT BOOTS US. IT FUCKING BOOTS UP.
Compiling final version with fixes and this one should get me ssh over USB and actually get a working shell on it.3
PostMarketOS port rant 2:
Ouuuuu fuck this will be fun.
Got the device to show a logo. Doesnt boot up but who fucking cares. I got logo LUL.
And on top of that. I implemented the ELF support in the PMOS code so i dont have to make my own image like crazy.
Its on review still and have to fix few things tomorrow on it but it works which is most important.
Next time i will post another one of these i will have UART adapter here (Not arduino that i cant use because i dont have the resistors needed to make 5V to 3.3V. FFFFFFFFFFFFFFF)
Then we can debug the shit to hell.2
postmarketOS port day uhmmmmmmmmmmmm 3.
Surprisingly to get a port of it you just need kernel which is hella awesome. What isnt awesome is the boot image of the 2012,2013 sony devices.
This is gonna get technical. If you dont care about it just skip it.
So sony decided that using ELF format for boot image is good idea. And TBH they were kinda right. ARM processor after all can execute ELF natively and work efficiently. Whats the issue then you might ask. Well kinda simple. Normal AOSP boot images are not ELF format. (They kinda are but arent at the same time. Lets just say they contain ELF image at some point). This is of course the google way. Overenginner everything you can.
So why is the ELF image format the issue ? Well to produce this elf image you need special script provided by sony that can make ELF format boot image that you have to compress properly afterwards. OK this sounds OK so whats the issue ? AOSP or well android sources do not support this out of the box. What we need to do is to create a custom way of creating that boot image. Which isnt hard but is just extra unneeded work.
Now when you flash the image it all works as expected.
But what happens if the format isnt right ?
Device will just show blank screen and reboot and so on forever (Or well until battery dies).
Why it cant boot other images is kinda self explanatory. Its different format. OK so it wont boot anything other then custom boot image OK.
Now what does postmarketOS (PMOS from now on) do ?
Well it creates basic AOSP bootimage with custom ramdisk. Which is all fine on most devices. Except here of course.
So that wont boot.
You may just say why dont you just convert it ? Well it isnt that easy. Each elf file has its own header. Which is for that kernel and etc. If it doesnt match eyyyy no boot. So we cant just convert it that easily.
Why not just use the script ? One could do that of course. ( i have not yet done that as its almost midnight and i have test tomorrow). Issue here could be that it still doesnt boot which would mean that something else is wrong. It will most likely work tho. (hopefully)
What i would need now is UART. (Yes phones have UART if you didnt know)
What is that ? Way to communicate and debug the kernel when something is wrong to the point where nothing works. Issue is my UART to USB converter is who knows where and the new one isnt going to be here that soon.
Thats all for now i guess. Long one i know. But well that is the behind the scenes of those kind of things. It isnt as simple as one may think sadly.
It woudlnt be my first and sadly not even last time i would get PM saying to hurry the development or some other shit like that. (Yes people are like that). And when you get issue it isnt as easy as opening duckduckgo and searching it as most likely it will return something which is far from what you are doing.
So if you are that kind of person that sends PMs to devs on XDA to hurry the development or asking when its gonna be done. STOP. Please just stop. We have real life too (I know its hard to believe but well its there) and doing this isnt the only thing we do. Its gonna be done when its gonna be done. And i hope this is gonna at least put some perspective for those people to not send those kinds of messages to us. (We read them. We just dont reply to shit)
TL;DR Sony decided to use different format of bootimage on 2012/3 devices which is pain to generate properly.2
I just found out that my old phone i used to work on has mainlined CPU. Also a port of uboot. Sure its for samsung but well its just few registers and GPIOs. Ohhhhh yeah. This is happening. Xperia P will get postmarketOS running. And most likely even Arch linux to tickle my fancies8