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
Search - "toolchain"
I am so fucking sick of hardware design and integration projects.
First thought, let's outsource. Except the best quote we got was $2.8M for a fucking 10 by 10 board with 200 components. What the dick shit is this did I send the email as Bill fucking Gates or something so they all thought I'm shitting gold bars?
Micro X comes with awesome frameworks and SDKs but you can't use it because it doesn't have those extra 2 pins you need.
Micro Y has them but they're not 5V tolerant so you can't use the $8 chinkese relay board, you have to add your own onboard relays which will cost you $25 and a blowjob for some FUCKING RELAYS
Then there's micro F to the rescue! enough pins, 5V tolerant, awesome SDK give or take a few months guessing how the fuck to use that 40Mb of C code library & fixing someone's fucking code, but wait, you can't use it because it has no external interrupts so basically you have to keep polling inputs and can't go to sleep, so you need to run the core at full speed and guess what the fuck it is more power hungry than the hottest trophy wife at 200mA.
No problem, fuck this shit, let's go STM like I told you so in the beginning - but I should be the one to pick the micro and all power components. Here's the specs, call me when it's done, we'll fuck with some of the web apis in the meanwhile. 2 weeks later: fuck all of you, I can't find what you need!
Then smartass #173 comes with the brilliant idea to try them chinkese PLCs with integrated HMIs, wtf they're cheaper than what you idiots are building?!. Sure, let's go for it. Spend $3000 on test units, wait 8 weeks because EU customs and taxes, then finally - NONE are usable despite the suppliers who swear it works, it has transistors on outputs, i'll be fucked it even lets you stick your cock in and gives you a tickle.
Then dickweed C-motherfucking-TO goes like, sure, let's go bare metal again, wtf we are old hardcore fucks with big cocks, plug a $8 pic24 and it will do the job. Except you have to spend 18935718 fucking years writing everything in C and when you're almost done guess what the fuck happened, we still need another micro so we can have ethernet and connect to a MQTT server.
No problem, trash all the work, let's pull the big guns, pic32mx-what-the-fuck, spend 1 month getting the toolchain to work and 2 more months writing all sorts of fucking signs and dashes and commas and brackets in MOTHERFUCKING C again and when we all think omfg we're done, some moron decides to test the board at high humidity and low temp and guess what the fuck happens - it breaks because that shit isn't rated what we need, but the fucktard was on paternity leave 5 eons ago when we started because his fucking wife gave birth and he couldn't spend a couple hours testing a blinky in his own fucking house in the fridge or wherever the fuck, so he just said yes and now guess what - we're all fucked.
Then let's try this shit board, it has the USB support and we can put one of them cheap ass ethernet chips, we'll just connect it to android via OTG and let the fucking google connect to the API over 3G. Except motherfucking android and its usb stack add some 100ms of latency which is basically more than I need to cook 3 fucking meals or some idiot needs to die electrocuted because the estop button doesn't shut down the relays fast enough.
2 years later I still don't have a workable prototype. Fuck my life. Fuck whoever planned this shit, they must have been brain fucked, in fact fuck this shit altogether. Fuck computers and processors and servers and micros and every fucking atom of copper in this fucking house.3
Guys who here is building ROMs and using linaro toolchain ? Is it good does it give some good performance ?
Want to include it in my room but dont know if it really got some performance boost4
I'm the only one working on this anymore and every toolchain supporting the system (remember, we're using an ARM9 [initial strap CPU] AND an ARM11 (give or take an ARM7 slaved to the ARM9 that we don't have support for yet), all in tandem, and the only toolchain that remotely works is for ARM6 for some reason) hates the Linux kernel. Current goals: SD R/W support (currently RO), X, GNUTools, maybe a better fucking softkey driver (i'll have to find whoever made this one and fucking beat him), and a working joy2mouse/touch2mouse driver. Oh, and figure out if Swap would work either with the New 2DS/3DS' Bonus Drive (unused 64MB partition on NAND) without killing the NAND as the SD access is max. 1.2 MB/s read/write speed or so, which isn't fast enough for swap AND other things.
Read-only SD support
Weston (term only, can't click)
Standard 3DS/Standard 2DS/New 3DS (Models before 2017, the non-foldables, rebranded standard 2DSes) features only, not yet New 3DS/New 2DS-enhanced
Currently failing final compile because toolchain:
Preliminary custom R/W SD support4
So haven't been on devRant in awhile but it's a new year and I definitely have some new goals. For starters, I'm building my first LFS system (on phase 2 of my toolchain atm), which I thought would be way over my head. Apparently, all these arch experiences have paid off xD I've always wanted to truly understand what went on under the hood of linux and maybe after going through this over and over I'll at least understand a little more.3
I got an interview with a big multinational software company as a senior dev - the kind of place I never thought I would be privileged or knowledgeable enough to work for and wasnt expecting to get In to...
I aced it. They gave me an offer but - FOR DEVOPS 😬
basically my skills fit in perfectly with the server/ scaling issues they have and are far more valuable there. I know they do, I also know I can fix the issue and will have alot of fun coding it - I just dont think I want to monitor it or anything else.
I mean I do devops stuff all the time in aid of anything I code but their stack is a full time job- im scared that once the toolchain is automated ill be pulled towards sys admin like duties and lose touch with my craft... what do you guys think? Anyone shifted from dev to devops?10
ARGH the next person to tell me how X is the best toolchain is getting their fucking head cut off! Holy fucking shit, this is even more annoying than the whole IDE debate. At least with IDEs everyone has a favourite one and they hate others accordingly, with build toolchains there's always a huge group of fucktards sucking each other's dick by adding new features, and they're always too busy wanking their sparkling features for small projects to realise how fucking inefficient their polished dings and dongs are for any bigger job.
For the millionth time, no, we're not switching to this popular toolchain just because it gave you a blowjob with your pet project (although that would indeed be a tempting offer), so stop talking how fast and flexible it is. Until you can show how it compiles a 500 MB project faster than our current setup, I don't give a shit how many people jerk on that nookie.3
Almost gave up on my first LFS build but I re-read the first 5 chapters and used my backed up toolchain to continue chapter 6. Luckily, I have passed the point I was stuck at :) glad I didnt give up or start 100% over.3
I'm a TA myself and just yesterday wanted to defend my fellow TAs and CS/IT teachers from some of the rants here. Of course not all of the rants are but I found a few quite unfair towards us and I can fully understand a TA getting confused and tired after 5-7 hours of helping and wrapping your head around some of the harder problems the students run into.
However, I'm also a student myself and right now I'm fucking fed up with the shit my supervisor gives me regularly .. So let the rant flow!
(disclaimer: the following text uses “you” to address the rant recipient. So, dear reader, don't feel offended)
First of, why do you fucking care when and especially where I'm working on your project when you know I'm only working part time since I'm usually tutoring students by daylight. Having me come in after my TA shift to work on your project instead of letting me go home, get some rest and food, and start working with a fresh head is neither helping you nor very productive. Also, if you want me to be productive and use your fucking tools to get going faster you better not make me fucking debug your fucking tools. For instance, I don't even have the same first name so all your fucking paths are invalid on my fucking machine! Also, I get that your machine is more powerful than mine and I don't really care about it as long as you don't fucking push convoluted messy timing sensitive scripts and make me search for the correct values on my machine. And, if a file your script is trying to delete is not there aborting is not an valid exception handling!
And don't get me started on the scripts that actually do some work besides setting up your fucking toolchain!
Linux on the 3DS is going well. Others have no issue at all, but I've gotta fix issues with the toolchain executables being named wrong, the provided, precompiled toolchain everyone else uses being the wrong one and being incompatible...
Fuck my life.1
>compiling a toolchain for my phone
wtf, i have like 8GB RAM and 32GB Swap on an SSD
>rerun make w/o clean
>continues, no segfault
>segfault a few minutes later
rinse and repeat like 30 times
One time I had to review some SAP / Excel / Visual Basic toolchain.
It was a huge mess with like 10 layers of if-then cases in around 1000 lines of code analyzing excel sheets, resolving error codes etc. in maybe two functions.
It turned out that I programmed that code about 8 years ago :/
Started fixing one file in one repo, build, doesn't build, go into other repo fix just one file there, but first I need to make myself a toolchain, making of toolchain fails because it depends on some dirty fix in the file I was fixing, refactor and clean that to a proper state, fuck yeah toolchain builds, source toolchain run make now, breaks with undefined reference, no time to debug plus fuck this automake, remove it, make a makefile, builds fuck yeah, shit now unittest are failing because why not, refactored that makefile as well, everything compiles, automate the test fully so that they are ran on the target out of make just because I'm a nice guy, fuck yeah everything works, commit this repo, commit other repo, review time, one of the guys gave up, the other one did it properly, found some shit there, fix that, done, merge, triggers CI fucking pass
All of this was done in 3h, Talk about efficiency
Why the hell did someone remove the wacom kernel module in android since 4.x? It wasn't hurting any body and instead gave people the ability to connect their wacom tablets to USB OTG compatible devices. As a result we have few apps that have wacom support in play store and shitty reputation that the rotten apple is better for all things media.
And for me it means I have to:
* Figure out a way to root my device
* locate correct version and configuration of currently running kernel.
* set up cross compilation toolchain
* build the kernel module
* transfer it to the device
* insmod it manually
* say a few prayers
.... All I wanted to do was paint 😢
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
yo imagine if the most common and best toolchain for, say, Intel PCs was "mid-source": You can have the buildscripts, and a few extra seldom-useful bits, but nothing else.
Welcome to devkitPro: it's too hard to maintain a toolchain package for all the systems you develop on, so we'll maintain a modded copy of pacman you HAVE to use to get the only toolchain for Nintendo consoles for all systems. Oh, and it's not normal pacman, no, it's hardcoded to only be used for their shit.
Even on Windows.
why do they do this to us again?16
“Everyone is busy building stuff for right now, today, rarely for tomorrow. But it would be nice to also have stuff that lasts a little longer than that.... You don’t have to be a genius to write fast programs. There’s no magic trick. The only thing required is not building on top of a huge pile of crap that modern toolchain is.”
—Nikita Prokopov, “Software disenchantment”, retrieved from http://tonsky.me/blog/...5
CUDA is a fucking bitch when it comes to configure projects
Creating my first CUDA project it yelled at me it doesn't support my current gcc version, ended up with me yelling back "OY SHUTUP" and slapping some flag for it to use clang instead — basically what it advised but I didn't listen first. Fine now.
Working on this project on another fresh environment, and now it doesn't detect anything and dumbly tries to reload my CMake project with the LATEST installed gcc when I already told it to use version 8 TWICE. First by setting up a toolchain with compilers pointing to this specific version and second by passing the -DMAKE_C_COMPILER pointing to it again. Still this stubborn piece of shit tries with latest everytime.
The most applauded solution was to use update-alternatives to make gcc point to the version I want CUDA to use. Thank you genius, but what if I don't want to use a deprecated gcc version with normal Cxx projects ?
And cherry on the top of this bullshit, I'm fixing this dumb configuration issue (can't stress enough how much I hate this shit) to be able to fix an EVEN MORE annoying issue with CUDA being a bitch AGAIN and not letting me use std functions where I'm allowed to
Fuck CUDA. Fuck CMake. Fuck C. Fuck everything3
Worst: Having Toolchain Problems while responsible colleague is on sick leave and a software release is tightly planned
Best: Fixing that fucking toolchain, delivering in time and getting commendation from SW Project Lead
I wanted to automate the install of a toolchain which had just a manual install script. Piped `yes` into the installer and it worked just fine. Only downside, it always installs to 'y' 😅
So yesterday, I got a call from some cousins saying my aunt broke a toenail and (since she's diabetic) she could now either lose both legs due to gangrene or die if they amputate. 2 hour drive to get them and me up to see her, 2 back, all the while having to be stone-faced to console 2 grown men. Today is finals week, and I could also get a call any moment from the hospital to tell me she's either dead or now unable to take care of herself. Could even be mid-class with one of those "well put it on speakerphone" teachers.
On the tech front, i'm trying to compile a toolchain from source. But, oh wait, one of the binaries it needs to configure (pkg-config) is self-calling so it crashes my machine. Let's build it from source, then? Nope, it requires a working copy... of... itself? Well, fuck. A "yum reinstall" doesn't help as it just reinstates the self-calling version, and I can't outright remove it because systemctl needs it. Well, apparently it's like a binary but is a text script, somehow, so I removed the recursive line and configuring works. Now though, I'm worried it might be broken, so i'm gonna try and compile from source. But, despite it needing itself, it also needs a SUPER FUCKING SPECIFIC version of libtool, so that's gotta be compiled...
I really wanna fucking shoot myself.5
The toolchain is just horrible. fpc, fp-compiler, lazarus...
Even in repos 3.0.0 is not the latest one. Like who the fucking cares about improving this language, please think of people who don't give a shit and freeze it already
language is slow
language is horribly verbose
language is CRYPTIC to debug
nobody sain would ever want to learn this language
10 years ago as a student I would pit on lazarus
today I still pit on it
now about lazarus...
The IHM is one of the most shittiest interface we could ever dream of.
Even gimp does it better
you get to download fucking Mbs for a condensated pack of windows all over the places
> trying to make project using old version of specialized toolchain, exposes toolchain issue
> fix toolchain issue
> fix small typo issue in code
> linking spews ALL the errors at me and fails
So who at Xilinx decided that their toolchain should only support a years old Ubuntu version which is buggy and one minor release behind LTS?6
I learned to code on a jailbroken iPod touch around 2009. I wanted to compile some random project for jailbroken devices, but I had a windows comp (with dialup!!!), so I was like "why not do it on the iPod itself?". I didn't even have wifi, so I'd sneak out of my parents' house at night and steal the neighbor's (hey, I was 11 w/ overprotective parents who would freak out if I occupied the phone line w/ internet) to go read up on compilers, jailbreaking, etc etc. Eventually I got a working compiler and toolchain, but when I went to compile the project I wanted to use (and not just a test project that I found), it spat out errors. So I learned C/ObjC on my iPod. Turned out the project I was trying to compile was a load of BS, so I implemented my own version and put it on github. From a fuckin iPod. Win. It was some SBSettings control. Once upon a time, you had to jailbreak to get those cool slide up/down menus with the toggles for wifi, bluetooth, location, etc!!!1
Feels pretty good when you chroot into your first LFS enviornment and nothing breaks (yet..). Also my toolchain seems to be compiling packages correctly so that's a plus :)
Dug up decrepit FSF code from 2001 from a random Apple FTP that was indexed online, throw into toolchain from 2004 that doesn't provide extensions, and it fucking worked.
This was last week.
I don't know how the fuck DOS programs are still made for the original machines, the only decent toolchain is DJGPP but it needs 32-bit DOS extenders and a Pentium 3 with 128MB RAM minimum to run anything compiled with it, which sure as shit doesn't target appropriate DOS hardware (which is, on average, prolly a 386 with 4MB of RAM or so, considering most hardware still running meets DOOM minimum spec?)2
I just want to say FUCK AWS IoT. Honestly. Why the fuck would I spend hours configuring and building all that shit. Designing a gang programmer for my devices and setting up the toolchain would cost more than 6000 of the devices themselves not to mention it would take ages to set up a single device.3
Picking up a project from 9 years ago someone abandoned and trying to bring it up to the new toolchain. First thing to try: pre-existing everything and just make it. Immediate toolchain flaw exposed ("internal error converting unsigned int to int" in a header file in the chain, huzzah!)1
Few issues with my PS3 N64 project:
the linker is dying on functions I just can't fucking find anywhere in either the code or toolchain, but the compiler just kinda accepts it...?
what the fuck is "find_func"1
All those complaining about getting interrupted while coding/debugging. Imagine getting interrupted twice in every 3 minutes during your anyways short working time (talk 2 to 5 hours) 'cause your actual job is to tutor people in using a toolchain and not developing it (at least not during that time)...
tfw you find a bug in a toolchain using unmodded 10 year old code that's so bad it needs an entire branch to test on
This is probably the biggest contribution i'll make to anything