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 - "message passing"
-
Google sucks!
No, not as e-mail or for privacy reasons. Sure, that too, but it comes with "free" stuff.
It sucks because it's breaking every possible record in the worst, shittiest, most insanely stupid APIs and integrations out there on the entire fucking planet!
It is comically stupid!
Aside from their LOVE of hard-deprecating APIs every few months, requiring constant, time consuming maintenance of every tool that integrates deeply with Google services, some of their APIs, for expensive stuff, look like they've been written by Bobby McFartface from 7th grade.
Take a look at DoubleClick Search (their ad performance reporting tool, that sure does sound like one). To upload custom, additional data, you must pass in a ton of parameter, and they REQUIRE some of them to have a specific, hardcoded value. What's the point in passing that parameter then you dickheads?!
But fine, so you uploaded some stuff using the API. Now you want to delete everything and try again after you fixed a bug - well you fucking CAN'T! You can't delete stuff, you can only mark them as "deleted" using an update call.
Bulk operations? Fuck no!
Can I just add on top? Well of course not! That will raise a ton of exceptions. Same message should be transmitted using the PUT, not POST request, in order to edit.
Can I send everything to PUT? Of course not! You can't edit something that's not there, dummy!
Can I see what's there so that I can update it, and add what's missing?
Well of course not! Why on Earth would you need to see what information is in there after you uploaded it? Who needs that anyway?
Simply send, pray, and hope that everything will be fine (it will not).
Like holy fucking crap, it can't get any more stupid!
Google is a huge pile of idiots who feed on only a single cow - the search engine.
It's times like these when I think that Google right now is the worst thing that exists for everyone in tech. It's dragging everyone down with their monopolies everywhere and complete idiocy in managing them.5 -
Continued from previous post.
As the chill wind blows outside, the man picks up his laptop and phone. Slowly walks towards his bed and lifts an old hoodie. With easy he slides it on him, pulls the hood over his head. He turns around facing the window. On the back of his old hoodie, there is a design which looks faded and discolored. Below it some words which too are faded. He walks towards the window and glances on the street. It's still empty. All he can hear is the wind.
"Perfect", he says to himself and walks out his room.
As he is about to exit the building, he sees an Apache chopper passing above. It zooms above the street. A wild guess he makes, probably it's heading where he is heading.
His phone vibrates with a message.
"It's ready".6 -
Conversation yesterday (senior dev and the mgr)..
SeniorDev: "Yea, I told Ken when using the service, pass the JSON string and serialize to their object. JSON eliminates the data contract mismatch errors they keep running into."
Mgr: "That sounds really familiar. Didn't we do this before?"
SeniorDev: "Hmmm...no. I doubt anyone has done this before."
Me: "Yea, our business tier processor handled transactions via XML. It allowed the client and server to process business objects regardless of platform. Partners using Perl,
clients using Delphi, website using .aspx, and our SQLServer broker even used it."
Mgr: "Oh yea...why did we stop using it?"
Me: "WCF. Remember, the new dev manager at the time and his team broke up the business processor into individual WCF services."
Mgr: "Boy, that was a crap fest. We're still fighting bugs from the mobile devices. Can't wait until we migrate everything to REST."
SeniorDev: "Yea, that was such a -bleep-ing joke."
Me: "You were on Jake's team at the time. You were the primary developer in the re-write process saying passing strings around wasn't the way true object-oriented developers write code.
So it's OK now because the string is in JSON format or because using a JSON string your idea?"
SeniorDev turns around in his desk and puts his headphones back on.
That's right you lying SOB...I remember exactly the level of personal attacks you spewed on me and other developers behind our backs for using XML as the message format.
Keep your fat ass in your seat and shut the hell up.3 -
!rant
One of the downsides of my job is that I do User Support at three levels...
Sometimes they can with a valid support request, and sometimes it can be a easy one, sometimes isn't.
But there are times when they came with an idiotic situation that (most of times) it can be avoided if they can read the fucking message that the application in question show to them.
In those times, I already knew the problem they have by the time they already finished to describe it... In the meanwhile my thoughts go down into a rabbit hole and forgot the whole point of the call 😂
Oh... Well, at least I can fake that I was passing inside a tunnel 😂4 -
After writing ~200 lines of code and then unit testing it
THE TESTS ALL PASS!!!
then I run them again just to be sure and they all pass but mocha is saying I am getting 40ms lag on some of my tests...
Noooo!!!
This is meant to be an async message passing system; I cannot have an input lag of 40ms :(5 -
"Where Python might boast that there's "one and preferably only one way to do something", Ruby relished expressiveness and subtlety. Where Java championed forcefully protecting programmers from themselves, Ruby included a hanging rope in the welcome kit. Where smalltalk drilled a purity of message passing, Ruby accumulated keywords and constructs with an almost gluttonous appetite."1
-
Created a docker stack that can run on a swarm, tried out an actor system framework with a really nice message passing interface, used a web server framework built on that actor framework, used a really cool ORM that relies heavily on code generation, did some experimenting with Alpine Linux, and re-learned for the 100th time how to deal with CORS
-
In the ever-growing saga of the upgrade, here is another one.
In the daily scrum meeting, I chat about the upgrade, standard stuff.
The other dev pipes up - "Oh we had a meeting about that this morning and were going with a different approach"
Me - "wait, we're doing what now? You do know I've spent a month so far just on this upgrade?*
*silence*
Anyways I continue working on the upgrade, few meetings while I try to find out what's going on.
Spoken to BA, my line manager and the other dev didn't get much basically saying yeah this is how we're handing it now.
Well it turns out after writing a big long message to the other dev, he decided *yesterday* in a manager meeting (he's kind of a manager but not really) to propose a new approach and they all just leapt at the chance even though it's going to take way longer (2 years estimate) to patch up the system version by version until we get to the latest release.
So at some point today he sends me a message to stop what I'm doing and go and help with a product release and that we *are* doing this new approach and that he made the decision yesterday. I'm sorry but since when did he become my manager micromanaging me haha
So as the only one doing the upgrade, I only got told of this change in passing, the other dev said that he decided yesterday and didn't bother to tell me as he had other stuff to work on and neither did my line manager.
Seriously what the hell.
So hopefully the things I've worked on and done might get used in a year or two haha6 -
I’ve now discovered that management actually decides for themselves what software engineering is. 🧐
It is getting increasingly common that in different architectural groups the decision has already been made… by management…without actually passing through our review… as a little more senior blokes and gals.
Not even a discussion? On the fit?
That leads me to the conclusion, since I consider the management (at least the two or three closest layers) are morons, good at talking but not really knowing anything about what we do (we kind of take stuff and make other stuff from it by using energy and other stuff in HUGE FUCKING FACILITIES AROUND THE PLANET), that even they did not make the decision. It was forced upon them. They did not decide either! Because they can’t! Because they are idiots all of them!
I have not investigated this issue but this is the logical conclusion. Or not.
Recently, for instance, decisions were made to route information flows by some tech. Some new tech. At some place in our eco-system. At a certain time. And, if we were to have reviewed this initiative in our process we would have said:
”Well, I hear you! But we are not going to do that right now because WE ARE IN THE MIDDLE OF THE FUCKING HUGE GLOBAL PROJECT THAT CHANGES PRETTY MUCH FUCKING EVERYTHING AND WE CAN NOT JUST IN THE MIDDLE OF THE FUCKING EXECUTION PROCESS OF THE PROJECT CHANGE THE FOUNDATIONS OF MESSAGE ROUTING BECAUSE WE LACK THE NUMBER OF HUMANS TO DO THE FUCKING JOB. So, we need to take a look at this and to get a better understanding when we can make this happen.”
What is the point of having this step in our organization if it is just pass-through? What is the point? Meetings? Just having meetings? Spending time mastering the organizational skill of administrating meetings? Feeling important? Using big words (holistic being my favourite)?
Below, juniors devs are being hired doing stupid stuff that does not need doing. For months and months.
I believe now that half of the dev staff does not need to be there and three quarters of the team, service, delivery (etc) managers are unnecessary. I mean, the good juniors are going to change jobs soon either way and we are stuck in this vicious cycle where we are not being allowed to be innovative in software engineering. Stability is of the essence here but the rate of our releases are just silly slow. I would say that we are far, far away from any track that leads us to where we want to be. Agile. Innovative. Close to business. Learning. Teaching. Faster. Stability despite response to implementing changing business needs.
And then there are the consultants…
*sigh*4 -
So fun fact about message-passing plugin APIs, everything becomes a parallel programming problem. My lexer (the part of an interpreter that recognizes fundamental syntax elements) spawns a callback thread with request and reply channels, and then messages a plugin which is able to either talk to the callback thread or message the original thread with a successfully parsed token or an abort.
It has just occurred to me that plugins are under no obligation to sequence their requests to the callback thread, which means that having one channel for requests and one for responses no longer suffices; the requests need to each contain their response channel. -
!rant
had to give a short presentation on the origin of OOP at work. It turned into a neat little discussion on what OOP means to you based on your experience and what you've been taught. I had always thought it just meant working in terms of objects and polymorphism, inheritance, etc. were good practices.
Found it interesting that when I started reading into Simula, Smalltalk and Alan Kay's work, early 'uses' of OOP were different from each other and today. To me it seems it have originated obviously, from the desire to work with real world objects but branching off to being more closely related to the actor model and the idea of message passing.
Was wondering if anyone else has looked into this topic or has their own opinions based on experience.1 -
I think for this one i had higher expectations which let to me being disappointed. Was a fun experience nonetheless.
So i am junior dev in a bigish company and i am pretty comfortable where i am, its challenging enough and fun enough. Pay is fine nothing out of ordinary but perks are nice.
But this job is the one i got out of college and it did feel that i got really lucky as i was preparing for leetcode and what not but the interviewer was pretty linient and asked me technical questions out of my cv. The questions were mostly about what i used and all felt quite easy and i was offered a role with a decent salary. Since then i have been working and learning and thing been pretty stable.
Recently i was hinted at a promotion by my manager so i have been working towards that. I have in the past got a lot of messages on LinkedIn from different recruiters but never tried because i was satisfied with my job and my visa condition made it a little tricky to hope jobs ( i work in eu as a non eu citizen). But i did fantasize that if i could just get an interview with a decent company and clear the technical round without much preparing and get offered a decent package just to inflate my ego and maybe use that to increase my current package.
So i got another message on LinkedIn and a startup was looking for a developer and i gave it a go. I asked the recruiter what is the expected compensation and he instead asked me. I said i want a big enough increase tk even consider leaving my comfortable spot, so i am looking for more than 35-40% increase If they can then i am willing to try. The recruiter said that their range is between 25-35 but can try 40 if the interviews goes well.
I went ahead with it and gave the interview, the first one was simple and the next one was supposed to be technical and was told its not leetcode but i will have to implement a feature into a project live on the video call. Which i did with some success, i was quite clumsy but i was able to do it with tests passing sl i guess that was fine.
I was really happy that i didnt prepare much and still passed a tech interview. I was recently told about the offer, its around 40% more than my current but there are no yearly bonus or even health insurance. If i consider the bonus and health insurance then the offer becomes like 20% increase. Considering i am already expecting a promotion and some salary increase this offer seems really lack luster.
Just wanted to talk about all this, can you get a really big jump generally or is it only 15-25 ?1 -
What's the message passing IPC with the least RTT for messages that are in the 16-32 byte range? It's gonna run approximately once per command in an interpreter.5
-
https://symfony.com/doc/3.4/...
Look at how they write docs:
"->atPath('foo')"
how can I fucking know what to pass instead of foo? I cannot make show fucking error message near the field.
Are they writing such doc so that we would spend more time searching how to make show fucking simple error message?
"The atPath() method defines the property which the validation error is associated to. Use any valid PropertyAccess syntax to define that property."
Property on my entity is collection of $values . Tried passing 'values' - no effect.2