About.NET/PHP web dev by day, FP enthusiast and F# advocate by night
SkillsPHP, F#, Haskell, C#, JS (Vue, React, Node.js), SQL, MongoDB, Unity, Python
Joined devRant on 11/19/2019
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Solution for some reason doesn't work correctly on dotnet core so I try with framework => works. Develop a bit further, not touching anything that happens BEFORE the broken point. Then done far enough that actually have to seriously think about deployment. Framework solution is a headache => decide to try dotnet core again and hopefully find a fix for the broken part => magically everything works. What? WHAT?
Don't you just hate it when there seems to be nothing but in some ways lacking solutions to a definite task in your capability arsenal? Or rather, I don't really know how I should feel about it... I've been developing this solution to receive a 3DES encrypted Azure Service Bus message, decrypting it and chewing the output XML down so as to be digestible to the PHP application whose API the message gets delegated to... but there just seems to be no perfect solution: subscribing to the event topic straight from the target app just... doesn't seem to work properly, a Python implementation.... well, let's just leave it at that... a Node.js implementation would require TS and completely rewriting a proprietary library with 100+ complex types - also, there's some hiccups with both the subscription and the decryption...
I started with an F# implementation (after deeming the PHP one flawed), and it seems it's still the best. But goddamn it I had problems with it on the dotnet core side of thing (decryption output incorrect), so I had to switch to dotnet framework... Now finally everything crucial is peachy, but I can't seem to be able to implement a working serialized domain model pipeline to validate the decrypted message and convert it to something easier to digest for the target application (so that I could use the existing API endpoint instead of writing a new one / heavily modifying the existing implementation and fear breaking something in the process...). I probably could do it in C#, I don't know, but for the love of Linus I'm not going to do it if I can avoid it, when implementing the same functionality I have now without the Dto and Domain type modules would take 3x LoC than the current F# implementation incl. the currently unused modules!
And then there's the problem of deployment... I have no idea what's the best way to deploy a dotnet framework module to an app completely based on MAMP running on a mostly 10yo AWS cloud solution. If I implemented a PHP or Node.js solution, it'd be a piece of cake, but... Phew, I don't know. This is both frustrating, overwhelming and exciting at the same time.7
Cont. on this: https://devrant.com/rants/2991618/...
So, after I gave them my estimates and pricing and whatnot, they msgd me back a few days ago.. guess what?
"We're going to go with the dude making that [shitty] WP site for free, we'll be in contact again when we need the online store" ... No surprise. Somehow it just baffles me how people think devs' work is nigh on free even though the avg salary of a dev is known to be quite high. Like how can you not count 1+1=2?
Now this is truly fucked up...
What wouldn't one due to solve problems... Nonetheless, how low can one go?23
Halp meh, plz... I have run across a problem and I have absolutely no idea how to go about solving it...
So basically I need to decrypt a TDES encrypted Azure service bus message. Can be done in a straightforward manner in .NET Framework solution with just your regular old System.Security.Cryptography namespace methods. As per MSDN docs you'd expect it to work in a .NET Core solution as well... No, no it doesn't. Getting an exception "Padding is invalid and cannot be removed". Narrowed the cause down to just something weird and undocumented happening due to Framework <> Core....
And before someone says 'just use .NET Framework then', let me clarify that it's not a possibility. While in production it could be viable, I'm not developing on a Windows machine...
How do I go about solving this issue? Any tips and pointers?12
I ate pizza yesterday. A very different configuration than I usually go for.
WORST. MISTAKE. OF. MY. FUCKING. LIFE.52
One of the many good things about F# is that it seamlessly integrates with the .NET ecosystem, right? Very handy in an enterprise environment where in order to get anything done you have to use in-house nugets and tediously building a C# app for something you can do in about 30 LoC in F# just doesn't make sense...
... And then you run into the one fucking namespace in the whole ecosystem that just DOES. NOT. WORK. with F#. What the actual fuck M$?!
In all other cases Func<T',Task> in C# translates into T' -> Task in F#, but not here. "Oh, you're trying to give me Func<T',Task> -> Task? Can't do". Fuck that.9
Continuation of: https://devrant.com/rants/2784730/...
So, the potential client was in contact with me again, after our initial discussion ended with "okay, we'll try to figure out more clearer requirements", and then they procrastinated (as they confessed).
Now, they want a "simple portfolio type website with testimonial videos, a contact form and a hidden section with more videos for logged in customers"
... Okay, why don't you just... I basically linked them a bunch of service providers who have ready templates that they can just subscribe to for some monthly fee and have even someone at those providers' make the work for much less than I'd do it from scratch. My suggestions were ignored... and when I told them my best estimates of how long I'd take me and hoe much it would cost, the eventual reply was:
"Our CEO's going to think about it. He knows some dude who'd make a WP site for free.."
... well, that's going to end well.
Tbh, my correspondent did add that the "dude" is known to be extremely unreliable, so I might end up with this project after all.
I'm already ruing my decision to try my hands at some freelance work. I hate dealing with clients, so why do I even...?4
I'd like to hear opinions from experienced devs/software architects... Referencing my two previous rants, the imposter's has been strong today. And I really don't know how to feel about the possible solution I've come up with... Adding the new feature as a microservice for an otherwise monolithic application 🙄 is that a sane idea?
The thing is I need to have a subscription type event-driven mechanism and since we're listening to service bus messages from another cloud provider, I apparently can't just have a serverless function to do the job, so unless there's a better option, I need a microservice with the subscription that can then invoke a serverless function to actually do what needs to be done. That's my idea, but I'm far from sure this is the best way...1
Bloody effing hell...
> Senior leaves company payroll
> senior level stuff falls on my desk
> I've been working on a completely different product for almost a year, so I'm still kinda trying to get reacquainted with the product I'm a regular dev resource of
> feel completely lost
> try to implement the feature
> realize it requires a certain package
> package breaks the whole application, completely
> try to debug
It's this kind of days, when the imposter's kicks in. I feel like this should be a pretty simple feature to implement, and I'm just missing something that's right there before my eyes. I'm trying to remember this sat on the senior's desk for nigh a year, and I know he at least at some point actually tried implementing it, so me being not far above a junior shouldn't feel ashamed.5
I work at a corporation with dozens of different products and different legal units and teams working with different products. As many of the products are business acquisitions and not internally developed, they've retained whatever (cloud) architecture they had to begin with... some hosted on AWS, others on Azure and yet others on GCP.... Yet the core products are all on the same provider's platform, so all the documentation for some unexplainable reason assumes every other product is on that platform, too, and does not take into account interprovider communication problems, so integration becomes a major pain in the arse when the product you're working on (like mine) is not hosted on that one cloud provider's platform... Whole week I've felt like banging my head repeatedly to the wall.2
Depends on which desk we're talking about...
Office desk: an empty can, a tophat well as a demo and some Russian paracetamol I found from a pocket of my winter coat.
Home Office #1 desk: the keyboard for another computer, a plant, a bunch of magazines and newspapers belonging to someone else, a roll of kitchen paper, someone else's meds, a cup of cookies, another cup of small tomatoes, a Swiss army knife, a bike computer and a tablet.
Home Office #2 desk: wife's laptop, a bunch of chargers for a myriad of devices, a Kindle, some envelopes full of stickers, others with bills, a lot of random crap, and usually when I'm at the desk, one or two purring felines
I got bored / fed up with my previous line of work after just ending up on that path a good decade earlier, and started thinking what could be the thing I either could potentially be any good at or would possibly enjoy - and also make a steady income from as well, which was a luxury my previous career could never have offered me... for the longest time I couldn't think of anything. I just started browsing for some edu to apply, and saw an ICT BSc. And off I went... I guess the final realization I wanted to be a programmer, not a data analyst or ICT salesperson or something such was sometime during the series of Programming 101 courses that I found thoroughly enjoyable.
One more week and the holidays are over! I only wish time off flew by as fast as time spent working...
During the last two weeks I have come to realize that I dislike holidays. Or maybe I don't, maybe it's just now that almost everyone is forced to use their holidays at the same time... anyway, I just know some junior has made a hot spaghetti mess that needs a'fixin and I don't look fwd to attending to those issues when I get back to the office... worst case the buggy spaghetti poo is already in prod1
A friend asked me a few days ago if I could maybe be interested in making their small company a website and accompanying CMS, because none of the out-of-the-box solutions seem to suit their needs. I agreed to think about it - at least let's see what the requirements are and so on, and see if I could and should do it or maybe redirect and point them to a better direction. Always help a friend in need is my motto. And to clarify, with these people I can be sure they're not considering this a friend favor (i.e. doing something for free, or for really cheap), but these people tend to be willing to pay relatively well.
But to the question: I've never done freelance work on this field - I have absolutely no idea how to evaluate the value of my work, e.g. how much should I ask? And what are the things I should take into account and think of differently versus being on full-time payroll in some company?3
It's the 5th day of my holiday, circa 10.20 AM. So far I've spent around 30h programming, and learned React (already having experience with the other 2 major ME*N stacks I decided it was time to give it a go), made a small 2D platformer with Unity and realised I really like writing unit tests. Maybe next I refactor the app I just made to use GraphQL and TypeScript next, since I'm in the mood of trying something new.
Funny how my significant other thought being on holiday actually would mean a break from programming - no, it means more time to spend learning and trying things you don't have the time or energy to after a working day of Vue/C#!
(To clarify, I would not spend this much time programming on my holiday, if my better half wasn't away from home for this week - won't probably spend nearly as much time on it for the remaining 4 weeks...)2
Now that I've finally got around to studying React in a bit more detail and tried to actually use it, I can give my 2 cents on the Vue vs. React vs. Angular clusterfuck:
I understand that projects started before Vue 2 was around are done with React. That's it.5
Every time you squash a bug before someone else even sees it...
Lead: "There's a bug, you fix"
Me: "The PR for that has been waiting for your review since yesterday..."5
Just heard today that our team's senior dev might be leaving soon after fresh challenges and opportunities. I'm happy for them, but it's sad to think about that they won't be around soon anymore..2
The only advice I ever got about transitioning from a dev student to actually working in the dev world came when I was on my first semester in an elevator from a random person who already had a job in dev. Not her words, but paraphrased later by someone else:
"The only qualification you really need to make it just fine is the ability to utilise search engines better than the average gorilla"
... and she was right. Also, never before had I noticed, and I was dumbfounded when I did, how bad people actually were at searching for information.2
I understand that impostor syndrome is an occupational disease among devs... But what does it take to overcome it?
Any good stories/advice?6
Not really a rant, but...
during times like the last 3 or so months, being a dev feels kinda extra sweet: the only difference for me has been a raise and increase in productivity