Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "reactive"
Met a guy in the gym, he asked me to make him an online shop for supplements.
I quickly made a reactive, angular based shop with an admin page.
He paid, I put my name as the creator, it was all good...
...then he removed all legal products and added tons of anabolic steroids for horses in little jars (yes, he even added pro level photos).
I received a call from the police and had to prove that I don't manage his content.17
Boss: please refactor this js 2k lines spaghetti code class and use it in our reactive functional app
Me: it will take like 1 week to refactor and plug this
Boss: but it's almost the time I needed to write it!
YOU DON'T SAY? MAYBE FIRST LEARN HOW TO WRITE DECENT CODE. ffs.2
Long Story time!
Tl;dr just because he's a teacher doesnt mean he's right
So a little bit of background on me, before I started walking the path of dev I worked freelance in another branche for 3 years, when I decided it was time to go back2skool
Halfway through the year we got a new teach, only 2 years older than me and man (I'm 23) and man was be full of himself. Let's call him Mr Bob. Mr Bob started his class with the classic "I'm not your run-of-the-mill teacher" (oh yeah we've never heard the before Mr original) "and for this class we're gonna simulate a real working environment where I'm the client and you're a freelancer". Alright. Sounds decent let's do this.
Mr Bob seemed to have actually done his part pretty well and gave us stylesheets, technical details, deadline, everything seemed pretty alright. It wasn't anything special some PHP database connections, some jQuery and a bit of CSS, it didn't have to be mobile ready either, just full screen desktop.
Fast forward a couple of classes. I'm done with the assignment and go to turn it in, where it turns out Mr Bob is quite a bit of a toothless knob gobbler..
I turned in the assignment webpage and he's reviewing it for feedback, some remarks of things I could improve later he says
"oke that looks alright, now I want the top navigation bar to scroll with the page, and I want it to be reactive and mobile ready"
Me: "Sorry sir but the scope only included a static bar on the top, and it said it just had to be desktop ready, without a need for mobile support"
Him: "well I'm the client so I expect you to do this now"
Me: "well sir that is outside of the agreed upon scope, you'll have to pay extra for that to widen the scope of the project, for which I need to plan in extra hours"
Him: "if you keep having such a bad attitude I'll fail you this class"
Me:"but sir it was your idea to pretend we're a real client and freelancer, those work with scopes and paid hours, you can't just demand free extras"
Him:"What do you know about work, I've had a company for 2 years and I spent hours in the night adding features for clients"
Me:"Well maybe you should've agreed on a set scope beforehand, and not accepted extra work for free"
Him:"with such a shitty attitude you'll never make it in the business world"
Me:"Well I've been a successful freelancer for 3 years before I wanted an extra education, and I never worked for free. So I think I'll be alright. Besides if you were so successful what's the name of the company and why are you a teacher now?"
Him:"I don't accept such disrespectful speech from students, you're expelled from class"
Seem to have hit quite the sensitive nerved when I asked about his company.
To his credit he did play his role as the douche bag client that wants everything free well.
There's more to the story that happened the following class I'll post later of you like.
Got to hop off the train now and find myself some new transport because some idiot called in a bomb on Rotterdam Central station..8
C : Cool (for me)
Java : Just A Variety Available (uhm.. no hard feelings java lovers)
Python : Please .. You THink On Nothing (You literally think on nothing xD )
Theres a debate in my company about whether or not to be using RxSwift on iOS apps. I'm not 100% convinced. Today we had two submissions for a coding challenge come in. One uses nearly all the same Rx modules this company does, one was vanilla Swift.
Just by chance noticed the vanilla app writer contributed ~5k lines of code to the challenge overall. Including libraries, the Rx one contributed ~45k.
That to me is just bat shit crazy. It would want to be the most amazing, time saving, bug reducing thing the world has ever seen to justify that volume of code.4
When you finally understand how a RxJava operator works in different multithreaded scenarios after hours of trial and error...3
Need some opinions. Joined a new company recently (yippee!!!). Just getting to grips with everything at the minute. I'm working on mobile and I will be setting up a new team to take over a project from a remote team. Looking at their iOS and Android code and they are using RxSwift and RxJava in them.
Don't know a whole lot about the Android space yet, but on iOS I did look into Reactive Cocoa at one point, and really didn't like it. Does anyone here use Rx, or have an opinion about them, good or bad? I can learn them myself, i'm not looking for help with that, i'm more interested in opinions on the tools themselves.
My initial view (with a lack of experience in the area):
- I'm not a huge fan of frameworks like this that attempt to change the entire flow or structure of a language / platform. I like using third party libraries, but to me, its excessive to include something like this rather than just learning the in's / out's of the platform. I think the reactive approach has its use cases and i'm not knocking the it all together. I just feel like this is a little bit of forcing a square peg into a round hole. Swift wasn't designed to work like that and a big layer will need to be added in, in order to change it. I would want to see tremendous gains in order to justify it, and frankly I don't see it compared to other approaches.
- I do like the MVVM approach included with it, but i've easily managed to do similar with a handful of protocols that didn't require a new architecture and approach.
- Not sure if this is an RxSwift thing, or just how its implemented here. But all ViewControllers need to be created by using a coordinator first. This really bugs me because it means changing everything again. When I first opened this app, login was being skipped, trying to add it back in by selecting the default storyboard gave me "unwrapping a nil optional" errors, which took a little while to figure out what was going on. This, to me, again is changing too much in the platform that even the basic launching of a screen now needs to be changed. It will be confusing while trying to build a new team who may or may not know the tech.
- I'm concerned about hiring new staff and having to make sure that they know this, can learn it or are even happy to do so.
- I'm concerned about having a decrease in the community size to debug issues. Had horrible experiences with this in the past with hybrid tech.
- I'm concerned with bugs being introduced or patterns being changed in the tool itself. Because it changes and touches everything, it will be a nightmare to rip it out or use something else and we'll be stuck with the issue. This seems to have happened with ReactiveCocoa where they made a change to their approach that seems to have caused a divide in the community, with people splitting off into other tech.
- In this app we have base Swift, with RxSwift and RxCocoa on top, with AlamoFire on top of that, with Moya on that and RxMoya on top again. This to me is too much when only looking at basic screens and networking. I would be concerned that moving to something more complex that we might end up with a tonne of dependencies.
- There seems to be issues with the server (nothing to do with RxSwift) but the errors seem to be getting caught by RxSwift and turned into very vague and difficult to debug console logs. "RxSwift.RxError error 4" is not great. Now again this could be a "way its being used" issue as oppose to an issue with RxSwift itself. But again were back to a big middle layer sitting between me and what I want to access. I've already had issues with login seeming to have 2 states, success or wrong password, meaning its not telling the user whats actually wrong. Now i'm not sure if this is bad dev or bad tools, but I get a sense RxSwift is contributing to it in some fashion, at least in this specific use of it.
I'll leave it there for now, any opinions or advice would be appreciated.16
Earlier this year, we built a custom gift box builder for a local popcorn company. I had decided to use vue.js for the interface which was really fun to learn.
I hadn't used any reactive frameworks like vue before this project, but I was surprised how easy it was to use, and it was so satisfying watching the frontend change just by modifying the data. I was able to easily add little transition animations when the states changed which was really fun too (something that would be really tedious otherwise).
That's was probably the most fun I've had on a project in a while.
I worked at a firm that had an infernal off the shelf CRM system that they collaborated with the dev company to customise.
They were seriously behind the competition, and didn’t have any app or web presence for interacting with their system, instead relying on people calling (fine for the nature of the business, but competition was leaving them in the dust).
They decided that they needed to redevelop it in-house, with a focus on supporting the web and apps.
I was hired for this purpose.
It was me and one other dev, who was also the head of IT.
He’d built a small prototype, and was new to the whole WPF / MVVM thing for the in-house app, so with my previous experience it was clear it needed to serve as an example only, and that it would need redeveloping.
I was only there three months.
In that time I singularly (he was pulled away to troubleshoot their VOIP installation - yes, for three months as other companies kept dropping the ball) built:
- A WebAPI with JWT auth
- An MVC skeleton frontend
- A WPF desktop app
It had all sorts of cool shit in it, 2FA, Reactive UI, Reactive extensions, server push to desktop, a custom workflow and permissions system.
It was pretty dang cool.
End of the three months rolled around, and the non-technical managers were concerned about time to market, so they decided to drop me as I’d “not made enough progress”.
I’d also had a bit of absence which they were aware of and were supposedly supporting me through.
But MFW three months is assumed to be enough time to build such a system with one dev.2
Me: Spend lots of free time (evenings, weekends, sometimes even mornings) learning new languages, new architectures, new libraries. A lot of effort so I'm at the top of the current tech. Swift, Kotlin, MVVM, MVP, C++, functional programming, reactive programming, continuous integration, unit testing...
Get a new job - once again I have to clean up some shitty code, written by someone who went from Java script to objective c, without reading a single book on iOS development. Unused code, commented out code, redundant code, dead code. Unused assets that no one could be bothered to remove for the past 2 years.
Sometimes I wonder why do I even bother if all I ever do is maintain mess done with outdated tech by someone who couldn't give a 🐙🐙🐙
When I was assigned to develop my first app with web sockets. Since I fall in love with reactive programming and real-time applications.1
Okay, almost all are failed.
Statistically speaking, I might not be fit in a team-work thing.
Usually I end up doing everything, or do nothing.
There were two worst team-work I've ever experience.
The first one: Several years ago. I was just graduated from the college. My friend suggest me to work at a small software house. The boss was a jackass in my point of view (probably I was a jackass too in his point of view). He was very reactive and eager to change. Any feature he requested will be disposed the next day. Merely because he had a better idea. There is no priority scale because all of his idea are equally important. So, after several years, we have a terrible argument, and I leave the unfinished project.
The second one: Someone ask me to be a part of her team. She had similar characteristic to my former boss. Better actually, because sometimes she still want to hear my opinion. The thing I don't like from her is her spiky working schedule. So, no one do anything for two weeks, but on the weekend, suddenly she called. Told me that the deadline was in three days. So, after a few thrilling coding experience, I leave the project.
I'm aware, it's not fully their mistake. But I learn something from them.
Nowadays, when someone ask me to be a part of their team or something, I'll analyze their personality, their working rhythm, etc.
So if you are an empoyee-wanna-be, it is important to assess your employer. Make sure that you can work together and you will be able to find peace at your workplace.
If you think you're fully in control of a specific language - try learning its complementary Reactive Extensions library (if there is one).
Mindfuck guaranteed, and say hello to Impostor Syndrome. :)
WHAT GOOD IS ANGULAR2 IF YOU CAN'T FUCKING USE REACTIVE FORMS TO HAVE A SELECTED DISABLED OPTION INSIDE OF A FUCKING <SELECT> ELEMENT?!
FUCK YOU ANGULAR! FUCK YOU TO THE END OF DAYS, YOU WORTHLESS SACK OF SHIT WITH OVER-ENGINEERED SOLUTIONS! THE ONLY GOOD THING YOU HAVE IS TYPESCRIPT AND EVEN THAT BELONGS TO FUCKING MICROSOFT!
FUCK YOU ANGULAR FUCK YOU FUCK YOU FUCK YOU!!!!!!!!!!1
I hate hate hate React! Sorry but to me it's just such a bloated pos of a framework. I realize it was pretty revolutionary at first, the idea of having everything "reactive" and all of that - but newer things like Svelte.js are a dream to work with, whereas trudging through the poorly coded React app I'm supposed to be testing for work is making me want to pull my hair out! I installed a vscode tool so everybody could see what the import "cost" is on everything - a simple INPUT is 50KB of pure BLOAT for something that should and can be way simpler.
I realize there are probably better coded apps out there that wouldn't drive me so crazy, but anybody importing hundreds of KB of 3rd party crap just to get a select box, some inputs, and a date picker are really out of their mind.10
I hate reactive management.
It's when your boss instills fake urgency every time a client asks for something close to impossible, or <x> competitor is doing something in a different way he deems the best.
Everything must be dropped, the sprint put on hold, fuck requirements, everybody has to do overtime, why are you not contributing?, why are you going home when you have to?, fuck do I care you have a 1 hour commute - this <y> thing has to be made by sunrise tomorrow or it's a showstopper.
And it's never a showstopper. 90% of the time the feature gets dropped one-two months down the line.1
You know what? You actually can do this right now with SeoBlock – the Chrome extension to block search results that contain one of the words you don’t like.
I’d be glad if you check this out:
It's impossibru: I'm doing RxJava + RxKotlin + RxAndroid and I'm understanding it.
My tests pass, at least that's something. It's not yet doing completely what I want, but the hardest part is behind me. 🤩1
I've tried Ionic in the past, and put off development with it because I couldn't get it to be performant without crosswalk.
In 2015, React Native put an end to the 'Are hybrid apps viable?' argument. It had a much smaller compile size, large component library, and is very reactive.
Ionic recently released news on scaling back their tools to focus on core offerings. I can't help but feel they're flogging a dead horse.
I'm sure the Ionic team has very smart people on board. Can't they see they're about to be 'Parse-ed'?1
My stress test the past three months has been writing the same app's frontend first in Blaze/handlebars which was horrible and then in react which was wonderful due to blazes inability to scale, and then on a Vue application which consumed the API from the React app. Im hoping they prefer it to be in Angular, feed me frameworks :D. Just not polymer, anything but polymer. One does not just use polymer and no one wants to watch its ginger creator prance around in a unicorn mask trying to teach me how to properly write my app to be reactive. I shouldnt even have to think that hard about how to make it reactive, thats the point of the framework!
React + Redux + Router is do fucking awesome stack. Love It much more than angular 1.x. App works so fast, is scalable and easy to maintain.
Reactive paradigm for the winner!2
Continuation from: https://devrant.com/rants/979267/...
My vision is to implement something that is inspired by Flow Based Programming.
The motivation for this is two fold
* Functional design - many advantages to this, pure functions mean consistent outputs for each input, testable, composable, reasonable. The functional reactive nature means events are handles as functions over time, thus eliminating statefulness
* Visual/Diagrammable - programs can be represented as diagrams, with components, connections and ports, there is a 1 to 1 relationship between the program structure and visual representation. This means high level analysis and design can happen throughout project development.
Just to be clear there are enough frameworks out there so I have no intentions of making a new one, this will make use of the least number of libraries I can get away with.
In my original post I used Highland.js as I've been following the project a while. But unfortunately documentation is lacking and it is a little bare bones; I need something that is a little more featureful to eliminate boilerplate code.
RxJS seems to be the answer, it is much better documentated and provides WAY more functionality. And I have seen many reports of it being significantly easier to use.
Code speaks much louder so stay tuned as I plan to produce a proof of concept (obligatory) todo app. Or if you're sick of those feel free to make a request.3
Arghhh! Reactive programming took away all the fun, but oh well, we can be more lazy now. Functional programming just made a big come back this year.2
(I know this rant won't gather much attention, maybe there are just a bunch of people that know Redux and still less that used it in Angular).
I feel so bad, really, I just want to throw everything against the wall. I really hate ngrx, I hate redux and how it's de facto implemented in Angular. I talked with other developers and everyone around says that redux is hated only by people that don't understand it, and well, maybe it's stupid, but I hate it.
It's so different from Angular plain programming, why the hell I need to create a index.ts file? It looks so wrong.
Why the hell import * as reducer, why don't you just import the reducer?
Why do you need a switch statement? Really? We're in 2018, languages as python removed it, in the era of reactive programming why don't you just map a key to a function?
Why so many files? Why for a 20 rows module I've to write 5 files each of them twice longer?
Why so much boilerplate? The time spent at implementing everything will be ever gained back?
Why does everything looks so wrong?3
I feel like I'm too stupid for these reactive js frameworks ... js is not the problem .. my brain is the problem ..
On the other hand created something quite useful despite all the headbanging that went into it
I know everyone loves to rub reacts inner scrotum all the time cause its just so damn awesome and popular but for real, there is a 50 millisecond delay when react updates its states. In that 50 milliseconds, my program is using that reactive state numerous times so woohoo react, im gonna have to run a fuckin 50 millisecond timeout when updating any of my states that consist of anything more then a plain text value.
I've recently been introduced to reactive programming, and I'm wondering some things about it
- How new of a concept is it?
- Can it be declared as a third type of programming compared to OOP & FOP?
- How common is it?
Having a code-gasam over here because reuse in Angular > reuse in AngularJS(AJS). Throw in reactive forms instead of template driven forms in AJS and I'm done.
Sophomore year starting soon so I'm looking for new project (s) to complete in parallel with the studies.
Some are more design-y and some more backend-y but I recently started getting better at designing so :)
1) Learn some fragment shader stuff. I've always been messing around with graphics and have a game on steam, so I think that's a good idea to be paired with signal processing.
2) Reactive web services. Preferably with spring-boot or vert.x but
3) I would also like to dive into golang (and make some reactive thing with it)
4) WebAssembly seems nice... But I got some concerns
5) exercise making wireframes -> CSS (with some js)
6) I've never really done any real backed work with nodejs, except serving and aot compiling js, or doing gulp tasks
7) Implementing a whole project, or a fraction of it as serverless on aws
* I'm definitely going to use a couple very simple services to make a docker swarm with load balancing, etc, just because I know how everything works but got no practical knowledge
8) Design an esports jersey for the university department I'm in (shouldn't take long)
So what do you guys think? Recommendations are welcome :)
P.S. last year in review:
> A webapp running on a raspberry pi powering a reflex testing game on gpio (java/spring-boot , codename: buttonmasher)
> small Elastic search cluster to monitor some random university servers through kibana dashboards
> laser tracking on wall of *any* colour and variable light conditions via a webcam (opencv) , controlling the mouse pointer, whether you run it against a projector or any wall
> Various random Photoshop stuff