Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "toolchain"
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
Forced to work with eclipse instead of my usual gnu cli toolchain.
The thought of having to figure out the spectacularly complicated ways of configuring library projects and integrating them with a binary project has me so disgusted that I borderline am not able to do it.
I already feel myself coming down with crippling sickness.3
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
I see quite often developers who try to get into (or those who just randomly criticize) Golang, complain about same things: error handling, verbose, no generics, no feature X that their favorite language Y has... Dave Cheney recently wrote a very good (and long) article about Go idioms, addressing some language design decisions. Basically, before you complain how bad Go is, you must read this article:
And ignorant people, basically those who complain about Go “being designed for stupid people”, “having weird mascot”, “having stupid syntax” “having shitty toolchain”, “being compiled”, “having pointers”... You just fuck off, and don’t even bother reading the article, because no article is going to change those narrow minds. (Reasons from https://github.com/ksimka/... , had some good laugh).7
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 :/
“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
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
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
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.
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' 😅
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
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
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
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 :)
> 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
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
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
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
When you're the only web dev and your boss wants you to replace all tools in the toolchain with npm 🙃