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 - "cqrs"
-
Yesterday, my girlfriend caught a virus. There were 5+ running programs, in program files, program files x86, system32, basically everywhere. The virus modified chrome, firefox, edge (and even installed a false uc browser assuming we had one), there are many entries at startup programs, also running daemons, once you kill one of them, the others detect it and replicate their killed fellows. Tried to run a linux live usb disk for a cleanup, but the computer hibernates instead of shutdown, making modifications on disk risky.
I spent hours trying to suppress the processes, do a manual cleanup and antivirus search. It looked all cleaned up, then I reinstalled chrome, and now it switches its homepage everytime I open it, it also injects batch arguments to desktop link forum chrome (deleting it manually does not help, it comes back). I'm a linux guy, and in a few hours, I hated windows more than ever.
If anybody knows the authors, I *really* want to meet them. I promise I'm not going to punch them, but kneel down, bow my head in respect, and say "teach me master."14 -
i rant that i live in a dictatorship with an idiot president who bans whatsapp and facebook to prevent protests (in reaction to having arrested opposition party members of parliament), and github (yes, github) to prevent the spread of a minister's leaked e-mails. now the government is seriously considering shutting down vpn services to prevent by-passing the bans.
on the other hand, it's a nice time and place to continue ms studies on ad-hoc networks - that is of course if i can avoid being arrested or killed before i even start my thesis.9 -
that feeling when your new toys from aliexpress get delivered earlier than expected... i feel so happy unpacking those sensors, capacitors, heat sinks, microchips, breadboards and all. i feel like i have a geeky shopping addiction, i probably won't have the time to play with them from all the work and other personal projects, but still i hoarded enough electronics to invade the world with a drone army in case i have a few weeks me-time.5
-
'yes' in linux shell has become my favourite command when i discovered it. it has a careless touch to it, like "yeah whatever just do the thing".
also, i like glutMainLoop. a saw doll inside my head says "let the game begin!" each time i type this function.1 -
maybe it's time feature is added for devrant simple community dev projects. there could be games, parody websites, you name it. projects could be hosted on github, and indexed at a "projects" tab here on devrant, so we can choose something and start rolling with our pals from devrant when we get bored at work :) @dfox (inspired by rant from @Notebookdeviant)3
-
didn't anyone go for the "#define true false" joke? i didn't actually see it in action, but it would be a pretty harsh one.1
-
Over the past 2 months I have interviewed with several companies and 2 of them stood out at rejecting me. Let's call them Company A, and Company B!
> I know right? Developers are bad at naming!
I guess part of it is my fault too! I am old and slow. Doesn't like competitive programming and already forgot most of how to answer algorithm question. I can't even answer some of the algorithm question I've flawlessly answered back when I was fresh out of University.
## Company A
When I got chance to interview at Company A, they require me to answer HackerRank style interview. It's my first time in nearly a decade of working in the industry to feel like I'm in a classroom exam again. I hate it, and I deliberately voiced my distaste to the answers comment:
// Paraphrasing
// I'm sorry, I'm dumb!
// I never faced anything like this in real world work...
// ......
But guess what? My answer still pass the score, have a call with their VP, which proceed to have another call with their Lead Engineer.
Talked about my experience with Event Driven System and CQRS+ES and they decided that I am:
- Arrogant
- Too RND in my tech stack
- And overkill in CQRS+ES
And decided they don't need me.
They hate me for having a headstrong personality which translates as Arrogance to the perceiving end.
## Company B
Another HackerRank style interview. Guess I passed their score this time without me typing some strong comment and proceed to have another test with their Lead Engineer.
This time they want 5 question answered in google docs within 60 minutes.
Two of them stood out to me for being impossible to work on 12 minutes (60 / 5 if you're wondering). Or maybe I'm just old and dumb?!
The others are just questions copied word for word from Geeks For Geeks.
One of the question requires me to write a password brute force attack to an imaginary API.
The other requires me to find a combination of math `+` or `-` operation from `a strings of numbers` that results in `a number`.
My `Arrogance` kicks in and I start typing a comment
// Paraphrasing
// I am sorry but I feel this is impossible for me to think of in 12 minutes
// (60 / 5 if you're wondering)
// But I know you guys got this question from Rosseta Code!
// Here's the link, but I don't know the logic behind it
See? I've worked on this question back when I was still a University student and remember where to look at.
Unsurprisingly, I've heard the feedback that I was rejected although I've answered one of their question `FLAWLESSLY`. I know they are being sarcastic at this point. haha.
---
I was trying to be honest about what I can and can't do in the `N` minutes timeframe and the Industry hates me.
I guess The Industry love people who can grind `GFG` or other algorithm websites, remember the solutions out of their head, and quietly answer their `genuinely original question` without pointing the flaws back at them.9 -
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
So... Yesterday I ordered a meal and it had whole jalapenos in it. I didn't order jalapeños. I love the taste but I hate toilet visits after. Hence, was putting them aside. But then I got into that new code, jumping around this new project I'll be working on. We were getting intimate. I liked the architecture, I liked it a lot - it was using event sourcing and respected CQRS. Suddenly I realised I ate everything. Including jalapeños. And the only reason I noticed is because I was eating with my hands. And my eye got watery. And I wiped it.
So, yeah. Yesterday for the first time in my life I was pouring milk into my eyes. Does this count as a proper dev rant? I don't know. Fuck the protein interface that can't process simple food orders, though.6 -
Rails. Fucking rails...
God damn monoliths, built by a cowboy coder.
Every one I have ever worked with becomes (or already is) a house of fucking cards that will blow over at the slightest gust of wind.
The worst part is that you always hear the same justifications from rails developers, then after they convince the higher-ups that “we will build it right, not like those other monoliths” we find ourselves F’ed right in the A a few months later.
It’s this frustration that lead me to MUCH better paradigms like Microservices, Event-Sourcing, CQRS, Domain Driven Design and the like.
When someone says “our backend is in rails” my first response is “so when are you replacing it?”8 -
This is an anti-rant...
I had a problematic arch-dwm setup which i've been struggling with for a looong time, and when i thought i still needed quite some time to solve all issues, yesterday i somehow managed to hit the right solutions for each problem in a single evening. My setup is now in its most stable and usable state ever, and rsynced to a flash drive. I am no longer forced to use windows for my daily needs.
Praise be to holy gnu and holy tux! Do you think maybe i should sacrifice some electronics for the souls of st. ritchie, st. thompson, st. stallman and st. torvalds?2 -
i found this beauty on diaspora (in tribute to the comic artist frank franzetta)
p.s.: i asked the artist if i can use it here, but got no replies. i hope it won't be a problem for him/her.1 -
On my first day at new job, a non-technical person used CQRS word while explaining the system. When I asked what's need of such a complex pattern for simple query type service, he simply backed off. 😝
-
"rose" of alphonse mucha is my favourite desktop item for the time. she watches over me as i code at home.
-
Tired of chasing an elusive architecture and finding good community that helps promote it. Basically:
- Not CRUD
- Not MVC
- More like CQRS; commands and queries represent use cases
- Event Sourced; event log is source of truth, everything else is a cached projection
- Functional Domain Design; not DDD; focus on immutability and simplicity
- Functional in general; less OO
- More focus on domain concepts rather than tech concepts
- Domain can be used through CLI, API, or SDK
- UI is just another client to the API
- Authorization is ABAC, graph-based access control
I'm looking for a fucking unicorn.10 -
in the workplace, i have no access to internet, am not admin to my own computer and am not allowed to install anything (due to security reasons). i also happen to have quite some spare time so i'm writing nokia's good old snake game in visual studio and opengl so i can amuse myself both coding and playing. in a way, company pushes creativity and productivity even for slacking.6
-
Working with technologies that excite me, which at the moment would be functional programming, CQRS, Event Sourcing, and the actor model, with a side of machine learning and serverless architectures. At a company that is large enough to pay well and grow in, but small enough that my contributions are recognized and appreciated. Or even better, one that I own and run.
-
To be a Java (or other business popular language) developer
* Java 6, 8 and features up to 14
* SQL + nosql
* Caching
* Logging eg log4j2,
* Searching eg elastic stack
* Reactive
* Framework (at least 1, but hey, knowing 1 is lame..)
* Networking or at least base http knowledge
* Tomcat, jboss or other shit
* Aws, heroku, GCE or other SAAS/paas
* Rest, RPC, soap
* Business Hello World example
* Hexagonal Architecture
* TDD
* Ddd
* Cqrs
* 12 app factor
* Solid
* Patterns
* docket
* Kubernetes
* Microservices
* Security, oauth2
* concurrency
* AMPQ
* Cloud
* Eureka or consul as service Discovery
* Config server
* Hazel cast
*
*
* Endless story ...
Then we can start hello word app2 -
When after 2 hours of debugging you realize that the reason only GET calls work to your local instance of API and POST calls don't is the fact you have VPN turned off. God damn those externally defined CQRS settings.1
-
yahoo is now alleged to give away bulk mail content to intel agencies. such a dead investment, who uses yahoo for sensitive communications anyway?
http://thehackernews.com/2016/10/...1 -
Today I found a small toy project in JS I was working on 2 years ago for few weeks. CQRS, fully tested, with IA simulating human behaviour and a benchmarking system... I wonder how much free time I had back then1
-
my 4th gen. amazon kindle has been one of my favorite work buddies so far. i spend most of my midday breaks with it, kept me pretty good company so far.1
-
this is a repost organization post. each time you are going to post a classical joke, please find it from items below, and write as comment, the number of the repost. and people will give you ++'s to your comments as if you actually reposted the post. also, feel free to make additions to the list. syntax is:
"(n): [repost context]" for a new item (please do not mess with the order)
"-- [n]: [personal comment]" for simulating the repost.
here we go:
(0): the comic strip about rescuing princesses in different languages.
(1): in case of fire git commit, git push, leave the building.
(2): wanna hear a udp joke? i don't care if you get it.
(3): that joke about java devs wearing glasses because they can't c#.
--------------
An example repost:
-- 0: omg princess lol :)))2 -
on a 5 day rock festival vacation... a band with songs i barely know is on and i'm a bit high... there's a cool set of animations playing at the stage background and i spent the whole concert trying to figure how i could write each animation in opengl. i'll give them a shot back home, if i don't forget.3
-
unigine sim engine has the worst documentation i've ever seen. it was written in bad english, occasionally did not follow a word convention (i.e. functions doing analogous work used different keywords), most items were just reiterations of function names (made up example for clarification: getAngularVelocity(): gets angular velocity...). i had to use it for my first ever job, and had to learn in from scratch, mostly by trial and error. it's been months since i switched jobs, and they were rolling a version 2 when i left, i hope they improved on their docs.
-
does anybody here use diaspora*? for those who don't, it's a free (as in freedom) social network and protocol thereof, and it employs a decentralized, distributed approach. you can choose a "pod" to store your data, and search for people and content inter-podly. as a decentralization/distribution/foss enthusiast, i love the project and check regularly, but sometimes i get the feeling that i'm all by myself there, as i have no friends yet and all the content i see is just my followed keywords. (so befriend me, maybe? :D)5
-
A fully deployed end to end example of CQRS/Eventsourcing using Haskell.... I only get 1-2 hour chunks to work on it sometimes weeks apart! Even then I get bogged down trying to improve my workflow with tmux and other cool Linux tools. 😣
-
If you want the ridiculous behavior “required” by POSIX, you must set the environment variable ‘POSIXLY_CORRECT’ (which was originally going to be named ‘POSIX_ME_HARDER’).
You just read a line from GNU's official coding standard document :D -
rust anyone? i am a c++ person, and it caught my attention as having an oopish-but-actually-functional new programming paradigm whatever... also (don't know if it's just mozilla's successful marketing) i had the impression that people see it as the new whiz kid in town. do you recommend indulging in it for the sake of trying something new?1
-
i got a dev!rant nostress ball, because i didn't have any serious rants and used the app for fun purposes.
edit: do you think maybe it can also help in debugging, although it's nothing close to being a duck. -
trying to make a live usb disk. i took shots at random combinations from 2 usb sticks, 2 oses, different tools or technics on each os... each failed with a different outcome. then i realized i should have kept a failure matrix so that i don't try the same combinations, or can trace the roots of the problem.
each time i need to build a live disk, a part of me dies inside.6 -
i just learnt how much clearcase sucks the hard way. i always used git for personal projects and am used to finding a simple solution to any problem at most one stackoverflow away, i just messed up my local repo, and experienced people could not manage to undo it. i mean come on, this is a f**king versioning software, how hard can it be to delete everything local and re-pull from remote without messing up configuration files? either clearcase has some serious design shortcomings for my understanding of a versioning software, or it is so overly complicated that nobody actually knows how to revert this mistake.2
-
i want to find the person who proposed to force mtp in android for file transfers, and bash them in the head with a plush android toy till they're knocked unconscious.
all i want is to make a file transfer between my phone and my computer, and rather than plugging my phone's usb, i find it easier to set up an ftp server over local network. and when that doesn't work, i might as well hexdump the file, and copy it char-by-char manually, than use mtp.6 -
anybody else has a "polish notation fetish"? i never actually learned lisp, but since i first saw its style, i find writing functions like "+ 1 2" instead of "1 + 2" both aesthetically and functionally more appealing. i think the infix notation is just being kept because of well-established habits.
-
I know how annoying things like this can be,
but me and a couple of friends is doing a survey about CQRS vs CRUD for a bachelor theisis assignment
Its 10 questions, really short, would help a lot!
https://no.surveymonkey.com/r/...2 -
i've been using debian with xfce for 2 years, and i'm now planning to migrate to arch with xmonad for some freshness. i'm reluctantly peeking out of my comfort zone and sniffing like a cat, any tips appreciated.
-
CQRS + Event Sourcing.
Because it just makes sense. In small applications, just command pattern, but CQRS and Event Sourcing is a beautiful, beautiful thing.