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 - "design thinking"
-
Last year I built the platform 'Tindex'. It was an index of Tinder profiles so people could search by name, gender and age.
We scraped the Tinder profiles through a Tinder API which was discontinued not long ago, but weird enough it was still intact and one of my friends who was also working on it found out how to get api keys (somewhere in network tab at Tinder Online).
Except name, gender and age we also got 3 distances so we could calculate each users' location, then save the location each 15 minutes and put the coordinates on a map so users of Tindex could easily see the current location of a specific Tinder user.
Fun note: we also got the Spotify data of each Tinder user, so we could actually know on which time and which location a user listened to a specific Spotify track.
Later on we started building it out: A chatbot which connected to Tinder so Tindex users could automatically send a pick up line to their new matches (Was kinda buggy, sometimes it sent 3 pick up lines at ones).
Right when we started building a revenue model we stopped the entire project because a friend of ours had found out that we basically violated almost all terms.
Was a great project, learned a lot from it and actually had me thinking twice or more about online dating platforms.
Below an image of the user overview design I prototyped. The data is mock-data.51 -
I tutor people who want to program, I don't ask anything for it, money wise, if they use my house as a learning space I may ask them to bring cookies or a pizza or something but on the whole I do it to help others learn who want to.
Now this in of itself is perfectly fine, I don't get financially screwed over or anything, but...
Fuck me if some students are horrendous!
To the best of my knowledge I've agreed to work with and help seven individuals, four female three male.
One male student never once began the study work and just repeatedly offered excuses and wanted to talk to me about how he'd screwed his life up. I mean that's unfortunate, but I'm not a people person, I don't really feel emotionally engaged with a relative stranger who quite openly admits they got addicted to porn and wasted two years furiously masturbating. Which is WAY more than I needed to know and made me more than a little uncomfortable. Ultimately lack of actually even starting the basic exercises I blocked him and stopped wasting my time.
The second dude I spoke to for exactly 48 hours before he wanted to smash my face in. Now, he was Indian (the geographical India not native American) and this is important, because he was a friend of a friend and I agreed to tutor however he was more interested in telling me how the Brits owed India reparations, which, being Scottish, I felt if anyone was owed reparations first, it's us, which he didn't take kindly too (something about the phrase "we've been fucked, longer and harder than you ever were and we don't demand reparations" didn't endear me any).
But again likewise, he wanted to talk about politics and proving he was a someone "I've been threatened in very real world ways, by some really bad people" didn't impress me, and I demonstrated my disinterest with "and I was set on fire once cos the college kids didn't like me".
He wouldn't practice, was constantly interested in bigging himself up, he was aggressive, confrontational and condescending, so I told him he was a dick, I wasn't interested in helping him and he can help himself. Last I heard he wasn't in the country anymore.
The third guy... Absolute waste of time... We were in the same computer science college class, I went to university and did more, he dossed around and a few years later went into design and found he wanted to program and got in touch. He completes the code schools courses and understandably doesn't quite know what to do next, so he asks a few questions and declares he wants to learn full stack web development. Quickly. I say it isn't easy especially if it's your first real project but if one is determined, it isn't impossible.
This guy was 30 and wanted to retire at 35 and so time was of the essence. I'm up for the challenge, and so because he only knows JavaScript (including prototypes, callbacks and events) I tell him about nodejs and explain that it's a little more tricky but it does mean he can learn all the basis without learning another language.
About six months of sporadic development where I send him exercises and quizzes to try, more often than not he'd answer with "I don't know" after me repeatedly saying "if you don't know, type the program out and study what it does then try to see why!".
The excuses became predicable, couldn't study, playing soccer, couldn't study watching bake off, couldn't study, couldn't study.
Eventually he buys a book on the mean stack and I agree to go through it chapter by chapter with him, and on one particular chapter where I'm trying to help him, he keeps interrupting with "so could I apply for this job?" "What about this job?" And it's getting frustrating cos I'm trying to hold my code and his in my head and come up with a real world analogy to explain a concept and he finally interrupts with "would your company take me on?"
I'm done.
"Do you want the honest unabridged truth?"
"Yes, I'd really like to know what I need to do!"
"You are learning JavaScript, and trying to also learn computer science techniques and terms all at the same time. Frankly, to the industry, you know nothing. A C developer with a PHD was interviewed and upon leaving the office was made a laughing stock of because he seemed to not know the difference between pass by value and pass by reference. You'd be laughed right out the building because as of right now, you know nothing. You don't. Now how you respond to this critique is your choice, you can either admit what I'm saying is true and put some fucking effort into studying cos I'm putting more effort into teaching than you are studying, or you can take what I'm saying as a full on attack, give up and think of me as the bad guy. Your choice, if you are ready to really study, you can text me in the morning for now I'm going to bed."
The next day I got a text "I was thinking about what you said and... I think I'm not going to bother with this full stack stuff it's just too hard, thought you should know."23 -
I am an indie game developer and I lead a team of 5 trusted individuals. After our latest release, we bought a larger office and decided to expand our team so that we could implement more features in our games and release it in a desirable time period. So I asked everyone to look for individuals that they would like to hire for their respective departments. When the whole list was prepared, I sent out a bunch of job offers for a "training trial period". The idea was that everyone would teach the newbies in their department about how we do stuff and then after a month select those who seem to be the best. Our original team was
-Two coders
-One sound guy(because musician is too mainstream)
-Two artists
I did coding, concept art(and character drawings) and story design, So, I decided to be a "coding mentor"(?).
We planned to recruit
-Two coders
-One sound guy
-One artist (two if we encountered a great artstyle)
When the day finally arrived I decided to hide the fact that I am the founder and decided that there would be a phantom boss so that they wouldn't get stressed or try flattery.
So out of 7, 5 people people came for the "coding trial session". There were 3 guys and 2 girls. My teammate and I started by giving them a brief introduction to the working of our engine and then gave them a few exercises to help them understand it better. Fast forward a few days, and we were teaching them about how we implement multiple languages in our games using Excel. The original text in English is written in the first column and we then send it to translators so that they can easily compare and translate the content side by side such that a column is reserved for each language. We then break it down and convert the whole thing into an engine friendly CSV kind of format. When we concluded, we asked them if they had any questions. So there was this smartass, who could not get over the fact that we were using Excel. The conversation went like this:(almost word to word)
Smartass: "Why would you even use that primitive software? How stupid is that? Why don't you get some skills before teaching us about your shit logic?"
Me:*triggered* "Oh yeah? Well that's how we do stuff here. If you don't like it, you can simply leave."
Smartass: "You don't know who I am, do you? I am friends with the boss of this company. If I wanted I could have all of you fired at whim."
Me:"Oh, is that right?"
Smartass:"Damn right it is. Now that you know who I am, you better treat me with some respect."
Me: "What if I told you that I am not just a coder?"
Smartass:"Considering your lack of skills, I assume that you are also a janitor? What was he thinking? Hiring people like you, he must have been desperate."
Me:"What if I told you that I am the boss?"
Smartass:"Hah! You wish you were."*looks towards my teammate while pointing a thumb at me* "Calling himself the boss, who does he think he is?"
Teammate:*looks away*.
Smartass:*glances back and forth between me and my teammate while looking confused* *realizes* *starts sweating profusely* *looks at me with horror*
Me:"Ha ha ha hah, get out"
Smartass:*stands dumbfounded*
Me:"I said, get out"
Smartass:*gathers his stuff and leaves the room*
Me: "Alright, any questions?"*Smiling angrily*
Newcomers: *shake heads furiously*
Me:"Good"
For the rest of the day nobody tried to bother me. I decided to stop posing as an employee and teaching the newcomers so that I could secretly observe all sessions that took place from now on for events like these. That guy never came back. The good news however, is that the art and music training was going pretty well.
What really intrigues me though is that why do I keep getting caught with these annoying people? It's like I am working in customer support or something.16 -
In a user-interface design meeting over a regulatory compliance implementation:
User: “We’ll need to input a city.”
Dev: “Should we validate that city against the state, zip code, and country?”
User: “You are going to make me enter all that data? Ugh…then make it a drop-down. I select the city and the state, zip code auto-fill. I don’t want to make a mistake typing any of that data in.”
Me: “I don’t think a drop-down of every city in the US is feasible.”
Manage: “Why? There cannot be that many. Drop-down is fine. What about the button? We have a few icons to choose from…”
Me: “Uh..yea…there are thousands of cities in the US. Way too much data to for anyone to realistically scroll through”
Dev: “They won’t have to scroll, I’ll filter the list when they start typing.”
Me: “That’s not really the issue and if they are typing the city anyway, just let them type it in.”
User: “What if I mistype Ch1cago? We could inadvertently be out of compliance. The system should never open the company up for federal lawsuits”
Me: “If we’re hiring individuals responsible for legal compliance who can’t spell Chicago, we should be sued by the federal government. We should validate the data the best we can, but it is ultimately your department’s responsibility for data accuracy.”
Manager: “Now now…it’s all our responsibility. What is wrong with a few thousand item drop-down?”
Me: “Um, memory, network bandwidth, database storage, who maintains this list of cities? A lot of time and resources could be saved by simply paying attention.”
Manager: “Memory? Well, memory is cheap. If the workstation needs more memory, we’ll add more”
Dev: “Creating a drop-down is easy and selecting thousands of rows from the database should be fast enough. If the selection is slow, I’ll put it in a thread.”
DBA: “Table won’t be that big and won’t take up much disk space. We’ll need to setup stored procedures, and data import jobs from somewhere to maintain the data. New cities, name changes, ect. ”
Manager: “And if the network starts becoming too slow, we’ll have the Networking dept. open up the valves.”
Me: “Am I the only one seeing all the moving parts we’re introducing just to keep someone from misspelling ‘Chicago’? I’ll admit I’m wrong or maybe I’m not looking at the problem correctly. The point of redesigning the compliance system is to make it simpler, not more complex.”
Manager: “I’m missing the point to why we’re still talking about this. Decision has been made. Drop-down of all cities in the US. Moving on to the button’s icon ..”
Me: “Where is the list of cities going to come from?”
<few seconds of silence>
Dev: “Post office I guess.”
Me: “You guess?…OK…Who is going to manage this list of cities? The manager responsible for regulations?”
User: “Thousands of cities? Oh no …no one is our area has time for that. The system should do it”
Me: “OK, the system. That falls on the DBA. Are you going to be responsible for keeping the data accurate? What is going to audit the cities to make sure the names are properly named and associated with the correct state?”
DBA: “Uh..I don’t know…um…I can set up a job to run every night”
Me: “A job to do what? Validate the data against what?”
Manager: “Do you have a point? No one said it would be easy and all of those details can be answered later.”
Me: “Almost done, and this should be easy. How many cities do we currently have to maintain compliance?”
User: “Maybe 4 or 5. Not many. Regulations are mostly on a state level.”
Me: “When was the last time we created a new city compliance?”
User: “Maybe, 8 years ago. It was before I started.”
Me: “So we’re creating all this complexity for data that, realistically, probably won’t ever change?”
User: “Oh crap, you’re right. What the hell was I thinking…Scratch the drop-down idea. I doubt we’re have a new city regulation anytime soon and how hard is it to type in a city?”
Manager: “OK, are we done wasting everyone’s time on this? No drop-down of cities...next …Let’s get back to the button’s icon …”
Simplicity 1, complexity 0.16 -
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.8 -
Just met my two friend dev and jay after a long time. After some initial random conversation.
Dev: What is your job profile?
Jay (excitedly): I design electronic circuits and write some low-level programs for them.
D: So you are a low-level programmer?
J: Yeah.
D: My cousin is also a programmer. But, I think he is smarter than you.
J (confused and thinking that he must be a good programmer): Oh great! It would be nice to meet him. But, why do you think he is smarter?
D: Although still in school, he is a high-level programmer.
J: -_-"4 -
Every single one of them, and every one that will come after them.
Google, it started out as 2 people in their garage, wanting to make a search engine that was better than the others. Nothing else, nothing evil. Just make the world a little bit better. And look what it's become now. A megacorporation with little to no regards for their user base. Because who cares about users anyway?
Microsoft, it started out with Bill Gates - young high school computer nerd - who wanted to make an operating system for the world to use. Something that's better than the competition. And boy did he do so. Well "better than the competition" aside, he did make it for the world to use. And the world adopted it. And look what it's become now. A megacorporation with little to no regards for their user base. Because who cares about users anyway?
See where I'm going here?
Apple, it started out with Steve Jobs and Steve Wozniak in their garage, just like Google did, wanting to make hardware that was better than the others. Nothing else, nothing evil. Just to make the world a little bit better. And look what it's become now. Planned obsolescence has been baked into it, just like it is in every other piece of technology. Quality control and thinking through the design has become a thing of the past. User choice, yeah who cares about that.
Samsung, it started out centuries ago actually, and I don't really remember the details of it.. ColdFusion has a video on it if memory serves me right. Do watch it if you're interested. Anyway, just like all the others they started out as a company which wanted to make the world a little bit better. And damn right did they do so.. initially. Look what they've become now. Forcing their stupid TouchWiz UI upon their customers (or products?), a Bixby button that can't even be reprogrammed.. and the latest thing.. Knox, advertised as a security feature, but as everyone who likes rooting their devices and mucking with it knows, it is an anti-feature that only serves for lockdown. Why shouldn't you be able to turn in a phone for RMA when a hardware error occurs, when all you've personally modified is the software? Why should changing the software blow that eFuse, so that you can be sure that you can't replace it without specialized equipment and a very steady hand?
I could go on and on forever about more of the tech giants out there, but I feel like this suffices for now. Otherwise I won't have anything else left for future rants! But one thing I know for sure. Every tech company started, starts, and will start out with a desire to make the world a better place, and once they gain a significant customer base, they will without exception turn into the same kind of Evil Megacorp., just like the ones before them. Some may say that capitalism itself is to blame for this, the greed for more when you already have a lot. Who knows? I'd rather say that the very human nature itself is to blame for it. We're by design greedy beings, and I hate it. I hate being human for that. I don't want humans to be evil towards one another, and be greedy for ever more. But I guess that that's just the way it is, and some things do actually never change...17 -
Fucking HR interviews. Fucking "tell me about yourself" and pretending to seem interested in what i have to say while you think about how you did it with a guy behind the dumpster.
For fucks sake, i am a developer, i have spent more time with coding language than human language. I speak more to a rubber duck than to my friends. That's what you want to know about me?
I am here to fix your fucking site that uses flash plugin in 2017 and you want me to tell good things about your company?
Do you want me to tell you the details about your site that i got from whois and that your subscribed domain registration will end in September this year?
You don't know what responsive design is and you dare interview me?
Thanks for wasting my time and telling me shit about your company and how you have offices in germany and china. Well guess what? I dont care. I am busy thinking about some girl... Actually i am thinking about my side project. I dont know why i pretend to be cool?7 -
Rant rant = new Rant
rant.isRant = false // !!!
I woke up this morning after not thinking about my code for a day, and realized i had a flaw in my validation design. I fixed it before opening my eyes.
It's kind of amazing how not thinking about a problem can help solve it. Even if you don't know it's there!6 -
*Me feeling productive on a day
Today I am going to start working on the complex part of my proect. Spends 1 hour deciding what all technologies to use , how to implement it, which design patterns to use .
Let's do it
*15 min later
Making some tiny css corrections
*3 hrs later
Making some tiny css corrections
*An eternity later
REALISED DIDN'T SET THE SIZE OF THE PARENT CONTAINER TO 100%
So much for thinking about being productive for today :(((5 -
Things that still feel like they were yesterday:
- Microsoft buying Skype
- WiFi 802.11n
- USB 3.0
- Android 5.0, Material design
- Microsoft buying Nokia
- “Grid layout is an experimental technology”
Nobody even uses Skype anymore. I’m still looking for “is it support that WiFi n-word” when choosing a router. Yes it supports it. Everything that happened since 2009 supports it. Usb 3.0 was released in 2008, 12 years ago, and I’m still happy when it’s a blue connector instead of white. Android 5.0 was released 6 years ago.
I don’t understand HOW can I know that the newest but not exactly bleeding edge web specs like clamp function aren’t the newest and use them but still believe that grid layout is an experimental technology despite using it in production and FUCKING LOOKING AT CANIUSE TABLE and FUCKING THINKING THAT USB 3.0 WAS RELEASED JUST NOW while working on the laptop that FUCKING HAS TYPE C as its only port
It looks like somebody should go have his time perception module checked11 -
Been reviewing ALOT of client code and supplier’s lately. I just want to sit in the corner and cry.
Somewhere along the line the education system has failed a generation of software engineers.
I am an embedded c programmer, so I’m pretty low level but I have worked up and down and across the abstractions in the industry. The high level guys I think don’t make these same mistakes due to the stuff they learn in CS courses regarding OOD.. in reference how to properly architect software in a modular way.
I think it may be that too often the embedded software is written by EEs and not CEs, and due to their curriculum they lack good software architecture design.
Too often I will see huge functions with large blocks of copy pasted code with only difference being a variable name. All stuff that can be turned into tables and iterated thru so the function can be less than 20 lines long in the end which is like a 200% improvement when the function started out as 2000 lines because they decided to hard code everything and not let the code and processor do what it’s good at.
Arguments of performance are moot at this point, I’m well aware of constraints and this is not one of them that is affected.
The problem I have is the trying to take their code in and understand what’s its trying todo, and todo that you must scan up and down HUGE sections of the code, even 10k+ of line in one file because their design was not to even use multiple files!
Does their code function yes .. does it work? Yes.. the problem is readability, maintainability. Completely non existent.
I see it soo often I almost begin to second guess my self and think .. am I the crazy one here? No. And it’s not their fault, it’s the education system. They weren’t taught it so they think this is just what programmers do.. hugely mundane copy paste of words and change a little things here and there and done. NO actual software engineers architecture systems and write code in a way so they do it in the most laziest, way possible. Not how these folks do it.. it’s like all they know are if statements and switch statements and everything else is unneeded.. fuck structures and shit just hard code it all... explicitly write everything let’s not be smart about anything.
I know I’ve said it before but with covid and winning so much more buisness did to competition going under I never got around to doing my YouTube channel and web series of how I believe software should be taught across the board.. it’s more than just syntax it’s a way of thinking.. a specific way of architecting any software embedded or high level.
Anyway rant off had to get that off my chest, literally want to sit in the corner and cry this weekend at the horrible code I’m reviewing and it just constantly keeps happening. Over and over and over. The more people I bring on or acquire projects it’s like fuck me wtf is this shit!!! Take some pride in the code you write!16 -
Thinking about this makes me pull my fucking hairs.
The fact that I have to look for the actual content in a website, among all the ads, prompts and fucking stupid design is fucking ridiculous.
Every fucking website is following this designs now. Always showing popups to subscribe to their fucking newsletter the moments you visit the site.
Can you please let me fucking read the content I require first?
"No fucking way. I will block 80% of the viewport with unnecessary stuff. I will place my ads on the left and right side. On the bottom, I will have a blocking div that will prompt you to subscribe to our newsletter. And on the top, we will have this huge fucking navbar which will take 30% of the view. That 20% area left in the middle? yeah, good luck on finding something useful in there"
Then there are this fucking cunts, that blocks the whole website the moment you enter.
"Oh, you need some information, right? Why not just subscribe to our emails first so that we can send your useless junks every now and then".
Oh my fucking batman, don't even remind me of those stupidass videos. Now 90% of the popular website will play a video immediately after you enter the website.
And guess what?! The volume will be amplified to 500% so that that's the sound you will ever hear in your lifetime.
The fucking web is becoming absolute shite right now. We really need a revolution here which makes the websites show the appropriate amount of ads and prevents them from doing all these stupids shits.5 -
Our University professors taught us very little. If one wanted to actually learn something they had to go out of their way to learn it. I was one of the few who actually did that and as a result I ended up being the "top coder" in class.
This meant that I developed an ego.
Then came internship. It was two months of systematic breaking me down and building me up again, forcing me to stop thinking of a solution that just works and actually think of a good design to a solution.
I know I still have a long way to go but I know those helped me grow as a developer. -
Just came back from a new café (to the pedantic among us, yes I know it's a bar.. get over it).
And I met some Apple fanboy 🤭
So the guy kept on bragging about his shiny iPhone 6.. and I figured that I'd chime in. Due to my short-term memory being terrible, I'll be paraphrasing here.
M: me
S: iPhone usar _/\_
M: iPhone 6 ey..? I've heard about some devices in which the old ones are throttled down in a system update "to save the battery".
S: Yes, biweekly updates!! You can even delay them to tune them down to the time during which your device is charging and can commence its system update.
M (thinking): You've clearly missed the point sir.. but on Android, system updates don't need to be willfully delayed even. They (usually) won't commence unless your device is 80% and charging. OnePlus has been an exception to this though, probably under the assumption that their users are mostly power users that know what they're doing.
M: You do realize that given that your iPhone 6 is quite old already, Apple will very likely start throttling your device during a system update in the next few months, right.
S: What the hell dude.. look, look how smoothly it's been going for the last few years!!! Nothing wrong with that.
M: Just wait until your repair bill comes from those Geniuses 🤭
M: Sir, you do realize that Apple quotes €600 for battery repairs nowadays, right.
S: What the hell dude!!! I can buy a whole new phone for that much!!
M: Exactly!! That's exactly Apple's business tactic!!! They design their phones as such that the battery replacement (one of the most common repairs) requires you to replace not only the battery, but the whole chassis!!! And on the XS, the battery replacement is nothing short of atrocious!!!
M: Here, have a look at this: https://youtube.com/watch/...
*shows Louis' newest video about him switching to iPhone XS*
S: Yeah that's just bullshit. I bet you're showing me this on one of those crappy Samsungs.
M: No sir. I'm showing this on my Nexus 6P, that is tethered to my OnePlus 6T. Speaking of which, let me introduce you to the Nexus 6P's (one of the crappiest Android flagships to ever exist) repair, the battery replacement of which I've done myself.
(you can watch the iFixit video about it here: https://youtube.com/watch/...)
*explains heatgun, screwdriver, heatgun battery replacement of Nexus 6P and the time each step takes - more than an hour combined*
S: Yeah that's because it's one of those crappy Androids. That'd never happen to this shiny iPhone, look, I've got a $20 battery right here!!!
*shows battery*
M: Sir... That's a battery for a MacBook. A laptop battery.... 🤨
I love how willfully ignorant these Apple users are. To them, all that exists is Apple and Samsung (both of which I hate because lockdown). And they apparently don't even know what repair they have to look for when they'll need one.. maybe that's why those Genius Bars exist? 🤭
I'd love to see the guy's face when the Geniuses quote him the price for battery replacement when his planned obsolescence time comes 🤭14 -
The IT head of my Client's company : You need to explain me what exactly you are doing in the backend and how the IOT devices are connected to the server. And the security protocol too.
Me : But it's already there in the design documents.
IT Head : I know, but I need more details as I need to give a presentation.
Me : (That's the point! You want me to be your teacher!) Okay. I will try.
IT Head : You have to.
Me : (Fuck you) Well, there are four separate servers - cache, db, socket and web. Each of the servers can be configured in a distributed way. You can put some load balancers and connect multiple servers of the same type to a particular load balancer. The database and cache servers need to replicated. The socket and http servers will subscribe to the cache server's updates. The IOT devices will be connected to the socket server via SSL and will publish the updates to a particular topic. The socket server will update the cache server and the http servers which are subscribed to that channel will receive the update notification. Then http server will forward the data to the web portals via web socket. The websockets will also work on SSL to provide security. The cache server also updates the database after a fixed interval.
This is how it works.
IT Head : Can you please give the presentation?
Me : (Fuck you asshole! Now die thinking about this architecture) Nope. I am really busy.11 -
You wake up in the middle of the night with an awesome idea for a new app.
You spend weeks thinking about it, open a private repo, start to design the UI and logo, and in all your excitement explain your idea to the family and best friends, but no one really finds it cool.
Slowly you start to lose the excitement, day after day you consider it more and more stupid, until you start to hate both the idea and yourself because you really liked it.
6 months later, when you totally forgot about it, you find an app on the App Store very similar to it (but with less features)... as App of the Day, sold for €6.99, 4.8 rating, thousands of positive comments and loved by everyone.
The moral of this story?
If you really like your idea, just make it happen without looking at anyone.4 -
'Sup mates.
First rant...
So Here's a story of how I severely messed up my mental health trying to fit in university.
But the bonus: Found my passion.
Her we go,
Went to university thinking it'll be awesome to learn new stuff.
1st sem was pure shock - Programming was taught at the speed of V2 rockets.
Everything was centred around marks.
Wanted to get a good run in 2nd sem, started to learn Vector design, but RIP- Hospitalized for Staph infection, missed the whole sem and was in recovery for 3 months.
So asked uni for financial assistance as I had to re-register the courses the next semester. They flat out refused, not even in this serious of a case.
So, time to register courses for third semester, turns out most of the 2nd year courses are full, I had to take 3rd year courses like:
Social and Informational Networks
Human Computer Interaction
Image processing
And
Parallel and Distributed Computing (They had no prerequisites listed, for the cucks they are: BIG MISTAKE)
Turns out the first day of classes that I attend, the Image proc. teacher tells me that it's gonna be difficult for 2nd years so I drop it, as the PDC prof. also seconds that advice.
Time travel 2 months in: The PDC prof is a bitch, doesn't upload any notes at all and teaches like she's on Velocity-9 while treating this subject like a competition on who learns the most rather than helping everyone understand.
Doesn't let students talk to each other in lab even if one wants to clear their friend's doubt, "Do it on your own!" What the actual fuck?
Time for term end exams and project submission: Me and 3 seniors implement a Distributed File System in python and show it to her, she looks satisfied.
Project Results: Everyone else got 95/100
I got 76.
She's so prejudiced that she thinks that 2nd years must have been freeloaders while I put my ass on turbo for the whole sem, learning to code while tackling advanced concepts to the point that I hated to code.
I passed the course with a D grade.
People with zero consideration for others get absolutely zero respect from me.
Well it's safe to say that I went Nuclear(heh.. pun..) at this point, Mentally I was in such a bad place that I broke down.... Went into depression but didn't realise it.
But,
I met a senior in my HCI class that I did a project with, after which I discovered we had lots of similar interests.
We became good friends and started collaborating on design projects and video game prototyping.
Enter the 4th sem and holy mother of God did I got some bad bad profs....
Then it hit me
I have been here for two years, put myself through the meat grinder and tore my soul into shreds.
This Is Not Me
This Wont Be The End Of Me
I called up my sister in London and just vented all my emotions in front of her.
Relief.
Been a long time since I felt that.
I decided to go for what I truly feel passionate about: Game Design
So I am now trying to apply for Universities which have specialised courses for game design.
I've got my groove again, learnt to live again.
Learning C# now.
:)
It's been a long hello, and If you've reached till here somehow, then damn, you the MVP.
Peace.9 -
I rewrote my resume. It is getting shorter and shorter. Scary.
But I was thinking, that during interviews, I never get to ask the important questions. Like, I do need to ask a few things that are important for me. Those that are not written in their websites, and they will do their best to hide.
So I came up with a list of questions:
1. Do you pay for overtime work? what is the basis of pay? hours or work-module? how realistic are the work-modules?
2. Have you ever had issues with employees from minority groups?
3. How do you address employee's professional concerns? for example, about technological debt.
4. what's the policy for meeting and daily interruptions during brain-work? Are people ever forced to participate in meetings that could be summed up in emails? what's the company policy for initiating a meeting?
5. Who designs the software? Are the requirements always non-negotiable? do the direct developers have a say in design matters?
6. How close are job requirements (as advertised) to actual tasks I need to perform?
7. What's the company policy for motivating the employees?
8. How does the company deal with mental health issues? is it acceptable for people to take leaves due to mental health issues? Has anyone ever done it?
9. How does the company deal with individual needs for working methods and space? Specifically, how does that apply to meetings? Do you have company-wide meetings? How often are they? What's the impact on productivity? Can employees not participate? Do they have to have an excuse to not participate?
10. Do developers get to develop their skills during worktime often? Or is it a "do it in your own free time" kind of thing? Are there any resources available to those who want to develop their skills further? Is it included in the career planning and employee performance review?
11. Assume I work for your company for a year. What are the benefits I can potentially gain in a year from working here, aside from adding a line of work experience to my resume?
12. Does the company provide any form of free feminine hygiene products in the bathroom?
Any questions I should add?92 -
Who the fuck came up with the idea of using SharePoint? What it even is?! Is it a website, wiki, document repo...?
Our version seems to be a broken wiki with no info content, old links, illogical navigation. And somehow word documents are integrated into it. Sometimes you see some weird calendar and timelines (from old projects). You can navigate into a folder, but you cannot get back. There's no ".." button?? You can map it like OneDrive to yourself, but Windows doesn't support any document version control. Where's the check in/out option from explorer menu??? I sure as shit have those for SVN, GIT etc. Is there a new version created everytime I press ctrl-s or only when I close the document?
Well, I could open the document in "online" mode. Ok, the formatting goes weird and everything is super slow. But at least I can fuck up someone elses document by accidentaly copy/pasting stuff, deleting lines, hitting my face into keyboard etc. There's automatically new version added!
Somehow you can enable the forced check in/out for documents. Obviously only the library admin can do that. And since he's just a program manager, he has no clue what the fuck is version control or document management. So he has this thing on his "things to do" list. For him, document management means sending various spec versions as email attachments. And the developers can figure out together who has the most recent one.
How did M$ push shit piece of shit to corporations? They even use this crap for the intranet making it slower than creation of galaxies. Though it's ok, since you cannot find anything from the intranet. It's all just head honchos blogs, seasonal greetings and stock market statuses. Nowhere is seen the downstairs cafeteria menu for the day. Or where to report for broken toilet. You know, stuff that 99% of people would like to see.
I complained to M$ about the SharePoint, but apparently there's no problem. You can code it yourself? Yeiii! So, instead of just updating some line in design spec, I have to take a 3 month class and get a MS sertificate, code some class-based-web-shit for 6 months and maybe, maybe then I can make the page/document look normal?
I am thinking, that I will just start writing my specs on paper. I will put them on the shelf and if you want to read it, you will check it out manually. And if someone else tries to edit it while you are editing it, you just cover the paper with your hands. There might be a requirement to make the document look more like MS Word, but that's easy to do. Just go to WC with the paper and wipe with it a couple of times.9 -
The commonly touted "best" experiences are when you just get told "wow, this code is amazing!"
I hate those code reviews.
The best ones are the ones where I get my code completely ripped apart by 10 different people in 10 different ways. Some of them might be amazing. Some of them might be arseholes thinking slating other people's code is how you climb the career ladder. But they all generally teach me something, and they all cause me to stop and think "hmm, have they got a point, or is my original design better?" The discussion that comes from those reviews is also often very interesting; and (when done well) the whole process can become somewhat of a teambuilding exercise for everyone involved.2 -
devRant collaboration project - a lot of us are thinking of doing a project or projects in the future. I am sure some valuable partnerships will be forged.
My desire is to do something that can make a positive impact in people's lives. Possibly to help people with special needs.
I am thinking about code that extends into the physical world - an Internet of Things project sort of a devThing.
Brainstorming a bit deeper - maybe a mashup of off the shelf components - maybe using Raspberry Pi or the $5 Raspberry Pi. Keep it low cost so everyone can afford it. As an aside CubeSats powered by RP's are being used in outer space saving a great deal of money and providing value.
The great thing is devRant has great coders, graphic design, ux, Raspberry Pi (or similar miniaturization), public relations to get the word out...
I have some examples we can use for inspiration. Let's keep building on this.40 -
Just updated my LinkedIn summary, included "Design Thinking", "bleeding edge technologies" and "innovation-driven"...
What other phrases can you think of that only exist to play Buzzword-Bullshit-Bingo? :D5 -
Dogecoin hit USD $0.40 recently, which means it's time for the Crypto Rant.
TL;DR: Dogecoin is shit and is logically guaranteed to eventually fall unless it is fundamentally changed.
===========================
If you know how Crypto works under the hood, you can skip to the next section. If you don't, here's the general xyz-coin formula:
Money is sent via transactions, which are validated by *anybody*.
Since transactions are validated by anybody, the system needs to make sure you're not fucking it up on purpose.
The current idea (that most coins use today) is called proof-of-work. In short, you're given an extremely difficult task, and the general idea is you wouldn't be willing to do that work if you were just going to fuck up the system.
For validating these transactions, you are rewarded twofold:
1) You are given a fixed-size prize of the currency from the system itself. This is how new currency is introduced, or "minted" if you prefer.
2) You are given variable-size and user-determined prize called "transaction fees", but it could be more accurately called a "bribe" since it's sole purpose is to entice miners to add YOUR transaction to their block.
This system of validation and reward is called mining.
===========================
This smaller section compares the design o f BTC to Dogecoin - which will lead to my final argument
In BTC, the time between blocks (chunks of data which record transactions and are added to the chain, hence blockchain) is ten minutes. Every ten minutes, BTC transactions are validated and new Bitcoins are born.
In Dogecoin, the time between blocks is only one minute. In Theory, this means that mining Dogecoin is about ten times easier, because the system expects you to be able to solve the proof of work in an average of one minute.
The huge difference between BTC and Doge is the block reward (Fixed amount; new coins minted). The block reward for BTC is somewhat complicated compared to Doge: It started as 50 BTC per block and every 4 years it is halved ("the great halving"). Right now it's 6.25 BTC per block. Soon, the block reward will be almost nothing until BTC hits it's max of 21 million bitcoins "minted".
Dogecoin reward is 10,000 coins per block. And it will be that way for the end of time - no maximum, no great halving. And remember, for every 1 BTC block mined, 10 Doge blocks are mined.
===========================
Bitcoin and Dogecoin are now the two most popular coins in pop culture. What makes me angry is the widespread misunderstanding of the differences between the two. It is likely that most investors buy Dogecoin thinking they're getting in "early" because it's so cheap. They think it's cheap because it isn't as popular as Bitcoin yet. They're wrong. It's cheap because of what's outlined in section two of this rant.
Dogecoin is actually not very far off Bitcoin. Do the math: there's a bit over 100 billion Dogecoin in circulation (130b). There's about 20 million BTC. Calculate their total CURRENT values:
130b * $0.40 = 52b
20m * $60k = 1.2t
...and Doge is rising much, much faster than BTC because of the aforementioned lack of understanding.
The most common thing I hear about Doge is that "nobody expects it to reach Bitcoin levels" (referring to being worth 60k a fucking coin). They don't realize that if Doge gets to be worth just $10 a coin, it will not just reach Bitcoin levels but overtake Bitcoin in value ($1.3T).
===========================
It's worth highlighting that Dogecoin is literally designed to fail. Since it lacks a cap on new coins being introduced, it's just simple math that no matter how much Doge rises, it will eventually be worthless. And it won't take centuries, remember that 100k new Doge are mined EVERY TEN MINUTES. 1,440 minutes in a day * 10K per minute is 14.4 million new coins per day. That's damn near every Bitcoin to ever exist mined every day in Dogecoin10 -
20+ years ago we got a contract to replace an old home grown system for managing rented equipment for a company with offices in two countries with a new standard system.
I was tasked with building a few addon modules to handle import and reporting that the standard system lacked.
Over the course of 8 months and multiple trips to their head office for on premises development along side their people that knew how it should work (there was a lot of waiting for info so it was not 8 months of actual work) we finally was ready to present the finished solution.
After about one hour of demonstration their boss questioned why we did not demonstrate the connection to their corporate group accounting system ...
“Corporate group accounting?”
After some confused discussion it turns out that in one of the first meetings the sales person had they had mentioned this accounting system and that all accounting info was to be exported there.
This requirement was never listed in the specifications we got and looking into it it turned out that the standard system did not support such exports at all.
In the end we had to throw it all away as it proved impossible to get that info out of the system (which was not of our design).
We barely avoided having to repay all fees as their people had approved the specification but standing there without a clue to what he was asking for was a very scary experience, thinking “how could we miss this?”2 -
What?... really?... You read my code? ...*wipes away tears*
THANK YOU SO FUCKING MUCH!!! You sir/madam/undefined are a true gentleman and scholar! (even if you are just a troll picking random shit apart to flash around your superior knowledge of design patterns).
Any time I receive a code review, that is bearing that is an actual review, born of free will and not a mandatory report - I feel flattered beyond words.
> Think its shit? - GREAT FINALLY FEEDBACK!
> Have an idea? - I'm all ears.
> Trying to sound smart? - You still read/used my shit.
> Want to understand my approach? - Grab a drink and get comfy son.
In a world where I am usually the only person in the world that knows WHAT MY ACTUAL WORK IS and there being only a select few people on the planet able to understand it, I am always grateful for developer feedback.
Seriously... out of your own volition you used my code, read it, made an effort to understand my thinking and THEN REACHED OUT TO ME with ideas!!??
I could kiss you... you beautiful binary saint.3 -
Has it ever happened to anyone that you get hired as a backend java developer without going through any sort of evaluation and for some reason you start getting only design/frontend tasks and you politely complain but the dickhead says "well you should be able to do everything, and I want it before tomorrow" but you kind of need the money so "what the hell" and a couple days later you fully remember again how much you hate spending a whole day trying to get a bloody bar sticked to the bottom of the page while some dickass hits your slack and whatssapp with the nerving "where are my screens?" and start thinking "...do I really need to eat this month..." but anyways you make your research and ask for help and stop sleeping and do as much as you can to get the sh*t done and please the dickhead because you want his money?
...Anyone?
...No?
...Just me?
...Oh well, have a nice day/evening6 -
Fun day, lots of relief and catharsis!
Client I was wanting to fire has apparently decided that the long term support contract I knew was bullshit from go will instead be handled by IBM India and it's my job to train them in the "application." Having worked with this team (the majority of whom have been out of university for less than a year), I can say categorically that the best of them can barely manage to copy and paste jQuery examples from SO, so best of fucking luck.
I said, "great!," since I'd been planning on quitting anyways. I even handed them an SOW stating I would train them for 2 days on the application's design and structure, and included a rider they dutifully signed that stated, "design and structure will cover what is needed to maintain the application long term in terms of its basic routing, layout and any 'pages' that we have written for this application. The client acknowledges that 3rd party (non-[us]) documentation is available for the technologies used, but not written by [us], effective support of those platforms will devolve to their respective vendors on expiry of the current support contract."
Contract in hand, and client being too dumb to realize that their severing of the maintenance agreement voids their support contract, I can safely share what's not contractually covered:
- ReactiveX
- Stream based programming
- Angular 9
- Any of the APIs
- Dotnet core
- Purescript
- Kafka
- Spark
- Scala
- Redis
- K8s
- Postgres
- Mongo
- RabbitMQ
- Cassandra
- Cake
- pretty much anything not in a commit
I'm a little giddy just thinking about the massive world of hurt they've created for themselves. Couldn't have happened to nicer assholes.3 -
On my first week in the internship, I have to create a small website and it has to be finished ASAP. So I used Bootstrap.
After finishing I tested the website in chrome debugger tools for every screen size (design responsiveness), it was working fine. My stupidity was that I haven't tested on actual mobile/tablet.
The site was live, I send the link to one of my friends and he said "why everything is so small? looks like I'm browsing on PC". I quickly grab my phone and visited the site and it was not responsive on mobile. Started to check the code again, tested again on chrome tools it was working. But not on mobile. Changed the bootstrap file but no fucking changes on mobile.
After few moments of thinking, I realized that I haven't included the "meta viewport" tag. I felt so stupid and it was kind of embarrassing for me.
Now I first include meta tags before working on new project.5 -
A discussion about writing tests for frontend applications.
Context: my frontend coworkers don't write tests, at all. Yeah, really. Our testing process is very manual. We test manually when developing. We test manually when reviewing code. After merging, the application is deployed to a staging server and the design team does a QA Sprint. Lots of manual testing and some bugs still crawl by.
So I decided to start pushing my coworkers to start writing tests. One of the reasons I constantly hear them say to not write tests in the frontend is: "It's not worth the time, because design keeps changing, which means we have to take time to fix the tests. Time that we usually don't have."
I've been thinking about this a lot and it seems to me that this is more related to bad tests than to tests in general.
Tests should not break with design changes (small changes at least). They should test funcionality, not how things look. A form should not break if the submit button's style changes, so why should its tests fail? I also think that tests help save time, as they prevent some back and forth because of bugs.
Writing good tests is the hard part. Tests that cover what's really important and aren't frail and break with things that shouldn't break them. What (and how) should we test? And what shouldn't be tested?
Writing them fast is another hard thing. Are you doing it right if they take more time to write than the actual code?
What do you think about this? Do you write tests for your frontend applications? What do you test? How much time do you spend writing tests? What are your testing tools/frameworks?6 -
So I Bought this bio metric pad lock for my daughter. She excitedly tried to set it up without following the directions( they actually have good directions on line) first thing you do is set the "master print" she buggered that up setting her print. So when I got home I was thinking, no problem I'll just do a reset and then we cant start again.
NOPE !!! you only have one chance to set the master print! after that if you want to reset the thing you need to use the master print along with a physical key that comes with it.
What sort if Moron designs hardware / software that is unable to be reset. Imagine how much fun it would be if once you set your router admin password it was permanent unless you can long back in to change it. Yea nobody has ever forgotten a password.
Well they are about to learn a valuable financial lesson about how user friendly design will influence your bottom line. people (me) will just return the lock to the store where they bought it, and it will have to be shipped back to the factory and will be very expensive for them paying for all of the shipping to and from and resetting and repackaging of the locks and finally shipping again to another store. Meanwhile I'll keep getting new locks until at no cost until she gets it right.
poor design34 -
I’m tired of all these profane “frontend developers” who do nothing but get cheap internet points by shitting on web technologies.
Bitch, NPM is just a package manager. That’s what it is. Anyone who ever used a package manager already knows how to use NPM.
Here on devrant, there at your workplace, people hear nothing but bitching when you open your mouth. You always need a “solid task description” and “best practices”. You always need somebody else to do your job for you. Frontend is the area where you have to constantly switch between heavy, performance-oriented coding, UX and graphic design while remaining in a dynamic environment that is called “web”, no wonder why you can’t do that. Instead of bitching, you could just present your own solution you designed with just a little bit of product-oriented thinking. But noooo, you fucking bother designers whenever you’re not sure about “how many pixels is that padding”.
You can only be barely productive (and only with a frozen spec) but can never take the lead just once.
In the 80s your kind of approaches were doubted, by the 90s they were dead. In 2020s they’re straight up laughable.
And don’t get me started on CSS. You have to be an absolute buffoon of a developer to not know how to use a DECLARATIVE tool that don’t even require real structural thinking.
No wonder why you praise php. You throw shit all over the place and tell everybody that you’re a “sociopath” and you don’t need that “stupid frontend” and “stupid users”. But you know what? Any real backend or embedded dev would’ve laughed at your face.
Because backend developers are respected.
You’re not.10 -
From NAND to Tetris..
This book is IMO the best book for those who want to venture to the lower level programming.
This books retrains you’re thinking, teaches you from the bottom up! Not the typical top down approach.
You begin with the idea of Boolean algebra. And the move on to logic gates.. from there you build in VHDL everything you will use later.
Essentially building your own “virtual machine”.. you design the instruction set. Of which you will then write assembly using the instruction set to control the gate you built in VDHL.
THEN you will continue up the abstraction layer and will learn how a compiler works, and then begin written c code that is then compiled down to your assembly of your instructions set to be linked and ran on your virtual machine you built.
All the compiler and other tools are available on the books website. The book is not a book where you copy and paste, run and done.... you kinda have to take the concepts and apply them with this book.
Then once you master this book, take it the extra step and learn more about compilers and write your own compiler with the dragon book or something.
Fantastic book, great philosophy on teaching software.. ground up rather than top down. Love it! It’s Unique book.21 -
I AM TIRED
warning: this rant is going to be full of negativity , CAPS, and cursing.
People always think and they always write that programming is an analytical profession. IF YOU CANNOT THINK IN AN ANALYTICAL WAY THIS JOB IS NOT FOR YOU! But the reality could not be farther from the truth.
A LOT of people in this field whether they're technical people or otherwise, just lack any kind of reasoning or "ANALYTICAL" thinking skills. If anything, a lot of of them are delusional and/or they just care about looking COOL. "Because programming is like getting paid to solve puzzles" *insert stupid retarded laugh here*.
A lot of devs out there just read a book or two and read a Medium article by another wannabe, now think they're hot shit. They know what they're doing. They're the gods of "clean" and "modular" design and all companies should be in AWE of their skills paralleled only by those of deities!
Everyone out there and their Neanderthal ancestor from start-up founders to developers think they're the next Google/Amazon/Facebook/*insert fancy shitty tech company*.
Founder? THEY WANT TO MOVE FAST AND GET TO MARKET FAST WITH STUPID DEADLINES! even if it's not necessary. Why? BECAUSE YOU INFERIOR DEVELOPER HAVE NOT READ THE STUPID HOT PILE OF GARBAGE I READ ONLINE BY THE POEPLE I BLINDLY COPY! "IF YOU'RE NOT EMBARRASSED BY THE FIRST VERSION OF YOU APP, YOU DID SOMETHING WRONG" - someone at Amazon.
Well you delusional brainless piece of stupidity, YOU ARE NOT AMAZON. THE FIRST VERSION THAT THIS AMAZON FOUNDER IS EMBARRASSED ABOUT IS WHAT YOU JERK OFF TO AT NIGHT! IT IS WHAT YOU DREAM ABOUT HAVING!
And oh let's not forget the tech stacks that make absolutely no fucking sense and are just a pile of glue and abstraction levels on top of abstraction levels that are being used everywhere. Why? BECAUSE GOOGLE DOES IT THAT WAY DUH!! And when Google (or any other fancy shit company) changes it, the old shitty tech stack that by some miracle you got to work and everyone is writing in, is now all of a sudden OBSOLETE! IT IS OLD. NO ONE IS WRITING SHIT IN THAT ANYMORE!
And oh my god do I get a PTSD every time I hear a stupid fucker saying shit like "clean architecture" "clean shit" "best practice". Because I have yet to see someone whose sentences HAVE TO HAVE one of these words in them, that actually writes anything decent. They say this shit because of some garbage article they read online and in reality when you look at their code it is hot heap of horseshit after eating something rancid. NOTHING IS CLEAN ABOUT IT. NOTHING IS DONE RIGHT. AND OH GOD IF THAT PERSON WAS YOUR TECH MANAGER AND YOU HAVE TO LISTEN TO THEM RUNNING THEIR SHITHOLE ABOUT HOW YOUR SIMPLE CODE IS "NOT CLEAN". And when you think that there might be a valid reason to why they're doing things that way, you get an answer of someone in an interview who's been asked about something they don't know, but they're trying to BS their way to sounding smart and knowledgable. 0 logic 0 reason 0 brain.
Let me give you a couple of examples from my unfortunate encounters in the land of the delusional.
I was working at this start up which is fairly successful and there was this guy responsible for developing the front-end of their website using ReactJS and they're using Redux (WHOSE SOLE PURPOSE IS TO ELIMINATE PASSING ATTRIBUTES FOR THE PURPOSE OF PASSING THEM DOWN THE COMPONENT HIERARCHY AGIAN). This guy kept ranting about their quality and their shit every single time we had a conversation about the code while I was getting to know everything. Also keep in mind he was the one who decided to use Redux. Low and behold there was this component which has THIRTY MOTHERFUCKING SEVEN PROPERTIES WHOSE SOLE PURPOSE IS BE PASSED DOWN AGAIN LIKE 3 TO 4 TIMES!.
This stupid shit kept telling me to write code in a "functional" style. AND ALL HE KNOWS ABOUT FUNCTIONAL PROGRAMMING IS USING MAP, FILTER, REDUCE! And says shit like "WE DONT NEED UNIT TESTS BECAUSE FUNCTIONAL PROGRAMMING HAS NO ERRORS!" Later on I found that he read a book about functional programming in JS and now he fucking thinks he knows what functional programming is! Oh I forgot to mention that the body of his "maps" is like 70 fucking lines of code!
Another fin-tech company I worked at had a quote from Machiavelli's The Prince on EACH FUCKING DESK:
"There is nothing more difficult to take in hand, more perilous to conduct, or more uncertain in its success, than to take the lead in the introduction of a new order of things."
MOTHERFUCKER! NEW ORDER OF THINGS? THERE 10 OTHER COMPANIES DOING THE SAME SHIT ALREADY!
And the one that got on my nerves as a space lover. Is a quote from Kennedy's speech about going to the moon in the 60s "We choose to go to the moon and do the hard things ..."
YOU FUCKING DELUSIONAL CUNT! YOU THINK BUILDING YOUR SHITTY COPY PASTED START UP IS COMPARABLE TO GOING TO THE MOON IN THE 60S?
I am just tired of all those fuckers.13 -
How I should approach a new project:
- think about data design
- draw some tables
- configure relations
- create data structures
....
How reality proves I'm a donkey:
- builds random table
- works on models, with random querys
- realizes things get to complicated and relations are broken or tables need duplicate logic
- starts thinking about 'good' design
- draw some tables
- configure relations
- create data structures
.... -
Only if people understood the amount of effort that goes behind building a simple app.
Even if it's a simple notes app, I've to design the UI (at least 2 different activities - 1 for the list and the other for editing notes), write the code which makes it run i.e. without which the app is just a piece of empty design, think about what data
structures to use (that notes you are saving need to be stored somehow) and then club everything together and hope nothing breaks (spoiler alert: something will definitely break).
People need to understand that it's not just putting some fancy buttons and boxes around. Also, I'm not just making the app for one device. I've to make sure it works on different screen sizes, different versions of the OS (a user can't imagine how many functions need to be re written because something got deprecated in the process and I'd to switch to something different).
Also I'm not just sitting at my computer and converting coffee to code. I've to think about the flow, structure, design, navigation, backend etc. Of the app; most of my time isn't spent writing code but thinking/studying how to write the code. I also need to wait while the project is compiling/building every time I want to test it.
A function which you think is hard to implement night be really easy while something you claim is easy might be a nightmare. Oh and I didn't even mention how I need to stick to some design guidelines to make the app look consistent with the rest of the OS.
If you're wondering why a developer is spending most of his time on a browser, he isn't playing internet games or browsing reddit ( at least you better hope not), he's probably looking at the docs/stack overflow to get something to work/fix something!
Wow! That was long. Thanks!3 -
Fuck this day!
Like really fuck it!
I have one of the most terrible crunch-time i ever experienced.
I’v been working 12+ hours every day with an ever-changing project timeline.
It started simple, we made a timeline, it was risky even then but it was realistic, we started working immideatly, everything looked good then a few days in BOOM! Actually our project management completely forgot client B’s projects soo we need to do that too with the same fucking deadline!!! (About 10x more work in waay less time)
Then this morning i got an email from the graphics team that we need to document our design process RIGHT FUCKING NOW! Because management wants documentations, in the middle of a fucking crunch-time.
Today it almost got physical with my project manager, i told him that he is not a programmer, i dont fucking care about his shit, just fuck off and let me work because we won’t be ready based on his unrealistic bs.
I feel like completely fucked over, like we were told 2 days before deadline that the whole company and people’s jobs depends on us now because if we wont finish this clients won’t pay.
WE ARE TWO PROGRAMMERS for studio of 10-12 people!!!
Soo i’w been thinking about getting the fuck out of here ASAP, i got an offer from a pretty big international gamedev company just what i needed, i already did their test before all of this, i passed A+.
We scheduled a skype interview for today. I had completely no time to prepare or chill off, just got out of the office, got into a starbucks and i’m interviewing. No time to even check my mic or internet, the call was so shit i could not hear anything, they neither because the plaza was loud af. Meanwhile im nervous about work, about the interview, about can they hear me at all because of the noise. I fucked it up. BIG time! I was so done i could not reverse a fucking string in c++ or explain what is a signed int!!!
Needless to say they said no.
Need time to think about it or realize what happened? Nice dreams. Back to the office and continue working.
I can’t do this anymore. My girlfriend came for me and took me home at 10pm but all i could do was stare at the floor on the subway. I don’t want people to lose their jobs but i just phisically can’t do this anymore.
Meanwhile any time i talk to my project manager about being tired he says like “hshshsbsb i have 60 hours in the last 4 days i got the worst part, i would be grateful in your place..” like fuck off dude, i dont give fuck about how you feel about this. This is not okay for me, you did this to the project, your fucking job is to manage it! I have one day off before going back to this, i have completely no idea what to do now...
[ps: this is not Nemesys. They did not let me work on my own stuff because i would be a competitor, so i left.]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 -
After days and days of thinking and looking for inspiration, yesterday I came up with an original design.
Everything good, and after an hard work I relax reading the Google Play Awards 2018 nominations. Fine, except for the fact that there's an app which looks EXACTLY like mine.1 -
If you're making a game, dont start by thinking about your inventory system. Start by thinking about what you want your player to be able to DO, the cost of those things, and the constraints.
For example, ages of empires didnt have you worrying about unit equipment at all. every villager could do almost any job. while survival games, especially survival horror, like the recent RE remake, severly restrict inventory and stack sizes to make resource managenent more important.
Games like Fallout had list based inventories because lists are cheap, and it allowed a tighter interaction loop. players would loot. go into inventory. close container, onto the next container, keeping the player in the exploration loop longer. neoscav did the opposite *for effect* harkening back to diablo, but taken to the nth degree: *everything*, actions, combat, exploration, character design, all based on an inventory-style grid.
while games like rimworld and dwarf fortress have your inventory represented by zones where items are physically *stored* in stacks on the ground, extending the concept of base management to resource management through physical layout and build optimization.
its important to think about what kind of actions you want players to be able to do, and the kinds of challenges and constraints you want on them at each point of the game and each mechanic they engage in.
other examples, though terrible, include fortnite, where the limitations of competitive play had inventory limited to a resource system and a hotbar. while earlier battle royale and sandboxs games like rust and battleground induced tension by combining loot mechanics and grid inventories with the constant danger of competing players, allowing them to have richer inventory systems at the risk of frusterating players who frequently died while managing their inventory. meanwhile in overwatch, notice how the HUD changes to best represent the abilities of each character.
all in all it is better to stop thinking of inventory systems as a means to an end, and instead as the end representation of desired mechanics, or artificially selected representations for particular effects.
this applies likewise to ui and ux in general. because the design of interface is fundementally about the design of *interactions*, and what you want to enable a user or customer to *do* will ultimately drive those interactions.6 -
Recently attended a final stage interview. So far probably spent 60% of the time discussing my previous roles/experience - (sigh) Then along comes the "Core Java" questions. FINALLY!! My chance to really shine.
Q: How do you make an object a singleton?
I give my answer, thinking this is the ice breaker question and ready for the next question...
Nope, thats it! Apart from the automated tech test in the previous round, my entire tech ability is measured by whether I can memorise a design pattern!8 -
So I started a 80hour intership today at our Department of Education and this is how it went...
Boss : Design a database to show all applicants that applied for jobs at schools.
*I start thinking which tables and columns I'm going to use and start designing the database, writes out all the tables on paper*
Me : Is there a pc I should work on or should I use my laptop? And which database engine do you use?
B : No you can use your laptop. And btw we use MS Access
*Thinking wtf kind of business even governmental uses Access for their databases. But anyway, start creating the databases and relationships when my boss walks in*
B : No, what are you doing?
M : Im creating the database you asked for.
B : No, you design it on paper. Draw all the tables, draw the report and the form then you come show it to me, if I decide its good enough you can come in tomorrow and start creating it.
*Wtf kind of place is this, are you mentally retarded? You have a IT staff of 3 people, in which only the actual fulltime intern is a qualified IT professional, but when me or him tries to do some actual work, you give us shit about doing what was asked from us*5 -
*in Sprint planning listening to my PM creating tasks*
PM (to Team): So this will be an MVP we can expand on in the future. Do let me know upfront if any tasks should not be in the Sprint.
Team Manager (to PM): Let's see... Yeah I think you've nailed it... Good.
Developer (to Team): Guys, I see the task for the frontend team to integrate machine learning doesn't have any details.
PM (to Developer): Ooh machine learning! Good catch!
PM (to Team Manager): This was one of the tasks we really needed this quarter, will we still be on track?
Team Manager (to PM): Yeah no worries we'll add it as part of the MVP design in Confluence.
PM: Okay assigning the task now. *Assigns to Developer*
*Team Manager goes on 1 month vacation*
Me (thinking to myself): Wtf3 -
I feel so empty.
I can't keep up with what is being teached to us in the mathematical courses. Everything else is fine. "Algorithm and data structures" aka Info A (Programming in C++) and "Computer engineering" aka Info C (details of how a CPU, RAM etc. works) is understandable, but when it comes to math I, completely, am lost.
2-4 hours drive to university and 2-4 hours drive back to my home each day. Two oral examinations each week in Info A and Info C. Three assignments in Info A, Info C and math.
I was so naive to believe that I would be more free and have more free time as a student haha.
Maybe I should switch to a university of applied sciences. The classical university is too theoretical for me, but in the same time I know that I can't keep up with the time when I have to build a circuit in the university of applied sciences.
I am able to design and build a circuit, but I am slow. Probably because I am checking many times if I did it properly before testing it.
To my fellow German devRanters who have studied or tried to study: You all just read my situation and my thoughts. Am I wrong about what I am thinking about a university of applied sciences? How are the mathematical courses there in terms of difficulty?
If mathematics is at the same difficulty, I will try to do something else that has nothing to do with college. It just won't get into my brain.32 -
Deleted accounts could have a skeleton/corpse as the picture.
Adding "no offense" in the tags just to be a bit polite.6 -
Customer: I want to be included in any and all design and development meeting in the future.
Me: OK, I mean, I'm just one person so there's not formal meetings as such...
Customer: Nevertheless, I wish to be included and ensure my needs are met.
Some time passes.
Me: So, I'm thinking of swapping out the old Beanshell interface, cos, really... Interpreted, scriptable Java isn't great and most users don't want to write Java just to run some jobs. Could you help me with creating an API that fits you and your departments needs?
Customer: No, I'm way to busy to deal with this right now!
Me: And when would be convenient for you?
Customer: I don't know, just not now.
To this day, despite successfully integrating the rhino js engine into the app, part of the software I develop has a bean shell interface rather than js, Python or lua.
-_- I hate bean shell... -
I never thought to I'd say this about an open-source project, but if I wanted to single out an unbeatable case of "Bad Design", and the manifestation of the term "Redundancy Hell", It is definitely Calibre.
Single job: To keep some e-book files + some metadata.
What it does in brief: In a single dir as your library; From metadata stored IN each file; It generates subdirs <author_name>/<title_name>(<some_numerical_id>), copies the e-book file there, generates a jpg cover from the first page and also stores it there, generates an xml file to support legacy e-book formats (but it generates it anyway even for pdfs), which contains all the same metadata for the file, including title, author and href for the cover, and also stores it there. And then, all the same metadata for all books is stored in a metadata.db in the library root folder. I don't know if there is more data stored/used somewhere in a more obfuscated way.
Not too much to ask: Change some author/title/any single field.
What is done: 💩🌋
It is so helpful, it does all the stuff by itself or its plugins; you don't have to touch anything. But it also has this amazing ability to fuck everything up without even being touched. I mean WHAT THE FUCK WERE YOU THINKING? WHAT KIND OF A FUCKING DESIGN IS THIS? A FUCKING FRACTAL?
Literally, If I had listed all my books on physical papers with a real life pen, It would take me less time that I've already wasted on unfucking the regular disasters. Fuck you and your arrogant responses to issues. -
So technical interview today but woke up (6am) and started thinking about it and it led to this rant about algorithms. This is probably going into a Medium post if I ever get around to finishing it but sort of just wanted to share the rant that literally just went off in my mind.
*The problem with Algorithms Technical Interviews Is They don't test Real skills*
Real world problems are complex and often cross domain combining experience in multiple areas. Often the best way is not obvious unless you're a polymath and familiar with different areas, paradigms, designs. And intuitively can understand, reason, and combine them.
I don't think this is something a specific algorithm problem is designed to show. And the problem is the optimal solution to some of these and to algorithm design itself is that unless you train for it or are an algorithm designer (practice and experience), you can only brute force it in the amount of time given.
And quite frankly the algorithms I think we rely on daily weren't thought of in 30 minutes. The designers did this stuff for a living, thought about these problems for days and several iterations… at least. A lot were mathematicians. The matrix algorithm that had a Big O of 7N required a flash of insight that only someone constantly looking and thinking about the equations could see.
TBA
-system design
-clean readable coding practices
...
TLDR: I could probably go on and on about this stuff for hours jumping from item/example/area to the next and back again... But I don't think you can test these (~20) years of experience in a 1 hr technical interview focused on algorithms...8 -
I'm a junior dev less than 1 year into my first job out of college. I'm halfway done reading Clean Code (my first software book out of college) and I'm really enjoying it!
What should I read next? I was thinking something about design patterns. Should I go for the classic GoF book or continue with Robert C Martin and read "Agile Software Development, Principles, Patterns, and Practices"?9 -
I don't mind Apple marketing themselves as these revolutionary thinkers and innovators, because I figured most people see behind the marketing but appreciate Apple for what it is. It's a big company that makes well built products, that are efficient and give good support to those products.
But I'm sick to death of tech journalists talking about how every new feature is the death of Android. They have to be kidding themselves if they think what Apple's doing is innovating. Samsung's been designing screens for the bezelless market for a LONG time, and their technology in that is incredibly advanced (it's why if you use their iPhone x you'll be looking at a screen from Samsung!)
They finally adopted wireless charging and pretended it was brand new, but I remember when they came out with the Apple watch, marketing it like they'd broken ground when Android Wear watches had been out for a year!
I don't want people to think I hate Apple, I own a few of their products. I think they're remarkably invested in user privacy; homekit imo is one of the most forward thinking implementations of smart home technology that I've seen, and the new processor in the iPhone x is a Mammoth powerhouse. So, I'm not necessarily saying anything about that, but what I am saying is that they're iñcredible at marketing, but fanboys but are not self-aware can enough to recognize when the Designed-by-Apple hype over shadows the actual objectivity or the situation. There are articles already talking about Apple's wireless charging.
TL;DR I swear to god if an apple fanboy comes at me saying the bezelless design was Apple's innovation, I'm going to snap. I appreciate what Apple does well, but unfortunately people can't appreciate a product without needing to identify with it.6 -
I just can't stress enough how fascinated I am by biology and biochemistry.
I mean, we, who call ourselves engineers, are no more but a gang of toddlers having a blast with jumbo legos on Aunt Lucy's dining room carpet on a sunny Sunday afternoon. Our solutions using "modern tools" and "modern engineering" are mere attempts to *very* remotely mimic what beautiful and elegant solutions are around us and inside of each of us.
IC/EC engines, solar batteries, computers and quantum computers, spaceships and ISSes, AI/ML, ... What are they? just the means to leverage what's been created all around us to create something that either entertains us, encourages our laziness or helps us to look at the other absolutely fascinating engineering solutions surrounding us so we could try and "replicate" their working principles to further embrace our laziness and entertain us.
Just look at the humble muscle - a myofibril made out of actin and myosin. The design is soooo simple and spot on, so elegant and efficient, the "battery" and signalling system are so universal and efficient.
Look at all those engineering miracles, small and big. Look how they work, how they leverage both big and small to create holistic, simplistic and absolutely efficient mechanisms. And then come back to me, and tell me again that all these brilliant solutions came out of nothing just by an accident we call "evolution".
How blinded by our narcissism are we to claim that there can't be a grand designer of any kind, that there's nothing smarter than us and that the next best thing than us is an incomprehensible series of accidental mutations over an unimaginable amount of time?
I mean.. could it be that someone/something greater than us created us and everything around us? naaaah.. we are the crown jewel of this universe. Everything else must be either magic or an accident. /s
Don't read this as yet another crazy-about-God person's ramblings. I'm not into religion fwiw. But science has taught me enough critical thinking to question its merit. Look at it all as engineers. Which is more probable: that everything around us happened by an accident or that someone/something preceding us had a say in the design?random biology humanity think about it biochemistry creation big and small shower thoughts narcissism had to be said naive evolution20 -
I know I haven't been responding to a lot of you lately. I've been busy helping neighbors and my community, doing MAAAAAATH, working on my car, and moving a shit ton of scrap and lumber.
I've been thinking about getting a motorcycle. Fuck, maybe I'm experiencing a midlife crisis, but early.
Been busy doing some design work as well for the game, and arrived at something that I'm satisfied with enough that I might demo it.
I'm also looking for a job, and I think I might give up programming as a career path and persue welding or trucking or something considering theres basically zero opportunities for it unless you went to college.
It's good to have hobbys anyway. And who wants to turn their hobby into a job right?
Anyway, thats whats been going on with me.
Completely unrelated, but heres a really fantastic introduction to the basics of type theory:
https://wscp.dev/posts/tech/...2 -
What do you tell interviewers as a "Senior developer" when they ask you what you do at your current job.
I've been with my current for almost 8 years, since graduating... Few different time but not very well managed (semi/barely agile). Hasn't really provided any skill growth opportunities. Mostly fixing production issues, chasing other teams.
The projects I've worked on are in many different languages either enhancements or some standalone stuff. But nothing that's huge and I don't think I've learned anything from them. I usually apply what I learn and practice outside of work to work.
So to me I can probably list a whole lot of projects but to me their not that amazing, I didn't learn anything from them.
Also about those algorithm questions. I've never used any of this stuff actually at work. Concepts yes but not how do you implement ... And honestly I've never once had a situation that required algorithmic thinking other than maybe writing recursive functions in rare occasions...
But to me I've never once done anything harder or new which I haven't already done on my own....
Sorry for the disorderly rambling this turned into... which is sorta a problem too.
Everytime I think about interviews, I want to give rants about we technical questions are BS, how I probably have enough real experience to tackle any problem and come up with a good plan/solution (in a realistic timeframe, not 20 minutes from design to implementation)2 -
Manager: These estimates are wrong
Me: Why?
M: These shouldn't take too long
Me: Well you asked me to make those while I was busy with the mess design did.
Jr frontend: Manager is right. They shouldn't take too long.
*me knowing jr doesn't know the system nor coding standards*
Jr: I'll fix mine to get a more accurate estimation. Do you want me to do yours?
* Me thinking f*ck no*
Me: Just do yours.
M: Ok. Then we are settled.
He just wanted me to fit a 10 week project into 6 weeks while I carry the Jr and was complaining I didnt do it well.
Fml5 -
After I cured my depression with Vortioxetine which was prescribed to me because of pure luck, I can notice that something has changed.
I can't tell if I like or don't like something anymore. It doesn't matter now which food to eat, what music to listen to, I just can't see the difference. I dropped all my side projects, quit my job and got another, much easier one. I don't see the big picture of things anymore. I also lost my ability to reverse-engineer problematic outcomes and find solutions.
I used to be an architect but now I can't design anything, I just forgot how to do what I could do without thinking. I forgot Lisp and Clojure, functional programming is too hard for me now. I just don't understand it.
My iq also significantly dropped.
Summarizing all that, and also remembering that liking or not liking something implies that you have a personality, I can only see one reason – I probably don't have a personality anymore.
Here's a summary of my experiences from when I was depressed:
depression makes you dumb
you struggle with simplest tasks
you only eat and go to the bathroom because sometimes your basic instincts win
depression takes your power of will – the most valuable thing you have
society doesn't understand and shames you
you can't think
you can't focus
you can't study
you need money but you can't make it
you don't have that save space inside your thoughts anymore
you don't have dreams
your sleep schedule is fucked
every night there's a nightmare and you can't wake up
you can't cry
they prescribe you one neuroleptic after another and they only makes it worse, turning you into a vegetable
you feel nothing but shame and irrational infinite guilt10 -
It is the time for the proper long personal rant.
Im a fresh student, i started few months ago and the life is going as predicted: badly or even worse...
Before the university i had similar problems but i had them under control (i was able to cope with them and with some dose of "luck" i graduated from high school and managed to get into uni). I thought by leaving the town and starting over i would change myself and give myself a boost to keep going. But things turned out as expected. Currently i waste time everyday playing pc games or if im too stressed to play, i watch yt videos. Few years ago i thought i was addicted, im not. It might be a effect of something greater. I have plans, for countess inventions, projects, personal, for university and others and ALL of them are frozen, stopped, non existant. No motivation. I had few moments when i was motivated but it was short, hours or only minutes. Long term goals dont give me any motivation. They give as much short lived joy, happines as goals in games and other things... (no substance abuse problems, dont worry). I just dont see point of my projects anymore. Im sure that my projects are the only thing that will give me experience and teach me something but... i passed the magic barrier of univercity, all my projects are becoming less and less impressive... TV and other sources show people, briliant people, students, even children that were more succesful than me
if they are better than me why do i even bother? companies care more for them, especialy the prestigious ones, they have all the fame, money, funding, help, gear without question!
of course they hardworked for ther positions, they could had better beggining or worse but only hard work matters right?
As i said. None of my work matters, i worked hard for my whole life, studing, crafting, understanding: programming, multiple launguages, enviorements, proper and most effcient algorithms, electronic circuits, mechanical contraptions. I have knowlege about nearly every machine and i would be able to create nearly everything with just access to those tools and few days worth of practice. (im sort of omnibus, know everything) But because had lived in a small town i didnt have any chances of getting the right equpment. All of my electronical projects are crap. Mechanical projects are made out of scrap. Even when i was in high school, nobody was impressed or if they were they couldnt help me.
Now im at university. My projects are stagnant, mostly because of my mental problems. Even my lifestyle took a big hit. I neglect a lot of things i shouldnt. Of course greg, you should go out with friends! You cant dedicate 100% of your life to science!
I fucking tried. All of them are busy or there are other things that prevent that... So no friends for me. I even tried doing something togheter! Nope, same reasons or in most cases they dont even do anything...
Science clubs? Mostly formal, nobody has time, tools are limited unless you designed you thing before... (i want to learn!, i dont have time to design!), and in addition to that i have to make a recrutment project... => lack of motivation to do shit.
The biggest obstacle is money. Parts require money, you can make your parts but tools are money too. I have enough to live in decent apartment and cook decently as well but not enough to buy shit for projects. (some of them require a lot or knowlege... and nobody is willing to give me the second thing). Ok i found a decent job oppurtunity. C# corporation, very nice location, perfect for me because i have a lot of time, not only i can practice but i can earn for stuff. I have a CV or resume just waiting for my friend to give me the email (long story, we have been to that corp because they had open days and only he has the email to the guy, just a easier way)
But there are issiues with it as well so it is not that easy.
If nobody have noticed im dedicated to the science. Basicly 100% scientist that want to make a world a better place.
I messaged a uni specialist so i hope he will be able to help me.
For long time i have thought that i was normal, parent were neglecting my mental health and i had some situations that didnt have good infuence on me as well. I might have some issiues with my brain as well, 96% of aspargers symptoms match, with other links included. I dont want to say i have it but it is a exciuse for a test. In addition to that i cant CANT stop thinking, i even tried not thinking for few minutes, nope i had to think about something everytime. On top of that my biological timer is flipped. I go to sleep at 5 am and wake up at 5pm (when i dont have lectures).
I prefer working at night, at that time my brain at least works normaly but i dont want to disrupt roommates...
And at the day my brain starts the usual, depression, lack of motivation, other bullshit thing.
I might add something later, that is all for now. -
I really need to vent. Devrant to the rescue! This is about being undervalued and mind-numbingly stupid tasks.
The story starts about a year ago. We inherited a project from another company. For some months it was "my" project. As our company was small, most projects had a "team" of one person. And while I missed having teammates - I love bouncing ideas around and doing and receiving code reviews! - all was good. Good project, good work, good customer. I'm not a junior anymore, I was managing just fine.
After those months the company hired a new senior software engineer, I guess in his forties. Nice and knowledgeable guy. Boss put him on "my" project and declared him the lead dev. Because seniority and because I was moved to a different project soon afterwards. Stupid office politics, I was actually a bad fit there, but details don't matter. What matters is I finally returned after about 3/4 of a year.
Only to find senior guy calling all the shots. Sure, I was gone, but still... Call with the customer? He does it. Discussion with our boss? Only him. Architecture, design, requirements engineering, any sort of intellectually challenging tasks? He doesn't even ask if we might share the work. We discuss *nothing* and while he agreed to code reviews, we're doing zero. I'm completely out of the loop and he doesn't even seem to consider getting me in.
But what really upsets me are the tasks he prepared for me. As he first described them they sounded somewhat interesting from a technical perspective. However, I found he had described them in such detail that a beginner student would be bored.
A description of the desired behaviour, so far so good. But also how to implement it, down to which classes to create. He even added a list of existing classes to get inspiration or copy code from. Basically no thinking required, only typing.
Well not quite, I did find something I needed to ask. Predictably he was busy. I was able to answer my question myself. He was, as it turns out, designing and implementing something actually interesting. Which he never had talked about with me. Out of the loop. Fuck.
Man, I'm fuming. I realize he's probably just ignorant. But I feel treated like his typing slave. Like he's not interested in my brain, only in my hands. I am *so* fucking close to assigning him the tasks back, and telling him since I wasn't involved in the thinking part, he can have his shitty typing part for himself, too. Fuck, what am I gonna do? I'd prefer some "malicious compliance" move but not coming up with ideas right now.5 -
I don't scream because my teams are in a different country and we communicate by IM and email.
I do write long ranting/passive-aggressive emails or type really quick replies when I'm pissed though. .
An example of the latter:
Boss: I need you to make a "quick" fix...
Me: hmm ok sounds like we should implement it like ...
Boss: I was thinking something like this... since it's a temp fix
Need: (typing faster) why is it a temp fix... why not builds it properly so it can be reused
Boss: but that takes time, this is quicker
Me: it's bad design because ... (Typing so fast I'm making typos)... Anyway I can do it. This is better...
Boss: ... ok fine... if you can finish it before deadline6 -
Hitting a really deep, deep low in the manic-depressive roller-coaster of the development cycle:
There comes the crunch time. No meeting goes by hearing the odious: "We don't have time for that." - One critical component needs to be finished for Big Sur and instead of addressing the real issues we keep changing design and goal. One main dev already gave up fighting the PO and team lead(!) - and now I'm next. So that dev build this really clean and minimal library as the core part. But now it's just like, yeah, take that nice Porsche engine put it on the old rusty bicycle from the shed,.. but maybe because that's so shitty we need that specially formed exhaust pipe to tune it. Yeah, very 'agile' - Only thinking about it makes me shudder in disbelief and anger. I shouldn't take that shit so serious, be emotional about shit code, I know, but I can't. Let them drive some rounds around the block, if it runs at all,.. because until now we still didn't make it run on the fuckin' street. It's all so insane. Will make some nice fireball, when it goes up in flames.
Well, I have been part of quite some shitty projects. Real suicide commandos set out to fail, and somehow stood them through or made it even "work" though it should never have. But what enrages me here is, that it needn't to be that way. We had plenty of time. Our team was often rowing along in good rhythm. And now I just feel drowned in resignation and sarcasm.rant fuck po resignation crunch time shitty design manic-depressive sarcasm low roller-coaster low fail hard -
Got a new job on a big brand bank in the financial district in NYC, went through multiple code interviews, 2 hours of in person interviews asking me about architectures, design patterns, solutions to imaginary complex problems(which I enjoyed thinking about), finally got accepted, background checks needed before starting (previous job check, credit, drugs, etc..) so I waited 2 months, 1st day at work, the building is huge and cool, biggest spaces I've ever seen, amazingly insane large monitors and people working on a great variety of new technologies.
I was assigned to a corner far away from the open spaces, trying to understand a project that I will maintain who works with java 5, struts and jsp(for fucks sake, JSP!!!)
Why life laughs on my face? why?4 -
I've spent a lot of time messing around with C, having struggled with object-oriented programming (due to not really knowing how best to structure things, not knowing when to apply certain design patterns).
When writing C code, I'd write OOP-esque code (pass around a struct to routines to do things with it) and enjoyed just making things happen without having to think too much about the overall design. But then I'd crave being able to use namespaces, and think about how the code would be tidier if I used exceptions instead of having every routine return an error code...
Working with Python and Node over the past couple of years has allowed me to easily get into OOP (no separate declaration/definition, loose typing etc.) and from that I've made some fairly good design decisions. I'd implemented a few design patterns without even realising which patterns they were - later reading up on them and thinking "hey, that's what I used earlier!"
I've also had a bit of an obsession with small executable files - using templates and other features of C++ add some bloat (on Windows at least) compared to C. There were other gripes I had with C++, mostly to do with making things modular (dynamic linking etc.) but really it's irrelevant/unreasonable.
And yes, for someone who doesn't like code bloat, working with Node is somewhat ironic... (hello, node_modules...)
So today I decided to revisit C++ and dust off my old copy of C++ in a Nutshell, and try to see if I could write some code to do things that I struggled with before. One nice thing is that this book was printed in 2003, yet all of its content is still relevant. Of course, there are newer C++ standards, but I can happily just hack away and avoid using anything that has been deprecated.
One thing I've always avoided is dynamic_cast because every time I read about it, I read that "it's slow". So I just tried to work around it when really if it's the right tool for the job, I might as well use it... It's really useful!
Anyway, now I've typed all this positivity about C++ I will probably find a little later on that I hit a wall with what I'm doing and give up again... :p7 -
DevRant has increased my asshole-ery. Reading work design docs and I keep thinking, "really? That's your choice? Obviously this is a joke. You expect us to do what?? In what timeframe?"2
-
To be honest I forgot completely about the ducks and was kind of disappointed to see them, don't understand me wrong, its a great addition to the shop (especially to support devrant more when buying them and I will probably do too) and trogus (wow it's pronounced t-rogus) deserves a lot of respect for going through the very hard process of developing it, getting somebody to do a decent quality result etc. but I was hoping for the new site that got hyped up some time ago or some update to the app that fixes design issues on phones that have 2k resolution and no statusbar and more. ("just open a github issue" - I don't have one right now and it didn't get much attention anyway, since I am in the niche of people with those kind of setups, most people it seems have phones that can even barely run the app lol). The login still pops up each time you visit the site (basically just click it away, but it's rather annoying to have it pop up), it's nowhere near to the original app (although the native app is written in some sort of wrapper anyway?) - especially what comes to options, customizing, deactivating things, posting into categories (newest feature), getting notifications etc
There is some community builds that try to recreate a better desktop experience, but sadly fail to do so (sorry to devrantron and others, but what the fuck were you thinking when you rounded only the top right and left corner?) - since they always have something that is just thrown out to "be there" or design fails (which devrant just lacks and looks good across the board), that makes me rather cautious if that program doesn't send my credentials to some african prince. ("just look at the sourcecode", yes I have better things to do, thanks)
I could just create my own build, having to reverse engineer the whole website and app (granted, most of it are just api calls), but I simply lack the time (so I understand why my mentioned problems aren't getting really any attention or can't be implemented that fast, yet still its somewhat bugging)
I have listened to the Q&A and I know you guys are working full time at for example adobe (amazing that you both have time to be putting it towards devrant), so its not as much of a rant, just wanted to get out my disappointment about the event I felt personally. Still nice to have seen you and talk with the community a bit (although the time I feel was picked more towards your US audience rather than EU?).3 -
I need to vent or I'm going to fucking explode like a car filled with bombs in motherfucking Iraq...
A couple of months ago I inherited a project in development from our team leader who was the sole developer on it and he was the one who designed every single thing in it.
I was told the project is clean, follows design patterns, and over all the code is readable and easy.
Those were all fucking lies.
See throughout the period he was working on it, I saw some of the code as it was going through some pull requests. I remember asking the dev why he doesn't comment his code? His response was the most fucking condescending shit I've ever heard: "My code is self-documenting"...
Now that I have full control over the code base I realize that he over engineered the shit out of it. If you can think of a software design pattern, it is fucking there. I'm basically looking at what amounts to a personal space given to that dev to experiment with all kind of shit.
Shit is way too over engineered that I'm not only struggling to understand what the hell is going on or how the data flows from the database to the UI and in reverse, I'm now asked to finish the remaining part and release it in 8 weeks.
Everything is done in the most complicated way possible and with no benefits added at all.
Never in my career have I ever had to drag my sorry ass out of bed to work because I always woke up excited to go to work... well except for the last 2 weeks. This project is now taking a mental toll and is borderline driving me crazy.
Oh, did i tell you that since he was the only dev with no accountability whatsoever, we DO NOT EVEN KNOW WHAT IS LEFT TO BE IMPLEMENTED?
The Project Manager is clueless.. the tickets board is not a source of truth because tickets set to resolved or complete were actually not even close to complete. FUCK THIS SHIT.
For the last week I've been working on 1 single fucking task. JUST 1. The whole code base is a mine field. Everything is done in the most complicated way and it is impossible for me to do anything without either breaking shit ton of other features (Loosely coupled my ass) or getting into fights with all the fucking libraries he decided to use and abuse.
1 whole week and I can't even get the task done. Everyday I have to tell the project manager, face to face, that I'm still struggling with this or that. It's true, but i think the project manager now thinks i am incompetent or just lazy and making excuses.
Maybe I'm not smart enough to understand the what and why behind every decision he made with this code. But I'm sick to my stomach now thinking that I have to deal with this tomorrow again.
I don't know if I'll make the deadline. But I'm really worried that when this is released, I'll be the one maintaining that nightmare of a code base.
From now on, if i hear a fucking developer say their code is "self-documenting" I will shove my dick + a dragon dildo + an entire razor gaming keyboard up their ass while I shoot their fucking knees off.
oh... and there are just a couple of pages of documentation... AND THEY ARE NOT COMPLETE.2 -
The source engine is interesting, because it has reached that stage of life where it's old enough to be remarkable-- in the sense that it could be called 'legacy', a sort of milestone in development practices and thinking, both in software, and design.
That said, a better look at it might be from the lense of *uses today*.
A lot of former source engine (SE) devs are now going to unity or unreal, I don't blame them.
But it's interesting to examine examples of games that haven't.
One such game is the freeware "No More Room In Hell". A couple online play throughs shows a wealth of well designed maps (and an even greater horde of shovelware maps, but hey, you take the good with the bad).
The age of the engine itself shows. Even in games like Left 4 Dead the engine's age can be seen. This, in some respects has been a drag, but also a blessing. Where other games could rely on their effects, shaders, and other tech, modders, map makers, and designers have had to rely on wit and creativity.
Enter "situated environments."
In an age where many people desire to travel, to go places, and have grown up doing the exact OPPOSITE, there is a great desire for variety of locations in games: not merely 'environmental' in the shallow sense of a 'theme' such as 'lava', 'tundra', etc. But in the sense of setting in general.
We want places that are both out of reach and yet familiar. Fire-fights happen in city streets. Apocalypses happen in neighborhoods where the skyline is both broken and at once something we know by sight. Open air markets, grocery stores, neighborhoods, all of these provide the back drops of popular games and series such as COD, Battlefield, The Last of Us, and yes, the example game, NMRIH.
I call this idea of 'familiar but out-of-reach level design', "situated environments", because familiarity with them, but *lack of real life experience* with them, on a day to day basis, allows people's expectations to fill in the gaps.
No one for example would argue the layouts of 7 Days To Die are familiar, but most of us don't spend all day in a junkyard or a high rise hotel.
So they *feel* familiar. Likewise with Skyrim, the villages and towns, both iconic and strange, our expectations formed by cultural inheritance, hollywood films, television shows, stories, childrens books, and yes, other games.
In a way, familiarity-without-real-in-person-experience is a shortcut for designers, one that lets them play with the player's head-space, the players subconscious idea of how a space and setting *should* work, what to *expect* out of the area, how to *operate* within the area. And the more it conforms to expectations, the more surprising an overdesigned element appears to be, rather than immersion breaking. A real life example of this is people's idea of chernobyl. When they discover the amusement park and ferris wheel they're blown away by the juxtaposition of the wasteland that surrounds them and the associations ('nostalgia' as it were) that such a carnival ride carries for many of us. It simultaneously *doesn't belong* and is yet all at once *perfectly situated in the environment*.
It is to say 'surreal', which is adjacent to the idea of *being real*, in terms of our "perception of what is and isn't plausible, if not possible."
This is at the heart of suspension of disbelief, because in essence, virtual worlds are a lie, like fiction, and good fiction violates expectations in order to tell us truths about reality. As part of our ability to differentiate bullshit from reality, there is to say an element in our bullshit detectors (doubtless evolved over many 10's of thousands of years), that is designed to not merely detect what is absurd in our limited experience, but to incorporate absurdity into everyday experience. In that sense part of our rationality is the acceptance of irrational experiences, learning from it, and discovering 'a proper place for each thing' in the "models of the world" we all carry around in our heads. Eventually we normalize the absurd, it becomes the new reality, and what remains unassimilated becomes superstition (real or otherwise), a figment, or an anomaly.
One of the best examples I've encountered is The Last of Us: Left Behind, a good chunk of which is spent in a mall. And they nailed the environment perfectly I would say.
Or for those who don't own a PS4, a more accessible example is a map in NMRIH aptly called "the museum", and few words better do it justice than to go play it yourself--that is, if you really want to know what I mean by a 'situated environment'.
What better way, during this pandemic, to get out of the news cycle and into your own head? Sometimes the best way to escape isn't outside, it's within.3 -
"I really like looking at design and thinking: that attention to detail must have taken absolutely ages." - Si Scott1
-
Any HTML / Frontend designers here who could share their opinion on the following:
A company project of mine is basically a document store with a (deep) folder hierarchy.
The deep folder hierarchy is not negotiable / changeable.
However my brain fries when I try to come up with a - mobile friendly / responsible - design.
There are ~ 10 - 15 root folders, having a maximum of 3 subfolders, so:
Folder 1 -> Documents
Folder 1 -> Subfolder of 1 -> Documents
Folder 2 -> Subfolder of 2 -> Documents
...
Any ideas on howto design something like that?
Was thinking about using a top navigation for the folders and then the rest of the screen for the document information...
But with 15 elements in top navigation it would be hard to navigate on mobile I think....
The naming and everything else ist managed by the customer.
Any ideas?6 -
In the “Qualities of Great Design” session at #WWDC2018. Really wish the Xcode team could be sitting in the front row so they couldn’t sleep thru the session...
oh i guess being the optimist I was thinking they would even be here. Silly me.
All the bugs that drive me effen crazy are clear and present in Xcode 10 beta. Stupid shit still rules at Xcode Central. -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
My Gripe With Implicit Returns
In my experience I've found that wherever possible code should be WYSIWYG in terms of the effects per statement. Intent and the effects thereof should always be explicit per statement, not implicit, otherwise effects not intended will eventually slip in, and be missed.
It's hard to catch, and fix the effects of a statement intent where the statement in question is *implicit* because the effect is a *byproduct* of another statement.
Worse still, this sort of design encourages 'pyramid coding recursion hell', where some users will first decompose their program into respective scopes, and then return and compose them..atomically as possible, meaning execution flow becomes distorted, run time state becomes dependent not on obvious plain-at-sight code, but on the run time state itself. This I've found is a symptom of people who have spent too much time with LISP or other eye-stabbingly fucky abominations. Finally implicit returns encourage a form of thinking where programmers attempt to write code that 'just works' without thinking about how it *looks* or reads. The problem with opaque-programming is that while it may or may not be effortless, much more time is spent in reading, debugging, understanding, and maintaining code than is spent writing it--which is obviously problematic if we have a bunch of invisible returns everywhere, which requires new developers reading it to stop each and every time to decide whether to mentally 'insert' a return statement.
This really isn't a rant, as much as an old bitter gripe from the guy that got stuck with the job of debugging. And admittedly I've admired lisp from afar, but I didn't want to catch the "everything is functional, DOWN WITH THE STATE" fever, I'm no radical.
Just god damn, think of the future programmer who may have to read your code eventually.2 -
So we started a new Unity video game project for mobile in June 2021. Hooray!
Being a mobile project, one of the earliest things we think about is scaling the interface across all sorts of device screen resolutions and aspect ratios, right? Well, to preemptively solve this problem early on, I decided to letterbox the game view - just choose one aspect ratio for the game and pad black bars to the sides of the screen. Simple, solves the game's world space problem without trying too hard, and it automatically adapts to Android's split-screen mode.
I showed the early builds to management as well as game design team and they gave me some general nods. Sounds like green light ahead. I spent the next few months building the game logic and scale the UI around a consistent letterboxed game view. If you had experience scaling Unity UI to a letterboxed area, you should already knew that it takes a whole paradigm of its own that's kinda hard to break out of, but the fact that it stays consistent across all screen aspect ratios is so worth it. Regardless, the biggeer benefit of letterboxing is simpler world space setup. You don't worry about whether this particular area will be overflowed horizontally or vertically in a particular device or not. You have a 9:16 window to view the world through, nothing needs to move at runtime and that's about it.
Fast-forward to early September 2021 and 40+ builds later, the GD started having concern that the playing area is not filling up his phone screen and that the letterboxes are bothering him. He wants to get rid of the letterboxes and wants the game world as well as UI to fill up his screen.
Yes. After 40+ builds, for all of which the letterbox was present, nobody in the project raised a concern about the letterbox. It's only NOW that they all of the sudden side with the GD and demand the removal of the letterbox. I feel like almost half of my effort on this game has been wasted. These clueless guys didn't spend one second looking at the early builds thinking of the possibility that the black bars at the top and bottom of their phone screens (which I repeat: has been around since the very first build) is gonna bother them? Somebody must be playing a cruel joke at this company. They had all the chances to bring this up as a potential issue and TODAY is the first time I hear of it.
See, designers. You waste our time and your time by doing this kind of thing. Please raise your issues early. Complain to us ASAP. If you wait for so long before raising an issue that has been in-your-face the whole time, I can't fault any developer for assuming you're trying to play a long prank. I can tell designers right now: it's not funny.1 -
I need to stop treating an OO language as if it were a procedural language.
I have the tendency to turn my code into GOTO spaghetti even though I'm semi-aware that objects exist and that they are distinct.
I still have to get used to this paradigm.
My Java professor always swore by the Plato paradigm, i.e.:
""Platonism" and its theory of Forms (or theory of Ideas) denies the reality of the material world, considering it only an image or copy of the real world.
According to this theory of Forms there are at least two worlds: the apparent world of concrete objects, grasped by the senses, which constantly changes, and an unchanging and unseen world of Forms or abstract objects, grasped by pure reason (λογική). which ground what is apparent." (wikipedia)
Thinking in objects, abstractions and metaphysics is not something I haven't done before (I've practiced it during Sociology and Ethics with the whole Pascal Leibniz, Newton and DesCartes approach) but it's certainly not easy.
Then there was my cool Programming 201 professor who said: "Don't worry man, just read those great UML, Program Design and GOF books and it will all become easy, like a story. It'll all make sense.
I mean, I've graduated, I've passed my Software Engineering I, II and III (hard as hell) but since I haven't focused on those theories and practices anymore, I've lost my touch.
It's definitely not easy for a novice programmer to transition between paradigms..10 -
Apple Developer webportal(s). My god, how on earth do you manage to make navigating and managing iOS projects so bad.
I mean seriously, for a company that makes some of the best UX experiences, and has the most design focussed thinking in the world, this has to single handedly be the worst god gam experience ever.
I mean, did your xcode IDE team have nothing to do so you let them make this pile of fucking trash.1 -
My boss uses agile development so he doesn't has to think about use cases he wants to be covered by the application.
He's just throwing in a "design" (an image that is probably created with Paint) without any further specifications and inconsistent elements, let the developer work two days on it, see the outcome, complains why it's not how he wanted it to be and then starts thinking how the feature should be integrated in the app and notices that his "requirements" from the image could not provide any advantage or usage at all for the user of the application. Asking for clarification before starting to work just leads to spongy statements or silence when he notices that he didn't think through to the end.
Sad is that this has not happened only once but is usually the way a new feature is developed...1 -
Using eclipse after a long while on a work laptop and this fucking piece of shit console window popping the fuck up and my cursor auto switching to it is the fucking shit design of a fucking lunatic from the fourteenth circle of hell, where the eternal punishment in addition to being roasted alive, probably includes being forced to fucking use eclipse.
Did I mention fuck eclipse? Fuck, I don't even care if I did. Fuck eclipse again.
Oh and to add on, if you're thinking of making the very useful suggestion that it's very easy to turn off window focus with just two buttons, then fuck you and the guy who designed that shitty UI fucking button.3 -
I need help and advice!
I currently work as an consultant at a large corporation. Came onboard for 1-2 years to help rebuild one of their platforms. From the beginning the mindset was that the finished product should not be developed based on anything else than customer testimonials and interviews regarding functionality and design. However, they’re building their platform developed and distributed by this other company. Basically they bought a system that is incomplete regarding to being compliant to the specifications brought to them when they decided which system to go with. Now we’re trying to build around all the issue this platform is causing us. The code base for the system is like something a monkey did with their feet. Nothing makes sense and it’s layers on top of layers of 10 year old code. I f-ing hate it. I don’t know what to do. We have some many technical limitation that it’s impossible to create the vision they had from the start.
I’ve been thinking about talking to the highest chief in the department as he has been pissed earlier about project managers not escalating issue to him earlier. But I don’t want to step on anyones toes. Should I leave the project? Should I talk to the chief? What do I do? I’m miserable🤯7 -
Some time ago at work, I verified a system design by running the whole thing in my head, bombarding it with various fault conditions in all phases in order to check whether I had forgotten anything. I had my eyes closed, and my PC was not even switched on. Right in that moment, the boss of my department came in.
He: what are you doing?
Me, without opening the eyes: thinking.
He: don't you want to code?
Me, eyes still closed: no.
He: (leaving)1 -
My worst experience has actually been trying to fix someone else's code. One of my friends is in a graphic design class, and right now they have to do a basic site in DreamWeaver (a small nightmare on its own, I've found that the previews they show are never quite correct). I decided I'd at least pop in to help out a bit, cause they kinda have no clue what they're doing. They are graphic design students, NOT developers, and it's very easy to see that.
One of the first things I noticed was EXTREMELY unorganized code, but that's forgivable. But...I once saw probably 5 </body> tags in someone's code, a JavaScript function inside of the <body> tag, and a bunch of CSS statements in the <script> tag that they had one if the JS functions in.
I remember seeing this stuff, and I thought "what the actual fuck?". The dude was like "yeah it's unorganized as hell, I know"
...That's not the problem. CSS goes in either a <style> tag or a separate file (THEY HAD A SEPARATE CSS FILE). JAVASCRIPT GOES IN A <script> TAG OR A SEPARATE FILE
But, I get it. They're graphic design students. They can outdo me in probably everything in the Adobe suite (except DW as I learned). I once watched a girl in there do a project in Illustrator. I had no fucking clue what was going on. And when I was talking to her about it, she said "that's what I was thinking when we were watching you fix our code"
Kinda got a little sidetracked there. Basically, worst experience is non developers writing code for an assignment. -
The lack of one (no thinking about long term design and issues) leading to poorly designed systems that crumble when it needs to be scaled and has massive bus factor and code duplication.1
-
Anyone who subscribed to the notion of "Design Thinking" should have their kidneys stolen without anesthetics.6
-
>Was given a task to create a fashion lookbook with no instructions regarding the design
>Spent 4 hours thinking of a design.
>Show design to boss
>'We don't need a slider for our lookbook, use one of our templates instead' -
Yesterday I told an intern that was supposed to be shadowing me that he'll need to download visual studios with apache Cordova plugin for multi platform app design. I gave this assignment to him first thing in the morning (around 9:30 am) and told him to head home for the day thinking I was giving the kid a break to download and make sure the build was proper and to play around with it maybe. I check my inbox this morning to find that, alongside numerous expletives, this intern has quit as of 3:40 AM last night. I... I didn't see that one coming.4
-
Definitely the first Android app I decided to fork.
It was an open source OTP authenticator which hadn't been actively developed for 2 years at that point. At first I only did some small fixes and minor visual improvements but by now it's evolved into its own project with a lot of contributores and users on both Google Play and F-Droid.
When I started I had no knowledge of Java or Android development what so ever. So it basically forced me to learn lots of new stuff, especially once issues started to come in. By now I learned so much on this project that I'm thinking about re-writing the whole thing from scratch because I question some of the design choices from the original app I forked...
Github: https://github.com/andOTP/andOTP1 -
Alright, fellow coders, I need your help this time <3
I was thinking about getting a full stack developer position after school, with mean/mern stack. (Yes, I love js, but you can hate me for that later)
So, I just got an offer for a front-end developer position that I didn't apply to but was recommended for by my full stack prof.
Everything is great about that company, but! I'm not sure I'm good for that!
My question is: does being a front-end developer mean being good at putting together nice looking website?
I'm good with angular, but suck at material or just CSS in general.
I can implement business logic, but anything more complex than grids causes my eye to twitch.
So, is front-end developer supposed to be good at design part of it or not?
Google says yes, but I got other opinions from my friends, but they are still students too!
All hope on you guys! Thank you8 -
Being drunk I keep thinking I can't get back the years I didn't spend programming when I was 16-20. What do now? Want to do Web but all I know is a micro part of everything. I can make a demo in old Unity. I have shitty basic skills in Java, Python, Pascal, JS + React. Also basic UX, Adobe design programs like AI, PS and ID. Nothing proper, and home projects just don't seem to cut it. Irl bards can't get no work4
-
Been thinking about game design for a while now. I have been thinking about how the game can affect the player emotionally. I pay attention to off comments people make in game forums. I didn't fully realize the impact of some NPCs until someone pointed it out.
For instance, in Skryim a character would say something like "Your parents should be very proud of you. I am too." People have expressed how profoundly this impacted them. So I put this in my notes of "things to include" in any given game. I also saw a meme where there are people where their only positive interaction with the world could be a video game. I don't know what kind of dark existence that would be so it makes it hard for me to relate. Which is probably why I didn't understand the impact of such a statement. I realized that regardless of the medium, you will have an impact on someone.
I have also been thinking about how people get older they become more of a casual player. But as a casual myself I want to a more detailed system of interaction with the game. Despite the shitty graphics (all text map), the "Mines of Moria" is one of my all time favorite games. It is based upon the Rogue I think. I remember being able to do almost anything that made logical sense with anything. For instance, you could dip arrows in any potion. The affect was not always significant, but you could to that. I want to recreate that in my games. I am going to start with shitty graphics and build a system of interaction that is more detailed than any RPG I have played. Maybe a lot of players will gloss over this, but for those that want that it will be there. I think the biggest issue is often the types of exploits this would allow. So I guess I will have to get good at simulating the player interactions to test things out. I am always a bit frustrated with games that have mages, but all their spells are wrote. I feel like skill trees for all types of play should be expansive and exclusionary. That way a new play through doesn't end up with the same god character every time.
I have been watching One Piece. I now want piracy and ships in my game. Including ship battles with a working crew. It seems like this could make an RPG a lot of fun. Who doesn't want mages casting fireballs at opposing ships?9 -
The new (mobile) google results design looks horrible, what were they thinking when they applied *{border-radius:5px;}? 😷4
-
Hello DevRant,
I need your help
I'm currently studying Game design and development first year in The Netherlands and I love programming but I hate designing. I was thinking about changing the course to something like Ethical Hacking or Computer science. The reason why I want to do this is that they teach us openfl until second year and I feel like I learn nothing until now.
Do you think would be better to change the course or to stay but start programming in something else? And what programming language would you recommend?
P.s. I also want to apply for a part time job/summer school to gain experience but I had no luck at all.
P.s.s. You are the best community for me!
Return 0;3 -
Devs: How should we design the UI?
Design & Marketing: We were thinking something like the Ferrari website (or app that has nothing to do with our industry)
Devs: How about we add <feature that all of our competitors have>? We're falling quite behind on that and its hindering us from connecting with their REST API.
Marketing: Nah that's too complicated, and our customers haven't requested it. How about we add some animal animations over there instead?1 -
During the course of my career I've stumbled on like 6-7 people I've worked with and it was really great. Every now and then we meet up and chat how it'd be great to form a team again and work on something (we're all in different companies atm).
Lately we've been mentioning that even more and are considering whether to start working on a product/find clients and form an agency/join some other company.
We have experience with both outsource and products. Our profiles range from development, design, marketing, UX, HR, PM.
Any road we take has pros and cons. We're least fit to start on a product because we'd need more profiles, have to figure out finance and would probably have to work alongside our current jobs.
I've been thinking of writing a joint letter when I hear a company is opening up an office in our city. When that happens, usually whole teams are formed and most of the profiles I mentioned are needed.
Do you think that's even possible? Is there another way we're overseeing? Have you heard of or attempted something similar?
Any advice is truly appreciated.2 -
Data wrangling is messy
I'm doing the vegetation maps for the game today, maybe rivers if it all goes smoothly.
I could probably do it by hand, but theres something like 60-70 ecoregions to chart,
each with their own species, both fauna and flora. And each has an elevation range its
found at in real life, so I want to use the heightmap to dictate that. Who has time for that? It's a lot of manual work.
And the night prior I'm thinking "oh this will be easy."
yeah, no.
(Also why does Devrant have to mangle my line breaks? -_-)
Laid out the requirements, how I could go about it, and the more I look the more involved
it gets.
So what I think I'll do is automate it. I already automated some of the map extraction, so
I don't see why I shouldn't just go the distance.
Also it means, later on, when I have access to better, higher resolution geographic data, updating it will be a smoother process. And even though I'm only interested in flora at the moment, theres no reason I can't reuse the same system to extract fauna information.
Of course in-game design there are some things you'll want to fudge. When the players are exploring outside the rockies in a mountainous area, maybe I still want to spawn the occasional mountain lion as a mid-tier enemy, even though our survivor might be outside the cats natural habitat. This could even be the prelude to a task you have to do, go take care of a dangerous
creature outside its normal hunting range. And who knows why it is there? Wild fire? Hunted by something *more* dangerous? Poaching? Maybe a nuke plant exploded and drove all the wildlife from an adjoining region?
who knows.
Having the extraction mostly automated goes a long way to updating those lists down the road.
But for now, flora.
For deciding plants and other features of the terrain what I can do is:
* rewrite pixeltile to take file names as input,
* along with a series of colors as a key (which are put into a SET to check each pixel against)
* input each region, one at a time, as the key, and the heightmap as the source image
* output only the region in the heightmap that corresponds to the ecoregion in the key.
* write a function to extract the palette from the outputted heightmap. (is this really needed?)
* arrange colors on the bottom or side of the image by hand, along with (in text) the elevation in feet for reference.
For automating this entire process I can go one step further:
* Do this entire process with the key colors I already snagged by hand, outputting region IDs as the file names.
* setup selenium
* selenium opens a link related to each elevation-map of a specific biome, and saves the text links
(so I dont have to hand-open them)
* I'll save the species and text by hand (assuming elevation data isn't listed)
* once I have a list of species and other details, to save them to csv, or json, or another format
* I save the list of species as csv or json or another format.
* then selenium opens this list, opens wikipedia for each, one at a time, and searches the text for elevation
* selenium saves out the species name (or an "unknown") for the species, and elevation, to a text file, along with the biome ID, and maybe the elevation code (from the heightmap) as a number or a color (probably a number, simplifies changing the heightmap later on)
Having done all this, I can start to assign species types, specific world tiles. The outputs for each region act as reference.
The only problem with the existing biome map (you can see it below, its ugly) is that it has a lot of "inbetween" colors. Theres a few things I can do here. I can treat those as a "mixing" between regions, dictating the chance of one biome's plants or the other's spawning. This seems a little complicated and dependent on a scraped together standard rather than actual data. So I'm thinking instead what I'll do is I'll implement biome transitions in code, which makes more sense, and decouples it from relying on the underlaying data. also prevents species and terrain from generating in say, towns on the borders of region, where certain plants or terrain features would be unnatural. Part of what makes an ecoregion unique is that geography has lead to relative isolation and evolutionary development of each region (usually thanks to mountains, rivers, and large impassible expanses like deserts).
Maybe I'll stuff it all into a giant bson file or maybe sqlite. Don't know yet.
As an entry level programmer I may not know what I'm doing, and I may be supposed to be looking for a job, but that won't stop me from procrastinating.
Data wrangling is fun.1 -
I’m working on a react codebase and company decided to add a new module.
Now im writing markup and css to ensure UX is smooth as designers thought of it.
Imagine my horror when I start to code and find out no matter what HTML tag i use, it’s been FUCKING OVERRIDDEN in the global stylesheet. AND STYLES HAVE BEEN OVERRIDDEN WITH !important
They’re also using Ant design as a component library. Guess what, default ant design classes have been overridden too. So i try to use ant design button or card, and bam, MAGICALLY SOME DESIGN FROM SOME SHITHOLE MODULE DECIDES TO FUCK WITH MY STYLES
On top of that, styles of parts of application has been written in SASS, some part of application uses bootstrap components some use third party components like tables and responsive grids to suit to their preferences. Some parts use handwritten css. Some parts use CSS IN JS and styled components. THE FUCK IS THIS GARBAGE!!!! THE FUCKING CODEBASE HAS A MIND OF ITS OWN!!!!!! YOU NAME A WAY TO ADD STYLES TO A COMPONENT, ITS THERE!!!
And the company’s management thought a “fractal” approach to maintain each individual view is “best” for SCALABILITY!!! HOW THE FUCK DID IT NOT CROSS YOUR DUMB MIND THAT FRACTAL APPROACH ALSO GUIDES TO HAVE ALL COMMON STUFF AT ONE PLACE!!!! THIS CODEBASE HAS DUPLICATE STYLES AND DUPLICATE CODE IN ALMOST EVERY MODULE!!!!
Not to mention every developer choosing to freely decide the way they should write their code without any guidelines.
HOW THE FUCK PEOPLE WRITE THEIR CODE WITHOUT THINKING ABOUT OTHER DEVS!!! SO BASICALLY I AM NOT ONLY CLEANING SOMEONE ELSE’S SHIT BUT ALSO TRY NOT TO SHIT IN THE PROCESS!! FML2 -
There are days I like to pull my hair out and create a dynamic 4D map that holds a list of records. 🤯
Yes there's a valid reason to build this map, generally I'm against this kind of depth 2 or 3 is usually where I draw the line, but I need something searchable against multiple indexes that doesn't entail querying the database over and over again as it will be used against large dynamic datasets, and the only thing I could come up with was a tree to filter down on as required.6 -
well, i just screwed what might have been a great opportunity at a great company with a recent capital injection by Uber.
I don't know what the hell my brain was thinking when answering at the technical interview, like wtf? they asked for an use of design patterns, and i started thinking for uses in my daily life (???), like, outside of work?? to which of course i answered "no, I can't think of a time I have used them" 🤡🤦🏻♂️
They asked what motivated me to work at that company, and I basically answered "money and free education perks" 🤡
The worst part is that they contacted me! So for some reason I was pretty sure that I would ace that interview with flying colors. Yeah well no, fuck those expectations.4 -
When freelancing, do you charge for estimations?
Situation is that I'm a sole android developer (4 years experience) and each time I encounter some agency or a client I feel like I'm between a rock and hard place.
Some of the clients come with ready with list of requirements and ready backend/design sketch and they want me to give them a rough estimate.
It's as if they expect me to take only 2-3 hours for estimation and that's it. But actually this was the second time where I had to spend around 10 hours investigating everything so I would be able to give a half decent estimation at least.
This particular client's project turned out to be a mess and I had to spend 10+ hours to estimate only 70% of his project. I asked him if he would be able to pay under a reduced tarrif and the client was shocked, started doubting my competence level and so on.
In the end I gave him a rough 400 hours estimate and he started complaining that others estimated only 200 hours for his project. So in the end I just wasted my time.
Now it's my bad that I voluntarely invested too much time in this estimate without notifying client prior that I might ask to pay for estimation, next time I will try to do this ahead of time.
It feels like only big agencies who have free resources have a competetive edge against sole freelancers, it really sucks wasting so much time to estimate half baked requirements and assets. Also most of these clients and agencies are purely lazy and most of the time they don't even plan signing, all they need is someone to estimate their work for them.
I'm thinking of starting to charge for estimations and communications in a form of consultations. Is that a good idea?8 -
Friday wisdom.
Software is not written. It is rewritten.
After spending 3 days approx. On thinking over a design problem. The first 2 days I was clueless how the problem is going ahead. Today I deleted all classes started again and voila.!! It works like magic and I did it with a TDD approach so got good test coverages too.
P.S. I didn't come up with that line. I got it from a tech talk and now understood it's meaning.3 -
Story of my first successful project
Being part of a great team, I've shared in a lot of successes, one I am particularly proud of is my first attempt to use agile methodologies in a deeply waterfall-managment culture.
Time was June/July-ish and we applied for a national quality award where one key element in the application stated how well we handled customer complaint resolution.
While somewhat true (our customer service is the top-shelf good stuff), we did not have a systematic process in resolving customer complaints. Long story short,
the VP lied on her section of the application. Then came the 'emergency', borderline panic meeting (several VPs, managers, etc) to develop a process to better manage
complaints before the in-house inspection in December.
As most top priority projects go, the dev manager allocated 3 developers, 2 DBAs, and any/all network admins we would need (plus all the bureaucratic management that wanted their thumb in the pie).
Fast forward to August, after many, many planning meetings, lost interest, new shiny bouncing balls, I was the only one left on the project. The VP runs into the dev manager in the hallway and asks "Is my program done yet? If its not ready before December with report-able data, we will not win the award."
The <bleep> hit the fan...dev manager comes by...
Frank: "How the application coming along? Almost done?"
Me:"No, haven't really started coding. You moved Jake and Tom over to James's team, Tina quit, and you've had me sidetracked helping other teams because the DBAs are too busy."
Frank: "So, it's excuses. You really think the national quality award auditors care about your excuses? The specification design document has been done for months. This is unacceptable."
Me: "The VP finished up her section yesterday and according to the process, we can't start coding until the document is signed off."
Frank: "Holy f<bleep>ing sh<bleep>t! No one told you *you* couldn't start. You know how to create tables and write code."
Me: "There is no specification to write to. The design document is all about how they plan on reporting the data, not how call agents will be using the application to serve customers."
Frank: "The f<bleep> it isn't. F<bleep>ing monkeys could code against that specification, I helped write it! NO MORE F<bleep>ING EXCUSES! This is your top priority from now on!"
I was 'cleared' to work directly with the call center manager and the VP to develop a fully integrated customer complaint management system before December (by-passing any of the waterfall processes that would get in the way).
I had heard about this 'agile' stuff, attended a few conference tracks on the subject, read the manifesto, and thought "I could do this.".
Over the next month, I had my own 'sprints' and 'scrums' with the manager (at the time, 'agile' was a dirty word so I had to be careful of my words and what info I shared) and by the 2nd iteration had a working prototype.
Feature here, feature there (documenting the 'whys' and 'whats' along the way), and by October, had a full deployed application.
Not thinking I would get a parade or anything, the dev manager came back from a meeting where the VP was showing off the new app to the other VPs (and how she didn't really 'lie' on the application)
Frank: "Everyone is pleased how well the project turned out, except one thing. Erin said you bothered him too much with too many questions."
Me: "Bothered? Did he really say that?"
Frank: "No, not directly, but he said you would stop by his office every day to show him your progress and if he needed you to change anything. You shouldn't have done that."
Me: "Erin really seemed to like the continuous feedback. What we have now is very different than what we started with."
Frank: "Yes, probably because you kept bothering him and not following the specification document. That is why we spend so much time up front in design is so we don't waste management's time, which is exactly what you did."
Me: "We beat the deadline by two months, so I don't think I wasted anyone's time. In fact, this is kind of a big win for us, right?"
Frank: "Not really. There was breakdown in the process. We need better focus on the process, not in these one-hit-wonders."
End the end, the company won the award (mgmt team got to meet the vice president, yes the #2 guy). I know I played a very small, somewhat insignificant role in that victory, I was extremely proud to be part of the team. -
Engineering manager and I have a chat last Friday about some working performant code that needs to be refactored for future reusability. Not my favorite stuff but ok, let’s do it. We talk about things VERBALLY, one way of doing it, then another way. She’s in a rush to her next meeting and has to go. I feel very clear on what she wants and how it needs to happen.
After the call I do some thinking and I give her the estimate and brief her my plan. I tell her exactly the way it’s going to be done. She says do it and gives me her sign off.
I submit my MR today. And then she says why I didn’t do it another way. A more generalized way. And “the way we talked about.”
And I ask her if she can explain her way bc there is obviously some misunderstanding. And she proceeds to zero in on some functions I wrote and say how they are not generalized enough and how it’s basically the same as what we had before (but it’s actually a much different design). I patiently listen and at some point she abruptly says she’s out of time and needs to go to a meeting. I say I still don’t understand what she wants. Then she says that she will implement it bc I still don’t understand and she has no more time to explain. I feel pretty bad.
I suggest next time she can show me on zoom whiteboard, just anything visual and not auditory to make sure things are clear and we are on the same page.
She concludes that management has directed us to come to the office more so I need to come in so we can do in person white-boarding.
This whole thing feels unnecessary. We’ve never had this issue before. It seems like either some intentional plot to get me to come into the office more often or terrible communication skills and a lack of priority on my managers part. Like can you just white board your ideas for 5 minutes?!?! There are many tools to do this digitally!
The thing is I still don’t know where the communication gap is bc I still don’t know what she wants. Keep in mind all this fuss is over three cards of text on a webpage.
This is my first job in industry. How do managers normally communicate engineering ideas? And what are the best ways over zoom? And in person?
I noticed here there is not a culture of whiteboarding or pair programming.
It’s on the days like these I question what I’m doing here…10 -
(TL;DR at bottom)
Does anyone else feel that modern GUI's or webpages or anything thats 2-D and modernized, just seem to contain 10x less data that old interfaces.
Disclaimer: First time uploading picture, idk how it will go)
Let's say Google's Inbox, compared to the old Gmail interface... (In attached picture)
I am the only one annoyed by this?
I really like the look and everything and I love modern designs, but please please, keep the functionality there. I just feel like there is 10x less options to do when I see a system converted to a new modernized design. Even YouTube look ugly now, that I am convinced there are about 10 buttons less under each video.
(New <-> Old in attached picture)
Thinking objectively, all of the buttons are still there, but from other experiences, I just always get discouraged when I see a product with a minimalistic design, and am immediately turned away from it, expecting that I wont have any sort of ability to customize my settings.
If you say that fancier GUI's take too much work to make all he settings, the fucking don't make a modern GUI... I want something I can tailor to my needs... There is always a good line in between, just like "old" youtube's design...
Maybe thats why I hated LastPass with it's fancy GUI's and instead preferred KeePass for my passwords...
As promised:
TL;DR
Anyone else hate modern GUI's since they usually lack features?3 -
My first gig was with an MSP doing tech support and eventually some proper infrastructure design and mangement.
Regularly myself and colleagues would find reasons why we should be doing things 'this way' and how we're doing wrong by our customers by not following best practices. (Things like firmware upgrades on routers, switches, servers)
We regularly got shutdown, just told 'no, it's not to be touched if it isn't breaking'. This obviously got us pretty worked up and kinda devided us.
The thing is, It wasn't until my next gig that I sorta realised they were kinda right to shut us down. There was clearly a risk to reward equation we weren't thinking about as employees with no financial stake in the company.
In an enterprise setting, sure doing those kinds of upgrades is necessary, and normally you have a team full of experts and tools to help you do those tasks whilst also mitigating as much risk as possible.
So at the time it felt like a bad experience, but looking back now I realise that from a business perspective it wasn't practical for us to constantly risk breaking things just because 'i read somewhere that we should do this'.
I think to be successful as a developer, IT tech, systems engineer, it's really important to get to know the other departments of the business and how the work you do affects them.1 -
Thinking back, it’s pretty terrible how long it took to create my first real development project.
When I was the ages of 13-18 I built websites on and off but I would never consider them good enough. I would literally design a bunch of images and then, using just HTML, put all the images together like a puzzle using exact pixel locations. Might be fine and dandy now but back then it would look great on my monitor but on others it would be an absolute mess.
Anyways, after that I got in college and started learning C++ and did assignments but I don’t count those as my own either. Not until I was 29 (my current age) did I finally develop a program assigned by my internship. Prior to that I always just re-learned C++ over and over again off and on because I had no clue where to go after that.
Apologies for the long intro. So the first development project that I feel is legit at my internship I had to use my companies API to track the amount of time it took for them to encrypt a packet and then decrypt it as well as grabbing the packet and seeing how long the hash was, the letters used in which position and so on. Essentially grab a whole bunch of statistics from their software and then output it to an excel document. It had a menu, and I had to make it work on Windows, Ubuntu, Raspbian, and some other systems on different devices.
I was actually really proud of what I ended up with and they use it to test their new versions and compare and so forth. -
... worst drunk coding experience?
none. or to be more precise, all of the three of them I had. I can't code drunk, i hate doing it, i hatw even thinking about doing it when drunk.
so after those initial three attempts i don't try to do it again, ever.
BUT, best coding experience while high?
ALL OF THEM.
some of the best pieces of code I wrote i did when I was high. my mind goes into overdrive at those times, and my thinking is not lines/threads of thought, but TREES of thought, branching and branching, all nodes of each layer of the tree coming to me AT ONCE, one packet == whole layer across all of the branches.
and the best was when one day, in about 14 hour marathon of coding while high, i wrote from scratch a whole vertical slice of my AI system that i've been toying around in my head for several years prior, and I had all of the high-level concepts ALMOST down, but could never specify them into concrete implementations.
and I do mean MY ai system, my own design, from the ground up, mixing principles of neural networks and neuropsychology/human brain that I still haven't seen even mentioned anywhere.
autonomous game ai which percieves and explores its environment and tools within it via code reflection, remembers and learns, uses tools, makes decisions for itself for its own well-being.
in the end, i had a testbed with person, zombie and shotgun.
all they had pre-defined in their brains were concepts of hunger and health. nothing more.
upon launching it, zombie realized it wants to feed, approached oblivious person, and started eating it.
at which point, purely out of how the system worked, person realized: "this hurts, the hurt is caused by zombie, therefore i hate zombie, therefore i want to hurt it", then looked around, saw the shotgun, inspected its class by reflection, realized "this can hurt stuff", picked the shotgun up, and shot the zombie.
remembered all of that, and upon seeing another zombie, shot it immediately.
it was a complete system, all it needed to become full-fledged thing was adding more concepts and usable objects, and it would automatically be able to create complex multi-stage, multi-element plans to achieve its goals/needs/wants and execute them. and the system was designed in such a way that by just adding a dictionary of natural language words for the concept objects on top of it, it should have been able to generate (crude but functional) english sentences to "talk" about its memories, explain what happened when, how it reacted, what it did and why, just by exploring the memory graph the same way as when it was doing its decision process... and by reversing the function, it should have been able to recieve (crude) english sentences that would make it learn what happened somewhere else in the gameworld to someone else, how to use stuff and tell it what to do, as in, actually transfer actual actionable usable knowledge to it...
it felt amazing to code for 14 hours straight, with no testruns during that, run it for the first time after those 14 hours, and see that happen.
and it did, i swear! while i was coding, i was routinely just realizing typos and mistakes i did 5-20 minutes ago, 4 files/classes ago! the kind you (and i) usually notice only when you try to run the thing and it bugs out.
it was a transcendental experience.
and then, two days later, i don't remember anymore what happened, but i lost all of that code.
and since then, i never mustered enough strength and resolve to try and write the whole thing again.
... that was like 4 years ago.
i hope that miracle will happen again one day...3 -
I have a solution in mind and it’s really not that complex but my brain just doesn’t want to connect all the pieces..
When I think about component a and b, then c and a don’t work together. So I come up with a solution for a and a but then b is loose again..
I think I’m getting old🤕8 -
!rant
I am learning C# and devRant helps me keep my concentration and attention in check during the day. Helps me stay in the zone longer and interacting with a developer community helps me adopt a mindset which helps me absorb a different way of thinking which is crucial for somebody that comes from an "opposite" field - art and design. I would not have been able to have this community "in real life" otherwise.
+ You guys are soo nice, despite the ranting concept of the app :) -
Am I the only one that knows a couple of front end javascript front end frameworks but just can't figure out a good design?
Designing has really been a big problem and I'm thinking of sticking with back end development.5 -
tl;dr: "Hey everyone plz look at me! I'v rebranded 'Vanilla CSS', look at me plz!!!"
...How to create a buzzword, lesson 1 :
Make a blog post about your freshly-pooped buzzword and start that same post by some poorly crafted pseudo-meta-thinking about buzzwords, just enough to try hard enforcing the idea that we still don't have enough of these bullshits and so yours is needed even if it's totally useless.
https://webdesignerdepot.com/2018/...2 -
These days I've been noticing how important is to know how to create a good diagram to convey an idea. Also, working in a big company I noticed that we use UML diagrams for a lot of things, which is very useful to understand the architecture of the system or the design of the code. Does anyone here know some book or article that can help me to learn how to better convey ideas using diagrams, how to make one, and what diagram to use? I am not thinking about something very specific to UML, because I see that sometimes we just do a diagram that makes sense without following any standard.4
-
The beginning of my next blog post... at 6am.... Guess who hates his job and why?
<h1>Thinking Before You Code<h1>
The choices you make when you code a part of a program, or even the program itself, impacts everything around it. The importance increases as the size and the scope does.
Quick and dirty simple scripts that get a simple job done and rarely needs changing… fine.
A bunch of quick and dirty hacks all pieced together as part of a giant application... that constantly changes? That's duct tape code that will bite you in the ass later or will give birth to a maniacal raging psychopath that wants to kill you.
<b>SOLID, design patterns: saving yourself and others from you</b>
TBC...3 -
I've been lurking here for a little while now and I thought I'd post my first rant.
I'm an intern at a software development company and I have to design an application for the company, that will only be used in the company.
Both my frontend and backend are coming along decently, but still being new to the whole development scene, I didn't gather enough user stories from my colleagues.
So normally everybody is working hard, but has time. But the exact day I planned to gather some more user stories everybody is as busy as could possibly be.
Now I'm sitting here thinking what to do. My brain trembles from it and if I get can't get an idea of what to do soon, I'll feel truly slothfull.
I know my problem is far from horrible, when compared to some of the rants I've read here. But I really have no idea what I should do at the moment.
Oh, and if you got the two references I did to a certain series, you have suffered.3 -
@dfox @trogus
Is there a way to hide ++ and notifs from the UI itself
I am thinking about the current UI, seems like it is designed to “catch-up”.
A more refreshing design would be where i get to hide all the ++ and notifs from the UI itself.
That way App engagement is solely based on my realistic interest rather than an need for external validation8 -
I like the people I work with although they are very shit, I get paid a lot and I mostly enjoy the company but..
Our scrum implementation is incredibly fucked so much so that it is not even close to scrum but our scrum master doesn't know scrum and no one else cares so we do everything fucked.
Our prs are roughly 60 file hangers at a time, we only complete 50% of our work each sprint because the stories are so fucked up, we have no testers at all, team lead insists on creating sql table designs but doesn't understand normalisation so our tables often hold 3 or 4 sets of data types just jammed in.
Our software sits broken for months on end until someone notices (pre release), our architecture is garbage or practically non existent. Our front end apps that only I know the technology have approaches dictated by team lead that has no clue of the language or framework.
Our front end app is now about 50% tech debt because project management is so ineffectual and approaches are constantly changing. For instance we used to use view models for domain transfer objects... Now we use database entities, so there is no commonality between models but the system used to have shared features relying on that..sour roles and permissions are fucked since a role is a page regardless of the pages functionality so there is no ability to toggle features, but even though I know the design is fucked I still had to implement after hours of trying to convince team lead of it. Fast forward a few months and it's a huge cluster fuck to enforce.
We have no automated testing of any sort or manual testing in place.
I know of a few security vulnerabilities I can nuke our databases with but it got ignored.
Pr reviews are obviously a nightmare since they're so big.
I just tried to talk to scrum master again about story creation since any story involving front end ui as an aspect of it is crammed in under one pointed story as sub tasks, essentially throwing away any ability to calculate velocity. Been here a year now and the scrum master doesn't know what I mean by velocity... Her entire job is scrum master.
So anyway I am thinking about leaving because I like being a developer and it is slowly making me give up on doing things to a high standard and I have no chance of improving things, but at the same time the pay is great and I like the people. -
The problem is not just the academe, but also the students.. they only choose CS as a scapegoat for bar/board/licensure exams, or they heard it was one of the highest paying jobs or ITs have the opportunity to work from home or on a google-like working place.. without even thinking whether they really like computers or not! We are being contaminated with bunch of xxxxxxx(i cant think of a word to describe them) .. Let's filter them freshmen and give them hard maths or design exams before entering CS
-
I'd probably say the activity that's made me a better dev is going to school for graphic design. Though it would help more if I was a front end developer, it helps me think more about the end user seeing as that's what my schooling focused on. Outside of schooling, probably painting and drawing just due to thinking creatively in my free time I think helps me approach dev problems in different ways than some of my non visual co workers.
-
So we are supposed to go live with the website on thursday and i was just told we need to make layouts again to the website. I have changed the layout and design for the site 4 times already. Fuck the self righteous client for being condescending and my non technical project manager for always thinking the client is right!3
-
Hardware classes for software dev student?
Hey guys. Currently getting into second year of a 5 year curriculum to get an 'Integrated Master of Computer Engineering & Informatics' Degree here in Greece.
I'm already into software, I'm fooling around with java, go and php, making some games, web services and anything I find interesting in general. Recently, with the logic design class, I started liking hardware stuff (I didn't really like them before).
We're getting to a point where we might have to decide between picking hardware-centered or software centered subjects. I'm thinking that I can probably learn whatever is taught on the software side by myself (with a bit more studying of course), whereas hardware would be more difficult to study alone.
That said, I'm considering picking hardware, but I am skeptical. What do you think? I'll certainly miss out on the concurrent processing, data structure and how-a-compiler-works classes.
What do you think?
P.S. University here is free2 -
I was thinking to read some books on algorithm and mathematics required in programming, especially for CP. After some searching I got across some books that are considered great in the field. Among the books, 'Introduction to Programming by CLRS', 'Algorithms Design Manual by Steven Skiena', 'Concrete Mathematics by Donald E. Knuth' and 'The Art of Programming by Donald E. Knuth', in which order should I read them? I've already started reading CLRS as it would be required in my college course too.5
-
My company design floor plan and some photoshop work for clients.
One project was to resize the image to certain width and height and place it in the center of the photo with padding 40px around.
I wrote an extended script of Adobe to help the design department and process thousand of images within an hour.
My Boss was so impressed and have a meeting with me. He said: "You need to lead IT department and create a system that can detect the client's requirement and complete the drawing with Adobe Illustrator automatically".
Me: Thinking (Meh, I have no knowledge of Image Processing with my poor Mathematics, where can I die with his requirements?) -
i was thinking i should kill myself if AI can design websites and write programs in the future.
so i dont have much time, what is the best way to commit suicide?5 -
So I ran into a perplexing "issue" today at work and I'm hoping some of you here have had experience with this. I got a story-time from my coworker about the early days of my company's product that I work on and heard about why I was running into so much code that appeared to be written hastily (cause it was). Turns out during the hardware bring-up phase, they were moving so fast they had to turn on all sorts of low level drivers and get them working in the system within a matter of days, just to keep up with the hardware team. Now keep in mind, these aren't "trivial" peripherals like a UART. Apparently the Ethernet driver had a grand total of a week to go from nothing to something communicating. Now, I'm a completely self-taught embedded systems focused software engineer and got to where I am simply cause I freaking love embedded systems. It's the best. BUT, the path I took involved focusing on quality over quantity, simply because I learned very quickly that if I did not take the time to think about what I was doing, I would screw myself over. My entire motto in life is something to the effect of "If I'm going to do it, I'm going to do it to the best of my abilities." As such, I tend to be one of the more forward thinking engineers on my team despite relative to my very small amount of professional experience (essentially I screwed myself over on my projects waaaay too often in the past years and learned from it). But what I learned today slightly terrifies me and took me aback. I know full well that there is going to come a point in my career where I do not have the time to produce quality code and really think about what I am designing....and yet it STILL has to work. I'm even in the aerospace field where safety is critical! I had not even considered that to be a possibility. Ideally I would like to prepare now so that I can be effective when that time does come...Have any of you been on the other side of this? What was it like? How can I grow now to be better prepared and provide value to my company when those situations come about? I know this is going to be extremely uncomfortable for me, but c'est la vie.
TLDR: I'm personally driven to produce quality code, but heard a horror story today about having to produce tons of safety-critical code in a short time without time for design. Ensue existential crisis. Help! Suggestions for growth?!
Edit: Just so I'm clear, the code base is good. We do extensive testing (for lots of reasons), but it just wasn't up to my "personal standards".2 -
I’m working on a new app I’m pretty excited about.
I’m taking a slightly novel (maybe 🥲) approach to an offline password manager. I’m not saying that online password managers are unreliable, I’m just saying the idea of giving a corporation all of my passwords gives me goosebumps.
Originally, I was going to make a simple “file encrypted via password” sort of thing just to get the job done. But I’ve decided to put some elbow grease into it, actually.
The elephant in the room is what happens if you forget your password? If you use the password as the encryption key, you’re boned. Nothing you can do except set up a brute-forcer and hope your CPU is stronger than your password was.
Not to mention, if you want to change your password, the entire data file will need to be re-encrypted. Not a bad thing in reality, but definitely kinda annoying.
So actually, I came up with a design that allows you to use security questions in addition to a password.
But as I was trying to come up with “good” security questions, I realized there is virtually no such thing. 99% of security question answers are one or two words long and come from data sets that have relatively small pools of answers. The name of your first crush? That’s easy, just try every common name in your country. Same thing with pet names. Ice cream flavors. Favorite fruits. Childhood cartoons. These all have data sets in the thousands at most. An old XP machine could run through all the permutations over lunch.
So instead I’ve come up with these ideas. In order from least good to most good:
1) [thinking to remove this] You can remove the question from the security question. It’s your responsibility to remember it and it displays only as “Question #1”. Maybe you can write it down or something.
2) there are 5 questions and you need to get 4 of them right. This does increase the possible permutations, but still does little against questions with simple answers. Plus, it could almost be easier to remember your password at this point.
All this made me think “why try to fix a broken system when you can improve a working system”
So instead,
3) I’ve branded my passwords as “passphrases” instead. This is because instead of a single, short, complex word, my program encourages entire sentences. Since the ability to brute force a password decreases exponentially as length increases, and it is easier to remember a phrase rather than a complicated amalgamation or letters number and symbols, a passphrase should be preferred. Sprinkling in the occasional symbol to prevent dictionary attacks will make them totally uncrackable.
In addition? You can have an unlimited number of passphrases. Forgot one? No biggie. Use your backup passphrases, then remind yourself what your original passphrase was after you log in.
All this accomplished on a system that runs entirely locally is, in my opinion, interesting. Probably it has been done before, and almost certainly it has been done better than what I will be able to make, but I’m happy I was able to think up a design I am proud of.8 -
I'm starting to feel like coding is too much boilerplate all the time.
I've been thinking about why, and I think (and I'm trying to sound humble here) it's because I'm usually honoring the SRP. But this entails this enormous drawback of enormous amount of code!
Don't get me wrong, I'm usually glad with the design I end up with .... but only after what seems to be hours of typing
Anyone recognize this problem? Suggestions, comments?1 -
I need some advice to avoid stressing myself out. I'm in a situation where I feel stuck between a rock and a hard place at work, and it feels like there's no one to turn to. This is a long one, because context is needed.
I've been working on a fairly big CMS based website for a few years that's turned into multiple solutions that I'm more or less responsible for. During that time I've been optimizing the code base with proper design patterns, setting up continuous delivery, updating packaging etc. because I care that the next developer can quickly grasp what's going on, should they take over the project in the future. During that time I've been accused of over-engineering, which to an extent is true. It's something I've gotten a lot better at over the years, but I'm only human and error prone, so sometimes that's just how it is.
Anyways, after a few years of working on the project I get a new colleague that's going to help me on my CMS projects. It doesn't take long for me to realize that their code style is a mess. Inconsistent line breaks and naming conventions, really god awful anti-pattern code. There's no attempt to mimic the code style I've been using throughout the project, it's just complete chaos. The code "works", although it's not something I'd call production code. But they're new and learning, so I just sort of deal with it and remain patient, pointing out where they could optimize their code, teaching them basic object oriented design patterns like... just using freaking objects once in a while.
Fast forward a few years until now. They've learned nothing. Every time I read their code it's the same mess it's always been.
Concrete example: a part of the project uses Vue to render some common components in the frontend. Looking through the code, there is currently *no* attempt to include any air between functions, or any part of the code for that matter. Everything gets transpiled and minified so there's absolutely NO REASON to "compress" the code like this. Furthermore, they have often directly manipulated the DOM from the JavaScript code rather than rendering the component based on the model state. Completely rendering the use of Vue pointless.
And this is just the frontend part of the code. The backend is often orders of magnitude worse. They will - COMPLETELY RANDOMLY - sometimes leave in 5-10 lines of whitespace for no discernable reason. It frustrates me to no end. I keep asking them to verify their staged changes before every commit, but nothing changes. They also blatantly copy/paste bits of my code to other components without thinking about what they do. So I'll have this random bit of backend code that injects 3-5 dependencies there's simply no reason for and aren't being used. When I ask why they put them there I simply get a “I don't know, I just did it like you did it”.
I simply cannot trust this person to write production code, and the more I let them take over things, the more the technical debt we accumulate. I have talked to my boss about this, and things have improved, but nowhere near where I need it to be.
On the other side of this are my project manager and my boss. They, of course, both want me to implement solutions with low estimates, and as fast and simply as possible. Which would be fine if I wasn't the only person fighting against this technical debt on my team. Add in the fact that specs are oftentimes VERY implicit, so I'm stuck guessing what we actually need and having to constantly ask if this or that feature should exist.
And then, out of nowhere, I get assigned a another project after some colleague quits, during a time I’m already overbooked. The project is very complex and I'm expected to give estimates on tasks that would take me several hours just to research.
I'm super stressed and have no one I can turn to for help, hence this post. I haven't put the people in this post in the best light, but they're honestly good people that I genuinely like. I just want to write good code, but it's like I have to fight for my right to do it.1 -
What do you think of the Database design of Drupal/WordPress? They use 2 tables for 85% of the data!! Product, pages, whatever are all stored in the same 2 tables. Does that work out better than having each content type in separate tables?
I'm thinking of making an ERP. Would that table structure work there?2 -
With my work putting more and more things on my plate that I don't want to work on and refusing to increase my pay proportionately I'm thinking about going freelance. My biggest argument against is this that I'm terrible with design.
What design tools to you guys use for mocking up a website? I use Windows and Linux for my work so Mac only apps aren't going to help.
I also struggle with colors. I've never been officially diagnosed as color blind, but I've been told I'm wrong about colors enough to know there's something going on there. Are there any good tools out there that can help select colors that go well together? I'm thinking if a company has a red they use for everything, I put that in and the tool gives me a few color pallettes to work with.
I've also thought about just finding a designer to work with, but then I have to budget for this person as well which means I'd have to take on even more clients. I want to improve my design abilities so I can do more myself.
Any help appreciated guys.2 -
Been thinking about game design. Making things testable and modular. I think I have a lot to learn in this area. One idea popped up in my head. How can I design the game so that it can be networked later? One idea was an interface in the logic that gives authority to another set of code (module?). Basically include the abstraction as if networking was there. So if/when I decide the next version of the game or existing version should have online play. I think learning to create client/server would be instructional. Maybe networking could be a dlc or something.5
-
Recently I completed a whole year in programming. Holy jebus, I have no idea I could make it through.
I started thinking I was "decent" at this because I had taken a half dozen courses in python plus some algorithm logic in school lol @ innocent me
I'm an applied math student and I hereby declare I was the most incompetent dude you'll ever see.
I've been through so much shit I didn't realize I had a shitty boss, because one would think it's normal for a beginner to approach everything in programming because I was told to do so. Full blown restful apis, stateful redux react apps with responsive CSS using Google's material design. Don't forget to dockerize everything and deploy the swarm on Amazon cloud all the while having to run integration unit tests, make sure all the rules on your nginx are correct we don't want exposure do you know how to write a visualization tool on JavaScript so we can 3d-fy some x-ray prints and good luck balancing tight schedules with your school and girlfriend ye right lul
My manager would ask me to deliver new shit to an app I was developing mostly by my self in react (I barely even knew what RFC or ES6 was by the time I started).
I got fired from this project because I couldn't deliver by myself what 5 experienced dudes could (debatable, but still... Cuz they couldn't when they took over. Boss wanted to rewrite the whole app in a week and a half)
Turns out I got called back by the same company but to contribute in another project. This time to automate some shizzle with python.
Feelsgoodman but I want out ASAP can't stay sane for longer -
So last year I was working for this company and worked there for about 13 months. I was hired as a web dev but was soon moved on to creating web banners in html5 so that a friend who was doing that before could focus on design for prints. Well few days ago that friend called and said he was going on a vacation and was wondering if I would like to come back an fill in for him while he is on vacation.
Since the company can't find anyone willing or that did that job before and nows all the specs like I do I was their only choice for the job (yaay me). Of course I accepted the position as it wouldn't require me to be in their office from 9-5 but only on certain days when banners need to be created and for few hours only.
The downside of this is it will last for a whole month (didn't expect that) and it poses a chance to conflict with my current job. But my current boss is ok with me doing this as long as my "day job" doesn't get affected.
So now that I know I'm their only choice for the position and they don't have time to look for someone else and train them as the friend already left for vacation.
What do you guys think, how much should I charge them for this work ?
They are still waiting for my quote on the price.
I'm thinking of a fixed price for 1 month of work and somewhere around 600€ minimum.
My salary while working for that company full time was 400€ and I did web dev + banners (static and dynamic).
On a side note:
I heard from a few friends who still work there, that they might offer me full time job there again. But that is a whole new rant for another time -
Design patterns a solution to a problem, not a solution for the sake of a solution.
It comes from years of developers banging their head agains a problem and iterating a solution. It was not done person sitting down and thinking about rules for good (general) software development. -
I feel compelled to figure out how to use software in a gaming setting to teach skills like CS and Math. But do it in a way that is fun and not feeling like a "math game".
I want to spend more time learning about algorithms, architectures, design approaches, etc. Writing such a game would force me to understand what I present in a very intimate way.
I can see a way to create algos in game using very visual ways. Then allowing someone to make superstructures combining those algos to solve tasks.
I was inspired by how some algos require data to be sorted a certain way before starting. As the algo as a side effect resorts the data to know when it has completed. I realized if an algo is generic enough it can be combined just like functions or objects.
I also want to learn math better, especially in conjunction with code. So making a platform for learning these would be a lot of fun. I would definitely want both visual and textual interfaces to the code. I have to imagine a real programmer being frustrated with a visual interface unless it was really compelling.
I find it interesting that a lot of algos are represented visually when trying to show how it works. I realize some probably cannot be visualized so easy though.
I also want to use software like this to teach someone to think more deliberately and help people be more disciplined in their thinking. I know I could use this.
I have a secret goal of being able to use such software to help someone become a math/programming wizard. I don't know if this is achievable, but having exercises that help solidify root concepts in a fun way would be really useful IMO. -
I think that the metaphors we use to design software can hold us back sometimes.
Specifically, I’ve been thinking about file systems.
“File” is a fine metaphor for “chunk of data” I guess but we use two conflicting metaphors on top of that to describe the same thing: “folder” and “directory”.
Why do we limit ourselves to this rigid, hierarchical system for managing our data?
Maybe something based on tags, or attributes or some other metadata.
Hierarchy can be useful so I don’t want to completely get rid of it, or anything drastic like that, but we (or at least *I*) don’t think in those terms.15 -
Wtf is ux researcher or design thinkers etc? Seems like bs jobs to me. Why not hire good frontend devs who has a good understanding of ux/ui?
Companies please pay devs well instead of wasting money on these bs roles and positions.8 -
Client wants to be able to edit invoices after they are collected. So essentially he could tell a customer "you didn't pay enough" and if they don't have their receipt then they're screwed? So instead i let him delete invoices. Can re enter them with back date. But not good enough. Still wants to edit existing invoice to change customers account balance. On a whim. This info should be coming from the app in the field when employee takes payment from customer. That's the design HE signed off on. Now all This shit about pulling a fast one on his customers. Not comfortable here. Seems crooked or am i over thinking so i don't need to add another CRUD flow?9
-
hello folks, any help would appreciated :). serious question about designing/developing a rest backend.
here is a little insight: I want to reduce the endpoints for many CRUD operations as I can. So for that approach I defined a set of "dynamic" routes like /:moduleName/list, /:moduleName/update and so on.
Now I want to also reduce hardcoding as much stuff as I can for the front end. like I want forms/view/components to know which fields can be sent in the "/:moduleName/xxx" endpoints from above. So I'm thinking to make some /:moduleName/list/map, /:moduleName/update/map endpoints that tells the frontend which fields/keys can be sent for X or Y operation.
regarding design/security concerns Is that a good approach? do you know any other approach that's like to what I want to achieve?6 -
Ok, you have 4 weeks design time and no more do you understand? Yes. 1 day of design time left, after 2 rounds of feedback...'Hey, we've drawn up a layout of what structure we'd like the site to have after actually thinking about it, can we try it like this?'
-
I use /blog/ as the url for the main articles that include seo, web design, and marketing. I am looking for link ideas for articles that are more technical, articles like “How to create a php contact form”, “How to use media queries”, “How to upgrade to php 7 in cpanel” I was thinking about using /snippets/ or /tutorials/ ? Any ideas ?3
-
any recommendations for a personal photography website? i need it to be open source, clean design, and easy to use. i'd like to have collections of photos. i was thinking jekyll, but if there's something more targeted for a photography website, i'd like your recommendations.4
-
I've just joined a new company out of despair after several month out of jobs without being able to even get interviews.
I've been warned about the code being a bit behind with modern Android stack, they needed to migrate from rx to coroutine and compose is not a priority at the moment.
Fine with it, I like handling and planning migration, that's a nice challenge.
But if only that were the only problems !! Far from it, the code is a formidable mess, I've never seen so much amateurism... Most of it was written from the previous Lead Dev who stayed there for years and touched everything with their very bad practices.
I don't even know where to start honestly...
While the code is in Kotlin, it stink Java. Nothing wrong about Java, but if you code in kotlin, you need to understand what kotlin try to achieve. And that's not the case here. There is freaking nullable everywhere, for no reason at all, the data classes contains lot of var in their constructors, equals are override to compare only one or 2 params and no hashcode override with it.
Sealed class, what for ?! Let me just write a List<Pair<Enum, Any>> and cast your any depending on the enum !
Oh and you know what, let's cast everywhere, no check, and for once no null safe, there is enough nullable in the code !
What about the reactive part ? well let's recreate a kind of broken eventbus with rx ! Cause why not ?!
The viewmodel observable don't contain data, they just contain enum for the progress of the states we're checking.
In the viewmodel function we update that enum states and emit it to be observed and make the data available as a var for the view to pick it up when needed.
But why put the business logic in the viewmodel, let's put in the views, and grab and check the variable contain in the viewmodel whenever it fits.
Testing the business logic ? uh let me just test my variable initialisation in the viewmodel instead.
The vm, the views, make about 2000 lines, the test over 3000, and not a single test really test the business logic in it ! I've made big refactoring we're all the tests stayed green, while the function are full of side effects ! WTF ?!
Oh and what about that migration from rx to coroutine ? well better not break the existing code and continue writting like rx, everything is cold flow ! We just need to store a boolean saying if we already did our call to the data layer then we decide to start our flow or not.
As for the RecyclerView, having too many viewHolder is just so annoying, let's put all our different views in one, and hide what we don't need.
Keystore has been push on the repo, but it's private no ? So who cares ?!
And wait i'm not done ! Some of the main brick of the apps depends on library that hasn't been updated for years, and you know what... yes they were hosted on Jcenter and it's only now that they decide to do something about it, we we're warned about the sunset of jcenter 2 years ago !!!!
So what about compose ? What do you want with compose ?! there is no design system in that app obviously, so don't even think about it !
And there... among all of that mess, I'm supposed to do code review... how the fuck do you do a code review when all the code that is around stink ?!
And there is so much more but by now I'm afraid you're thinking i'm just pissing on the old code like everyone... but damn I guarantee, that's the worst code I've ever seen, and i've work on more than 15 app from small to big on different contract with a lot of legacy code, but nothing that bad !1 -
I'm thinking of making a design framework based around flex-box and some other modern css possibilities... Would any of you guys use a thing like that?
Any things you'd like to see in it?2 -
I'm thinking of buying: Design Patterns
Elements of Reusable Object-Oriented Software
Those who read it do you recommend it? If no what are other software design/arch do you recommend?7 -
So I am pretty fair dev at Java and have been doing freelancing for sometime apart from normal full time job.
Got a client , a well funded one, who raised a decent chunk of money recently.
Got me do a couple of different areas right from refactoring and bumping their performance to all the way setting up AWS Services like RDS,Lambdas,Dynamo,SQS.
It was going good , money was coming in for the initial part.
Thinking that money is not the concern here , I accepted work at runtime and gave quotations about the additional work.
However now that all is done and deployed , the client simply refuses to pay me the money and has ghosted me horribly than my ex ever did.
I have access to their GitHub,AWS(I setup myself).
Need suggestions of whats the best way I can fuck them up if they decide to not pay even after a few more professional polite attempts I do .
sidenote : They had a pretty dumb db design and blindly had resorted to services in AWS and the pricing is still a major point of concern for them.10 -
Thinking very VERY seriously about pushing the button on this.
iMac 10-core Xeon W, 64GB DDR4, Radeon Pro Vega 64X, 2TB SSD
$6,727 plus tax $403.62 and then another hundred for shipping before fucking December in 'rona.
Could sign up for Apple Pay and do $600 payments for 12 months 0 APR... shouldn't be too bad of a problem provided the world holds together that long... And if it doesn't, then this is my last computer... and I guess it'd be nice to go into the afterworld with a freshly upgraded rig.
IDK, Please talk some sense into me about how stupid this would be.
Also to factor in... I need to buy a new machine one way or another SOON. Or else I need to wipe my main and be out of commission for at least 3-4 days which could cost me a few grand on its own... and then also still buy a lesser mac for my daughter.
Why an iMac and not a cheese grater similarly priced? If I get the iMac I can give my current iMac to my daughter for school. My old 2015 iMac isn't holding up to my use anymore, but should be fine for a few more years for a high schooler to work on. If I get a cheese grader fine, but factor in at least another $300 for a minimum 27" 2K monitor.
Any reason to even think of a refurb trash can design? Are they too old now?
General thoughts on why this entire rant is retarded? Like. I too dislike Apple, but I need them. It's love/hate. But god if I do this I'm buckling in for the next 5 years... tax write off would be nice I guess.
Can't really back down the specs any because I dual boot windows and do some gaming. Need 2TB so I can give Windows and Mac a TB each (and I still have 8TB external).
Don't really want to go lower than the Vega 64X because even that benchmarks poorly against many cheaper cards... for gaming (but does do better for some other tasks)...
Ugh... talk me into or out of buying another god awful expensive mac.26 -
Right guys and gals, I need your opinions.
Recently was approached by a recruiter who thought I’d be a good fit for a role, a role that is a step up from senior dev but without moving into people / project management.
More like a bridge between architects and senior devs.
I thought what the hell, why not. So I agreed to go for it.
It could be quite a decent payrise (though that wasn’t my motivation for going for it) and I like the idea of doing more mentoring, design and research than I do now. It would involve stuff like learning new tech, coming up with examples and implementations of how the dev team need to use it to churn out user stories.
For the last few years I’ve been mainly a back end developer, which didn’t start by choice and I always liked to be full stack.
But the recruitment process for this role has been quite slow (number of reasons) and since then I’ve been given a new piece of work at my current employer doing some greenfield angular work, plus the c# back end.
I’m really, really enjoying this angular work. Haven’t done it for a while and it feels great to get back into it. Seem to be picking it back up with no problems, like the old magic is still there.
Also the money at my current place is good enough.
So now I’m wondering if I should bail on this other role in favour of seeing this out and maybe going back to being full stack (tho for reasons I’ll outline below in the long term that might have to be elsewhere)
But I’m also trying to remind myself that up until enjoying this work there’s a reason I decided to go for this other role.
Current place is a small company that has no project management process. It’s chaos, and everything’s an emergency. There are no requirements for anything, not enough people etc. No one has a clue how to run an IT project.
The one thing we do have is good development practices in our team and we have been greenfield for the last 12 months working on a new product. But we do tend to be pigeon holed into looking after a specific service/area.
But this new place if I got the role, is a bigger company (I’ve worked in small, medium and massive companies so I know what the difference is like), they’re a household name, they have resources for learning, putting people through aws certs, etc. They give people time each week to invest in themselves. Much more agile.
And thinking about it now you don’t often see a role that allows you to ‘move up’ without having to take on people/project management and still having time to be hands on.
(Just maybe more hands on with strategic work than delivering user stories for business as usual)
So just in general, what do you think? -
Not really a rant, but maybe someone can help me on this one.
Me and my brother are thinking about creating our first app. We know what features we want and also how the workflow of our app should be (we even sketched the workflow with an online mockup tool). The programming of the app itself is no problem, but we are both struggling when it comes to create a nice looking, smooth design from our draft. As we both believe that a nice looking UI is important we are not afraid to invest a little bit to get a nicely designed UI - "Make it right, or don't do it at all" ;-)
We searched a little bit in our hometown and found a company that would design us something for at least 15-20k Euros. As we do already have a pretty detailed sketch and also would need to pay that from our own pocket (we do not know if it gets more than a hobby project) its definitely too much for us. So my question is: Are their any app design companies out there that takes a sketch and creates a smooth design from it?4 -
TL;DR how much do I charge?
I'm freelancing for the first time; regularly, I get paid a salary.
I'm freelancing as a donation: the hours I put into this work directly translate to deductions in my tax. I don't get paid any money directly.
I'm doing some web-based enterprise software for an organization. Handling the whole process from writing responsive front-end code to setting up the server and domain for them and even managing myself. So full stack plus dev ops.
My normal salary is $31 an hour and at work I do less. I largely do maintenance for existing applications plus some very minor new systems design. I don't do any server management (different team) and I damn well didn't buy the domain names for my company. So I think it's safe to say I'm taking on a drastically larger role in this freelance gig.
My moral dilemma is the organization will basically say yes to any price - because they don't pay it, the government will (up until the point I pay 0 taxes, I suppose)
I've done some minor research on what other freelancers charge for somewhat similar things and I get pretty wildly varying results. I've seen as low as $20/hr but I really doubt the quality of such a service at that price.
I'm thinking around $50 USD an hour would be a fair price. For even further reference besides my actual salary, I will say that I am in a urban / suburban part of Florida, where developers are very hard to find locally.
Is $50 too high? Too low? This is a very complicated system with (frankly excessive) security practices and features. Before this they had a handful of excel spreadsheets in a OneDrive folder.7 -
Some background:
About 2 months ago, my company wanted to build a micro service that will be used to integrate 3 of our products with external ticketing systems.
So, I was asked to take on this task. Design the service, ensure extendability and universality between our products (all have very different use cases, data models and their own sets of services).
Two weeks of meetings with multiple stakeholders and tech leads. Got the okay by 4-6 people. Built the thing with one other guy in a manner of a week. Stress tested it against one ticketing service that is used in a product my team is developing.
Everyone is happy.
Fast forward to last Thursday night.
“Email from human X”: hey, I extended the shared micro service for ticketing to add support for one of clients ghetto ticketing systems. Review my PR please. P.S. release date is Monday and I am on a personal day on Friday.
I’m thinking. Cool I know this guy. He helped me design this API. He must’ve done good. . . *looks at code* . . . work..... it’s due... Monday? Huh? Personal day? Huh?
So not to shit on the day. He did add much needed support for bear tokens and generalized some of the environment variables. Cleaned up some code. But.... big no no no...
The original code was written with a factory pattern in mind. The solution is supposed to handle communication to multiple 3rd parties, but using the same interfaces.
What did this guy do wrong? Well other than the fact that he basically put me in a spot where if I reject his code, it will look like I’m blocking progress on his code...
His “implementation” is literally copy-paste the entire class. Add 3 be urls to his specific implementation of the API.
Now we have
POST /ticket
PUT /ticket
POST /ticket-scripted
PUT /ticket-scripted
POST /callback
The latter 3 are his additions... only the last one should have been added in reality... why not just add a type to the payload of the post/put? Is he expecting us to write new endpoints for every damn integration? At this rate we might as well not have this component...
But seriously this cheeses me... especially since Monday is my day off! So not only do I have to reject this code. I also have to have a call now with him on my fucking day off!!!!
Arghhhhhh1 -
I want to make a fancy 3D game for an assignment. Would it make sense to separate the game content completely from the engine? The way I imagined it, there would be a game folder with all the content in it (textures, shaders, scenes, scripts etc...) and the engine would "load" this folder, construct the scene and run the game. I was even thinking of using a lightweight scripting language for the game logic, like javascript, so I don't have to make an api and compile DLLs, and the engine (written in c++) would communicate with these scripts.
Is this a good design, or should I just put everything in one project so both the engine and the game logic compile to a single exe?10 -
I don't even really know where to start, so I figure I'll just throw this out there and see where it goes.
My daughter is disabled. She's in sports and dance, but it's taken my wife and I years to find out about the organizations she's now in, and that's mostly through word of mouth. Other families have told us because they've had the years of experience that we didn't. And now we're passing the information on to other less experienced families. And that's a problem that everyone we've talked to agrees upon: there's really no good way of discovering what organizations are out there, and what they can help with.
There exist some sites out there like https://challengedathletes.org/reso... which are really just lists of sites, but really nothing more to indicate that this group has wheelchair basketball, that group has adaptive ballet, that kind of thing. So I'm thinking, what if I built a site that provided an index. Searchable, faceted, like Algolia or AWS Cloudsearch. That part I can do. But how would I go about gathering the information? Could I somehow scrape it? If so, how do I organize it? Do I crowdsource by petitioning /r/disability, the Facebook support groups my family belongs to, and other places across the interwebs?
I can design the data model. I can build the webapp. I can make it fast and pretty and easy to use. But how do I get the data?2 -
There's been a fad in the company where the managers ask for the opinions of other departments to "get different perspectives".
On one hand, we get feedback by non-experts, which is obviously bad because they're not in their field. "Feature X is kinda complicated. We could simplify it by doing A." and the manager goes "that's a brilliant idea! Let's do that!" and the devs go "we did consider that, but it has drawback N. And perhaps you wanna do B, but that has drawback M..."
And then they were asking for us programmers for inputs on their designs for logos, etc. Naturally, as programmers, we wanted quick access to many functionalities. But marketing wants a simpler and more intuitive design, even if it involves more clicks. This wasn't in my job description! I just wanna code! Thinking is your job! -
I learned that I could use javascript to manipulate parts of Windows 98SE and decided I really like this shit and started buying programming and web design books.
I was only doing it for fun and didn't see it as a career path and moved on to lame things. Now, years later, I'm kicking myself for thinking like that and having to learn all of the new shit I didn't keep up with and actually trying to make it a career. -
For those who are on my team, arguing on not putting comments in their code:
How much ever (un)readable your code is, any peer / reviewer / future team member can only understand what that code snippet is doing, but not why was it written in the first place or what the hell you were thinking while writing that logic. So, it'll be awesome if you write that as comments or at least link to the story/design doc which warranted that code.3 -
I started looking into building my Android app but wanted to see if I could get a refresher on a few things. The starter template for the Nav Layout isn't exactly functional.
So first question is anyone know any resources like an actually functioning demo project.
Also I need DB access but want to open any db file given the *.db path and the DAO should be persistent, share across all fragments/activities. What would be the best design, way of doing that in Android though.
I don't think you can pass the object between activities but what about fragments. I'm thinking the main app opens the DB and then can pass a DAO Interface to all the fragments to use?2 -
I cant wrap my head around designing a database system from scratch. Period.
I use ER diagrams to do it. But still i can't figure this piece of shit out.
It usually goes in these steps:
1) i design a very simple minimal system, turns out it works but HELL NO how unsalable it is. Literally its so statically built that i have to redesign the whole infrastructure and models from scratch
2) i redesign from scratch but this time i overengineer it. Overcomplex as fuck. So complex i get lost easily and have to redesign the whole shit all over again this time copying others similar infrastructure with help of chatgpt
3) chatgpt of course fucks everything up even more to the point that my shit can't compile anymore. Fuck this shit
I think i lack the correct way of thinking and approaching this. College has taught me bullshit and confused me even more which is why im so fucking lost. Can someone explain me How to think in the correct mentality when designing an ER database system from scratch.
How do i properly design a scalable database infrastructure as ER diagram for a subscription and chatting models, similar to onlyfans infrastructure?9 -
what linux distro should i try next?
requirements:
- cool
- good design
- comes with typical software and wine
- apt not yum
i was thinking elementary, zorin or kali21 -
I got my first developer job three years ago. I’ve always had a great eye for detail, and getting things done while following best practices. I learned that a few years ago from typography, which I think is a fascinating subject, which has a lot of shared ideas with software development.
In my first job, I immediately took a lot more responsibility than what I was assigned to. This job was as a React Developer, but I quickly got into backend development and set up kubernetes clusters, CI/CD.
Looking back, this was to me quite an achievement, considering I had never done anything even remotely close to it.
I did however, work my ass off. 18 hours work days without telling my boss, so only getting paid for 8. Plus I worked weekends.
I did love it. After a while, I got promotes to Senior Developer, and got responsibility for everything technical. I tried asking for help, but everybody else was either a student, or working purely front-end or app-development. Meanwhile, I was Devops, API-design, backend, Ci/CD, handling remote installations (all our customers are Airgapped), customer support, front-end and occasionally app-development when the app-developers could not handle their shit. Basically, I was the goto-guy for every problem, every feature, every fix. I don’t say this to brag.
I recently quit my job, started working as a consultant, because I almost doubled my pay. However the new job is boring as shit. I’m now an overpaid React Developer. And I really hate React. Not because it is shit, but simply because it is boring.
I’m thinking of going back to my old job. It was a lot of work, but it was really interesting. However, after I quit, they have changed their whole stack. No more Golang, Containers, Kubernetes, webRTC and other fun new technologies. Now, it is just plain, PHP without any dependecies. It is both boring, and idiotic. So I’m thinking of just quitting. Either doing some personal projects like game-development. I dont know. -
InterracialCupid Review
What is Mixte Cupid? It's one of the better internet dating sites https://yourbestdate.org/interracia... for serious human relationships and marriage. This is a place for individual people looking for long-term relationships and marriage to be able to meet and connect. The particular site exists to assist individuals like you discover in addition to form connections with appropriate matches. Are you thinking of joining the Interracial Cupid website? We would like to help an individual make the best choice for your love life. That's why we'll provide a person with all the important facts you need to be able to make the right choice for you. In this specific article, we'll tell you about the site's users, join process, safety, costs, and much more. Keep reading to uncover our full Interracial Cupid reviews below.
Simplicity regarding Use
The registration about . com takes about a moment – you want to provide a message, place of living, age, and email. Later on, you may make your user profile look more attractive by having some personal data, informing about your ideal companion, and so forth It is similarly simple to get used to navigating the particular portal: the design is simple and similar to each of the sites that belong to the Cupid Media party. For those who have any experience of visiting these platforms a person would notice numerous similarities.
Number of Members
In accordance with Interracial Cupid dating testimonials, the site hosts around 38, 000 users generally situated in the United Declares, Canada, Australia, plus the BRITISH. The database isn't that huge so you should not necessarily watch for thousands of consumers to be permanently on the internet. When you log within, it is common to see a few hundred members participating in the portal. Or you may wait for typically the moment when it is a morning in the You. S. – this is usually the time when the majority of users examine out their profiles and once you have a opportunity to encounter lots of interesting users.
Quality of Information
InterracialCupid. com contains genuinely informative profiles. Each of the users are expected to reveal the essential info on them yet some tend to add added facts with their pages. Therefore, you may face big profiles that contain information on appearance, background, values, hobbies and interests, interests, lifestyle. Also, you may expect to see several photographs in each profile : you can also see the number of images uploaded as it is indicated following to the key profile photo.
Safety
Okay, so this the question we all want answered first: Is Interracial Cupid safe? We always inspire you to make of which decision for yourself when if you're thinking about joining a dating site. Do the little research and appearance into the site's safety features. For specific Interracial Cupid safety tips, you could always label the site's own safety page. If the dating site you want to join doesn't have a safety page, use your best judgement before signing up.
Have a person encountered predatory behavior on the site? We usually encourage you to get in touch with Interracial Cupid help to be able to report suspicious activity. Rely on your instincts if an individual feel unsafe or uncertain on any site. In addition to never give your individual information to members. You can help protect yourself and other members by simply bringing anyone suspicious towards the attention of the web site's moderators. They can also help in case you are having trouble with your account or perhaps want to cancel Mixte Cupid for any cause.
Conclusion
At InterracialCupid all of us always want you in order to succeed. That's why we all offer you all the info we could on the internet dating sites you want in order to learn about. Plus, we would like to hook you up with Interracial Cupid discount coupons whenever we can. Browse down to learn more.
Most likely here as you wanted to be able to read our Interracial Cupid reviews. If you've been thinking about joining but you still aren't positive, we hope we're able to assist. This site has a new lot to offer people thinking about permanent dating plus marriage. InterracialCupid desires to aid you get the most out of online dating sites in addition to it all starts along with finding the best dating site with regard to you. That's why we compose these reviews. We would like to provide you along with as much useful information as possible about the sites you're thinking about joining. But we could furthermore help by offering you Interracial Cupid promo rules, so check back frequently to see what we've got. Ready to begin gathering persons who want a similar things you do? Go to the Interracial Cupid total site to begin with now.1 -
Need help with selecting a proper backend and website frameworks. After trying out a couple identity verification service providers we were dissapointed with their lack of support (takes weeks to do minimal changes).
So now we are having discussions about building in-house id verification system. We already have libraries for ios/android apps (ZOOM lib for face recognition and another lib for data extraction via OCR from document picture). So what we need is a proper backend and then a decent web framework with proper ux/ui design for our web/ios/android apps.
Currently thinking what kind of backend framework should we choose? Backend's main responsibility is for each client registered from website to assign an api key and to create a database/storage where his users would authenticate via clients app and upload a picture and a video.
Also wondering what kind of framework for website apps (main web app, dashboard app where we display pending verifications, and of course verification app) to choose. Should be go for angular?