Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "scenarios"
How everyone uses stackoverflow:
1. Work on some project
2. Spot a bug
3. Try to solve the bug and fail.
4. Write a question for SO.
5. Post question on SO.
6. Get the answer and some points.
How I use stackoverflow:
1. Work on some project
2. Find a bug
3. Try to fix the bug and fail
4. Write a question on SO
5. Get scared that I might be downvoted.
6. Spend 45 minutes optimizing the structure of the question.
7. Try additional tests to cover all possible scenarios.
8. Still scared to click post.
9. Scrap everything and restart line by line writing further details of each step in your question.
10. Find the bug myself.
11. Click cancel on the question that took me 3+ hours to write.
The Android guys at Google take care of the developers and their use case scenarios.
Like when they have to make an app that works on Jupiter.
Or on the Death Star.11
I was 15 years old and the first year of high school. Everything was new to me and I was such a newbie. At that time I had 2-3 year of programming behind me at an institution where they taught competitive programming. And I knew something about computers. Not much but more than most of my school mates. At that time I wanted to become "super cool hacker".
So we had this very very thought teacher for history which was also our form master. She really knows how to explained everything about history and in an interesting way. But while she was teaching we also had to write down notes from her powerpoints that were on a projector. And occasionally she would wait for us to copy everything and then move on with her lecture. But sometimes she didn't. This was frustrating as hell. The whole class would complain about this because you couldn't take notes down normal, you had to do it at double speed.
But she got one weak spot. She was not very good with computers. Our school computers were locked in some kinda closet so that students didn't have physical access to a computer and were also password protected. So I came up with the plan to plant wireless mouse in her computer so that I could control her mouse. At that time it seemed like SUPER HACKER MASTER PLAN.
So I got an opportunity one time when she left the classroom and let closet where the computer was open. I quickly sneaked the USB of the wireless mouse in the computer and then go back to the seat.
So THE FUN began.
Firstly I would only go back in powerpoint so that all my schoolmates could write down notes including me. And it was hilarious to watch when she didn't know what is happening. So then I would move her mouse when she tried to close some window. I would just move it slightly so she wouldn't notice that somebody else is controlling mouse. And by missing X button just by slight she would click other things and other things would pop up and now she had to close this thing so it became a nightmare for her. And she would become angry at the mouse and start complaining how the computer doesn't work and that mouse doesn't obey her.
One time when she didn't pay attention to her computer and projector I went to paint program and drew a heart and wrote we love you (In Slovenian Imamo vas radi -> See the picture below) and one of my school mates has the picture of it. We were all giggling and she didn't know what is was for. And I managed to close everything before she even noticed.
So it got to the point where she couldn't hand it more so she called our school IT guy so that he would check her computer (2 or 3 weeks passed before she called IT guy). And he didn't find anything. He was really crappy IT guy in general. So one week passed by and I still had messed with her mouse. So she got a replacement computer. Who would guessed all the problems went away (because I didn't have another mouse like that). I guess when our IT guy took the computer to his room and really thoroughly check it he found my USB.
So he told her what was the problem she was so pissed off really I didn't see her pissed off so much in all my 4 years in high school. She demanded the apology from whom did it. And at that moment my mind went through all possible scenarios... And the most likely one was that I was going to be expelled... And I didn't have the balls to say that I did it and I was too afraid... Thanks to God nobody from my school mates didn't tell that it was me.
While she waited that somebody would come forward there was one moment when our looks met and at that moment both of us knew that I was the one that did it.
Next day the whole class wrote the apology letter and she accepted it. But for the rest of 4 years whenever was there a problem with the computer I had to fixed it and she didn't trust anybody not even our IT guy at school. It was our unwritten contract that I would repair her computer to pay off my sin that I did. And she once even trusted me with her personal laptop.
So to end this story I have really high respect for her because she is a great teacher and great persons that guide me through my teen years. And we stayed in contact.11
Doesn't work as intended.
Works as intended.
Tests other scenarios.
Don't work as intended.
Works as intended in scenarios.
Scenario 1 fails.
Stares at code.
Staring doesn't work as intended.
I've put my nose down the books regarding cryptology quite alot lately, and at the end of the day, I really think that Bob and Alice should just meet and talk in person.4
Functional Programming. Because Moores Law has moved from making processors faster to multiplying cores, and we may eventually have to code on machines that have 1024 cores or more. Mutable state will cause all kinds of hell in those scenarios. We already have problems with it when we have like 2-3 different threads.4
--- Github unveils another round of pricing changes ---
In a move that slipped under the radar with some surprising ease, Microsoft-owned repo wrangler Github unveiled yesterday (7th January) a new set of changes to their pricing model. Unlike the last round of changes that saw unlimited private repos gracing anybody with $7 in their pocket each month - The new round sees everyone on the platform receiving unlimited private repos in a move that's been met with some serious scepticism from the community.
The company's surprisingly brief PR emission (via their official blog) states that they've made 2 major changes, "Github Free now includes unlimited private repositories" - the catch being that you're limited to adding 3 collaborators, which appears to be a move aimed squarely at businesses attempting to operate without forking over the cash for an organisation.
In addition to this there's many vague statements about the kinds of scenarios that "are now possible" via "Github free", the kind of vague nonsense that makes trousers considerably tighter in the PR department.
It would appear that anyone who was previously paying the $7 a month is now a "Pro" user, The PR emission states that "Github Pro (formerly Github Developer) and Github team are also available for developers and teams who need professional coding and collaboration features".
It doesn't seem like you're being offered a whole lot for your $7 a month anymore - a move that would be considered by almost any other company in tech as a good thing, but given that it's Microsoft has been met with warranted suspicion and concern.
Or we could just be being a set of Donny Downers about it, who knows shrug9
I love Linux, but its community can be so full of incompetent assholes..
Just now I asked in Freenode ##linux how to get the process ID of my current running process in bash. I got my answer - it's a shell built-in called "$$".
Then people start to nitpick some more - why do you need it? How is that different from an exit? - to which my response was.. well I know the whole idea behind exit codes, and I'd use it whenever possible, in all defined behavior that allows my program to terminate itself whenever it can. This pidfile however would be used to exit itself and provide diagnostic information whenever the program enters undefined behavior - a segfault in C language. Scenarios in which I don't have full control over the script's behavior anymore, such as the system entering an unworkable state where the system stalled, still got some binaries in RAM but the rootfs got unwritable, such as now - very helpfully, thanks HP! - when my laptop likely overheated and shat itself. I issued sudo reboot into it, but even that wouldn't issue properly anymore due to the /sbin/poweroff binary becoming inaccessible too. I had to issue a hard power cycle.. one of the few times in which I'm thankful to HP for actually causing shit like this, lol.
Point is, that undefined behavior is what I'm trying to mitigate against. I certainly can't let any files other than diagnostics remain in nonvolatile storage like that, especially when their state should be predictable in order to ensure good operation (like files expressing whether the script is already running or not, i.e. lock files).
Back to that IRC chat. Aside from the answer, I got ridicule from people who probably don't even know how to properly compile a kernel. Ubuntu users, overconfident scum. Sometimes I feel like I should ask questions in channels like #archlinux only, where such incompetency is ridiculed on its own.13
Just started reading this book ..
The first chapter and half are pretty interesting.
Their explication of Optimal Stopping and “The Secretary Problem” made think about scenarios where its possible to use in my life.
Ps: I think that what the books wanted!4
Can someone explain to me why the fuck I should even care about the fact, that some companies collect, use and sell my data? I'm not famous, I'm not a politician and I'm not a criminal, I think most of us aren't and won't ever be. We aren't important. So what is this whole bullshittery all about? I seriously don't get it and I find it somewhat weird that especially tech guys and IT "experts" in the media constantly just make up these overly creepy scenarios about big unsafe data collecting companies "stealing" your "private" information. Welcome to the internet, now get the fuck over it or just don't be online. It's your choice, not their's.
I honestly think, some of these "security" companies and "experts" are just making this whole thing bigger than it actually is, because it's a damn good selling point. You can tell people that your app is safe and they'll believe you and buy your shit app because they don't understand and don't care what "safe" or "unsafe" means in this context. They just want to be secure against these "evil monster" companies. The same companies, which you portrayed them as "evil" and "unfair" and "mean" and "unrepentant" for over a decade now.
Just stop it now. All your crappy new "secure" messenger apps have failed awesomely. Delete your life now, please. This isn't about net neutrality or safety on the internet. This is all about you, permanently exaggerating about security and permanently training people to be introverted paranoid egoistic shit people so that they buy your elitist bullshit software.
Sorry for my low english skills, but please stop to exist, thank you.66
So... Some fake accounts on Twitter claimed to be Elon Musk and to give shitloads of Bitcoin to those who sent a little amount first. They stole... Wait for it... 180 grand.
That's basically your everyday 419 scam. Existing since before the internet, done with the names of Gates, Buffet, Bush, Obama...
They say "the big bad evil criminals and the poor little innocent victims" I say natural selection. Sorry, in those lion vs gazelle scenarios I always thought that it was fair, no matter how it went.
Just when did humanity get so brainless? Have we always been, is the internet just a catalyst for stupidity?
Just why the fuck must I be an infosec sheepdog instead of a wolf? Man, I could live the life, drink beer and smoke herb while working... Get up at 12, don't give a shit, no boss, no taxes, no social security payments that I don't see jack shit from, and the pay would be better to.
working on two projects.
at the same time.
for 2 different companies
2 completely different scenarios
2 completely different languages
nodejs and golang19
Story: Password hashing and UTF-8
Context: PHP 5.6, 270kloc 15+ years legacy project. ~3 years ago. tl;dr at bottom.
Password hashing & verification was done with an obsolete way of hashing passwords. I was given the task to update our password handler to from now on generate passwords with PHP's good built-in password hashing function.
It was decided that old passwords still needed to work, instead of prompting users to set a new password. The old password verification still had to function in conjunction with the new.
The previous password handler was split into multiple classes, due to (I assume) poor structuring and shoehorning in an object oriented approach. Furthermore, it abused global variables.
A new password handler had to be created.
I implemented the new password verification and creation methods (which now used PHP internal password functions), and it worked perfectly. Then to get the old password verification to work.
I removed all obsolete methods from the old handler, and was left with a hashing function which took in a password, salt, and a secret key. I copied this code into the new handler.
It failed. It returned "Password does not match" for old passwords. I was unsure what had happened here. I did all sorts of shotgun debugging. I ended up with two versions of the login page next to each other, which used the old and new code respectively. I started modifying the original code, extracting variables, logging, you name it. I ended up with exactly the same snippets of code in both password handlers, and yet it failed.
The culprit? The character encoding.
Because this project was over a decade old, the .php-file had the encoding 'windows-1252'. When I created the new password handler, my IDE set the file encoding to 'UTF-8'. Then when I copied the secret, my IDE converted the string to 'UTF-8', effectively changing the value of the secret and causing any password verifications to fail. The solution was to manually create a string using the byte values in the old secret.
It is these extreme, obscene, scenarios which makes working with legacy projects a living hell. In this scenario, it was my IDE at fault for changing the character encoding.
But my IDE is not the root problem. No, I blame it on the lack of maintenance from previous developers. Not keeping the codebase up to standard causes problems like this in the long run.
tl;dr: copied hash secret to a file with another encoding. IDE changed the byte values for those characters, causing password verification to fail. fml.2
Finding a bug as a developer: "Fuck..." *start working on an undocumented hotfix that breaks other parts of the application"
Finding a bug as a tester: "Yeah, right.." *start writing a comprehensive report including all possible failure scenarios and how world famine will increase and men develop boobs if this bug is shipped into production"
Finding a bug as a PM: "Well, the other parts work, right ?" *click randomly on nearby buttons and input fields to "check" if everything is all right. Ditch said report from tester*3
Man, most memorable has to be the lead devops engineer from the first startup I worked at. My immediate team/friends called him Mr. DW - DW being short for Done and Working.
You see, Mr. DW was a brilliant devops engineer. He came up with excellent solutions to a lot of release, deployment, and data storage problems faced at the company (small genetics firm that ships servers with our analysis software on them). I am still very impressed by some of the solutions he came up with, and wish I had more time to study and learn about them before I left that company.
BUT - despite his brilliance, Mr. DW ALWAYS shipped broken stuff. For some reason this guy thinks that only testing a single happiest of happy path scenarios for whatever he is developing constitutes "everything will work as expected!" As soon as he said it was "done", but golly for him was it "done". By fucking God was that never the truth.
So, let me provide a basic example of how things would go:
my team: "Hey DW, we have a problem with X, can you fix this?"
DW: "Oh, sure. I bet it's a problem with <insert long explanations we don't care about we just want it fixed>"
my team: "....uhh, cool! Looking forward to the fix!"
... however long later...
DW: "OK, it's done. Here you go!"
my team: "Thanks! We'll get the fix into the processing pipelines"
... another short time later...
my team: "DW, this thing is broken. Look at all these failures"
DW: "How can that be? It was done! I tested it and it worked!"
my team: "Well, the failures say otherwise. How did you test?"
DW: "I just did <insert super basic thing>"
my team: "...... you know that's, like, not how things actually work for this part of the pipeline. right?"
DW: "..... But I thought it was XYZ?"
my team: "uhhhh, no, not even close. Can you please fix and let us know when it's done and working?"
DW: "... I'll fix it..."
And rinse and repeat the "it's done.. oh wait, it's broken" a good half dozen times on average. But, anyways, the birth of Mr. Done and Working - very often stuff was done, but rarely did it ever work!
I'm still friends with my team mates, and whenever we're talking and someone says something is done, we just have to ask if it's done AND working. We always get a laugh, sadly at the excuse of Mr. DW, but he dug his own hole in this regard.
Little cherry on top: So, the above happened with one of my friends. Mr. DW created installation media for one of our servers that was deployed in China. He tested it and "it was done!" Well, my friend flies out to China for on-site installation. He plugs the install medium in and goes for the install and it crashes and burns in a fire. Thankfully my friend knew the system well enough to be able to get everything installed and configured correctly minus the broken install media, but definitely the most insane example of "it's done!" but sure as he'll "it doesn't work!" we had from Mr. DW.2
I got some work on a new project so I ran the 500, or so, unit tests and it took almost 3 minutes. Everything was mocked and no external dependencies so I got curious as to how on earth they could take so long.
I found some suspicious code doing a while loop over a date range incrementing by 1 day each time. It turned out the tests didn't initialise the start date which defaults to 01/01/0001, and there are 5 scenarios!
I got test execution down to a respectful 10s.5
Missing the first entry date for university was probably the best thing that happened to me.
Got to work full time and show off my expertise in "reallife scenarios" for nearly a year.
Best experience i could've made until now.
I've recently received another invitation to Google's Foobar challenges.
A while ago someone here on devRant (which I believe works at Google, and whose support I deeply appreciate) sent me a couple of links to it too. Unfortunately back then I didn't take the time to learn the programming languages (Python or Java) that Google requires for these challenges. This time I'm putting everything on Python, as it's the easiest language to learn when coming from Bash.
But at the end of the day.. I am a sysadmin, not a developer. I don't know a single thing about either of these languages. Yet I can't take these challenges as the sysadmin I am. Instead, I have to learn a new language which chances are I'll never need again outside of some HR dickhead's interview with lateral thinking questions and whiteboard programming, probably prohibited from using Google search like every sane programmer and/or sysadmin would for practical challenges that actually occur in real life.
I don't want to do that. Google is a once in a lifetime opportunity, I get that. Many people would probably even steal that foobar link from me if they could. But I don't think that for me it's the right thing to do. Google has made a serious difference by actually challenging developers with practical scenarios, and that's vastly superior to whatever a HR person at any other company could cobble together for an interview. But there's one thing that they don't seem to realize. A company like Google consists of more than just developers. Not only that, it probably consists - even within their developer circles - of more than just Python and Java developers. If any company would know about languages that are more optimized such as C, it would be Google that has to leverage this performance in order to be able to deliver their services.
I'll be frank here. Foobar has its own issues that I don't like. But if Google were a nice company, I'd go for it all the way nonetheless - after all, they are arguably the single biggest tech company in the world, and the tech industry itself is one of the biggest ones in the world nowadays. It's safe to say that there's likely no opportunity like working at Google. But I don't think it's the right thing. Even if I did know Python or Java... Even if I did. I don't like Google's business decisions.
I've recently flashed my OnePlus 6T with LineageOS. It's now completely Google-free, except for a stock Yalp account (that I'm too afraid to replace with my actual Google account because oh dear, third-party app stores, oh dear that could damage our business and has to be made highly illegal!1!). My contacts on that phone are are all gone. They're all stored on a Google server somewhere (except for some like @linuxxx' that I consciously stored on device storage and thus lost a while back), waiting for me to log back in and sync them back. I've never asked for this. If Google explicitly told me that they'd sync all my contacts to my Google account and offer feasible alternatives, I'd probably given more priority to building a CalDAV and CardDAV server of my own. Because I do have the skills and desire to maintain that myself. I don't want Google to do this for me.
Move fast and break things. I've even got a special Termux script on my home screen, aptly named Unfuck-Google-Play. Every other day I have to use it. Google Search. When I open it on my Nexus 6P, which was Google's foray into hardware and in which they failed quite spectacularly - I've even almost bent and killed it tonight, after cursing at that piece of shit every goddamn day - the Google app opens, I type some text into it.. and then it just jumps back to the beginning of whatever I was typing. A preloader of sorts. The app is a fucking web page parser, or heck probably even just an API parser. How does that in any way justify such shitty preloaders? How does that in any way justify such crappy performance on anything but the most recent flagships? I could go on about this all day... I used to run modern Linux on a 15 year old laptop, smoothly. So don't you Google tell me that a - probably trillion dollar - company can't do that shit right. When there's (commercialized) community projects like DuckDuckGo that do things a million times better than you do - yet they can't compete with you due to your shit being preloaded on every phone and tablet and impossible to remove without rooting - that you Google can't do that and a lot more. You've got fucking Google Assistant for fucks sake! Yet you can't make a decent search app - the goddamn thing that your company started with in the first place!?
I'm sorry. I'd love to work at Google and taste the diversity that this company has to offer. But there's *a lot* wrong with it at the business end too. That is something that - in that state - I don't think I want to contribute to, despite it being pretty much a lottery ticket that I've been fortunate enough to draw twice.
Maybe I should just start my own company.6
So, a few weeks ago I asked you guys what would you do if you were to quit your current job. I attempted a start-up with an old "friend" of mine.
He was very enthusiastic and hardworking at the beginning. However he received a job offer from somewhere and told me that he would work there just until we found the company officially and then quit and work full time on the project.
Well... I put around 300 hours into the project and developed the system, did most of my part according to the plan but the guy didn't deliver anything.
Turned out he had another secret partner whom he first introduced me as his mentor. I had my suspicions and suddenly shut down API servers, project management domain and mail server. Suddenly the quiet guy called me asking if I was alright and everything was fine.
Then, nothing happened. He went radio silence until I called him last night and he picked up the phone drunk and mumbled something like "I'm aware of you being a victim" then went to "you're passive aggresive" or something like that and I said nothing, just hung up.
I think you can figure out what went down on the other side and I'd like to hear your scenarios.
PS: now I have another start-up idea: I'm gonna pick up a flamethrower and burn the world while laughing histerically. Anyone who'd like to join is welcome.3
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9
So our class had this assignment in python where we had to code up a simple web scraper that extracts data of the best seller books on Amazon. My code was ~100 lines long( for a complete newbie in python guess the amount of sweat it took) and was able to handle most error scenarios like random HTML 503 errors and different methods to extract the same piece of data from different id's of divs. The code was decently fast.
All wss fine until I came to know the average number of lines it took for the rest of the class was ~60 lines. None of the others have implemented things that I have implemented like error handling and extracting from different places in the DOM. Now I'm confused if I have complicated my code or have I made it kind of "fail proof".
While reviewing a PR from one of our newer FE devs, I ended up spending more time than I would like mulling over its composition. The work was acceptable for the most part; the code worked. The part that got me was the heavy usage of options objects.
When encountering the options object pattern (or anti-pattern, at times) in complex scenarios, I have to resist the urge to stop whatever I'm doing and convert it to the builder pattern/smack them in the head with a software design manual. As much as I would like to, code janitor is one of the least valuable activities I engage in daily, and consistently telling someone to go back to the drawing board for work that is functional, but not excellent is a great way to kill morale. Usually, I'll add a note on the PR, approve it, add a brown bag or two on that sort of thing, and make attendance mandatory for repeat slackers. Skills building and catharsis all rolled up in a tiny ball of investing in your people.
Builders make things so much cleaner; they inform users what actions are available in a context; they tend to be immutable, and when done well, provide an intuitive fluent interface for configuration that removes the guesswork. As a bonus, they're naturally compositional, so you can pass it around and accumulate data and only execute the heavy lifting bits when you need to. As a bonus, with typescript, the boilerplate is generally reduced as well, even without any code generation. And they're not just a dumping ground for whatever shit someone was too lazy to figure out how to integrate into the API neatly.
They're more work in js-land, sure; you can't annotate @builder like with Lombok, but they're generally not all that much work and friendlier to use.9
Soooo it's Monday........ 🤯
@C0D4 started the day fixing current projects defects (4 tickets smashed before coffee 💪)
Then after coffee, run a test coverage report and see a significant decline over the past few months, so spends a couple hours adding more tests to get some areas filled in - meh, nothing like 50+ lines per test... to test a if() statement but whatever - complex scenarios will be complex to get too, but no my tests break and I'm missing data I didn't know about🤦♂️
So let's comment all that out, and go to lunch ... mmmm lunch.
Get back, start working on those again, and then get handed a new issue, so comment that all back out again, ( ok I know what you're thinking, but I'm working in an environment that does not use git for deployments - don't ask, real pain in the ass I haven't had time to invest into yet - but as code versioning only) anywho, starts to workout this new issue but don't figure it out, enter a 30 minute meeting.................. yea that was 2 hours later but was a very practical whiteboard session only to work out I have something like 16-20 weeks of work over 4-5 projects to get out in like 6 weeks... hahahahahahaha fml..... oh and that's excluding another project which had a 6 weeks of work in the pipeline to get to somehow.... I'm not seeing this one happening, and probably conflicting projects needed on top of that down the track... but we'll leave those out for now!
Whoot is fucking home time!!!
🤷♂️I'm starting to think I'm like a team of 5-10 devs right now, maybe I should start asking for 5-10x more 😏
Why the hell does every single frontend job on Earth require expert knowledge of React, a fad JS library that will be forgotten in 5 years?
Look, I understand the appeal of separating code into repeatable components. I just don't understand why essentially the same thing can't be accomplished with vanilla JS, which is ten times easier to understand and doesn't require an entire website to be written in some make-believe offshoot of Ecmascript that will look like hieroglyphics a decade from now.
I just gave robocopy another try, in order to get my WanBLowS D: drive and my file server synchronized again, in preparation to move that file server VM to a LXC container instead.. bad choice. I should've used rsync in WSL.
Hey you Not so Robust File Copier for WanBLowS, how many attempts of you fucking up my file server's dotfiles does it take before I configure you right with every fucking option you have specified? How about you actually behave somewhat decently like rsync where -avz works 99% of the time, in local, remote, any scenarios that you can think of that aren't super obscure?! HOW DIFFICULT CAN IT BE, REDMOND CERTIFIED ENGANEERS?!!
Drown in a pond of bleach, Microshit certified MOTHERFUCKERS!!!!
Well, at least this time it didn't fuck up my .ssh directory so I can still authenticate to the VM.. so I guess that at least that's a win. Even that you can't take for granted anymore with this piece of garbage!!!4
Came across the moral machine..
Some of the dilemmas would even confuse a human, I wonder how would an artificial general intelligence perform in such scenarios11
I find it interesting to see how scenarios sometimes flip.
30 years ago, the generally accepted "best" thing to do when when interacting with a person of colour was to "not see colour" - to treat them as you would anyone else. Meanwhile the similarly accepted "best" thing to do when interacting with a physically disabled person was to recognise their disability, help them if appropriate, give them a boost, encourage them, etc.
Today it seems very much like the opposite. The correct thing to do when interacting with an ethnic minority is to see their colour, recognise their struggle, help them if appropriate, etc. - whereas with disabilities, that approach generally seems to have been labelled "inspiration porn", and the correct thing to do is simply not to see the disability, treating them like you would anyone else.
Not entirely comparable of course, but there's enough similarity there that I find the situation interesting.8
Last week, I accidentally created a group chat with all the project members included. I saw it, pretended not to see it, stopped going online for days, and just let them figure out what happened. Just forget me, please.
After that, my brain kept torturing me with scenarios where I'll send something "odd". Today, I sent this message to a guy and even though I'm using my phone, a different app, and saw his texts in the evening, my morning brain decides to panic that what if I sent this during my semi-awake moment and actually sent it from my work laptop in the project group chat?
I never use my work laptop for personal shit but my brain is my brain, it sure loves to drive me insane. Now it says, "But what if?"4
Thoughts prior to feedback meeting, about how it's gonna go.
Supervisor: The shit is this? You call this a research work? Get the fuck out of here! You're fired and even your unborn kids are banned from coming into this institute ever again!
Me: *walks out sobbing* (dunno how one can walk out of a zoom meeting, but this is imaginary so who's counting?)
S: Umm, good work. I just don't think it's presentable. Maybe come back in like a few weeks when you actually polish this into a "real scientific work".
Me: *sobs after meeting. Starts preping for seppuku cuz no idea where I'm headed with this work any further*
S: nah man. This is no good. Let's start from the bottom. Like, start data collection from the beginning or something.
Me: *sobs and commits seppuku on the meeting.* (I just have a pen tho. Hope it has the same effect as a sword)
There are other scenarios, but they all end up in me sobbing and/or committing seppuku in/after the meeting so yeah the drama is running high right now.11
Nothing irritates me more than people who think one language is the best for everything. An example: Nobody can dispute the power of Python but for the love of God, why CUDAPy.
Different scenarios call for different languages. You wouldn't see me try to make a website in C++7
When you finally understand how a RxJava operator works in different multithreaded scenarios after hours of trial and error...3
How I solve complex problem during development.
1. I left my machine with all the thinking and start to think of another activity.
2. Start another activity I like specially a physical one like playing a game, jogging or just walking.
3. Then after I am fully involved with this activity I start to think of different scenarios of the problem I was trying to solve.
4. Eventually, different solutions came to my mind and I evaluate them one by one with respect to my problem.
5. I finalize a couple of solutions based on the evaluations.
6. Rush to my machine and start implementation to see if it work.
PS: During all these thinking I will be terrible at the activity I am doing.
Loop again if It didn't workout.3
What's the point of testing if the tester just tests the scenarios which developer gives. Isn't it obvious that only those scenarios will work.2
The best feeling according to my buddy is when drawing a character and then taking a photo of it and the phone recognizes the head as a real face.
Made me wonder of some programming equivalent scenarios.
Like checking your website for the first time on validator.w3.org and seeing the `No errors or warnings to show.`
Or writing code in a plain text editor and it works on first try without any errors.
How about letting a coworker do something you really want to do and already thought heavily about, to later realize they did it exactly how you imagined it.
Or even as simple as getting your first assignment on a new job and totally nailing it.
Do you got any good examples of a similar "omg ftw" moment?7
First of all, a great channel to follow and where all this is from: https://youtube.com/watch/...
It listed a lot of open source news I missed myself and I'm sure others did too, for those that are too lazy to watch the video or open the description, I've stripped away the links and "X version got released" just to give an idea of what he covers.
GNOME and KDE announced they would work together on building better Linux desktops at Linux App Summit.
XRDesktop, a VR enabled Linux desktop, will allow you to use your Linux programs while wearing your VR headset.
Responding to the european commission's fines, Google announced that it would allow other search engines to be present at Android's setup.
Manjaro will allow users to pick between FreeOffice, Libre Office, or no office suite at all.
The Igalia team announced that they are working to make Pitivi compatible with Final Cut Pro X
Microsoft might be bringing its Teams software to Linux.
Martin Wimpress from the Canonical SnapCraft team gave an interview to TechRepublic, on Snaps
A discussion took place on how to improve Linux desktop performance in low ram scenarios.
A KDE vulnerability has been outed publicly before notifying the developers.
Nvidia has open sourced a bunch of documentation for its GPUs
Linux Journal announced they would cease their publication.
Kdenlive 19.08 has been released, bringing 3 point editing and a bunch of keyboard shortcuts
The Linux on Dex project now allows to run Ubuntu 16.04 LTS on a samsung smartphone.
According to protondb, we passed the 6000 playable games mark, out of 9 thousand for which users have created a report
GNOME Feeds has been released on flathub, a simple app to read RSS feeds on GNOME
The enlightenment desktop released its first version in 2 years, enlightenment 0.23.0.
Linux celebrated its 28th birthday
Microsoft announced that they would bring exFAT support to the linux kernel.
Thundebird 68 was released with an interface redesign
Collabora has published an update on their work on viglrenderer, a solution to emulate a gpu while using a virtual machine through Qemu.7
I solved this bug today just to get good sleep at night by not brainstorming every solution.
Here I am thinking about the different scenarios to test my code!!I think I'll sleep peacefully tomorrow!!
Reporting is not fun..
* A user says they need to export certain data from our system..
* Developer W makes report called "Foo detail report"
* A user says they need this report to also show some extra fields
* Developer X makes a new report called "Foo detail report (extra fields)"
* A user says they need this report to be run with a different search criteria
* Developer Y makes a new report called "Foo detail report (extra fields) by bar"
* A user says they need this report show data grouped in a different way
* Developer Z makes a new report called "Foo detail report (extra fields) by bar- new grouping"
The above scenarios happened over and over for several years in no particular order...
* Some users have certain reports they use and rely on but we don't know which ones
* Nobody really knows what all of the reports do or what is the difference between them without looking at the sql
* If we want to change data structures we have many reports to update
* I have a request from a user to add an extra column to one of the reports1
Was reading something about delusional disorder, and it got a bit scary cuz it made me question myself. Now, I tell you why.
I have a bad memory when it comes to trivial stuff. And I am, by occupation and therefore on a daily basis, creative and imaginative. Having pretty strong imagination means that I often have to ask myself "did that really happen or did I imagine it?" Which, given anxiety, I imagine all types of scenarios before they happen. (Parallel universes got nothing on me 😎)
So, now I'm wondering, where is the line between imagination and delusion, and how can you say what's real and what's not, be it offline (distorted memory) or online (schizophrenia).
One idea could be that video recording could help confirm, but we read emotions and vibe in real-time, and often those can't be recorded.
... Idk. Maybe I'm overthinking it. ¯\_(ツ)_/¯
Thank you for reading my half-baked thoughts!6
My mentor always told me to tackle 1 problem at a time. “Go get the basic scenarios first then we can decide/derive what happens on complex scenarios.”
This shit helped me through my 4+ years in the company. Now that I’m a mentor myself I’ll make sure the legacy continues.
10 scenarios of a programmer:
1: My code works and I don't know why.
10: My code doesn't work and I don't know why.6
It all started with an undelivereable e-mail.
New manager (soon-to-be boss) walks into admin guy's office and complains about an e-mail he sent to a customer being rejected by the recipient's mail server. I can hear parts of the conversation from my office across the floor.
Recipient uses the spamcop.net blacklist and our mail was rejected since it came from an IP address known to be sending mails to their spamtrap.
Admin guy wants to verify the claim by trying to find out our static public IPv4 address, to compare it to the blacklisted one from the notification.
For half an hour boss and him are trying to find the correct login credentials for the telco's customer-self-care web interface.
Eventually they call telco's support to get new credentials, it turned out during the VoIP migration about six months ago we got new credentials that were apparently not noted anywhere.
Eventually admin guy can log in, and wonders why he can't see any static IP address listed there, calls support again. Turns out we were not even using a static IP address anymore since the VoIP change. Now it's not like we would be hosting any services that need to be publicly accessible, nor would all users send their e-mail via a local server (at least my machine is already configured to talk directly to the telco's smtp, but this was supposedly different in the good ol' days, so I'm not sure whether it still applies to some users).
In any case, the e-mail issue seems completely forgotten by now: Admin guy wants his static ip address back, negotiates with telco support.
The change will require new PPPoE credentials for the VDSL line, he apparently received them over the phone(?) and should update them in the CPE after they had disabled the login for the dynamic address. Obviously something went wrong, admin guy meanwhile having to use his private phone to call support, claims the credentials would be reverted immediately when he changed them in the CPE Web UI.
Now I'm not exactly sure why, there's two scenarios I could imagine:
- Maybe telco would use TR-069/CWMP to remotely provision the credentials which are not updated in their system, thus overwriting CPE to the old ones and don't allow for manual changes, or
- Maybe just a browser issue. The CPE's login page is not even rendered correctly in my browser, but then again I'm the only one at the company using Firefox Private Mode with Ghostery, so it can't be reproduced on another machine. At least viewing the login/status page works with IE11 though, no idea how badly-written the config stuff itself might be.
Many hours pass, I enjoy not being annoyed by incoming phone calls for the rest of the day. Boss is slightly less happy, no internet and no incoming calls.
Next morning, windows would ask me to classify this new network as public/work/private - apparently someone tried factory-resetting the CPE. Or did they even get a replacement!? Still no internet though.
Hours later, everything finally back to normal, no idea what exactly happened - but we have our old static IPv4 address back, still wondering what we need it for.
Oh, and the blacklisted IP address was just the telco's mail server, of course. They end up on the spamcop list every once in a while.
tl;dr: if you're running a business in Germany that needs e-mail, just don't send it via the big magenta monopoly - you would end up sharing the same mail servers with tons of small businesses that might not employ the most qualified people for securing their stuff, so they will naturally be pwned and abused for spam every once in a while, having your mailservers blacklisted.
I'm waiting for the day when the next e-mail will be blocked and manager / boss eventually wonder how the 24-hours-outage did not even fix aynything in the end...
Testers who find an issue that prevents execution of an early step common to many scenarios, who then dutifully create 150 tickets to fail each scenario individually, crowing on about how many issues they've found1
Many of the problems I see people solving with these giant stacks could be easily solved understanding how websites work (html, css, js and how interact with each other) with no dependencies giving smaller (for end users at least) and more maintainable code (in the sense it would not require updating dependencies that may be discontinued...)
I do imagine situations where these are ideal... Since there are not absolutes and developing is very context sensitive, but man if I have js article fatigue for ridiculous scenarios.2
It’s actually been quite a fun day, after some ranting on one of our slack communities flutter channel, myself and my team realized we were in a really good place to give back.
We have been working on a large scale flutter application for about a year, phase 1 is about done and we at 11k LOC.
We have been doing a big push for testing over the last 2 months and are at about 50% coverage. The thing we realized is that is the 1 place flutter has fallen short with documentation.
Very little about what we learned for testing our code came out of a google search, or it came out of cobbling bits together from numerous searches and sources.
So we decided we are going to plan and host a virtual meetup to discuss what we have learned and hopefully teach a few people some useful things and hopefully also learn a few new things too.
In addition, and as it has a longer shelf life, we going to setup a medium publication for the company and start a series to cover small specific topics, specific use cases or scenarios that we had trouble with and solved.
Today I had my first thing to type out, had worked out how to test that a function that was passed into a widget was called. So the parent passes the child and onTap function but you are testing the child not the parent as the child is reusable...
Anyway, so with that idea I got hold of marketing for some assets, setup the publication and proceeded to type out 3 articles today, all nice short ones under 2 min reading time.
It really is nice to give back, it’s not like I am Remi smart and can go and write BLoC, but I am smart enough to figure shit out and type it up so that the next guy hopefully benefits from my brain bashing.6
I really need to vent this out. I don't know if the person I chatted last night is in some danger or not.
I recently got to know her and I had plans to collaborate on some projects with her.
She messaged me asking for a solution to a bug she faced and I was trying help her figure it out.
As I suggested a solution for her to try, she decided it was time for her to take her little dog to walk and told me she will check it right and let me know right after coming from walk.
It was already late in the night and I mentioned it to her. She responded like it was usual thing for her to go for dog walk at night but I'm kind of worried now since the city she lives in is infamously known as the rape capital.
She hasn't seen the last message I sent and there is no reason for her to keep me in the dark.
I had a hard time not being able to sleep because of my mind thinking of the worst case scenarios.
I don't know I'm just being too paranoid or if I should get someone to check on her.
I really hope she is back home and simply forgot to message me or something.13
When an interviewer asks, what are the steps that you take usually when given a task to do something, what do you guys say?
I said, I devote 10-20% of the time to understand the given problem - sit and explore all possible scenarios to handle, then develop a brute Force approach, improve the approach to make it more efficient, see if it handles all edge and corner cases, then write test cases for it.
( I'm thinking, the process doesn't vary a lot for most of the people?, Except in TDD - one'll write the test cases first)
How would you answer this question?
I have this feeling that I messed up something 🤔9
I hope I did not make the wrong decision here:
Been working on a side project using React Js for a year now. After getting to know more about Vue, I just started rewriting it and moving it to Vue, to speed things up I'm using core JS classes for network stuff and validations ...etc just rewriting Redux to Vuex and React Components to Vue Templates
If I made the wrong decision I'd appreciate if anyone tell me about it before I go deeper in the rewrite process lol
It is not that I found speed difference both perform the same from what I've seen for my scenarios. But the output code of Vue is soooo much cleaner than what I found in React, either I failed to write a clean react code no matter how hard I try to optimize it, or Vue really takes the short way and keeps things clean.19
My C# class loves to come up with weird/unrealistic scenarios to teach a specific language feature... I feel like the more effective way to teach would be to mention a real life scenario where it makes more sense to use the feature and give it some context rather than coming up with some arbitrary series of classes to represent departments and employees and then say "write extension methods for them to write them out"
If you tell me that I'm going to go, ok this works, but is there a specific reason I should do this instead of using a for or foreach to do the exact same thing? Don't get me wrong I see the appeal of extension methods as well as LINQ but this class never gives any sort of context as to why we're doing stuff. This class could be good, I've had classes that focus on language specific features taught in ways that make sense... My Java prof did a great job...
Also all the slides are terribly written...
Like I attached an example of the description for extension methods... The slides then go on to explain how the syntax for them works and gives an example...
Like ok I guess technically you told me what they are and how to use them, but gave zero context...
On the opposite end of the spectrum, I go to MSDN for their definition of extension methods, and it is much more clearly written and gives context to where/why they're used... and this is supposed to be a 5th semester course...2
Since when are developers supposed to write story scenarios? Isn't that what I'm supposed to be working from?
What real life skills did you learn from Software dev?
My takes would be :
1. If a product is created in an organized, pre planned way with a proper architecture and design, its scaling, testing and working will be easier and reliable
2. There are a lot of ways to achieve an output and each way has its own advantages and disadvantages. Know and handle them before applying
3. Knowledge Transfer (KT) is a thing : we gotta create something in a manner that someone else could also work on it and maintain it in your absence . Again, following an architecture or guidelines helps
4. Your output should ve robust and tough to break : people are stupid and would break your shit otherwise. (And blame you for that)
5. Preoptimization is the root cause of all evils. Just start with whatever you have, keep bringing more and more items and joining them together and refactoring it make the best out of waste, until it starts becoming "good enough" .
6. There is only a path to become "good enough" , one could never reach the "best" state, as their is no nest state that would cover all possible scenarios.
7. Even this "good enough" state of mind/product/life is not constant, as what's "good enough" or "working" in this particular time/place/environment/etc won't be "good enough" in another time/place/environment. This good enough state is dynamic in nature
8. We are responsible for the actions we do, we can't run away from it . As we grow in responsibility and authority, we are also responsible for the actions of others that occurred because of us. (eg :dev : how a senior is responsible for junior's actions , life : how members of the family are responsible for the children's actions)
9. Responsibility demands dedication but also provides great benefits. basically hardwork bears fruit .
10. People are evil and always trying to divert/delay/blame. Make sure to be alert of your environment and always be in a safe position.
11. Politeness, Rudeness and being Frank/honest are your 3 options of responding to a particular situation . Know when to use which. Correctly used and you could get a successful output. Incorrectly used and your stakes are at risk1
So i was going through the Pragmatic Programmer book and i saw a name in the acknowledgements section... Alistair Cockburn... And my mind just started imagining all these scenarios where he was bullied. He has a great firstname though Alistair sounds like such a badass name and thats why i bet when he is introducing himself, firstnames only he just refuses to tell his last name i seriously wonder how he went through the wedding if he had one. Mr. and Mrs. Cockburn 😂 oh god this is so childish but so funny.6
Has to be writing.
Not exactly a better dev, per se, but close enough.
I used to read books and imagine all sorts of possible scenarios to different events. One day, after replaying the Mass Effect series, I began to think about alternate ways to end it. Opened Libre Office and started hammering away. 10 minutes later, I had an outline. Never actually finished that story, but the spark was there.
I began noting down outlines and creating structures for interesting games and books; that soon carried over to my work. Before and after every meeting with my boss, I'd have outlined how the meeting was going to go, and how it actually went. Gave me a sense of order.
This in turn helped me be a better manager (I work with a team of 9), and I tell you guys, it couldn't have come at a better time. I had been promoted quite suddenly, and had been fucking up quite a bit at the start.
I had my shit in order. My team was happier and more efficient. My boss was happy. I was given bigger goals and tighter deadlines. I fucking loved it.
All this, from writing some fanfiction. (there, I said it!)
P. S: I stared at this for a solid minute, still not sure how it all came together.1
A coworker needed to check the number of users for brand. So he selected all rows from users table and then used php's count function. He released this piece onto production.
Later that day he asked me if there's a problem with the production env because his code is working on local.2
So the company I work at is moving to a new location. We are a small company, so we were all talking about potential problems with the move - network, internet, firewalls, access to servers and so on. Us trying to cover all possible scenarios.
Our CTO looks up and says: “or we could just cross our fingers and hope for best”.
I’ve recently started at a company where though I’m one of the youngest out of my colleagues I am on the same role-level as them (if that makes sense) and it’s different to my old job where I was at a start up as a junior developer (not very appreciated there tbh), here however, I feel like I am treated as their equal and in most scenarios depended on, especially if it’s a piece of work I did. I know its not a big deal but I’m not sure how to handle all this importance lol, I can’t lie I do feel sometimes I might have imposter syndrome. How would you deal in a situation like this/do things to improve self confidence?4
When I hit the endpoint from Postman it works. When I hit the endpoint from my application that pushes data to the endpoint it doesn't work, returning a 404 status code. I KNOW the endpoint is there and operational and that both Postman and my application have the same endpoint configured, letter for letter.
So lost. So confused. What the hell is going on.
I decide to install Fiddler to monitor the traffic to see if I can see anything helpful.
I initiate the request again from the application and immediately see that the request size is huge. BAM. It immediately hits me, the payload to the endpoint is too big and the server is "rejecting" it with a 404. I post a smaller request with the application and it works fine.
Yay, saved by Fiddler.
Why does the endpoint default to 404 in such scenarios. The definition of 404: "the client was able to communicate with a given server, but the server could not find what was requested"
In my case, the 404 returned was a red herring. I understand that the substatus code gives more information on why the 404 was returned, in my case the request size being too big, but 404 in general feels like the wrong status code to return because the endpoint IS there. It made me troubleshoot the wrong thing.
Responzivity looks little off:
1) Yep, by default all elements are excesively large, so i need to do many breaks to fit all scenarios and keep important informations in first few screens.
2) Sometimes you follow 1280 max-width, sometimes 1440, sometimes others. It is hard to achieve some consistent look on smaller devices than your biiig monitor.
3) Design is heavily dependent on large and various images with text overlay. In some scenarios text become unreadable.
4) You did not design a responzive version in first place, so FUCK OFF! I just trying to do my best to fix your shit because you suck as hell!
Escaled quickly, but i'm so tired of this idiot.5
Most of my projects are based on one or few existing platforms, so core technology considerations are usually quick.
I like to wrap my head around the user stories first and then decide should this be more of a future-proof code, ie more extensible/generic, or just a code that will serve a few specific scenarios but would allow me to get it over with quickly.
When you got to get through the swarm of elective classes to get to the meat of the bones in a Software Development degree 😤
How many times do we need to take Math in order to get across that we only use like 1/4 of what is actually thought and apply it to IRL scenarios?!
My FASFA is gonna run dry at this rate and I just wanna start these Software Development classes already 🙄😭🙏1
Gotta stop providing better code solutions to crap that's not my business, roped into so much crap and now I have to put all these bad code fixes into some intern training scenarios or something...fml
There's only three endgame situations I can imagine: Become fuel for AI's projects, become some kind of pet or archived memorabilia thing stored in a vat of amniotic fluid, or merge brain and be human-AI hybrid.
Don't know if the concept of "job" is still meaningful in any of those scenarios.4
When Do You Stop Taking Responsibility?
Let me clarify by describing four scenarios in which you are tasked with some software development. It could be a large or small task. The fourth scenario is the one I'm interested in. The first three are just for contrast.
1. You either decide how to implement the requirements, or you're given directions or constraints you agree with. (If you hadn't been given those specific directions you probably would have done the same thing anyway.) **You feel accountable for the outcome**, such as whether it works correctly or is delivered on time. And, of course, the team feels collectively accountable. (We could call this the "happy path.")
2. You would prefer to do the work one way, but you're instructed to do it a different way, either by a manager, team lead, or team consensus. You disagree with the approach, but you're not a stubborn know-it-all. You understand that their way is valid, or you don't fully understand it but you trust that someone else does. You're probably going to learn something. **You feel accountable for the outcome** in a normal, non-blaming sort of way.
3. You're instructed to do something so horribly wrong that it's guaranteed to fail badly. You're in a position to refuse or push back, and you do.
4. You're given instructions that you know are bad, you raise your objections, and then you follow them anyway. It could be a really awful technical approach, use of copy-pasted code, the wrong tools, wrong library, no unit testing, or anything similar. The negative consequences you expect could include technical failure, technical debt, or significant delays. **You do not feel accountable for the outcome.** If it doesn't work, takes too long, or the users hate it, you expect the individual(s) who gave you instructions to take full responsibility. It's not that you want to point fingers, but you will if it comes to that.
That fourth scenario could provoke all sorts of reactions. I'm interested in it for what you might call research purposes.
The final outcome is irrelevant. If it failed, whether someone else ultimately took responsibility or you were blamed is irrelevant. That it is the opposite of team accountability is obvious and also irrelevant.
Here is the question (finally!)
Have you experienced scenario number four, in which you develop software (big as an application, small as a class or method) in a way you believe to be so incorrect that it will have consequences, because someone required you to do so, and you complied *with the expectation that they, not you, would be accountable for the outcome?*
Emphasis is not on the outcome or who was held accountable, but on whether you *felt* accountable when you developed the software.
If you just want to answer yes or no, or "yes, several times," that's great. If you'd like to describe the scenario with any amount of detail, that's great too. If it's something you'd rather not share publicly you can contact me privately - my profile name at gmail.com.
The point is not judgment. I'll go first. My answer is yes, I have experienced scenario #4. For example, I've been told to copy/paste/edit code which I know will be incomprehensible, unmaintainable, buggy, and give future developers nightmares. I've had to build features I know users will hate. Sometimes I've been wrong. I usually raised objections or shared concerns with the team. Sometimes the environment made that impractical. If the problems persisted I looked for other work. But the point is that sometimes I did what I was told, and I felt that if it went horribly wrong I could say, "Yes, I understand, but this was not my decision." *I did not feel accountable.*.
I plan on writing more about this, but I'd like to start by gathering some perspective and understanding beyond just my own experience.
hi, i have a question of a darker note, hope you won't mind.
How do you deal with monotony at work ?
The more experienced i get, the more my work becomes monotonous. I understand that it's impossible to know everything, but i feel as if there's not that much knowledge left for everyday work.
Sure there will always be new scenarios and more advanced/marginal stuff, but they don't appear that often.
i get depressed (not clinically, just very bad state overall) when i stop learning, which is why i've been strugling quite a bit recently.
i have ~3 years in web dev. So i'm not some kind of guru or anything even close, but this is the problem i have right now.
i've been thinking about switching languages or specialisation (i do enjoy DevOps/sysadmin work), but i'm afraid i'll have the same problem pretty soon...13
WARNING - a lot of text.
I am open for questions and discussions :)
I am not an education program specialist and I can't decide what's best for everyone. It is hard process of managing the prigram which is going through a lot of instances.
Speaking about schools: regular schools does not prepare computer scientists. I have a lot of thoughts abouth whether we need or do NOT need such amount of knowledge in some subjects, but that's completely different story. Back to cs.
The main problem is that IT sphere evolves exceedingly fast (compared to others) and education system adaptation is honestly too slow.
SC studies in schools needs to be reformed almost every year to accept updates and corrections, but education system in most countries does not support that, thats the main problem. In basic course, which is for everyone I'd suggest to tell about brief computer usage, like office, OS basics, etc. But not only MS stuff... Linux is no more that nerdy stuff from 90', it's evolved and ready to use OS for everyone. So basic OS tour, like wtf is MAC, Linux (you can show Ubuntu/Mint, etc - the easy stuff) would be great... Also, show students cloud technologies. Like, you have an option to do *that* in your browser! And, yeah, classy stuff like what's USB and what's MB/GB and other basic stuff.. not digging into it for 6 months, but just brief overview wuth some useful info... Everyone had seen a PC by the time they are studying cs anyway.. and somewhere at the end we can introduce programming, what you can do with it and maybe hello world in whatever language, but no more.. 'cause it's still class for everyone, no need to explain stars there.
For last years, where shit's getting serious, like where you can choose: study cs or not - there we can teach programming. In my country it's 2 years. It's possible to cover OOP principles of +/- modern language (Java or C++ is not bad too, maybe even GO, whatever, that's not me who will decide it. Point that it's not from 70') + VCS + sime real world app like simplified, but still functional bookstore managing app.
That's about schools.
Speaking about universities - logic isbthe same. It needs to be modern and accept corrections and updates every year. And now it depends on what you're studying there. Are you going to have software engineering diploma or business system analyst...
Generally speaking, for developers - we need more real world scenarios and I guess, some technologies and frameworks. Ofc, theory too, but not that stuff from 1980. Come-on, nowadays nobody specifies 1 functional requirement in several pages and, generally, nobody is writing that specification for 2 years. Product becomes obsolete and it's haven't even started yet.
Everything changes, whether it is how we write specification documents, or literally anything else in IT.
Once more, morale: update CS program yearly, goddammit
How to do it - it's the whole another topic.
Thank you for reading.2
Never got one as is, but went so close to it than I could smell the smell of death out if it.
Short story: it's due to my hate of Drupal 8, but I just don't know if I was badly introduced to it through a car wreck of a project or if I simply just hate it and it's insanly hard way to do simple stuff.
In November I went to the point where development was no longer a pleasure, and I was doing lots and lots of small mistakes that almost got my ass fired (made a rant about it). Nothing was enjoyable, I stop going to the gym, ate badly, saw no one excepted my roommate...
The day they switched me to write test scenarios with Behat, the sun started to shine again. Now that I'm back on Drupal knowing all this, I know that I'll have to leave the company once I have my diploma, because there's no point to stay in a place doing something you don't enjoy while you get tons of job proposals on LinkedIn
To all the people who are deep down in it: stay strong, save your ass as soon as possible and find something else, but keep some time to heal.
Do you think it is worth learning functional programming and specifically haskell. It seems like a really good concept, but a lot of people claim that it's not applicable in real scenarios.12
Sooo a coworker and I tonight were working on some software and somehow got side tracked on discussion regarding our thinking process, and how one of our other coworkers always things so strangely always defensive etc.. which then lead us to saying it would be nice if we could like see and feel how another persons brain is and how they draw conclusions and think..
this conversion immediately changed to the inner-monologue discussion.
And holy shit went go distracted for 4 hours tonight!
I have inner monologue, visual, auditory, symbolic and non symbolic abstract thinking in my mind, and it’s all happening at the same time, like a million miles a minute.
The other coworker has no inner monologue at all.
4 hours questioning each other trying to understand how the other one things then debating what we believe how the one perticular Coworker thinks. And then placing bets on what we think all the other coworkers are.
I’ve never had such a deep discussion on how my brain works nor how someone else thinks.
Like I was like joking but serious not in a bad way I’m not crazy my brain switches thinking depending on the situation I don’t have to. Try or think about it just occurs..
Like remembering things I’ll daisy chain and hop pictures, words and thoughts to bring back things but no effort it just occurs.
When a song is playing I can remember the last time I heard that song or part of the song I can feel how it was, I can see what I was doing what was happening in the world etc.
In the shower or driving I will have debates in my mind and play scenarios out in my mind on how a conversation or situation will go. I visually see and hear and feel the conversation that did or did not occur at that time. And I can jump to “playing” each person.
Or when a large decision is to be made or brainstorming an idea to me I like having the British parliament in a room, and debating the topic.
When people are talking I visually see what they are saying.
I thought EVERYONE was like this.. apparently not lol.
But this conversation did bring up a lot of realization of why I can quickly jump to conclusions or quickly move thru a conversation or concept but my coworker is lagging behind. Or having a hard time visualizing what I’m saying, thus me drawing it very fast and him/them saying how did you come up with that that quickly... ugh because in my mind I’ve already drew it up I’m just drawing what I see. Almost having to slow down and go back in time to explain something to them.
THEN we called a few of my “Star” interns haha and asked them, apparently they are all think the same way I do or atleast somewhat, which explains why some people I work i able to express ideas and continue thru a topic very quickly. While others I must slow down.
We need more of these discussions until now I had no idea there was “a different way people mentally process things” the entire conversation was very enlightening for the both of us, now I know what I must do differently and so does the other one.
But then we thought what caused this? Is this a learned trait from experience as a child? Or evaluation? Or just the deck of cards we are delt? Is this left hand people or right hand? I’m left hand and the two interns are left hand and they think the same, but the other coworker in the discussion was a right hander.. then we thought was this a result of imaginary friends as a young child? Was this a result of reading as a young child? Is one version better at math than the other.. music etc... is this a result of hyperactive brain? Drugs? Could drugs induce it? What does alcohol do to it...
Yeah we questioned all these things and more seriously went down the rabbit hole tonight... lmfao, tomorrow we will be surveying the rest of the team to see if we can draw any spurious informer conclusions and how accurate our bets were based on what we know personality wise of the other coworkers
SOOOOO thoughts???? Hahah
How many of y’all knew the other type existed? What type are you? And are you introverted or extroverted? Any rational relations we can connect to better explain this shit?9
feeling like shit at work because I'm not productive at all.... I'm a fullstack web dev and was assigned to create a java data importer with multiple sources, multiple scenarios and using various data types... What makes this difficult is that I'm not used to strictly typed languages, because I'm used to swapping variable types and nulling them down/whatever I need to do with them whenever I want. In java I need to assign the correct variable types, there are no asociative arrays . I've been fixing one issue this whole day. Litteraly one fucking issue. Maneged to fuck javas garbage collection even though it's supposed to be automatic. Fuck. I feel like I need to stay late, and program on the weekends to achieve anything with this assigment because right now I feel like I make 0 progress. Boss leaves for vacation next week for a week, and he's the other dev that theoretically should be working with me...4
Done it once or twice when finishing up a feature for a presentation/delivery the next day.
I'm leaning on the side of Not Worth It because I'd rather not be sleep deprived and dumb in brainy brain when interacting with the client and demoing my other stuff.
I guess it's usually when my perfectionism flares up that I'm likely to do stuff like that.
Will consider an all-nighter if it's reeeally necessary but there's few scenarios I can imagine where that is warranted. Maybe when working on a very serious security flaw or something of that nature. Most stuff can wait a couple of days...
Edit: goddamn I guess I committed the sin of not really answering the question. There's no story here. Boooo. Permission to hate myself, captain?
Probably either writing the occasional lazy commit message, or skipping a few testing scenarios when testing dev work locally. Although to be honest, its rarely out of laziness that I do these things. Its often trying to urgently finish something for a weekend release/hotfix.
It's frustrating when you tell your teammate after code review that they have to rework their code a bit to capture certain scenarios they've missed and they just scowl at you.
I'm just trying to make it easier for us in the long run!
It's fuckin midnight, after an exhausting day. Instead of working on a company, why don't each one of us just create a blog site, then add some ads, we share our url here and we'll gonna visit each shared url to generate traffic so we can generate revenue.
Oh if only it could work that way. These what if scenarios sometimes coming to my mind at night. Sorry for the interruption, keep scrolling.3
I used to think that programming was just straight forward coding what you need.
But now I think it's describing the problem and writing code to solve that problem.
Example: recursive function. It calls itself till it finds a solution or till no options are left. You don't know the answer, but you code something that can find it for you.
Or php, you don't create every single html page, that's done by php dynamically.
The great thing is, it's less work and it is easier to catch error scenarios.
The bad thing is it has become a bit more abstract.
So I'm testing a co-workers code and doing regression scenarios when suddenly it "loses" data in two fields after I save the data and go out/come back into the form. That's weird says I, lets have a look....
And I find the following conditional::
if (field empty) then failValidation("hey stoopid user")
else blank field value
Happy Friyay everyone....
I'm tired. I don't want to do these tests anymore. These vague test scenarios I have to decrypt on my own lest asking business shows signs of weakness. I'm slow to test and going way beyond the hours the client estimated and you folks just accepted. How can I finish this when I get pulled to meetings which I am not the decision maker but I'm supposed to be the technical one to help them decide. In between this testing I get emails to help check on issues I'm not even a part of. Production issues I can understand because those have a feel of critical and priority but if you pull me to that I lose time testing. I'm trying. But I'm truly very slow at this. I'm a slow tester for this set of test cases. I'm hating myself every minute as the hours inch to the deadline which is today. I want to sleep but I want to finish as well. Shitty days of drone work that could have been given to somebody else but I can't say no to because you guys accepted. Someone from management just see please, don't give this to me. But you can't see. You probably don't even understand. They asked, you caved because you can't see the list of tasks and level of detail that comes with each thing they ask. This testing is a ridiculous use of my time but I can't say that to the client. You could have. I want to. I truly want to say "Fuck these tests". I tried to push back. But the client of course reasoned back and it was understandable to ask. To do what's good and what's best. How can I say no to that?! I'm almost depleted. I'll just finish this somehow.
**18 fuckin hours with full concentration on this Friday starting from 9:30 AM**
I'd developed a big feature for this release and it was being tested by QA guys.
There was this fuckin QA who raised a bug on Friday morning saying that one of the work flow is not working as expected. I debugged it in various scenarios including the one suggested by that dick head but I couldn't reproduce it.
On stating that, QA got pissed and told me that I've not developed it correctly. *Yeah fuck head now you are telling me*
My lead asked me to make some changes in the flow and then check. Did that but no luck.
Finally at 3AM on Saturday, this fuckin nut job QA mails me saying that he was giving in WRONG Inputs 😡
Yeah. It was that bad!
Blazor server ! Who is excited ?
Well, I've started programming only a few years ago, and haven't done a lot of projects.
I guess the best thins I learned was I preffer to do projects alone. Everytime I try to do a project with someone, one of two scenarios happen:
- We each do a part of the project, and only talk at the end. Normally everything works out fine.
- We can't agree on anything and, in the end, nothing ever works.
I think I only enjoyed doing a project with one person. We were learning vue.js, but I was staying behind and the guy I was with was okay at it. He would do most things, while i was watching him and he would explained what he was doing and why. Then I started doing stuff (very easy things) while he was watching me and guiding me. Telling me if there was a better way of doing something, or even if I made a typo. Basically, I would do something and he would tell me if it was wrong. We ended up making a (very) simplified imdb from scratch in, I think, 8 hours? Took us longer to choose the template then to make the actual project. Yes, he made most of the project, but I think I have an excuse on this one. I did end up learning a lot, I wouldn't pass that module if it wasn't for him.
Other then that one, I never had any good experience in a group. I would rather make everything alone, no one to disagree or fight with.2
Recently we got a new project assigned and as always you are hyped, really really hyped...........
We were supposed to find all kind of driver updates (especially bios ones) for all devices the company owns. So first of all we thought:
EAAAASY! A little bit of web crawling, regex, etc.
We were sooooo soooo wrong these fucking manufacturer websites are absolutely awful to crawl or parse and nowadays there are no proper FTP Servers or something else anymore you could use to get the information. Every subsite is little bit different...
While coding and literally brute forcing possible urls (there was some kind of vague pattern) we learned AGAIN to appreciate proper developed and designed websites. Especially by devs who may have some more usage scenarios in mind for their site than simple human clients.
So thank you to all of you awesome web developers who design proper websites and web tools!
All in all it took us 2 weeks to come up with a proper solution (by the way we are a smal team of 3 devs) which somewhat works reliable and can deal with site changes etc.
I have become very fond of React, but the pushback I've experienced when suggesting typescript is crazy.
I think this is the reason why so many enterprise apps are written in Angular. Type safety isn’t a crutch, it's a tool. Plus, interfaces are a dev time construct, and will not bloat the codebase since it doesn’t transpile into js.
But Ts also gives us a lot of other goodies that allow for cleaner design patterns and a better adoption of oop principals.
Also, generics/constructor types, whatever you wanna call it, are your friends. An Array<SomeEntity> or SomeEntity will give you peace of mind I’m so many scenarios.
Anyway, I have bitched enough.
Have a wonderful Christmas, everyone.
Ps. This isn’t aimed at anyone in particular, but a the react community as a collective. :)3
Product designer keeps on changing designs and managers approve it every single time. Totally frustrated to work. Why can't they think of scenarios based on design? Why should they allow me work on something guaranteeing that things won't be changed but change every single time.
I know product specs change, but too much of change frustrates the developer. Why does no body care for developer's mindset?
Then you start in a new job.. wow big scenarios, complex, hundreds of microservices, large architecture, tons of trainings... and you have a task to check one thing... and you ask, please i need the documentation about this feature. “We don’t have any document. You can track it manually vis debug”
Now I have 7 instances of Visual Studio attached with a lot of services with tons of breaking points looking where the breakpoint will hit
Is it just me or anyone else feels anxious due to work, even when there is no reason to be.
I have 2 3 meetings each day, whenever I know that I have to speak in the meeting about something I get anxious. This anxiety can hit anytime, maybe 1 hour or 10 hours before the meeting.
I feel like whatever I am going to say is dumb, people will judge me. No matter whatever people suggest on this, that no on's actually thinking about you or asking questions is good, this anxiety doesn't go.
Please help if you had same kind of problem. Share your scenarios of you were in anything like this.2
Another part of messy network gone.
Caching fucked me hard....
Isn't it just lovely that nowadays you need to nearly wipe a machine to get it from claiming stale data....
And thanks to DNS, HAProxy -/ service names / ... I think I know now why the curse of babel is so powerful.
When you have to think for 2 mins to make sure you've set the zone's right, cause otherwise you need to ProxyJump with SSH through more tunnels than imaginable (VPN/HO) to fix possible caching on several DNS servers.... You'll realize that it's russian roulette with too much bullets. :(
And If a monitoring service asks another monitoring service for status information which asks the first monitoring service which then asks the second monitoring cause you were too late...
You'll get very funky monitoring statistics.
Too slow, had to nuke it (mismatched a DNS name, the second monitoring service should have been a service node).
I think I've had more near death scenarios in the last 2 weeks than I like.
Hopefully I'll never have to do that again.
(Splitting and reordering a few dozen VLANs, assigning proper DNS names, loadbalancer migration....)
I m looking for a tool to record every click I make within chrome for short periods of time. Just so I can be sure I have clicked on the right elements while manually running complex scenarios.
Any recommendations ?4
A hyperrealistic military/civilian simulator a la ArmA. Simulating continents, accurate sounds etc. with a easy to use editor for scenarios.
Massive Multiplayer Sessions with hundreds of players while maintaining great performance.
And all of this with the best physics engine you have ever seen 😅2
Just sat the shittiest exam of my life yesterday. It involved among other things: TDD with java (on paper), critiquing and rewriting gherkin scenarios, and diagnosing problems with agile teams based on a limited description. I was short for time at the end and chose not to answer some questions because it would tire my hand too much to attempt them, and it's time consuming af to edit stuff you wrote down.
Many other exams are switching to online tests, and this one really could have benefited from that given the sheer volume of crap I had to write down.
I'm basically hoping to God that I didn't fail this thing, but the lowest exam grade I've had so far is 70 so it would be crazy if I did. Still, fuck these people for writing such a difficult exam.
Just discovered https://twitter.com/ExpertBeginner1. It's the story of my life. Giant classes, copying and pasting, and architects who create frameworks. It's great when we combine all three: A "framework" created by an architect which is made of giant classes that you copy and paste. Imagine a giant generic class where the generic argument is only used by dead code. Pause for a moment and try to visualize that.
It inherits from a base class with lots of virtual methods called by base methods that throw NotImplementedException, so if you don't need them you have to override them to return empty collections. If you're going to do something so messed up you could just put those default implementations in the base. But no, you can inherit, it compiles, and then it throws a runtime error unless you override methods the compiler doesn't require you to override.
The one method you're required to override has a TODO comment telling you what to put there. Except don't ever do what the comment says because that's the old standard. The new standard says never, ever do that.
Most of the time when I read about copy-and-paste coding it's about devs who copy and paste because they don't know how to write or reuse code. They don't mention the environments where copying and pasting the same classes over and over again is the requirement and you're not allowed to write your own code.
Creating base classes where you just override a method or two can potentially work, but only in the right scenarios and only if you do it right. If you're copying and pasting a class that inherits from the base class and consists entirely of repeated code, why the heck isn't that the base class? It could be a total mess, but at least it would be out of sight and each successive developer wouldn't become responsible for it by including it in their own code.
It's a temporary engagement, but I feel almost violated. I know it's a first-world problem, and I get to work indoors and take vacations. I'm grateful for those things.
Before leaving I had to document the entire process of copying and pasting an entire repo, making a ton of baseline edits that should just be in the template but aren't, and then copying and pasting from other places into the copied and pasted code. That makes me a collaborator. I apologize more than once in the documentation, all 20 pages of it that you have to read and follow before you even get to the part where you write the code for what you actually need it to do.
This architect has succeeded in making every single thing anyone does more about servicing the needs of his "framework" than about writing actual code to do what needs doing. Now that the framework is in and around everything it creates the illusion that it's a critical part of our operations. It's not. It's useless overhead.
Because management is deceived into thinking they need it they overlook the fact that it blows up, big and small, every single day. The log is full of failures that I know no one ever sees. A big chunk of what they think it does fails silently, and they don't even notice until months later when they realize how much data they're missing. But if they lose, say, 25% they'll never notice.
When they do notice they just act like it's normal, go into fire drill mode, and fix it. Doom. You're all doomed. I'm standing on the deck of the Titanic next to my jet ski.1
My task is to create a form for posting customer details to the server.
I've spent almost 2 days on the UI.
I mean, it doesn't look like I've been doing much if you consider the UI only, but I've been testing many scenarios of what works best, but unfortunately, the boss only cares about the code, and not how many concepts that have been tested.
So what the form basically does is if you click on the edit button, the inputs field will occur, and if you click on it again it will remove the lines around the input field for better presentation of the data.
How do you show to someone the work you've done, do you write notes or show them the code?3
So tester’ duty is to make sure the software application is bug free or defect free by implementing various scenarios with testing techniques, don’t u agree? pls. comment2
Apparently I'm to try and fix bugs that are 1-2 years old. Some of which have had work done on them before, so may be in a different state. No reproduction scenarios either.
What the actual fuck?
HOW to document business logic in code?
I'm a frontend dev for admin system of our company. Often times I code things like: if user choose this product type and that settings then I show some other input field to input. I deal with mostly forms and show/hide UI for user. And after some time nor did user/PM/test or myself remember the logic of what should show or why something do not show.
So I want something to be able to let me write code and business logic along the way.(I'm not asking for API docs or function docs like JSDoc)
And In terms of this, I would also like to build something to centralize PM's business DOC with developers API/dev Doc and also things like how to test for our test team and etc... basically a unified place to document everything, I think scenarios like these inside companies should exists so I would like to know how other company do this.9
Hi dev!, how do you deal with the dilemma of choosing between using a library (gem, package, plugins...) to implement a solution or building from scratch...
Use case: you are working on project x, you need to implement a feature, but stuck between importing a library ( however you will need to customize the library to fit in requirement) and building feature from scratch ( this may take you more time but you have more control).
I have been in both scenarios, whereby I use a library but spent 2 days on customizing, only for me to discard it and implement feature within 2 hours.
I had been in a situation where I build the feature from scratch, only to discover, a one-liner from a library could have saved me hours and whole stress.
I NEED YOUR EXPERIENCE.
THANKS IN ADVANCE4
Just spent the last 8 hours writing Mockito doNothing().when(...) scenarios on mocked objects.... Then I realized mocked object methods already do nothing
I need just a bit of advice.
I am working with node.js and React and mongoDb
I just want that please take a look at my schema architecture (Specially for address) for profile and suggest me which is better
Approach 1 :
The things that scared me with this approach. I tried this also But it become unnecessary headaches to insert address and then query address as it is nested schema .
Also if you check this out
[Answer by Konstantin Smolyanin (Long Version))]
One must not considered nested state in react.
I can store address into another collection
Also is there any reference sites where I can learn about schema architecture or database design with practical scenarios.
Thanks for reading out.4
We got this feature on our app where if you change the status of an action item, it moves down/up to join its brethren of the same status at the bottom of its respective grouping. This is also true for creation.
Problem is: Testing.
I embarked upon this fuckin ridonkulousness today where I had to test all possible scenarios. Empty list, list with only A status, list with only B, list with A and B, list with A and C, etc etc
9 fucking hours later and a lot of anger, I am finally done. I powered back probably 10 club sodas, 6 teas, and had chillstep rollin all day.
If y'all ever feel like giving up because shit's hard, keep pushin. You'll get it eventually ;)1
Tried online assessment for position as SD. Gosh I suck on algorithms. I understand scenarios, but don't know how to write even basic sort. Anyway. This was good experience to open my eyes, what to taught myself.
Has anyone experiences with hardware entropy generators like OneRNG.info? Any useful usage scenarios? VeraCrypt doesn't yet seems to support it.1
Had a 2 hour meeting where I was told to use Specflow for all of our unit and integration testing. It'll be easier for the business to read.
Spent 3 hours setting up the tests for the scenarios for the next story.
Had another 2 hour meeting where they decided it was a bad idea to wrap all unit and integration tests in gherkin...because the business users don't want to read gherkin...
I like investigating hypothetical and unlikely future scenarios, so here it goes:
Let's say you are studying CS(BSc.) and you got an offer at google(or another FAANG company). Would you drop out to work for them? Why/why not?7
Contemplating ideas for a game that will involve some exploration and puzzles (aimed at teaching some low-level computer stuff like binary etc.) Replayed an old 2D game in an emulator, looked at some old adventure games, decided a 2D platformer might work for what I'm aiming for.
So I start making some pixel art, simple things like 32x32 tiles for bricks, some bigge ones for doors etc. And I discuss some ideas with my girlfriend for what kind of scenarios would fit into this game world.
Anyway, she normally draws and paints, but seemed interested in trying pixel art so I gave her a link to Piskel and a rough idea of some decorative items I'd want to put around the map. Within a few hours she created a flower pot with flowers, a coffee machine, a light with lightshade, a small pile of books, and a couple of other things - all shaded and detailed beyond any of my attempts, including lighting going from left to right (which I wanted but didn't specify).
I mean, I could've expected this but pixel art is quite a different beast to drawing or painting as you have to do more with less.
Now I just need to make my game engine. So far I have an SDL program with a flowerpot that you can move around xD1
Hey testing geeks, I just come up with "FinTech product" when I was on the train. I am just curious about what's the trendy technology for FinTech product in banks. So what would be the best automation testing scenarios to be used to test FinTech product? Time to open your bain.