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 - "primer"
-
I work in a company where I'm the only developer, with everyone being designers or marketing or sales. Typically like the scene from Silicon Valley.
Moto was to create a ticket selling website for their products, and make sure they worked as well. It was all fine, until deadlines were discussed. They wanted it done within 2 weeks, the entire backend dashboard, API and front end.
I told them it's almost impossible to do it, but they insisted on it. So, I made a minimal dashboard and told them, I haven't completed a few things, such as if you edit data in one place, it won't reflect in other tables. So, be careful while editing the data.
They nodded their head for everything, yesterday was site launch and 2 hours before that one bastard decided to changed the product names to something "catchy" but failed to change the same in other places.
I had used the name as foreign key, so querying other DBs became a fuck all issue, and eventually API stopped giving any response to front end calls.
I got extremely pissed, and shouted at that dude, for fucking everything up. He said, you're the tech guy and you should've taken all this into account.
I sat and hardcoded all the data into database again, made sure site is live. Once it was live, these guys call a company meeting and fire me saying I was incompetent in handling the stressful situation.
At that moment, I lost my shit and blasted each of those people. The designer started crying since her absurd designs(though great) couldn't be realised in CSS that too within 2 weeks time.
One of the worst experience for working for a company. I could've taken the website down, and told them to buzz off if they'd called, I couldn't get myself to do it, hence ranting here.
I seriously feel, all these tech noob HRs need to get a primer course on how to deal with problems of a programmer before they get to hire one, most of these guys don't know what we're trying to tell in itself.
I find devRant to be the only place where I can get someone to understand the issues that I face, hence ranted.
TL;DR: Coded ticket selling site in 2 weeks. 3 hours to launch, data entry dude fucks up. I clean all the mess, get the site online. Get fired as soon as that happens.
Live long and prosper. Peace.16 -
Goddamn SortOfTested be joking about me needing seroquel and here we go, my psychiatrist prescribed me seroquel today.28
-
MySQL has the absolute worst error messages.
"You have an error in your SQL syntax; check the manual that corresponds blah blah near '(some random code line)'".
How vague can you be? It doesn't help that I always find the error in a completely different place to where the message says it is.5 -
Very few general embedded systems books exist, most are specific to chip, or architecture. Very few cover overall ideas, and concepts that are common across ALL embedded systems regardless of architecture and things you must keep in mind while designing software for them.
I think this a a good book. As a primer for deep diving into embedded systems design philosophy19 -
What are the chances that you get busted by your manager and 3 team leaders you personally know when you are going to a job interview?
We have poor men’s silicon valley near universities. Our company’s one office moves to another university. By the one in a million luck, interview takes at the same building where our next office of my current company will be. Managers and team leaders are there to inspect the new office. I enter the building, see them near elevator. One of them see me, with panic i wave my hand to him. There is a distance of ten meters, I hide behind a column. The team leader who sees me waving thinks I am with them to inspect new office. He asks others why am I not coming with them as I learn later. I can not pretend to play along and catch up with them, due to panic and time of interview is soon already. They get into elevator and finally I dont have to hide anymore 😂.
I got into interview and c++ exam with that physcology. Little did they knew that I just completed CPP PRIMER book. I both rock interview and exam but lets see if they will return with a job offer. What a rollercoaster of emotions.
Note: I am on mobile now so can not give more juicy details for now, fingers are tired.3 -
If you ever try to learn C++, give C Primer Plus 6th edition book a try. This is one of the best books that are prepared to teach, not tell about C++.
I tried Bjarne's boooks, but damn they are hard to understand, with badly formatted non-monnospace font code examples and terrible technique to teach. -
As I have a break between uni courses, and I’m bored of C# I thought I’d try learning C++.
I’m working my way through Bjorne Stroustrup’s book at the moment and also have the C++ Primer in my kindle library.
Can anyone recommend any other good sources to learn the language?9 -
Hi, everyone.
This is a post created for those of you who want to step up their terminal knowledge, learn new tricks, or just learn the basics.
I found these links that will help you on your path to master the command line on mac.
Links:
1. https://github.com/juanfrans/...
2. https://medium.com/@manujarvinen/...
3. https://computers.tutsplus.com/tuto...
4. https://lifehacker.com/a-command-li...
I hope you found these links useful and you learned one or two tricks!
I appreciate it if you leave a comment and Rant++ this post.3 -
Am I too dumb if I do not understand good-first-issues on open source projects? I mean, I completed C++ Primer book. Tried to find a real world challenges to use my knowledge.
I look at those issues but I really can understand em, when they belong to a project with tens of modules etc. Maybe good-first-issue is for people who spends 20 hours just to understand project, before writing a single line of code.3 -
1. Figure out what project needs it
2. Read a primer book (skim), mostly syntax and note the gotchas
3. Start coding
4. Read in detail as reference or Google... While coding -
Wow, yesterday was fun!
I had a rather buggy piece of code, it was bad when I first wrote it, and then I fixed it up, and it was still bad. Now I rewrote almost all of it, and it's much better.
Bad? How? Well, it was in Go, and it's basically an agent meant to execute tasks one at a time, and report the results back to home (live). Now while it worked, it was really flimsy, race conditions, way to much blocking, bad logic, and some very bad bugs.
So I had to rewrite it. Time for a quick primer on the design of this: you have a queue, a task gets add to the queue, the task manager runs the task. In the mean time, the agent is polling the host with the latest output from the task, and also receives new tasks to run (if there are any).
Seems like something that's for a messaging queue, you ask? Well, that would be true if each task was able to run on any random agent, but each task is only meant to run the agent it's tasked to (the tasks are of administrative nature al la apt-get), so having a whole separate service is a tad overkill.
So rewriting required rethinking how the tasks are executed by the task manager. I spent a day on this, it was fun, I ended up copying go contexts (very simple model, very useful). Why copy and not reuse? Because this is meant to be low memory code, so any extra parts are problematic, and I didn't really see a use for having a whole context, I just needed a way to announce that a task is done.
Anyways, if you're interested to see how the implementation worked out: https://github.com/chabad360/covey/...1 -
#Suphle Rant 3: Road to PHP8, Flow travails
Some primer: Flows is a feature that causes the framework to bypass handling the request now but read it from cache. This cache entry is meant to be populated without warming, based on the preceding request. It's sort of like prefetching but done on the back end
While building Suphle, I made some notes on some chapters about caveats and gotchas I may forget while documenting. One such note was that when users make the Flow request, the framework will attempt to determine who user is, using authentication mechanism defined on the first module (of the modular monolith)
Now, I got to this point during documentation and started wondering whether it's impossible for the originating request to have used a different authentication mechanism, which would result in an empty entry for returning user. I *think* it's possible cuz I've got something else called "route mirroring", where web based routes can be converted to API routes. They'll then return JSON, get served under defined API path, use JWT, all automatically. But I just couldn't connect the dots for the life of me, regarding how any of this could impact authentication on the Flow request
While trying to figure out how to write the test for this or whether it was even necessary (since I had no use case), it struck me that since Flow requests are not triggered by an actual user, any code attempting to read authenticated user will see nothing!
I HATE it when I realize there's ambiguity or an oversight, after the amount of attention and suffering devoted. This, along with a chain of personal troubles set off despondency for a couple of days. No appetite for food or talk. Grudgingly refactored in this update over some days. Wrote some tests, not all passed. More pain. May have to convert them to unit tests
For clarity, my expectation is, I built this. Nothing should be impossible for me
Surprisingly, I caught a somewhat lucky break –an ex colleague referred me to the 1st gig I'm getting in 1+ year. It's about writing a plugin for some obscure forum software. I'm not too excited cuz it's poorly documented and I'll have to do a lot of groping, they use arrays instead of objects etc. There's no guarantee I'll find how to implement all client's requirements
While brooding last night, surfing the PHP subreddit, stumbled on a post about using Rector to downgrade a codebase. I've always been interested in the reverse but didn't have any incentive to fret over it. Randomly googled and saw a post promising a codebase can be upgraded with 3 commands in 5 minutes to PHP 8. Piqued my interest around 12:something AM. Stayed up all night upgrading it, replacing PHPSTAN with Psalm, initializing the guy's project, merging Flow auth with master etc. I think it may have taken 5 minutes without the challenge of getting local dev environment to PHP 8
My mood is much lighter than it was, although the battle is not won yet –image tests are failing. For some weird reason, PHP8 can't read generated test images. Hope I can ride on that newfound lease on life to study the forum and get the features working
I have some other rant but this is already a lot to digest in one sitting. See you in rant #4 -
I am busting moves rn. I'm in the bathroom but the surge of energy is making me pump my arms like the time Leo Messi scored a clutch winner against Valencia in 2019
Remember the plugin I referred to in this rant? https://devrant.com/rants/6019851/...
Yup! I managed to subdue that fossilised codebase. Effected all changes required. To have a rough idea about how ancient the code is, its classes use constructors predating PHP 5. It throws away the ~15 years of autoloading, view templates, routing engines, DI, ORMs (NO PDO!!), lower-cased multi word variable names, etc. I'm looking at SCRIPTS with raw functions north of 4-600 lines. The client insisted I zip the folder across
BUT! The good news is, we surmounted it. In fairness to them, it's commendable for one man to have pulled this off. The codebase is massive and appears to have been predominantly written by some Gideon dude. Who knows where he is now
There is one pattern I appreciate –something I wish Transphporm does–some segments of the rendered view are composed using class methods ie instead of having the HTML file mixed with templating syntax, you have class methods that receive the raw data. Then you can extend this class as you wish, overriding just the method that composes the segment you intend to modify. That was elegant to work with. But it can become dreadful if the class expects a specific structure of data (an array with weird keys) that you have no access to sourcing
So, I finally get to enjoy one good evening in 2/3 weeks. I called 2 friends to express an emotion that's not gloomy, but they were unavailable. Will probably get some sleep4 -
Any good algo book for a guy who's managed to read C Primer Plus and Learning Python? With math really explained. He's bad in math.7
-
Is ECMAScript a dialect of Lisp?
"JavaScript has much in common with Scheme. It is a dynamic language. It has a flexible datatype (arrays) that can easily simulate s-expressions. And most importantly, functions are lambdas. Because of this deep similarity, all the functions in [recursive programming primer] 'The Little Schemer' can be written in JavaScript."
— Douglas Crockford
An interesting discussion on SO (https://stackoverflow.com/questions...)2 -
For the first time, I will use “developer rant” for learning sth.
I am trying to learn concurrency in cpp. I tried CPP Concurrency in Action but the book is dry, no examples. Can you suggest a book with good examples and exercises, like CPP Primer?2