Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "free library"
-
Got laid off my by old employer back in 2019 because they have their priorities completely wrong.
Got a mail today whether I could fix something for them (ofc, they wanted me to do it essentially for free).
One of the websites I built for a customer back when I still worked there had a massive bug (that I was aware off and patched in later versions of the library causing it).
They never updated it so, I told them "just update the library".
Apparently, the idiot that was in charge of maintaining said site after I left didn't know how to and completely broke everything.
The hilarious part: While I setup everything using stuff like Docker and Git to make rollbacks easy...
That idiot went back to FTP and manually upgrading the databases through PhpMyAdmin :^)
He nuked the entire site.
Database? Gone.
Codebase? Borked (installed a version with a lot of breaking changes without properly reading the migration guide).
And knowing that shit company, they don't have any backups either.
They said "I wasn't needed because we have other good devs" when they laid me off.
Uhu, I can eh... see those good devs doing their job :^)51 -
OH MY GOD, MY TEACHER DOES NOT TEACH MY FAVORITE LANGUAGE!
I've seen a lot of rants about teachers who use an outdated language, or don't accept the preferred framework or library of the ranter, or even force students to use a technology or even worse an OS they don't prefer.
Whats with that attitude?
I absolutely encourage young people to learn technology in their free time and it absolutely helps at building a career and become good at programming. I don't think being around 18 and never having worked in a real job is the time to select "the most superior language and technology".
Actually, that time is never.
Technology is evolving all the time and different tech evolves in different paths for different purposes. Get rid of the idea, that there is a "best" and get rid of the idea, that you will always be able to work with what you think is best.
If you're really really really awesome, you can chose to do what you like most. Not awesome as in "i learned programming in my free time, now i'm better than my programming-for-beginners-course teacher" but awesome as in "start my own company and can afford to only take the jobs i feel like doing", that awesome. Most likely, you're not (yet).
In the real world, you will very likely sometimes be required to work with technology you don't prefer. Maybe with something you think is really bad. Probably, it's not that bad. More likely, you read it on the internet from someone whose self-image is based on on loving TechA and hating TechB. A lot of much hated technology is at least okay for it's intended use. Maybe not the most pleasant time you will ever have, but no reason to jump out of the window. Hey, and if you get used to it, you may even start to like it. At least, learn to retain some dignity when confronted with things you don't like.
You can still think that one thing is better than another, but if you make a huge drama out of it, you just make it harder for yourself. The best programmer is the one who get's shit done, not the one with the saltiest tears.14 -
Get ready for one of the biggest AMAZON rants EVER.
I dislike this company so much I can feel it in my bones.
They have NO, absolutely NO idea how user experience works.
PROBLEM #1.
If you have Amazon Prime / Video (ANOTHER FUCKED UP PROBLEM THAT CONFUSES A LOT OF PEOPLE) and you want to watch a movie on your Xbox using the Amazon App, You have to buy the movie ON YOUR COMPUTER FIRST, YOU CAN’T BUY IT DIRECTLY FROM THE APP.
WHAT THE SHIT AMAZON?
So.. go to your laptop, buy the movie, go back to your other device (Xbox or whatever), click “My movie library” and then you can watch it.
OH AND THERE’S ALSO A “MY WATCHLIST”, WHERE YOUR NEW PURCHASED / RENTED MOVIE DOES NOT SHOW UP.
Yes.. there is a “MY WATCHLIST” and “My movie library” or some shit.
HOW, WHY, WHY FUCKING AMAZON, WHY.
PROBLEM #2.
“WE HAVE A ZILLION ALEXA SKILLS NOW !!!1!!!!!11111! EINZ!!!!!”
Yeah, WELL, NOT THAT HARD WHEN YOU HAVE “Alexa Evangelist” traveling to every DAMN tech convention and having them make USELESS FUCKING SKILLS THAT NOBODY WANTS USING BOILER PLATE CRAP THAT ANYBODY CAN USE.
Oh and Alexa is DUMB AS SHIT.
I asked her "Play the song Starboy by the Weeknd" and she said: "I CAN'T FIND THAT SONG"
Then you go "Play me Starboy" and she goes: "HERE IS A SAMPLE OF STARBOY BY THE WEEKND"
Same with other songs: "YOU DONT HAVE IT IN YOUR PRIME MUSIC LIBRARY".
She doesn't even TRY to go to your fucking Spotify account, you have say: "Play Starboy by The Weeknd on Spotify" AND THEN she still has the FUCKING NERVES to say : "I Can't find that song on Spotify".
BUT YOU JUST FOUND IT ON YOUR OWN DAMN CRAPPY PRIME MUSIC.
"Hey Alexa, how many days till the end of the year?"
GUESS WHAT ,SHE CAN'T TELL YOU. (maybe now but not 2 months ago)
PROBLEM #3.
AUDIBLE.COM and AUDIBLE.CO.UK have DIFFERENT FUCKING DATABASES, THUS, YOU CAN END UP HAVING 2 ACCOUNTS AND HAVING 2 LIBRARIES, and.. THERE IS NO WAY TO FUSE THEM INTO 1 account.
OH MY GOD, HOW IS THAT EVEN POSSIBLE?
I FUCKING HATE that, how can ANYBODY think that is a GOOD IDEA?
PROBLEM #4.
Their website is a TOTAL FUCKING mess, really, who the FUCK designs that piece of SHIT.
Look up a movie, let’s say “SCHOOL OF ROCK”
First result?
“School Of Rock” - “Amazon Video”
So you can click on this and watch the movie.
Then click the second result.
“School of Rock Blu RAY” and next to the price-tag “PRIME”
You click on it, you can buy it, but HEY, LOOK, WHAT DOES IT SAY?
“Unlimited Streaming with Amazon Prime
Start your 30-day free trial to stream thousands of movies & TV shows included with Prime. Start your free trial”
WHAT, WHAT!!!! CAN I WATCH THIS WITH AMAZON PRIME? OR DO I NEED THE AMAZON VIDEO? I DON’T GET IT.
Put me in a room with all those FUCKWIT project managers and their fucked up company culture and I’ll rip them a new one, I can go on for DAYS about the SHIT they are doing.15 -
Let the student use their own laptops. Even buy them one instead of having computers on site that no one uses for coding but only for some multiple choice tests and to browse Facebook.
Teach them 10 finger typing. (Don't be too strict and allow for personal preferences.)
Teach them text navigation and editing shortcuts. They should be able to scroll per page, jump to the beginning or end of the line or jump word by word. (I am not talking vi bindings or emacs magic.) And no, key repeat is an antifeature.
Teach them VCS before their first group assignment. Let's be honest, VCS means git nowadays. Yet teach them git != GitHub.
Teach git through the command line. They are allowed to use a gui once they aren't afraid to resolve a merge conflict or to rebase their feature branch against master. Just committing and pushing is not enough.
Teach them test-driven development ASAP. You can even give them assignments with a codebase of failing tests and their job is to make them pass in the beginning. Later require them to write tests themselves.
Don't teach the language, teach concepts. (No, if else and for loops aren't concepts you god-damn amateur! That's just syntax!)
When teaching object oriented programming, I'd smack you if do inane examples with vehicles, cars, bikes and a Mercedes Benz. Or animal, cat and dog for that matter. (I came from a self-taught imperative background. Those examples obfuscate more than they help.) Also, inheritance is overrated in oop teachings.
Functional programming concepts should be taught earlier as its concepts of avoiding side effects and pure functions can benefit even oop code bases. (Also great way to introduce testing, as pure functions take certain inputs and produce one output.)
Focus on one language in the beginning, it need not be Java, but don't confuse students with Java, Python and Ruby in their first year. (Bonus point if the language supports both oop and functional programming.)
And for the love of gawd: let them have a strictly typed language. Why would you teach with JavaScript!?
Use industry standards. Notepad, atom and eclipse might be open source and free; yet JetBrains community editions still best them.
For grades, don't your dare demand for them to write code on paper. (Pseudocode is fine.)
Don't let your students play compiler in their heads. It's not their job to know exactly what exception will be thrown by your contrived example. That's the compilers job to complain about. Rather teach them how to find solutions to these errors.
Teach them advanced google searches.
Teach them how to write a issue for a library on GitHub and similar sites.
Teach them how to ask a good stackoverflow question :>6 -
<just got out of this meeting>
Mgr: “Can we log the messages coming from the services?”
Me: “Absolutely, but it could be a lot of network traffic and create a lot of noise. I’m not sure if our current logging infrastructure is the right fit for this.”
Senior Dev: “We could use Log4Net. That will take care of the logging.”
Mgr: “Log4Net?…Yea…I’ve heard of it…Great, make it happen.”
Me: “Um…Log4Net is just the client library, I’m talking about the back-end, where the data is logged. For this issue, we want to make sure the data we’re logging is as concise as possible. We don’t want to cause a bottleneck inside the service logging informational messages.”
Mgr: “Oh, no, absolutely not, but I don’t know the right answer, which is why I’ll let you two figure it out.”
Senior Dev: “Log4Net will take care of any threading issues we have with logging. It’ll work.”
Me: “Um..I’m sure…but we need to figure out what we need to log before we decide how we’re logging it.”
Senior Dev: “Yea, but if we log to SQL database, it will scale just fine.”
Mgr: “A SQL database? For logging? That seems excessive.”
Senior Dev: “No, not really. Log4Net takes care of all the details.”
Me: “That’s not going to happen. We’re not going to set up an entire sql database infrastructure to log data.”
Senior Dev: “Yea…probably right. We could use ElasticSearch or even Redis. Those are lightweight.”
Mgr: “Oh..yea…I’ve heard good things about Redis.”
Senior Dev: “Yea, and it runs on Linux and Linux is free.”
Mgr: “I like free, but I’m late for another meeting…you guys figure it out and let me know.”
<mgr leaves>
Me: “So..Linux…um…know anything about administrating Redis on Linux?”
Senior Dev: ”Oh no…not a clue.”
It was all I could do from doing physical harm to another human being.
I really hate people playing buzzword bingo with projects I’m responsible for.
Only good piece is he’s not changing any of the code.3 -
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5 -
Got my first laptop while I was overseas.
It was a windows hp laptop with Vista.
It was an absolute piece of shit.
Decided to find the people responsible of it.
Got to what a software engineer was.
Boss told me to look in the library to see if i find some books on the subject. Got a Java and C++ book.
Shit was hard af cuz I had no clue what I was doing, but I liked it. Decided to look more into an application wise platform of study rather than doing basic CLI shit. Got into web development with Java. Got a hold of more JS. Liked JS more cuz shit was easy, found about server side JS with classic ASP, did VBScript as well.
Eventually found Python, fell in love but hated the whitespace ussage for block level code etc. Found Ruby, to this day the most beautiful language according to me. Read about why's poignant intro to Ruby.
Dug it, but wanted some other things. Found out about the study of data structures ans algorithms, then harvard's free cs50 course, then mit courseware, rice's python class. Took all of them. CS50 introduced php, liked it, sounded like a drug, was easy to use, for whatever fucking reaskn my ass decided to use version 4 even though 5 was already out. Learned to appreciate advancements in programming language even more
Hipster phase, while studying php got more into JS and web design with more css concepts, wanted my shit to be pretty. Somehow landed with Common Lisp. Mind fucking blown.
Continued with php. Got into uni, math made sense through programming, ok so I am stupid, but not that stupid, python is the best calculator ever.
bring it bitches.
Graduated.
Still don't know what I am doing.1 -
! exactly dev
I'd ditched Windows and spent a while exploring the Linux ecosystem for content creation. And I have to say, it was not a nice experience.
As much as I respect the Linux mantra of "free as in freedom" and "you need to roll up your sleeves and figure out stuff on your own", it just isn't good enough for non-dev work. Sorry guys, but I need software that gets out of my way and at least does what it's supposed to do. I can't stand a horrible UI or delays and random crashes, which is exactly what happens with most things under Linux.
To replace my Windows workflow I used the following:
1. Windows -> elementaryOS (because Debian/Ubuntu repositories seem to have the best software support, and elementaryOS is the least horrible looking thing that supports that) and then Arch, because, well, Arch.
2. Blender + Maya -> Blender + Maya on Linux.
3. Reaper + FL Studio -> Ardour + LMMS.
4. Photoshop -> GIMP + Krita + Inkscape.
5. ZBrush -> nothing :(
As you can see, my use cases are pretty much all over the spectrum.
Firstly, installing and configuring stuff. A pleasure on Windows, an absolute pain on Linux. Everything just worked on Windows, I had to wrestle with library versions and patches and unstable audio layers (Linux audio just sucks, except for JACK) on Linux.
Out of these, Blender and Maya were the best experience. But even then, both would suffer from random crashes that just didn't happen on Windows.
Ardour is actually really nice when it works. Its use of JACK for routing makes it really really flexible, but it just isn't stable enough to depend on. LMMS is utter crap. I'm sorry, but I just hate the UI. Can't stand it.
GIMP, Krita, and Inkscape can't beat Photoshop, even when you consider them together. Adobe software workflow is just so much better and more intuitive.
Blender 3D sculpting is not bad, but it's nowhere as good as ZBrush.
Also, if you're a C++ dev like me, nothing beats Visual Studio 2017. Nothing. That IDE just blows everything else out of the water. Even VSCode. And it's not slow at all, it handled a fairly large project (PBRTv3) just fine on my Windows development VM. Yes, a VM.
So...I ditched Linux and went back to Windows, but I keep Linux as a VM for when I actually want to mess with Blender or Ardour. Or some dev stuff which Windows sucks at (which is becoming less frequent because of WSL).
Out of all the above, the only one I'd consider ready for production use would be Blender. Developers of open source software, please learn from Blender. Kickass UI and user friendly operation is extremely important, you can't make a random window with GTK buttons and text boxes and arcane config files and expect people to use it for serious work.
Also, Windows beats Linux hands down as an everyday OS. It's always been rock solid, if you take care of it properly (and that goes for any OS). Updates hardly take any time because I run it on a SSD. As for all the advertising and marketing bullshit, you can block a large amount of stuff. And for what can't be blocked, well, I just have to live with it, because the alternative is compromising on my creative output, which is too much for me.
I still run Linux on my server, though. And on my embedded devices (Pi, BeagleBone, etc.). It absolutely rocks there.
I realize that Linux software is not going to improve unless we do something about it, so I'll be contributing fixes and code (the joys of being a C++ dev, yay). Still, I feel that the platform and software as a whole is just not mature enough.18 -
Well, I was Always into Computers and Games and stuff and at some point, I started wondering: "why does Computer Go brrr when I Hit this Button?".
It was WinAPI C++ and I was amazed by the tons of work the programmers must have put into all this.
13 year old me was Like: "I can make a Game, cant be too hard."
It was hard.
Turns out I grabbed a Unity Version and tried Things, followed a tutorial and Made a funny jet Fighter Game (which I sadly lost).
Then an article got me into checking out Linux based systems and pentesting.
*Promptly Burns persistent Kali Live to USB Stick"
"Wow zhis koohl".
Had Lots of fun with Metasploit.
Years pass and I wrap my head around Javascript, Node, HTML and CSS, I tried making a Website, worked Out to some extent.
More years pass, we annoy our teacher so long until he opens up an arduino course at school.
He does.
We built weather stations with an ESP32 and C++ via Arduino Software, literally build 3 quadrocopter drones with remote Control and RGB lighting.
Then, Cherry on the top of everything, we win the drone flying Contest everyone gets some nice stuff.
A couple weeks later my class teacher requests me and two of my friends to come along on one of their annual teacher meetings where there are a bunch of teachers from other schools and where they discuss new technology and stuff.
We are allowed to present 3D printing, some of our past programming and some of the tech we've built.
Teachers were amazed, I had huge amounts of fun answering their questions and explaining stuff to them.
Finally done with Realschulabschluss (Middle-grade-graduation) and High school Starts.
It's great, we finally have actual CS lessons, we lesen Java now.
It's fuckton of fun and I ace all of it.
Probably the best grades I ever had in any class.
Then, in my free time, I started writing some simple programs, firstvI extended our crappy Greenfoot Marsrover Project and gave it procedural Landscape Generation (sort of), added a Power system, reactors, Iron and uranium or, refineries, all kinds of cool stuff.
After teaching myself more Java, I start making some actual projects such as "Ranchu's bag of useful and not so useful stuff", namely my OnyxLib library on my GitHub.
More time passes, more Projects are finished, I get addicted to coding, literally.
My days were literally Eat, Code, sleep, repeat.
After breaking that unhealthy cycle I fixed it with Long Breaks and Others activities in between.
In conclusion I Always wanted to know what goes on beneath the beautiful front end of the computer, found out, and it was the most amazing thing ever.
I always had constant fun while coding (except for when you don't have fun) and really enjoyed it at most times.
I Just really love it.
About a year back now I noticed that I was really quite good at what I was doing and I wanted to continue learning and using my programming.
That's when I knew that shit was made for me.
...fuck that's a long read.5 -
The entire modern gaming ecosystem is a scam.
I added The Crew: Motorfest trial version to my library for free.
Click on Install and it downloads 43 GB of data.
Now it's time to launch.
Click on launch and Ubisoft Connect takes over and it starts downloading another 43 GB??????
WTF ??
If I can't even get the trial version of a game without nearly wanting to kill myself, how does the company expect me to pay full price for it?
Piracy FTW. Fuck all the companies.16 -
Been really busy with things haven’t got around to posting a book in like a week or so..
But I’ll post one today..
This book...
This book, available for free online or you can buy it, written in 1994. But so under appreciated by people for some reason most people never have seen it or know about it. But this is the ONLY book I know of that actually covers this topic.. the only book in existence that specifically goes thru how OOP can be done with C.
NOW hold up before you say just use C++ stop and think for a second.. bear with me.
First off this book is purely for informational purposes and educational use to deepen your understanding of what OOP is actually doing behind the scenes in languages like C++ where keywords exist for these things and you just blindly use them without thinking about under the hood.
This book contains a lot of code and builds you up a complexly library from scratch to make OOP in C... now I don’t take this book literally and this but I have implemented some concepts from this book in projects in the past, and it helps a lot.
Also in my honest opinion If you finish this book, you will be a better C programmer AND c++ programmer, C programming because it teaches you a lot about complex things that you never thought about doing with the language. It proves you can do polymorphism can do inheritance and encapsulation. And it’s not really bloated either.
This books is an awesome book, if you don’t understand C pointers you definitely will after this book.. if you don’t understand OOP in C++ what’s really going on.. you will after this book. After all C++ began as just a preprocessor of C.
Great book for writing reusable, extendable large scale embedded c systems.
Anyway.. rare book of which should not be rare considering it’s free.3 -
@zloirock, the main maintainer of core-js (the library that holds the web together and has the usage just shy of jQuery) went to prison. He now has a fucked-up health for life. He survives off of $400/mo.
His library gained absolutely massive adoption, yet remained relatively unknown, and brought in little to no support from the huge companies using it. On top of that, he “enjoys” a LOT of hate messages from people who don't care and just expect open source maintainers to work for free.
https://github.com/zloirock/...16 -
After work and everyday I used all the free/lowcost learning resources i could get my hands on. GRIND, GRIND, GRIND! Never give up! I used to come home after working construction from 7am to 9-11pm, shower, code til 3am, repeat. I didnt have the luxury of a single day off for months on end. Even an hour a night is one hour closer to your dreams each day 🖒🖒🖒
Learning:
https://www.edx.org/
https://ocw.mit.edu/courses/
https://www.lynda.com/
https://www.udemy.com/
https://app.pluralsight.com/library...
https://stacksocial.com/deals/...
https://www.youtube.com/
Random Practice:
https://www.hackerrank.com/
https://www.codingame.com/
Also to keep you/me motivated I made an awesome high spirited music playlist, look at your life then look at the music videos and realize as a developer that could be your reality. God Bless!
Code Music: https://youtu.be/xp2qjshr-r4/...1 -
So here I am sitting on my dusty laptop gaming laptop (because supposedly it would offer me better performance in compiling code and working with CUDA according to the people above me) at a research institute where I just started working at. I am told that there are some issues with the code and that it fails to build on Windows with MSVC that ships with Visual Studio 2017 and later.
I poor some hot tea from my insulated bottle I brought from home and start reading.
I look in this header file and what do I see - a custom uint24_t struct. Interesting...
I keep sifting through the code base. I find some functions that check and change Endianess. Ok, but the software is developed, built on and runs only on Win7 and later desktop systems. Never mind...
Further I find a custom "allocator" that is used throughout the whole code base. It has three inline static class member functions: allocate, copy and deallocate plus some private constructors. And these just wrap around the standard new and free calls. Some flavours of this class actually only deallocate (with a comment above them: "This allocator does not allocate. HANDLE WITH CARE!!!", which is btw the only "code documentation" I have managed to find).
But wait! What is this? A custom thread and mutex. Oh, and string, and vector.
Further down the rabbit hole I find a custom math library with a matrix class that does not support multiplication between a matrix and a vector. Perhaps not a use case I guess...
I continue and come across some UI-related calls. Interesting, I wonder what they are using as a framework. Oh, my...We have an extensive GUI custom framework written from scratch (drawing buttons and all).
All of this is to load an OBJ file and render it on the screen on a standard Windows PC in some way.
Very nice... ;_;1 -
I hate it when book publishers of tech books don't have their own DRM-free formats. I then have to go on Amazon and see that the Kindle version is only 10% cheaper than paper. Then I factor in the fact that they probably fucked up the formatting on the ebook. So, I end up just buying the paper one and my office continues to resemble a mad scientist's library.11
-
Ye, so after studying for an eternity and doing some odd jobs here and there, all I can show for are following traits:
* Super knowledgeable in arm/Intel assembly language
* C-Veteran with knowledge of some sick and nasty C-hacks/tricks which would even sour the mood of your grandma
* Acquired disdain of any and all scripting languages (how dare you write something in one line for which I need a whole library for!)
* All-in-all low-level programmer type of guy (gimme those juicy registers to write into!)
After completing the mandatory part of my computer science studies, all I did was immerse myself into low-level stuff. Even started to hold lectures and all.
Now I'm at the cusp of being let free into the open market.
The thing is: I'm pretty sure that no company is really interested in my knowledge, as no one really writes assembly anymore.
Sure, embedded programming is still a thing, but even that is becoming increasingly more abstract, with God knows how many layers of software between the hardware and the dev, just to hide all the scary bits underneath.
So, are there people in here who're actually exposed to assembly or any hands-on hardware-programming?
Like, on a "which bit in which register/addr do I need to set" - kind of way.
And if so, what would you say someone like me should lookout for in a company to match my interest to theirs?
Or is it just a pipe dream, so I'd need to brace myself to a mundane software engineer career where I have to process a ticket at a time?
(Just to give a reference: even the most hardware-inclined companies I found "near" me are developing UIs with HTML5 to be used in some such environment ....)12 -
I want to learn about node.js and fullstack javascript.
Books are too expensive.
In my library, the most recent book about javascript is of 1999.
Free resources suck and are far from a full understanding.
I give up24 -
omg omg omg. I just found out rebrickable has an all inclusive Lego pieces and sets database updated monthly FREE and under a CC license!! And their API is also available for use under CC. And I'm so excited I could pee because this just made it possible for me to jump right in on a personal project I've been wanting to start and my SO/friends just look at me and smile politely when I try to explain to them what a goldmine it is to find a library that does exactly what you need and is free too. So I needed to come somewhere and share my news and know I'd be understood. <38
-
This is real rant, not one of these funny stories!
So, I spent 4 years to get a Computer Science degree, and did two specializations, 3.5 years more in Uni. I have 6 years of experience working in IT, from support to programming. I also speak 3 languages.
I'm from a South America country, and now I'm living in EU.
I'm 30 now and earning a little more than a MacDonald's cashier earns in the US. I have to live in a shared apartment like a fucking Uni student. I have nothing, no car, no house, no girlfriend. WTF!
IT is a fucking lie! Profession of the future my ass!
In Uni they said that finding a good job was easy, that companies would literally grab us by the neck to work for them. LIE!
I did found a low paying job though, where at least I could learn a lot more.
People were really satisfied with my work and I even received a proposal of one of our clients to work for them, but the offer wasn't good enough.
I tried entering some big companies as a Trainee, but it was so ridiculous, they said they were looking for an IT person, but they asked things related to economy and other stuff that had nothing to do with IT. I always failed in the group work/interview, it was so ridiculous, I remember one candidate saying her dream was to work for the company since she was a child, SERIOUSLY!
When the opportunity came, I moved to EU and now I'm working as a dev. But as I said, I'm not satisfied with it! In the US the yearly average software engineer salary is about 100K, I earn less than 1/4 of it. And don't come saying that US pays more because of the cost of life, here the cost of life is the same or even more expensive, a super small apartment/loft is at least 180K, a simple new car 18K and a Big Mac costs 4€.
In the US, the average salary of someone that just graduated from uni is 60K to 70K! LOL
In EU, it's super hard for someone to earn 100K, that's why many companies are creating offices here, good workforce, 2 to 3 times smaller salary!
IT also sucks because it's too volatile, there's new stuff all the time. Someone always has to come with a new language, new framework, new library, etc etc. And you have to keep learning new stuff all the time.
Also job openings always ask for experienced people, like you must have at least two years of experience with VUE.js, or something.
Do you remember the last time you went to a doctor for a checkup, did they use a new tool, or did something different during the checkup? Probably not, the medic don't have to learn new stuff all the time, he is still using a stethoscope, he is still placing a wooden stick in your mouth to check your throat...
But in IT, almost no one nowadays is going to create code using CoffeeScript, they instead will use TypeScript.
I read an article saying that an IT professional must study 20 hours a week to keep up with new trends. So I must work 40 hours and study another 20? LOL
It's not that I don't like learning new stuff, but this sucks, I want to maybe learn something different or have a hobby.
Today I regret going to uni, I feel it was a waste of time and money. They taught things like calculus and physics that I never had to use professionally, and even programming stuff like linked lists I never had to use.
If instead I had studied dentistry or studied to be a ophthalmologist I think I would be earning more, would be working more independently and wouldn't need to keep up learning new things so much.
Also to work in IT you don't need a diploma, I read an article by a dude that learned programming by his own, did some software for his portfolio and got a job at Google.
When I read these kinds of story I regret even more going to uni, It really feels I wasted my time.
For these reasons I can't recommend going to uni to study IT, if you want to go to uni go study something else!
If you want to study programming do it on your own, there's everything you must know online for free, create a portfolio, and look for a job or even try working for yourself!
Living the life I have now, there's just no incentive to keep going.
Should I keep learning new stuff so maybe I can get a better job that will still pay low, or quit and try creating something on my own?
Or even ditch IT all together and go back to uni? LOL NO!5 -
Ah, another day, another regression found in a major library
guess i work for all these companies as a volunteer
🤦♂️
good thing i'm no where near their 6 figure salaries either.
maybe i should get that 6 figure salary and then eat more salads and steaks at the free food court, type more shitty code on couches, and play more foosball during my approximate 4 hour work day to acheive their software levels
if only i was so good2 -
I used to think that I had matured. That I should stop letting my emotions get the better of me. Turns out there's only so much one can bottle up before it snaps.
Allow me to introduce you folks to this wonderful piece of software: PaddleOCR (https://github.com/PaddlePaddle/...). At this time I'll gladly take any free OCR library that isn't Tesseract. I saw the thing, thought: "Heh. 3 lines quick start. Cool.", and the accuracy is decent. I thought it was a treasure trove that I could shill to other people. That was before I found out how shit of a package it is.
First test, I found out that logging is enabled by default. Sure, logging is good. But I was already rocking my own logger, and I wanted it to shut the fuck up about its log because it was noise to the stuffs I actually wanted to log. Could not intercept its logging events, and somehow just importing it set the global logging level from INFO to DEBUG. Maybe it's Python's quirk, who knows. Check the source code, ah, the constructors gaves `show_log` arg to control logging. The fuck? Why? Why not let the user opt into your logs? Why is the logging on by default?
But sure, it's just logging. Surely, no big deal. SURELY, it's got decent documentation that is easily searchable. Oh, oh sweet summer child, there ain't. Docs are just some loosely bundled together Markdowns chucked into /doc. Hey, docs at least. Surely, surely there's something somewhere about all the args to the OCRer constructor somewhere. NOPE! Turns out, all the args, you gotta reference its `--help` switch on the command line. And like all "good" software from academia, unless you're part of academia, it's obtuse as fuck. Fine, fuck it, back to /doc, and it took me 10 minutes of rummaging to find the correct Markdown file that describes the params. And good-fucking-luck to you trying to translate all them command line args into Python constructor params.
"But PTH, you're overreacting!". No, fuck you, I'm not. Guess whose code broke today because of a 4th number version bump. Yes, you are reading correctly: My code broke, because of a 4th number version bump, from 2.6.0.1, to 2.6.0.2, introducing a breaking change. Why? Because apparently, upstream decided to nest the OCR result in another layer. Fuck knows why. They did change the doc. Guess what they didn't do. PROVIDING, A DAMN, RELEASE NOTE. Checked their repo, checked their tags, nothing marking any releases from the 3rd number. All releases goes straight to PyPI, quietly, silently, like a moron. And bless you if you tell me "Well you should have reviewed the docs". If you do that for your project, for all of your dependencies, my condolences.
Could I just fix it? Yes. Without ranting? Yes. But for fuck sake if you're writing software for a wide audience you're kinda expected to be even more sane in your software's structure and release conventions. Not this. And note: The people writing this, aren't random people without coding expertise. But man they feel like they are.5 -
What I'm doing now, writing a JS library for a simple kitchen timer (like, something that can be wound up, is ticking, can be paused, etc). Here's a list of neat stuff I've learned:
Polyfilling as a lib author (I decided against it).
Packaging the lib (using Rollup, ES6 modules are totes cool).
Using flow to add static typing in strategic places (started appreciating types in JS since reading up on functional programming).
Modelling state and transitions using an explicit state machine. (Fucking finally. There's usually an implicit state machine somewhere, only spread out all over the app...)
Using mostly side-effect free methods, being very explicit about when and why things are mutated).
Test-first/TDD (ish) using Jest and the awesome Wallabyjs.
Freeing up mental capacity by letting Prettier format my code for me (it was hard to let go but totally worth it).
Started using git.
Did all work on Ubuntu after pretty much a lifetime of Windows (initially to separate work from gaming) and finally swapped MS Visual Studio for Atom.
When it's finished I'm going to publish it on GitHub, which will also be a first for me. Might try out some CI platform while I'm at it.
tl;dr: wrote some js, felt good2 -
Sooo I’m typically a proponent of physical copy of books, as I’d rather sit and read them, write and take notes. Essentially all my books turn into something out of the “half blood prince” potions book from Harry Potter.
But it’s so inconvenient as either my books are in my office or in the library at home. It ends up being something like connecting a USB... the book I need at the time is always in the opposite place I am in currently.
Also, all the books I want now are newer and none are on the used market. For a reasonable price.
So I gave in a bought an iPad with the hopes of putting the books in pdf form on it... I’ll pay for some PDFs but hey if I can get it free thru a google search then it is what it is lol.
Not sure how I’m gonna adapt to reading on a tablet, as I really prefer a physical book.. hell I still use national brand computation notebooks for all my notes. Nothing beats writing it down, AND I still have an IBM selectric 3 and Swintec, nothing beats sitting down and just letting the thoughts flow neatly on a piece of paper and then glueing it the notebook
Anyway whatcha y’alls thoughts of using an iPad as a digital library of books.. using the Apple Pencil to annotate the book. I bought the 12.9 inch as the screen size is closest to a sheet of paper
Also, I don’t read fiction all the books I read are nonfiction, reference manuals, textbooks, data sheets, user manuals, stuff like the art of computer programming by knuth, Kent beck, Robert Martin, folwler books, etc14 -
Fucking java library publishing. It's a nightmare. You have to fucking own a domain to publish a shit onto jcenter/bintray/whatever. You have to own the domain, that your lib's package name is. And you MUST verify it, otherwise you won't publish anything. Or you can shit allover your lib with package name like com.github.dumbcoder.mycoollib.
You must to create a ticket for some shitheads that are going to verify your shit for two weeks. They gonna ask you for source.jar, docs.jar and whatever shit.jar they need.
What THE fuck? Who was the asshole that decided name packages in reverse domain name? No FUCKING more ecosystem has such a bullshit. In .net you just make a lib, create a free nuget account, fill some basic info and boom! you have .net package published. Same for npm and rust for example.
Because the fucking package name should be just for structure not for a some dick to own it. Namespace is name-fucking-space.
FUCK JAVA.7 -
Generally devs who are too arrogant to accept help or constructive criticism. There’s this data visualisation library that missed a specific feature that psychologists use quite frequently, so I added it myself and opened a PR. The maintainer closed it because people should use whatever he’d already implemented. It’s like not giving someone the option to listen to disco because rock music is better. Yeah, cool story bro. Now all my visualisation projects depend on my fork instead. Same with the now abandoned Material Design Library devs. They didn’t have a drop down with free input, so I opened a PR with my solution. Closed as it was out of scope, simply because Google didn’t specifically include that in the Material specs, only an input and a drop down separately which my solution matched. I also opened a PR for an obviously missing feature (being able to validate forms via JS), closed as this behaviour wasn’t in the Material specs either. No wonder MDL died before it was ever finished.4
-
go fuck yourself with your fucking communities. i went into computing because i like being left alone. who are all those fucking freaks building their communities? this is capitalism mother fuckers, everybody in the world agreed on it, on each person being an independent individual doing their job to the best possible standard, instead these low-skill low-iq oversocialised sheeple started conglomerate into communities and brainwash everybody that this is what it is about. get stuffed alright. all my life i've been introverted, just leave me alone to write code alright? take my library i don't mind i'll take yours no strings attached, just push the code and forget about it. but no, all these degenerate morons without CS degrees have occupied our safe space, pushed us out of it and just can't get enough of using the buzzword "community-driven" "volunteers" volunteer my ass assholes you can't even make software nobody in real industry needs you because you have no skill at all you learn a bit of js which is any 14-15 yo can do and now think you're some kind of prodigies, unsung heros of humanity who selflessly bring the progress. nothing can be further from the truth - because of you we don't have real software, we don't have investment we don't get no respect everybody walks all over software engineers treating us like shit, there's an entire generation of indoctrinated parasitic scum that believes that software tools is grown for them on trees by some development teams that their are entitled to automatically, because some corporation will eventually support those big projects - yeah does it really happen though - look at svelte, the guy is getting 50k a year when he should be earning at least 500k if he had balls to start a real businesses, but no we are all fucking prostitutes, just slaving away for the army of people we never see. are you out of your mind. this shit should be fucking illegal alright it's modern day slavery innit bruh, if a company wants to pay their engineers to work on open source this is fine, i love open source like java or google closure compiler, but it's real software made by real engineers, but who are all these community freaks who can't spend a 10 seconds on stage in their shitty bogus conferences without ringing the "community" buzzer? you're not my community i fucking hate your guts you're all such dumb womenless imbeciles who justify their lack of social skill by telling themselves that you're doing good by doing open source in your free time - mate nobody gives a shit alrite? don't you want money sex power? you've destroyed everything that was good about good olde open source when it was actually fun, today young people are coerced into slavery at industrial scale, it's literally impossible to make a buck from software as indie unless you build something really big and good, and you can't build anything big without investment and who invests in software nowadays? all the ai "entrepreneurs" are getting fucking golden rained with cash while i have to ask for a 5$ donation? what the actual fuck? who sanctions this? the entire industry is in one collective psychotic delusion, spurred by microsoft who use this army of useful idiots to eliminate all hounour dignity of the profession, drive the abundance and bring about poverty of mind, character, as well as wallet as the natural state of things. fucking amatures of course you love your shitty little communities because you can't achieve anything on your own. you literally have no personality, just one homogenous blob of dumb degenerates who think and act all the same. there used to be a tool called adobe flash builder, i could just buy it, then open and make a web app, all from start to finish in one program, using tutorials of adobe experts on youtube, sure it might have had its pitfals but it was a product - today there's literally no fucking product to make websites. do you people get it? i can't buy a tool that i need to do my job and have to insult myself by downloading some shitty scripts from some shitty unemployed devs and hope my computer doesn't blow up in my face in the process because some freak went off his nut and uploaded some dodgy ass exploit on npm in his package. i really don't like. it's not supposed to be like that. good for me i build by own front/back end. this "community" insanity is just a symptom of industrial degeneration, they try to sell it to us like it's the "bright" communist future but things never been worst, i can't give a shit about functional programming alright i just need to get my job done mate leave me alone you add functional because you don't know how to solve the problem properly, e.g., again adobe flex had mxml where elements had ids and i could just program to id, it was alright but today all this unqualified morons filled the whole space after flash blew up and adobe execs axed flash builder instead of adapting it to js runtime, it was a crime against humanity that set us back to 1000s5
-
I've used ngrok since it's earlier days when it was free to use. Now it's hard to use ngrok for certain use cases. And it is very slow for parallel calls. So I started working on my own ngrok implementation from scratch using QUIC as the communication protocol between the exposed server and the tunneling client. The project is very new as the QUIC library I'm using is not that mature, yet I'm getting good results. It is very easy to setup. Would love to know if you guys had any thoughts. https://github.com/aki237/qxpose1
-
Remember /dev/rant for devrant (https://devrant.com/rants/1569303) ? :)
Here's the first version of it: https://gitlab.com/netikras/... . read-only, with some hacks.
Oh, and if anyone needs a pure-shell library for json -- feel free to use it :) Bear in mind it might still be buggy.2 -
My do-over would be going to a different coding bootcamp. I wonder if I could be making more money if I went to a better school.
The one I did go to was a big scam. They were more obsessed with teaching you to pretend rather than teaching how to code. They pulled the wool over everyone’s eyes—the students, the volunteers, the donors, the community. They were very cult-like with mantras like “trust the process.”
I spent 9 months there, but I felt I was a year behind. I am not misspeaking. I would have to relearn basic concepts the right way because they taught them half assed or not at all. I didn’t realize I was behind until I went to interviews and bombed. Seriously, I learned more in a 40 hour free library coding class than I learned in 9 months at the school. Most of the interviews I was getting were for unpaid internships. The school was telling me to go for mid level roles.
I found out recently that they’re breaking the law by operating without a license. In my state code schools do need a license. There are screenshots going around of a letter from the education department. They’re defense is “they’re not a school.” They’re still open. I think ppl should be warned away, but there’s only so much I can do. And I know ppl will give this place the benefit of the doubt before taking any student accusations seriously.
The biggest red flag is they want students to pay up to 70k and bind them to payments for 8 years. I say it’s a red flag because this place is operating as a nonprofit. Shouldn’t a nonprofit not be charging 3-4x more than competitors? They’re definitely not going to give you 70k worth of services.
They really just exploit the poor and POC by signing them up for debt and knowing those ppl would not be able to pay even with a 100k job. They have a very poor understanding about how poverty works.
It had MLM/pyramid scheme vibes when they started making recruiting students a game. They give out tickets to their annual fundraiser or promote you on social media if you refer the most students to them.
I’m one of the lucky ones who was studying coding before I started at the school. Also, job searching is mostly luck, so I was lucky at that too. But I still had to take a job that paid below market. I still wonder what would happen if I went someplace else.
I don’t even put this place on my resume or LinkedIn. Even without these problems, it’s not like anyone would have heard of the place anyway.
No this place isn’t Lambda or Holberton school.5 -
GitHub Packages Sucks. Like, it REALLY sucks.
It sounds like the best thing in the world - being able to host your project packages alongside your code! It has full support for Maven, Gradle, Ruby Gems, Node packages, Docker images and even dotnet CLI applications. It even lets you view statistics on how many developers have downloaded a given package! For public repositories, the packages are free to host as well!
So, I decide to use it for my Maven project since it's "so great". I've never used a public Maven repository before, so this was all very new to me. I follow the documentation - simply run "mvn deploy ...." and use a generated GitHub personal access token. No problems there. Deployment is a success and I feel a wave of happiness seeing my packages online. I follow through the various links and it even adds automatically generated usage information for other Maven users - fantastic!
That was, until I decide to try and download one of the files from this package repository. In order to download a file, you must have a GitHub access token. Okay, makes sense I guess? What if another developer wants to use my library? To do so, they have to generate their own GitHub access token, store it in their local ~/.m2/settings.xml file and only THEN can they use my library. So clearly, this is significantly inferior to other public Maven repositories where you don't have to get an access token to simply USE a library.
Upon discovering this, I decide to simply delete all of the packages and continue using whatever previous system I was using. Except of course, they forbid the deletion of public packages because "other projects could depend on it". The only way to delete public packages is to either:
[0] Make the repository private (losing all stargazers and watchers), delete the packages and then make the repository public again
[1] Contact support and ask them to delete the public packages. They say that they'll only do this for "special cases", such as legal issues or GDPR breaches.
I've sent a contact form and I'm currently hoping that they see things in my favor. I mean seriously - a public package repository where in order to use it you have to have a GitHub account and then generate an authentication token - it's absurd!3 -
BANano, a free library that transpiles B4X (a crossplatform development tool) source code to JavaScript.
It allows users who are not fluent in JavaScript to make PWA's and dynamic Websites using a VB-like language and the Abstract Designer native to the B4X tool.3 -
Is there something you find genuinely cool and would recommend ? Some webpage, program, OS, library or anything ?
I mean hey. There are SO MANY reaaaally cool things I didn't know until last few months.. Things I'd be so grateful for if I knew them earlier. I'll list some of them and I just know you have few of yours too. Feel free to educate the rest!
Processing - Program so fun to code in + CodingTrain(YTB channel)
Microcorruption.com - so freaking awesome if you wanna learn hacking / assembly (not x86 necessarily)
LiveOverflow - cool hacking channel
Radare - cool cmd Linux disassembler
vim-adventures.com - LEARN VIM (not just how to quit it) LITERALLY by playing a game!!!!!!!!!!!!!!
slashdot - stay updated , like really
"BEST-WEBSITES-A-PROGRAMMER-SHOULD-VISIT" - GUYS THIS! Sorry for caps but search this on GitHub and you will fucking die of happiness of how freaking useful links there are and no bullshit to dig through , just pure awesomeness. REALLY
HandBrake - Top media converter without bullshit and bloat stuff in it
Calibre - Best eBook management software capable of literally everything ebooks related. Kindle is a bloated joke compared to this
QubesOS - You know you can have every OS running at once - you have a Linux but are playing win games. Yup. It's there. Free
Computerphile - You all know it, it's just for completeness
Khan Academy - Same
VulnHub - download vulnerable VMs and hack them, or learn by reading writeup on how to do it!
Valgrind - MUST HAVE for C/C++ programmers
Computer Science crash course videos
That's all I can think of from top of my head but hey, there's more to it so definitely add your 2 cents!
Last thing, if nothing, just check the websites on GitHub, that's lifechanger
Looking forward to see some cool links & recommendations!2 -
Been thinking about if I want voice acting in my games. Potentially it would be really expensive. So I wondered if there was AI libraries for training your own voices. There are a few and some even are trying to do it realtime. Or at least fast enough for web site use.
I find this library:
https://github.com/coqui-ai/TTS
Looks interesting, but I need training data. I found that you can license a limited number of words from voice actors. The licensing doesn't seem to care if how you use the data as long as it stays inside your production (video, game, etc). There are even some free ones out there. I think it might be kinda fun to learn how to do this.
Yes, there are a bunch of AI websites, but the voices almost always seem conversational. Not voices in a game setting. Most of those are stupid subscription bullshit. I also looked at text to speech and most of those are subscription. I really really hate the SaaS business model. I avoid companies that use it as much as I can.9 -
Finally my android library is up on Android-arsenal, feel free to use it like you please :P
https://android-arsenal.com/details...5 -
A lot of this might be an assumption based on not enough research on both NestJS and TypeScript, so if something here is not well put or incorrect then please feel free to provide the necessary info to correct me since I care far more about getting dat booty than I do being right on the internet :D
Sooo, a year or so ago I got a hold on the Nest JS framework. A TypeScript based stack used to build microservices for node. Sounded good enough in terms of structure, it is based on the same format that Angular uses, so if you use Angular then the module system that the application has will make sense.
I attempted (last night) to play with the framework (which I normally don't since I am not that much of a big fan of frameworks and prefer a library based approach) and found a couple of things that weird me out about their selling points, mainly, how it deals with inversion of control.
My issue: This is dependency injection for people that don't really understand the concept of dependency injection. SOLID principles seem to be thrown out of the window completely due to how coupled with one another items are. Literally, you cannot change one dependency coming from one portion to the other(i.e a service into a controller) without changing all references to it, so if you were using a service specification for a particular database, and change the database, you would have to manually edit that very same service, or define another one....AND change the hardwire of the code from the providers section all the way into the controllers that use it....this was a short example, but you get the gist. This is more of a service locator type of deal than well....actual dependency injection. Oh, and the documentation uses classes rather than interfaces WHICH is where I started noticing that the whole intention of dependency injection was weird. Then I came to realize that TypeScript interfaces are meeheed out during transpilation.
Digging into the documentation I found about custom providers that could somehowemaybekinda work through. But in the end it requires far too much and items that well, they just don't feel as natural as if I was writing this in C# or Java, or PHP (actually where I use it the most)
I still think it is a framework worth learning, but I believe that this might be a bias of mine of deriving from the norm to which I was and have been used to doing the most.3 -
Spends 9 months on the side developing a library for analysis of a specific programming language. No help, entirely my own work. There's various tools built upon this library. Incorporates project management, an effective build system capable of parallel and distributed builds, a packaging system...
Beta release the library. Wait four months. Ask the community for who's been using it so I can get feedback and other comments. Majority of the comments follow a specific pattern.
"You don't support X, how dare you!?"
One, this is free software, pay me if you want specific things.
Two, I'm the only developer of a project usually undertaken by a small team.
Three, yes it does you fucking invalid... Every fucking time someone claims it doesn't support some feature, it's something I've already written and validated. I swear to fucking God users can't find something themselves and instead of checking the Wiki or asking for help, they blindly assume they can't make mistakes and it must be my defect.1 -
TD;DR: I have school instead of vacation but 5 hours of spare time. I got my laptop with me and I'll work in school.
I didn't want to take part of the course-trip with the 12th graders (my course sucks, there are too many assholes for the neutral people to compensate). After speaking with the director, and the only condition was to tell the course why. I did deliver them a nicely put "fuck you, you bullied my only friend out of this school" and now is the time where I visit the 11-graders while the other 12-ers are on "school vacation".
I got a "new" plan for the courses I should visit. Today, Wednesday, I have 5 FUCKING FREE HOURS IN A ROW. Oh yes, baby, the teacher generating the plan hates me as well. (He really does but it's probably just unlucky not his fault).
So today, I decided, I would take my heavy-ass laptop with me, in a laptop bag, which doesn't fit into the school bag I have and my laptop doesn't fully fit in the laptop bag as well (sticks out), that's the perks of having a laptop!!
— so I can work on my (I wanna say this once in my life without being a professional) "CLIENTS PROJECT" - the funny thing is that the client is a (really fucking good but small) advertising agency and too lazy to design their own website. Since I had my internship, they know how hard I *can* work even without being payed. Now they do wanna pay me but that's another story.
I'm on the bus and I have this monster of a bag which isn't lighter than a freaking huge bag of rice and I'm so fucking excited for this day. The library is my best friend. Hopyfully I'm going to find a socket for power..
Sorry for so many commas, I'm german. :D3 -
How fitting because that just happened today: MOTHERF*CKING Tomcat.
TL;DR:
Tomcat sucks with client side routing (e.g. in angular2).
How hard can it be to provide a web/application server which is properly configurable?
I lost a whole day by trying to get an angular2 project deployed in Tomcat.
It's not that I could not manage to deploy it. But that you need to put all the files in the ROOT folder if Tomcat so that your JavaScript files can be found is the first dumb part.
But that's not enough.
There seems to be no way in Tomcat, short of writing to XML config files and including one jar library, to disable routing go a webapp. And you need to do this when you have a single page application with client side routing.
But yeah, dear boss, I get the part where Tomcat is lightweight, easy to use and does most of the work for you: when you do not use it.
As a side note, so that nobody thinks I have a grudge against the Apache guys: I see the advantages of a Tomcat if you have multiple webapplications written in Java which you need to manage our if you use it as an embedded application server.
But there are just some occasions where a plain old Apache Webserver is better suited.
Another side note: if I just embarrassed myself because those are settings which can be easily applied feel free to tell me 😉2 -
Linux is great - to tinker, to pull in all your FOSS, mess around...
But it's so fucked up, if you actually build and maintain a product on it, i.e. try to distribute s.th. in binary for money even. It's just not intended. If you offer your code for free, you can always say: "Ah, just compile it yourself. You might need these 29 dependencies, of which 2 are not even checked by configure, oops, and now it crashes, maybe in that qt library version, you picked there's still a bug?.. you know, it worked on my machine, sorry."
But if you sell it, it better install and run! And even if you target only the main distros of all that fragmented Linuverse - let's say, Debian, Ubuntu, RHEL, CentOS, Fedora, and if you're in Germany OpenSuSE and SLES, you'll start to see the crap of work you're up with. What you could try is to orchestrate a docker fleet with one container per distro, where you take the oldest version you still support compile a newer gcc there (to at least have C++11) and all your third party libs and then hope the resulting binary runs on all the newer versions of that distro, too.
(You could even be so brave as to try to pick a deb and rpm distro to build for all other distros.)
But ABI incompatibility can still bite you. For instance we once had the insane case, that our GUI would no longer start just by switching the Window-Manager to KDE.8 -
Sometimes in our personal projects we write crazy commit messages. I'll post mine because its a weekend and I hope someone has a well deserved start. Feel free to post yours, regex out your username, time and hash and paste chronologically. ISSA THREAD MY DUDES AND DUDETTES
--
Initialization of NDM in Kotlin
Small changes, wiping drive
Small changes, wiping drive
Lottie, Backdrop contrast and logging in implementation
Added Lotties, added Link variable to Database Manifest
Fixed menu engine, added Smart adapter, indexing, Extra menus on home and Calendar
b4 work
Added branch and few changes
really before work
Merge remote-tracking branch 'origin/master'
really before work 4 sho
Refined Search response
Added Swipe to menus and nested tabs
Added custom tab library
tabs and shh
MORE TIME WASTED ON just 3 files
api and rx
New models new handlers, new static leaky objects xd, a few icons
minor changes
minor changesqwqaweqweweqwe
db db dbbb
Added Reading display and delete function
tryin to add web socket...fail
tryin to add web socket...success
New robust content handler, linked to a web socket. :) happy data-ring lol
A lot of changes, no time to explain
minor fixes ehehhe
Added args and content builder to content id
Converted some fragments into NDMListFragments
dsa
MAjor BiG ChANgEs added Listable interface added refresh and online cache added many stuff
MAjor mAjOr BiG ChANgEs added multiClick block added in-fragment Menu (and handling) added in-fragment list irem click handling
Unformatted some code, added midi handler, new menus, added manifest
Update and Insert (upsert) extension to Listable ArrayList
Test for hymnbook offline changing
Changed menuId from int to key string :) added refresh ...global... :(
Added Scale Gesture Listener
Changed Font and size of titlebar, text selection arg. NEW NEW Readings layout.
minor fix on duplicate readings
added isUserDatabase attribute to hymn database file added markwon to stanza views
Home changes :)
Modular hymn Editing
Home changes :) part 2
Home changes :) part 3
Unified Stanza view
Perfected stanza sharing
Added Summernote!!
minor changes
Another change but from source tree :)))
Added Span Saving
Added Working Quick Access
Added a caption system, well text captions only
Added Stanza view modes...quite stable though
From work changes
JUST a [ush
Touch horizontal needs fix
Return api heruko
Added bible index
Added new settings file
Added settings and new icons
Minor changes to settings
Restored ping
Toggles and Pickers in settings
Added Section Title
Added Publishing Access Panel
Added Some new color changes on restart. When am I going to be tired of adding files :)
Before the confession
Theme Adaptation to views
Before Realm DB
Theme Activity :)
Changes to theme Activity
Changes to theme Activity part 2 mini
Some laptop changes, so you wont know what changed :)
Images...
Rush ourd
Added palette from images
Added lastModified filter
Problem with cache response
works work
Some Improvements, changed calendar recycle view
Tonic Sol-fa Screen Added
Merge Pull
Yes colors
Before leasing out to testers
Working but unformated table
Added Seperators but we have a glithchchchc
Tonic sol-fa nice, dots left, and some extras :)))
Just a nice commit on a good friday.
Just a quickie
I dont know what im committing...3 -
So I was looking into phone app development again (as you do) and I'm working on a simple QoL app for me and my SO that will help us automate some home management and finances stuff. Naturally I delved down the rabbit hole deep and wanted to have push notifications so we don't have to check the app periodically to know when certain things happen... Oh boy... Why is mobile development so convoluted, especially if you don't want to rely on Google Services...
It seems that the most accepted way of doing this is Firebase (FCM). Well me being me, I refuse to use google services for this and I prefer self hosted solutions (for data privacy reasons) which eliminates most products out there.
It also didn't help that my framework of choice is Flutter/Dart, because fuck Android Studio and the insane buggy XML stuff and fuck Android and it's constantly changing APIs...
Well In the end I decided on a rather simple solution and self hosted an AMQP service (RabbitMQ in my case, as I have some experience with it already) and implemented a foreground service in android platform specific code on top of my flutter project to kickstart it and made my phone a queue listener... This now means I can push notifications from my server to the Messaging Queue and it will be pushed into my App automatically!
One thing I found out on this journey was that Android now kills most background services and enforces foreground services to have a visible notification in the status drawer... which I actually approve of. It's a bit annoying that you can start a reliable background service, but I'm absolutely on-board with long running processes started by my apps are constantly visible...
Long story short, I love reinventing all the wheels, especially if it's for free and private... And I also went to sleep at 2AM again because this took longer that I'd like to tune... but it works, and it's google free...
I'm thinking of trying to package this up as a flutter module later, but first I want to do testing on battery life and the general life cycle of the service. RabbitMQ says they have the client library optimized for long-lasting connections and it should be just using a tcp socket, which should pretty much be what all the push notification services are doing anyway. I'm also not completely satisfied with how the permanent notification looks.. it isn't collapsible like some of the other ones from other apps and it's about 2 lines high instead of single line... which is something quite annoying and I'm struggling to find any relevant docs on how this is done other than possible making a custom Notification Style... but I just can't believe that everyone is doing that.. there must be a built-in somewhere -_-... Ugh Android is hell...
Anyway, if any android devs here have some hints, tips and tricks on how to handle this type of background/foreground process stuff and I'm doing something wrong let me know, cause googling this shit is a nightmare too!6 -
So I get to work on building a client at work for industrial automation. I am building a mini hmi to show customers how our server works. The code uses opcua. The reason I am making a client is because all the opcua hmis on the market are really expensive. There is nothing less than $600. There are hmis for free out there, but none of them say they support opcua. opcua has become a major protocol in the industrial automation industry.
It took me about 2 days to gin together a client that is pretty much abstracted and will be easy to maintain. A lot of that was just learning the opcua library client code.
Now I want to create servers and clients geared toward home automation for fun and profit. I want to take sensor data from arduinos using a simple serial protocol like modbus or other protocols that are supported. Then have an opcua server that collects this data. Then finally have an opcua hmi that I develop talk to these servers. The security model is much better and would be compatible with other vendors clients/servers. I already have a game engine I want to use for the hmi portion. It has tons of widgets for displaying data, graphs, lists, text, etc. It does both 2d and 3d.
This sounds like a project that could really fun, meshes with my work learning, and provides value to people that want to automate their lives.
The other side effect is that the next time I go looking for a simple and cheap hmi that supports opcua, there will be one. -
Made a new friend with my lame social skills lmao. So I was walking around in Uni Library, looking for prescribed books for my courses, ran into some senior looking for some Penetration testing guide, since there weren't any so I just passed him some of the stuff I always carry with me, DRM-free content and all lmao.1
-
First rant! I'm currently on my first actual dev job and I've been learning a ton, doing extra studying/side projects in my free time and office environment is decent with good colleagues!
BUT
1) I'm getting paid about half as much as someone on my level (education and experience considered) - partly my fault, but thought experience would outweight the shit pay, now I'm really starting to question this bullshit
2) I'm away from all my friends, and by the end of my contract, 90% of them would have graduated... Have no friends outside of work where I live, and any social life I had, died when I moved
3) My work project is fucking tedious and could be flipped upside down to be of actual use, but no, company can't change how they've done things for the past 1000 years. But who gives a flying fuck about junior's suggestions, I haven't got decades of experience to back my ideas, plain logic and industry feedback isn't enough
4) Programming 24/7 for months is doing no favours to my hobbies, as I'm either too tired to do anything, or I don't have the time
5) The piece of shit library that I HAVE to use (because alternative has no support, lacks basic documention, the usual...) is built so that any automation that my project is meant to provide, is next to impossible to achieve, so day-to-day I'm just spitting in the wind as I'm slowly falling behind schedule
Quitting isn't really an option, as I'd have to find a job with significantly higher pay, really quickly to benefit from leaving... which is next to impossible
So here I am, stuck between frustration with aspects of my life and being contempt with other half (the learning and programming as a career)...
Is this something that will stay with me throughout my career/life? Or is it simply a shitty-entry-level situation out of which I'll grow out of?5 -
Just some free knowledge that I'd like to pass around:
I wanted to free up some space in my MacBook. I checked out different methods.
Here are some methods that helped:
- Go to ~/Library/Caches and try to clean shit up.
- If you have Homebrew, (if you don't, just quit dev already) run `brew cleanup` -- only for people with Macs.
- There's this app called Omnidisksweeper. Check that out.
- Also, indexing Spotlight is something I've heard of but never tried.3 -
Greatest minds of humankind processed all that eternal questions and hard problems of ourselves and the outside world. They all formed the outcomes and conclusions into comprehensive messages.
Are they hidden somewhere? Is this some hidden knowledge that is extremely exclusive? Where is that library and how hard it is to get there? Maybe it is impossible for me?
No.
It’s right there, hidden in plain sight and often overlooked.
It’s called art. That packages are artworks. I just realized that all that time people much smarter than me spent their lives thinking about all that stuff and I can get all their answers right now, for free.
Art is not a steal.
Art is a robbery.17 -
# This isn't THAT bad, but since I never had any collab before this one, this is the worst so far
I'm in a web development school where we need to do a yearly project. At the beginning, we started with the idea of doing an online wallet that would handle crypto-currencied (#blockchains), and other currencies too.
On the paper that sounds good, but the dude decided to create a NodeJS server api, and let's be honest, this was a gas factory. I couldn't help him because he was too fast in his ideas, and the third member was a bit more useful because he was the one creating the mobile app, so all he needed was an url that the dude couln't manage to create.
After a few weeks he started over the project, then over again a few weeks later, before coming to us and saying it was too difficult. We said "yeah, I mean you're own your own since the beginning, no wonders!" "Uh do you guys care if we change the whole project to do something else? Like a CV library"
Went a moment where he tried to over sell some incredible (read "overly common") features that already existed 10 years ago on some famous websites (ie. Monster), and he then eventually told me that this idea came from his new job, and that they needed this library. So we would have to work for his company for free. Nice.
The third guy and me came with a new idea (image recognition with IA and stuff), and we saw the dude maybe 5 times the whole week while we're supposed to work together -
I’m paying for GitHub Copilot and it is serving me well in about 40% of the cases. It is nice to not have to type entire utility methods. Sometimes it also try-catches things that I wouldn’t generally do with a new library that I haven’t used before. Pretty cool.
I also used the Cursor IDE, that isn’t very useful in general cases, but helped me read and understand a horrible piece of 200 line-function with extremely cryptic variable names. Sadly, my free quota there ended.
I hope GitHub Copilot Chat is better at explaining things.2 -
I am a cs student at first class. Obviously we take an algorithm lesson. However, despite we have learned all things related to OOP , we didn't even learn switch case statement not even bubble sort algorithm or anything related to the algorithms. Because of that in my free time I learn this stuff individually. I know we will learn these things in the second class but it doesn't make sense to program anything without knowing them because you need to use them. You can use standard library but that doesn't mean you don't need to know how that works.
-
C++ is the building blocks for many high-level programming languages, and since 1984 its first appearance in the markets the C++ core committee developers have introduced its 4 new versions which are C++03 (ISO/IEC 14882:2003 second edition), C++11 (third edition), C++14 (fourth edition) and C++17 is the fifth edition. With each new version, developers introduced new features, libraries and APIs in it.
C++ introduced as the extension of C programming language which made C++ as a compiled programming language, which means the developer required a C++ compiler to translate the C++ code to its equivalent machine or byte language, so the Operating system of the computer can execute the program.
There are various C++ compilers in the market and most of them are open source and free to use, however conventionally when we say C++ compiler, we basically talk about GCC which stands for GNU Compiler Collection.
What is GCC?
GCC stands for GNU Compiler Collection, and it is a collection of programming compilers which induce C, C++, Objective-C, Fortran, and some versions of Java. The first version of GCC introduced in 1987 and it was also known as GNU C compiler which became the standard compiler for C programming language, in that same year GCC also provided Compiler support for the C++ programming language.
Now GCC has various versions and each version give specific support for C++ versions, by now if we look at all the versions of GCC, we have a stable GCC for every version of C++, but there are some exceptions with C++11.
C++11:
C++11 introduced as the 2nd update version of C++, it suffixes 11 because it released in 2011 or because on August 12, 2011, ISO gives official approval to it. Formally C++11 known as C++0X because developers were expecting the new update released in 2010, but with its release in 2011, the core committee developer of C++ changed its name by C++0X to C++11.
C++ 11 replaced the old version of C++03, and it also brings many new features for the C++ developers. The main aim of designing C++11 to stabilize and maintain the backward compatibility of new C++ version with the C+98 and C programming language and that’s become the main reason why core committee developers only introduced new features in the old standard library rather than extending the core language.
GCC does not give Full Support to C++11:
GCC version GCC 4.8.1 purpose the first feature-complete implementation of the C++11 standard, however, the 4.8 and 4.7 does not give the full support for the C++11. The current version of GCC provides the major support for all the standard features of C++11 but if you are using the GCC 4.8 or 4.7 versions then your GCC only provide you with the experimental support for the C++11.
To use the Experimental support of GCC you need to enable it first before you compile or run you C++ 11 version code.
use code std=c++11 or -std=gnu++11 to enable the experimental support for C++11.17 -
I see you've gone ahead and decided to code this part using Ramda library + point free style. Let's go around and make 4 other developers learn it real quick.3
-
Currently dealing with a very bad and limited Library for scheduling taking into consideration that the CEO insists on using it for no reason.
instead, he could use an open source library for free and could provide more features. -
Two dev things I use:
1. Phind — dev-oriented ChatGPT. Free. https://www.phind.com/search
2. DevDocs — all the docs for languages/popular libraries consolidated in one offline library. https://devdocs.io/ -
!rant
I just made a library card in order to get free access to free online training... I'm kinda ashamed of myself, even if I shouldn't. -
So yii 3 is basically a clean up of yii 2 from all built-in extra library, and devs are free to include those with composer. No?5
-
I’m trying to document a library I work on, and I need to figure out where to host it. Ideally it would be free so if I ever move on I don’t have recurring costs. I would mostly be hosting tutorials there.
Any suggestions?1 -
There is no perfect library for you
Recently I tried to update a very old hobby project by adding new features, but sadly in my case these features depended big on an external library, and because of how this library handle their things I just can't make it work for my use case cuz again how the library works, at the end I removed the library and installed anther one that solved my case
Now I will make clear that I'm not blaming anyone here, not even me, devs that creates free libraries created the library for their use case in the first place and then thanks also to contributors (library users) that library became good for the common use cases, it just time that will tell if the library will keep with the updates and not breaking things
So we should be very thankful for the devs that creates free open source projects that tries to make the devs life easier -
Code comments are good and all, but there's a time and a place for them. They're more or less an opinionated free-form version of what code is doing.
In a library, they're good for documentation. However in a platform, it makes less sense. Especially one which is changing at quite a fast rate (though it has matured in recent months).
Dont get me wrong, we aren't doing wades of horrible, unintelligible code. We need to be sure of what happens when we call a function, so we make sure the signature is always correct.
def do_good_things(puppies): # "good things" is opinionated. Say what you're doing
"""give treats to puppies""" # doc string is wrong
pet(puppies)5 -
Can the error types of my library depend on a custom library context object to be printable or otherwise meaningful? Pretty much everything else depends on this context, but until now the errors were an exception (no pun intended) because I wanted them to be printable by any handler that bumps into them, without scoping concerns. Now I tried removing them and like a third of my library has suddenly become context-free, because it only used the context to fully resolve everything before error reporting.1