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 - "just follow the design"
-
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.32 -
Inspired by @h3ll, this is a combination of current and former coworkers:
Awkward Wizard:
This guy has the social skills of a microwaved dog turd. He is a genius, but working with him is about as uncomfortable as sticking a grill skewer in your eye and twisting it repeatedly until close of business. He laughs at inappropriate times, and every time he does, an unborn child tears its own ears off. He explains things in a way that only himself and Satan understand, then talks to you like you're a child when you don't follow his logic. He is the guy you hide when the CEO is around. His code is immaculate.
Backstab McGillacutty:
This bowl of bile is the son of a bitch that takes credit for everybody else's work. When you do something good, he was miraculously involved, but when you mess up, this twat is the dicknose that brings it up in retrospective and calls you out by name to the boss. You can usually find these guys talking shit about the CTO, until the boss quits. Then they buddy up with the CTO and become a Joel Osteen-esque evangelist for everything the CTO wants in a shitty, underhanded attempt to climb the ladder. Fuck this guy.
Professor Fuckwaffle:
This coworker used to teach Computer Science classes. Their resume is amazing, and they can speak to the most complex of design principles. This is the shitstain that you hire because of their skill and knowledge only to find out that ol' fuckwaffle can't apply the shit they spout to save their wretched lives. You'll spend more time listening to fuckwaffle lecture than you will reviewing their code (because they cant fucking write any!) You know the saying, those who can, do, and those who can't, teach? Yeah, that shit was written for Fuckwaffle.
Last but not least:
Scrumdumb:
This guy isn't even a coder. This guy is worse than the the scum you pour out of the bottom of a slow-cooker that you forgot to wash last time you made chicken. He's a non-technical PM. You know the type, right? He usually says "cloud infrastructure," "paradigm," "algorithm," "SDLC," etc but has no grasp of any of them. He often opens his dumpster to spout off something like "You can just create a new class for that" while talking about HTML. I won't waste any more breath on Scrumdumb, he already creates enough work for me.3 -
I'm going for longest rant. TL:DR; version here:
http://pastebin.com/0Bp4jX9y
then:
http://pastebin.com/FfUiTzsh
Twat Client,
As per our conversation, here is an invoice for the work you requested on behalf of U.S. Bloom. I realize that you ended up going with another designer, but you did request samples of what my take on the logo design would be. The following line item is indicative of 1 hour of graphic design consultation as per your request via Skype.
As I recall, you mentioned that this is not how Upwork "works" but considering it was you who requested that I converse with you via Skype instead of via the Upwork messenger, and since there were no clear instructions on how to proceed with Upwork after our initial consultation, It is assumed that you were foregoing Upwork altogether to work with me directly, thus the invoice from me directly for my time involved in the project. I would have reached out to you via Skype, but it seems that you may have severed our connection there.
After spending a little time researching your company, I could not find current information for Basic Media Marketing, but I was able to reach out to your former partner Not A. Twat, who was more than helpful and suggested that he would encourage you to pay for the services rendered.
It is discouraging that you asked for my help and I delivered, but when I ask for compensation in return for my skills, you refused to pay and have now taken your site offline and removed me as a contact from Skype.
{[CLIENT of CLIENT]},
I am sorry that I have bothered you with this email. I copied you on it merely for transparency's sake. I am sure that your logo is great and I am sure whatever decision was made is awesome for your decision. I just wanted to make sure that you weren't getting "samples" of other people's work passed off as original work by Twat Media Marketing.
I can't speak for any of the other candidates, but since Twat asked me to conduct work with him via Skype rather than through Upwork, and since he's pretty much a ghost online now, (Site Offline, LinkedIn Removed or Blocked, and now Skype blocked as well) one has to think this was a hit and run to either crowdsource your logo inexpensively or pass off other artist's work as his own. That may not be the case, but from my perspective all signs are pointing to that scenario.
Here is a transcript. Some of his messages have been redacted.
As you can clearly see, requests and edits to the logo were being made from Jon to me, but he thinks it's a joke when I ask about invoicing and tries to pass it off as an interview. Do you see any interview questions in there? There were no questions about how long I have been designing, what are my rates, who have I done work for in the past, or examples of my previous work. There were none because he didn't need them at this point.
He'd already seen my proposal and my Behance.net portfolio as well as my rates on Upwork.com. This was a cut to the chase request for my ideas for your logo. It was not just ideas, but mock designs with criticism and approval awaiting. Not only that, but I only asked for an hour of compensation. After looking at the timestamps on our conversation, you can clearly see that I spent at least 3 hours corresponding with Twat on this project. That's three hours of work I could have spent on an honest paying customer.
I trust that TWATCLIENT will do the right thing. I just wanted you guys to know that I was in it to do the best design I could for you. I didn't know I was in it to waste three hours of my life in an "interview" I wasn't aware I was participating in.
Reply from ClientClient:
Hello Sir,
This message is very confusing?
We do not owe your company any money and have never worked with you before.
Therefore, I am going to disregard that invoice.
Reply from TWATCLIENT's boss via phone:
I have two problems with this. One I don't think your business practices are ethical, especially calling MY client directly and sending them an invoice.
Two why didn't you call or email Jon before copying my client on the email invoice?
Me: Probably because he's purposely avoiding me and I had no way to find him. I only got his email address today and that was from a WHOIS lookup.
Really, you don't think my business practices are ethical? What about slavery? Is that ethical? Is it ethical to pass of my designs to your client for critique, but not pay me for doing them?
... I'LL HAVE TO CALL YOU BACK!
My email follow up:
http://pastebin.com/hMYPGtxV
I got paid. The power of CCing the right combination of people is greater than most things on Earth.14 -
I got a design from designer on making a website. I made it responsive all the way to screens as wide as 2000px.
Designer: Why didn’t you follow my design. The site is so wide now on my screen. Can you follow my design?
Me: So limit the site to a max width of 700px as per you design.
Designer: yes please
Me: ok.
[ A week later]
Designer: Just checked out the site on a wide screen. It looks so empty. Can we do something to make the content fit to the window so it looks less empty on a wide screen?
Me: 🤨🖕🏽6 -
If you want to learn about bad UX design, look at every GDPR-compliant cookie alert on websites. The dialogues generally follow this pattern:
* Highlighting "Accept all" instead of "Reject" to bait you into habit-clicking.
* After clicking "Reject", you'll be redirected to an infinite list of usages. There is never a "deselect all" option. You need to opt-out everything manually.
* Sliders use some ambiguous coloring scheme without labels, which means you never know if you turned it on or off.
* Instead of "Reject", there is an "Other options" button. Clicking it redirects to a EULA document, with at the end... no other options.
Everything looks compliant, but they are still boobietrapping everything so you just wouldn't be able to opt out. Fucking data-vendoring assholes.17 -
Long rant...
*Designer Posted image of newly designed layout for our app on trello.
Dev 1 (me, being the junior, on ios) : so... What's the size for x, Y, z, a, B, C?
She: it's 9 for the small text, 10 for sub title, 12 for main title.
*shows her the design on app
Dev 1: seems too small
She: just make it to look not small.
Dafug?
*finishes the app layout for that screen.
*working on next screen
Dev 1: your new design is for the screen of 1920x1080. But our supported screen size starts from 320 width. So there'll be text overlapping each other and ui might screw up.
She: uh.. Just... Put those that will overlap to the next line.
*shrugs
Dev 1: ok
=======
2 days later
Dev 2 (senior, working on Android)
Dev 2: so... What's the colour for x, Y, z
*Dev 1 laughs on the inside because of the struggles we have with her.
Dev 1 to Dev 2: is it common for her not to follow the design guidelines?
Dev 2: yeah man.. We just have to adapt her design into our app guidelines.
*sigh
Dev 2: there's a new icon here on this screen, so you wanna change the icon? Can I have the icon file?
She: oh.. No.. Use back the old one, because I just copy and paste.
Dev 1: so... This progress bar of yours, doesn't show its background colour, because you filled it already. So what's the background colour if the bar isn't filled?
She : hmm.... Oh.. Well.. Maybe try x.. ? *doesn't look nice* how about Y? *doesn't look nice* how about...
Me : why not you try in your computer first instead of me changing it here by code, it's much faster this way.
*seriously, wth?
Dev 1 and 2: there's additional text in your new design, what is it for?
She : oh.. No no. I copied extra due to copy and paste. Just ignore it.
Dev 1 and 2: what's the spacing gap between x and Y? And how about the size of the box?
She : oh.. I just estimate it, and for the box, not sure either, you can follow old design, because I'm just putting a box there for illustration purpose.
Mother fickle, what fuck man.
Dev 1 and 2: *flips table.
*we didn't, but.. It's freaking annoying.7 -
Today on forgotten games – Ballance.
The game is absolutely outstanding. Graphics is absolutely amazing even though the game was developed in 2004. The sound effects are perfect, I can literally feel the wooden ball rolling on steel rails. The background music is also amazing, we're talking Alexander Brandon level here.
The game is about rolling the ball through the levels trying not to fall off. There are three balls: the stone one, the wooden one and the paper one, different in weight, velocity and momentum.
I admire the clever level design. It uses in-game map features in multi-purpose way, for example some levels use ball transformers (the things that transform the ball from one kind to another) as a trap for your ball to lose momentum. It even seems like that levels were designed by some crazy modders for advanced players, but they weren't, and traveling through them feels like you're a pro gamer playing custom levels.
Even though levels seem simple at first glance, they allow non-linear gameplay and different gaming styles.
The gameplay itself is pure meditation. But even though the concept seem straightforward – just follow the level and don't fall – it's not. You have to use all three ball types: there are air vents to fly above upon, which only paper ball can do, there are obstacles to push, which only stone ball can do, and so on.
For additional sonic satisfaction the levels even feature some metal domes that serve no purpose but to be bumped into just for making amazing gong sound.
I like it that when you get cocky and think like that's easy, I got this, the game quickly puts you into place. It basically says nigga you ain't shit, you got nothing on me.
Overall it's basically a mesmerizing travel through cleverly designed levels surrounded by relaxing music and outstanding graphics.
Definitely a must-have for mechanical keyboard gamers, it's a pure satisfaction playing this game with a great level of precision and control mechanical keyboard allows.
Search for "ballance widescreen fix" for modern displays support.10 -
It's starting again. I can feel it.
You had a decent job, but you had to think otherwise. Then you had to go to that coffee shop tell some people you're the fucking bee's knees, didn't you?
Well, you know that's how the band plays.
Yeah, but now you'll have to live up to the hype, my friend. And you know pretty well that the pocketknife on your belt won't cut it anymore.
I can always learn as I go...
Sure you can. Except this time stakes are higher. They'll be expecting you to deliver on all your bloody greatness. They'll be relying on you. Not only them, but also the person who chose to be with you. And you know you're not enough, for neither of them. Now you'll fuck it up and let all those people down.
But I could build things little by little, lay out a solid groundwork and build up from that. Just like that other time when...
Of course you can. But can you make beautiful sparkly things? Can you make them sexy?
No... But I can make them resilient. I can follow best practices and intelligent design patterns.
Right. Cause design patterns win contests and prizes. Sure.
Well, it'll make things work better. And then when someone else comes along...
They'll say your work smells and let everybody know how it should've been done, because they need to prove themselves. You know that's what people do.
But that's just not fair! Solid work is solid work!
And a fraud is still a fraud. And that's what you are.5 -
Gave the marketing team access to JIRA and gave them permissions to create tickets. Don’t know if that was a management’s design or what. Tickets were poorly written and I had to make frequent follow ups to figure out what the heck was actually being requested. I did get accused of “questioning the request” at least once. It was a big WTF because I think marketing thought they managed dev team but they didn’t.
Marketing also didn’t give a damn about agile processes despite being told some simple rules, such as don’t change your ticket details after a dev has already begun work on it. I would pick up a ticket thinking it’s just html and css updates, then it would change to include an api update. No no no. You’ve just turned a 1 day ticket into a 1 week ticket. I don’t have time for these shenanigans.
I would also submit tickets for code review and marketing would say it’s not ready for review. Then why was that ticket in the to do column for the past two days?! They couldn’t make a decision and would submit revisions every single day.
And they would think devs could do everything. No, never assume the front end dev can pick up back end tasks.
No one on dev team really cared because we were all looking for new jobs anyway. The company was planning to lay us off in a year. Every month a dev gave notice and left.3 -
Question time:
Has anyone used PHP unit with Selenium before?
I have a.. well words can’t explain it nice enough but, beyond a joke, not even funny, spaghetti code base I’ve come to inherit recently, which god help me, doesn’t follow any design patterns at all, it’s just a stamp this here, staple this down over here and throw paint at the wall and hope it sticks.
It’s a mixture of procedural and functional with the rare class kind of mess.
So attempting to refactor by any means is not a real possibility without some kind of behavioural testing in place first otherwise I know I’m going to end up breaking something somewhere and not even know it.
Also if anyone has had the privilege of such code bases, tips to dealing with the mess are appreciated.
Oh and no, I can’t rm -rf or start again.😭3 -
There are a couple of them to list! But to sum my main ones(biggest personal heroes):
John McCarthy, one of the founding fathers of Artificial Intelligence and accredited with coining such term(sometimes before 1960 if memory serves right), a mathematical prodigy, the man based the original model of the Lisp programming language in lambda calculus. Many modern concepts that we have in programming where implemented in one way or another from his systems back in the day, and as a data analyst and ML nut.....well I am a big fan.
Herb Sutter: C++ programmer extraordinaire. I appreciate him more for his lectures and published articles than anything else. Incredibly smart and down to earth and manages to make C++ less intimidating while still approaching it with respect.
Rich Hickey: The mastermind behind Clojure, the Lisp dialect for the JVM. Rich is really talented and his lectures behind his motivations and reasons behind everything he does with Clojure are fascinating to see.
Ryan Dahl: Awww shit y'all know how it is. The man changed web development both in the backend and the frontend for good. The concept of people writing their own servers to run their pages was not new, but the Node JS runtime environment made it more widely available to people by means of a simple to use language that was already popular with web developers. I would venture to say that Ryan's amazing contributions to JS made the language better, as it stands, the language continues to evolve and new features that make it overall better keep being added. He is currently building Deno, which would be a runtime environment for TypeScript, in Rust.
Anders Hejlsberg: This dude was everywhere man....the original author of Turbo Pascal and the lead of Delphi back in the day. These RAD tools paved the way for what would be a revolution in the computing world. The dude is also the lead architect and designer of the C# programming language as well as TypeScript.
This fucker is everywhere and I love it.
Yukihiro "Matz" Matsumoto: Matsumoto san is the creator of the Ruby programming language. Not only am I a die hard fan of Ruby, but of the core philosophies that the man keeps as the core of his language design: Make the developer happy, principle of least surprise. Also I follow: minswan which is a term made by the Ruby community that states Mats is nice so we are nice. <---- because being cool to others is better than being a passive aggressive cunt.
Steve Wozniak: I feel as if the man does not get enough recognition...the man designed the Apple || computer which (regardless of how much most of y'all bitch and whine) paved the way for modern micro computers. Dude is also accredited with designing one of the first programmable universal remotes(which momma said was shitty) but he did none the less.
Alan Kay: Developed Smalltalk and the original OOP way of doing things. Smalltalk as a concept is really fucking interesting. If you guys ever get the chance, play with Pharo, which is a modern Smalltalk. The thing is really interesting and the overall idea of Smalltalk can be grasped in very little time. It sucks because the software scales beautifully in terms of project building, the idea of hoisting a program as its own runtime environment and ide by preserving state through images is just mind blowing to me. Makes file based programs feel....well....quaint.
Those are some of the biggest dudes for me. I know that the list is large, but I wanted to give credit to the people that inspired me the most. Honorary mention goes to other language creators and engineers of course, but it would be way too large to list!9 -
Ok now I'm gonna tell you about my "Databases 2" exam. This is gonna be long.
I'd like to know if DB designers actually have this workflow. I'm gonna "challenge" the reader, but I'm not playing smartass. The mistakes I point out here are MY mistakes.
So, in my uni there's this course, "Databases 2" ("Databases 1" is relational algebra and theoretical stuff), which consist in one exercise: design a SQL database.
We get the description of a system. Almost a two pages pdf. Of course it could be anything. Here I'm going to pretend the project is a YouTube clone (it's one of the practice exercises).
We start designing a ER diagram that describes the system. It must be fucking accurate: e.g. if we describe a "view" as a relationship between the entities User and Video, it MUST have at least another attribute, e.g. the datetime, even if the description doesn't say it. The official reason?
"The ER relationship describes a set of couples. You can not have two elements equal, thus if you don't put any attribute, it means that any user could watch a video only once. So you must put at least something else."
Do you get my point? In this phase we're not even talking about a "database", this is an analysis phase.
Then we describe the type dictionary. So far so good, we just have to specify the type of any attribute.
And now... Constraints.
Oh my god the constraints. We have to describe every fucking constraint of our system. In FIRST ORDER LOGIC. Every entity is a set, and Entity(e) means that an element e belongs to the set Entity. "A user must leave a feedback after he saw a video" becomes like
For all u,v,dv,df,f ( User(u) and Video(v) and View(u, v, dv) and feedback(u, v, f) ) ---> dv < df
provided that dv and df are the datetimes of the view and the feedback creation (it is clear in the exercise, here seems kinda cryptic)
Of course only some of the constraints are explicitly described. This one, for example, was not in the text. If you fail to mention any "hidden" constraint, you lose a lot of points. Same thing if you not describe it correctly.
Now it's time for use cases.
You start with the usual stickman diagram. So far so good.
Then you have to describe their main functions.
In first order logic. Yes.
So, if you got the point, you may think that the following is correct to get "the average amount of feedback values on a single video" (1 to 5, like the old YT).
(let's say that feedback is a relationship with attribute between User and Video
getAv(Video v): int
Let be F = { va | feedback(v, u, va) } for any User u
Let av = (sum forall f in F) / | F |
return av
But nope, there's an error here. Can you spot it (I didn't)?
F is a set. Sets do not have duplicates! So, the F set will lose some feedback values! I can not define that as a simple set!
It has to be a set of couples, like (v, u), where v is the value and u the user; this way we can have duplicate feedback values in our set.
This concludes the analysis phase. Now, the design.
Well we just refactor everything we have done until now. Is-a relations become relationships, many-to-many relationships get an "association entity" between them, nothing new.
We write down on paper every SQL statement to build any table, entity or not. We write down every possible primary key or foreign key. The constraint that are not natively satisfied by SQL and/or foreign keys become triggers, and so on.
This exam is considered the true nightmare at our department. I just love it.
Now my question is, do actually DB designers follow this workflow? Or is this just a bloody hard training in Pai Mei style?6 -
Thought the day would never come but... I'm starting to hate android as an operating system...
It's just becoming so inconsistent and fragmented, it's almost at windows level of inconsistent.
Now either google should start regulating the app store and android itself or completely ditch android as a complete stand alone OS.
I would personally seperate android into a runtime and focus on fuschia by building the android runtime into it, that way it could pull system UI element design and such rather than have the user build apps that look completely out of place and don't follow rules like dark mode, theming and the such...
I'm not going to jump ship into iOS because fuck iOS but just really hope google really starting tightening android up else I feel like it's just going to starting breaking more and more into a steaming mess.5 -
Late post because drinking:
I’m going back to work, got a verbal offer this afternoon after being laid off two weeks ago, thanks mainly to a referral from a former direct report that I once went to bat for. Gave myself a nice 3 weeks of chill time before start date.
But the funny thing was a company who gave me a take home assignment that I breezed through in half an hour, only to say “we’re going with other candidates” after the follow up interview calling me a few hours after I accepted said verbal offer elsewhere.
They wanted me to redo the take home assignment but with different acceptance criteria and requirements than the first time.
Fucking lol.
I told them, verbatim “I think I’ve done enough to satisfy any questions about my skills from the prior assessment. If you have more questions about design and implementation choices I’m happy to schedule a call.”
Hiring manager said he’d reach out next week.
Because even if the verbal offer gets redacted, I’ve got three other final rounds coming up and this particular place just sounded way too fucking chaotic and disorganized for my tastes. If everything else flames out and I’m left with no other options for work, I’ll consider giving them some more time out of my day, but as is, redoing a coding assessment with different criteria because you can’t decide wtf you want from a job candidate?
Not gonna lie: this is not a good look for you. -
Worst architecture I've seen?
The worst (working here) follow the academic pattern of trying to be perfect when the only measure of 'perfect' should be the user saying "Thank you" or one that no one knows about (the 'it just works' architectural pattern).
A senior developer with a masters degree in software engineering developed a class/object architecture for representing an Invoice in our system. Took almost 3 months to come up with ..
- Contained over 50 interfaces (IInvoice, IOrder, IProduct, etc. mostly just data bags)
- Abstract classes that implemented the interfaces
- Concrete classes that injected behavior via the abstract classes (constructors, Copy methods, converter functions, etc)
- Various data access (SQL server/WCF services) factories
During code reviews I kept saying this design was too complex and too brittle for the changes everyone knew were coming. The web team that would ultimately be using the framework had, at best, vague requirements. Because he had a masters degree, he knew best.
He was proud of nearly perfect academic design (almost 100% test code coverage, very nice class diagrams, lines and boxes, auto-generated documentation, etc), until the DBAs changed table relationships (1:1 turned into 1:M and M:M), field names, etc, and users changed business requirements (ex. concept of an invoice fee changed the total amount due calculation, which broke nearly everything).
That change caused a ripple affect that resulted in a major delay in the web site feature release.
By the time the developer fixed all the issues, the web team wrote their framework and hit the database directly (Dapper+simple DTOs) and his library was never used.1 -
Ibwish I had remembered this when the weekly theme was office pranks.
In the first or second year of high school we covered basic internet security. Stuff like don't follow suspicious urls, don't open suspicious emails and such.
Our teacher let us play around with some sort of simulated desktop environment, where we could execute some hacks like ad popups and such on each other's environment, if we fell for the trap.
Anyways, one hack I found interesting was a hack, that lockes a user out of their virual desktop, until he enters a password, that will be displayed on his environment.
Yes, a very interesting hack, because it contains two obvious yet major design flaws, which I could exploit 😈
1. It's case sensitive
In itself not a problem, but combined with #2, it's fatal.
2. "IlIlllIlI"
Depending on your font, you probably have no idea what exactly I just typed.
Let's just say, the font displayed uppercase i and lowercase L completely undifferentiable.
Guess whom I let suffer.
It was our teacher, who had to demonstrate us some things and who was connected to the same network.
I swear, nothing beats that feeling when your tearcher has go come to you and embarrassingly ask you to "unhack" them, because they can't type it 😂1 -
Google's attempts to follow the iPhone just make me think, "Might as well get an iPhone."
I wish Google would create a high-end phone with grippy, durable case, replaceable two-day battery and SD card slot. Vanilla Android with latest updates. Bring it in at a reasonable price (which I'd hope would be possible if not trying to squeeze everything).
Given me a real alternative here. Don't try and lead with design. It's letting Apple choose the battlefield.7 -
!dev
I have this urge to get better at coding and software architecture and design. But fuck me if I'm not lazy about it.
All these crazy good books and lectures and here I am, doing jackshit to improve. Can't even finish my own personal projects. Bah.
I know how I'm supposed to go about it, how to keep engaged in a cycle of personal betterment. I lack self-discipline to do it though... Tried meditation for a time, but haven't really stuck to it. Currently trying to follow stoics (Seneca, Marcus Aurelius and some others), but the mindset is not so easy to adopt, and the practical philosophies even harder.
Oh well. Life is hard. Blah-blah-blah. Thanks for reading. Just wanted to vent, really.8 -
I discovered a commit message from one of my (senior) colleagues today. It made me shudder. It read, 'Just adding some changes made outside of source control and deployed (over last 12 months)'.
I genuinely think he can't follow any processes he didn't design. He controls the servers too, so it's not like any pipeline would prevent him from just doing what he wants. It's a bit scary to be honest, he thinks MD5 is a secure password hash! -
This lack of real human contact is getting on my nerves. Most of the text messages, discussions, especially in PR or design roads to follow develop into pissing contests. Always proving how much one is right and the others are wrong. -
I get so pissed off with little details, e.g. useless, wrongly handled boolean return values. Cannot understand how they don't see it my way. Or how they can feel superior by offering platitudes like "One should never use singletons". As if following some stupid rules and patterns from a book made you a better programmer instead of looking closely what each problem really needs. Or how they don't measure properly/scientifically or can't interpret the numbers.
My blood pressure already rising just from writing about it. Maybe I need to get some time off. But at the same time I feel like, they are doing it all wrong or not the way it should be done, so it's hard to let go. To obsessed with all that shit...1 -
I got an instruction to follow exactly what the client wants with the design i have made because they are also a “designer” and guess what
A nissan juke just got transformed into fucking fiat multipla
As long the client happy i must deal with it even it against my will
So sad and mad looking my design becoming something else
Thankfully there’s DevRant to relieve this emotion 🤣rant clients from hell design revision fiat multipla is uglier than nissan juke i got bills to pay so deal with it -
Designer: The web design muset be beautiful, clean and follow modern trends.
Me: Actualy no, design should be just functional part of website. There is no need to be beautiful, clean and has nothing to do with modern graphic trends. Sad truth is almost nobody, besides css galleries, cares.
Designer:2 -
Ugh.. what's the point of a design document if you don't want me to follow it and just want me to build features you want and that the client mentioned nothing about.
and yet you wonder why we are over budget. -
Hi all,
I'm in this company for about 15 months. It's one of the big name company. I'm a senior dev here. In my team we follow agile development. In starting I was just working on my part mostly. Then my manager raised concern to me for not taking ownership and helping others.
I started doing things what I could do. Like code review, API discussion, design discussion etc..
Now, the thing is I usually get upset when people go with 'lazy' solutions because I feel bad design leads to maintenance overhead, and it happened to us in past. We had to spend weekends to make things work. So, I started making code review, design review strict.
Some people didn't like it. But my manager was supportive, or at least I think so.
Some days back manager took me in a one-o-one discussion and told me one of the colleague kinda complained against me.
Now, my manager is not involving me into design discussions and API discussions. There are some new features are coming and I am not informed. I get to know things only in scrum-updates.
Am I about to get fired? I'm not gonna lie, I'm so scared. I can't put down papers as I'm already into 4th company in 7 years.
This thought is just killing me. What should I do? I'm so alone.7 -
I have done it!
I have discovered my biggest irritant when it comes to the tech world and that is fragmentation and visual disorganisation and once again, Microsoft and Google are the fucking worst for it, all applications have different design languages in play, their OS's are disjointed (Chrome OS shits me just because of how much android is leaking in yet they refuse to use similar navigation and the like)...
Apple did it right, oh we are redesigning our mobile platform and desktop platform at the same time, oh I know! Let's make them follow the same fucking design...
I'm just some random 20 year old and have so many ideas that almost everyone will agree make both teams products so much user appealing -,-8 -
How do you guys deal with PRs where things just don't go in and you're always making the same comments and suggestions?
We have a fairly experienced guy in the team who doesn't seem that familiar with the language (Kotlin), despite having now used it for almost a year. We're constantly making the same comments on code not using the correct syntax (basic things like val vs var) or following the style guide and after a lot of grumbling the changes are made, but the same issues are present in the next PR.
He also keeps doing things their own way, even if as a team we've reached consensus on a particular design pattern to follow, or way to solve a problem. When you mention this, you just get a "Hmm okay" but nothing changes. It's like things just go in one ear and out the other.
Even as the reviewer this is really frustrating and demoralising. PRs have loads of comments which makes you feel like you're being picky, and they take forever to get approved and merged.
I even often find myself effectively feeling bullied into approving once most of the main comments are addressed, because you're talking the brick wall that isn't yielding - and none of us are happy with the quality of the code going in. A couple of us are even starting to think "I'm just going to have to accept this and then fix it myself later", which is just not a healthy approach.
Now I'm blessed with an amazing manager who is well aware of the problem and knows from his own experience that this guy is genuinely problematic to work with. We're working towards a solution but I was wondering if anyone here has had a similar experience and how you worked towards solving it?
I'm a little at my wit's end :/9 -
"It's just as easy to create a small REST microservice as there is for a small one-off script, so let's follow the design pattern of creating a REST service first."
I don't think my manager understands how different in complexity these two things are.1 -
You know it is not acceptable to not finally answer this goddamn question for myself or with some help !
PyTorch is driving me insane !
I follow the goddamn docs, practically just created a copy of the sample for the training portion, even if my design were to suck, the training steps SHOULD change the model parameters right ?
so if I do a...
model.parameters().clone() before training
and mode.parameters().clone() after training
torch.equal(p1.data,p2.data) should be false right ????6 -
Am I doing something wrong in integrating bootstrap into my web design.
I'm just making some cool looking password reset forms and stuff.
1. Is it overkill?
2. Is there a better alternative?
3. Any good tutorials to understand bootstrap better than what I do know? (afaik it's just a collection of html elements and css styles)
4. I still have a problem with auto padding at different resolutions which messes up the alignments and stuff I'm really inexperienced at this.
5. I'm a noob at web UI and I want to add it to my skill set so I don't mind a good recommendation to some sort of path I can follow. (I'm alright with Photoshop concept designs, I'm bad at implementing them)4 -
I'd like to ask peoples opinions on building cross platform apps. So basically I'm on windows, and these insatiably annoying project leads (I fell for the "you code make me an app" one) want it to be cross platform. My first thought was PWAs, but then read that apple are dicks and some of the most important features are not actually supported (#!@?). So then it's ionic or Cordova, but who likes CSS? Or Angular 2? And for a native experience, I'd want to follow both iOS and android design patterns in the same codebase which is way beyond my pay grade. React native comes from Facebook, so I already hate it. Should I just build an android app and cross the iOS bridge later or build a not very native feeling, not vertically centred cross platform Cordova thing? Anyone who's had experience using Cordova care to comment on their successes / failures?13
-
App Review – Zomato 2.0
Some apps are as essential as oxygen by example of https://apps.apple.com/us/app/... . Zomato, for sure, is one of them. If you love to eat outside and you’re not living in a cave, chances are that you’ve already gone through Zomato on the web or used one of their mobile apps. If not – Zomato is the place where you can locate eating joints, scan through their menus, check for home delivery numbers and a lot more than that. If you are diabetic you keep sweets in your pocket, similarly Zomato is something every food-loving person needs to keep in their mobile phones(I agree how PR-ish that sounds but it’s true).
Zomato had recently integrated social features on its website. That was followed by the much needed overhaul of their mobile apps. They’ve also updated their iOS app recently and I decided to give it a shot. Zomato 2.0 on the iPhone is super slick to say the least. The redesign brings a lot of character to the app. The Zomato app is now much more smoother, cleaner and powerful. The added social functionality adds more value to the app.
Design and Features
The 2.0 update completely changes the entire look and feel of the app. Everything from the app’s start screen to restaurant details has been changed. The default menu lets you explore and search eating places. Now there are icons for top 25 restaurants, reviews, favorites and more. The icons have been perfectly placed and it’s very easy to spot what you’re looking for.
Everything is just right. The app is highly responsive and there’s hardly any lag. If any, it will depend on your internet connectivity. Browsing menus is still a breeze and I personally love the way you can toggle between information, menu, photos and last but not the least, the reviews. Everything placed just perfectly to help you make that ultimate make or break decision – to eat or order from here or not?
Social
Everything is getting social. Even the next door Dolly-beauty-parlor apps are getting more social now. Zomato just integrated its social features on the web recently and they’re now a part of their mobile apps. On the iPhone app you need to login to access these social features. There’s a Top Foodies leaderboard that could prove to be a crucial game mechanic for the app. Browsing users’ profiles allows you to follow users. The profile pages tie up a user’s reviews and followers. This is all pretty neat and a part of a major plan at Zomato to take over the world.
With lists, network, user reviews etc. there’s a lot more to the app. I’m hearing that there’s still a lot more to come when it comes to social features on the Zomato iPhone app. I better start following up with people and posting reviews. This just kicked Foursquare where it hurts the most. And with that I’ve lost the little amount of motivation I had to check-in to places on Foursquare1