Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "multiple screens"
-
Finally did it. Quit my job.
The full story:
Just came back from vacation to find out that pretty much all the work I put at place has been either destroyed by "temporary fixes" or wiped clean in favour of buggy older versions. The reason, and this is a direct quote "Ari left the code riddled with bugs prior to leaving".
Oh no. Oh no I did not you fucker.
Some background:
My boss wrote a piece of major software with another coder (over the course of month and a balf). This software was very fragile as its intention was to demo specific features we want to adopt for a version 2 of it.
I was then handed over this software (which was vanilajs with angular) and was told to "clean it up" introduce a typing system, introduce a build system, add webpack for better module and dependency management, learn cordova (because its essential and I had no idea of how it works). As well as fix the billion of issues with data storage in the software. Add a webgui and setup multiple databses for data exports from the app. Ensure that transmission of the data is clean and valid.
What else. This software had ZERO documentation. And I had to sit my boss for a solid 3hrs plus some occasional questions as I was developing to get a clear idea of whats going on.
Took a bit over 3 weeks. But I had the damn thing ported over. Cleaned up. And partially documented.
During this period, I was suppose to work with another 2 other coders "my team". But they were always pulled into other things by my Boss.
During this period, I kept asking for code reviews (as I was handling a very large code base on my own).
During this period, I was asking for help from my boss to make sure that the visual aspect of the software meets the requirements (there are LOTS of windows, screens, panels etc, which I just could not possibly get to checking on my own).
At the end of this period. I went on vacation (booked by my brothers for my bday <3 ).
I come back. My work is null. The Boss only looked at it on the friday night leading up to my return. And decided to go back to v1 and fix whatever he didnt like there.
So this guy calls me. Calls me on a friggin SUNDAY. I like just got off the plane. Was heading to dinner with my family.
He and another coder have basically nuked my work. And in an extremely hacky way tied some things together to sort of work. Moreever, the webguis that I setup for the database viewing. They were EDITED ON THE PRODUCTION SERVER without git tracking!!
So monday. I get bombarded with over 20 emails. Claiming that I left things in an usuable state with no documentation. As well as I get yelled at by my boss for introducing "unnecessary complicated shit".
For fuck sakes. I was the one to bring the word documentation into the vocabulary of this company. There are literally ZERO documentated projects here. While all of mine are at least partially documented (due to lack of time).
For fuck sakes, during my time here I have been basically begging to pull the coder who made the admin views for our software and clean up some of the views so that no one will ever have to touch any database directly.
To say this story is the only reason I am done is so not true.
I dedicated over a year to this company. During this time I saw aspects of this behaviour attacking other coders as well as me. But never to this level.
I am so friggin happy that I quit. Never gonna look back.14 -
New job, started two months ago. Forced to use a MacBook. First time using iShit in my life.
- Laptop reboots randomly every three weeks or so "because of an error" (thanks, very informative error message).
- Sometimes if I use two screens and I lock my laptop, only one screen gets locked.
- The most simple tasks require a fucking large number of clicks. There are almost no keyboard shortcuts. My hand hurts because of this, and after two months the pain is getting worse and worse.
- Yes, I know there are apps that give you extra keyboard shortcuts, but those don't help much. I never used a mouse in 10 years.
- Window management sucks. It's so broken and poor in so many ways, I don't know where to start.
- Random errors and pop-ups are the norm.
- I have only four fucking USB Type C ports. I can somehow understand having only Type C because it looks cool, but fuck at least give me 6 of them, or 8. Do you really have to force me to use a USB hub, in addition to a shitload of adapters?
- Multiple monitors don't work unless the laptop is connected to the power adapter.
- The above point means, in practice, that I have exactly zero USB Type C ports available to me: one is used for the power adapter, two are for the two monitors, and one for the USB hub. Whenever I have to connect something that has Type C, I have to choose between monitors and going fuck myself.
- I don't want to comment on performance, cooling system or battery life. This would be a waste of time. Let's just say that it's shit.
Now, dear Apple fangirls and fanboys, please downvote this rant. I want your downvotes, so please don't hesitate to press that (--) button. But please let me say that these products are shit, pure shit. Fuck Apple and their overpriced products.22 -
We called it "Project Hindenburg".
A huge planning and logistics app with hundreds of screens and dozens of interwoven subfunctions, suddenly needed to be able to support multiple time zones. Our project was to retrofit every area that touched on dates or times, to allow the user to specify, and work in, any time zone.
At this point in the story I can tell whether you have had to work with time zones in code. People who haven't are butting in with something that begins, "that should be fairly simple, you just need to..." followed by some irrelevant noise that betrays their ignorance.
People who have worked with time zones are nodding in shared pain, like fellow attendees of a survivors meeting.
You see, programmers tend to think of time zones as arithmetic; in reality, they are confusing, ambiguous, chaotic, and individual. You can't translate everything into a central time zone (eg UTC) because you lose the user's intent. For example, if you schedule a meeting for 3pm and then move it to the next day, you want it at 3pm even if the clocks have changed.
Project Hindenburg ended up using the entire development staff of the company for well over a year. It smashed our release projections to rubble, made an already tangled code base completely unmaintainable, introduced mind-bending edge case bugs that reduced staff across the company to tears (literally), and led to most of the mid-level and senior developers eventually quitting (including me).
I am @fuckfuckityfuck, and that was the story of Project Hindenburg.11 -
Something made me realize why some developers like using multiple screens :/
Android Studio, git bash, Sublime Text and Node.js command prompt on a single 16" screen.12 -
Let me just get right down to it.
FUCK YOU Hewlett-fucking-Packard FOR YOUR SHITTY LAPTOPS! Don't you even keep your customer's needs in mind when you design these things? Besides all the bloatware you stuff into the Windows you ship it with, at least make the quality of your shit better. These flimsy screens and loose hinges, I've had to get that shit replaced multiple times in just the past year.
Want to upgrade to an SSD or plug in more RAM? Guess what! I've to tear the whole thing apart! Keyboard, palm rest, all if it! What even happened to just popping a cover at the bottom to swap out the hard drive!? I have to fucking congratulate you, you fucking cunts, for making an easy process as difficult as it can fuckin possibly get. You guys deserve an award for this, preferably presented to you, shoved up your asses.10 -
Four years ago while still a newbey in Android Dev and still using the eclipse IDE which was hell to configure by adding Android plugins,my girlfriend had a birthday.
With my new found love of coding thought of developing a b-day app for her.With so little android knowledge I had a great idea the main activity would have her photo as the background and button which when clicked would show a toast saying happy b-day love.
After spending few minutes in Tutorial point and learning how to display a toast and setting click listeners on buttons I was good to go and compiled the app.
Later that evening I head to her room where her b-day was to be held with some of her lady friends .When presenting gifts I presented her gift said had one more surprise for her and asked for her phone and using bluetooth sent the apk to her phone.
Installing the app I was scared to death on seeing how my grey buttons were displaying on her 2.7 screen size since had no idea on designing for multiple screens.
Giving her back the phone she loved the app and felt like her superman in the room though not for long.Her lady friends had gone ahead took her phone and were critising the app:
Why can't I take a selfie
Why can't the app play a b-day song for her and this went on them not knowing how hurting that was.
Bumped on the lady who lead the onslaught on me and had to go down memory lane.Life is a journey.2 -
Another shithole agency reached out to me out of the blue 4 weeks after my application.
The senior bro sends me an assignment with 30 requirements to build an app with multiple screens. Ofcourse no design provided and no API provided. Timeline 2 weeks.
Tried ask to expedite the process and reason with him because now Im in other processes where Im expecting an offer next week so I can send him a link to a very similar project I did, he can review and if he wants to I can jump on a technical call and I can answer all questions. Guy ignored the proposal entirely and wants to stick with his stupid timelines and stupid requirements which he wrote probably down while taking a shit with zero research.
Best part is there was no introduction, no discussions about hourly rate or expectations, nothing.
Disorganized shithole. Told them to get their shit together and withdrew my application.3 -
Multi-Screen problem: So I need to run a VR headset with a laptop, and the laptop has only one hdmi connection. I don't have any extra hdmi adapters, so I cannot connect my second screen while working with the headset, which sucks...
but...
then it hit me...
there is an app called spacedesk which allows you to use your phone as an additional screen. I have a docking station for my phone so I can connect hmdi to it. On the first try the resolution was shit since it uses the default phone resolution. But the phone has Samsung Dex, which allows you to run everything full screen on your connected screen, so I can run the app within Samsung Dex and therefore will get full resolution.
And this works. It's kinda stupid and maybe a bit complicated, but it works. God, I love technology :D:D:D
This is the adapter to adapter to adapter to adapter meme in action, just wireless. Lol. I'm proud of this xD5 -
I continue to internally read and study about Smalltalk in an effort to see where we might have FUCKED UP and went backwards in terms of software engineering since I do not believe that complex source code based languages are the solution.
So I have Pharo. Nothin to complex really, everything is an object, yet, you do have room for building DSL's inside of it over a simple object model with no issue, the system browser can be opened across multiple screens (morph windows inside of a smalltalk system) for which you can edit you code in composable blocks with no issues. Blocks being a particular part of the language (think Ruby in more modern features) give ample room for functional programming. Thus far we have FP and OO (the original mind you) styles out in the open for development.
Your main code can be executed and instantly ALTER the live environment of a program as it is running, if what you are trying to do is stupid it won't affect the live instance, live programming is ahead of its time, and impressive, considering how old Smalltalk is. GUI applications can be given headless (this is also old in terms of how this shit was first distributed) So I can go ahead and package the virtual machine with the entire application into a folder, and distribute it agains't an organization "but why!!!! that package is 80+ mbs!") yeah cuz it carries the entire virtual machine, but go ahead and give it to the Mac user, or the Linux user, it will run, natively once it is clicked.
Server side applications run in similar fashion to php, in terms of lifecycles of request and how session storage is handled, this to me is interesting, no additional runtimes, drop it on a server, configure it properly and off you go, but this is common on other languages so really not that much of a point.
BUT if over a network a user is using your application and you change it and send that change over the network then the the change is damn near instant and fault tolerant due to the nature of the language.
Honestly, I don't know what went wrong or why we are not bringing this shit to the masses, the language was built for fucking kids, it was the first "y'all too stupid to get it, so here is simple" engine and we still said "nah fuck it, unlimited file system based programs, horrible build engines and {}; all over the place"
I am now writing a large budget managing application in Pharo Smalltalk which I want to go ahead and put to test soon at my institution. I do not have any issues thus far, other than my documentation help is literally "read the source code of the package system" which is easy as shit since it is already included inside. My scripts are small, my class hierarchies cover on themselves AND testing is part of the system. I honestly see no faults other than "well....fuck you I like opening vim and editing 300000000 files"
And honestly that is fine, my questions are: why is a paradigm that fits procedural, functional and OBVIOUSLY OO while including an all encompassing IDE NOT more famous, SELECTION is fine and other languages are a better fit, but why is such environment not more famous?9 -
So I've gotten a new second favourite piece of software. It's called Synergy and it makes it possible to use two or more different computers like multiple screens.
It's pretty amazing. Here's me playing a stage of Touhou on hard with it!
https://youtube.com/watch/...1 -
I need some opinions on Rx and MVVM. Its being done in iOS, but I think its fairly general programming question.
The small team I joined is using Rx (I've never used it before) and I'm trying to learn and catch up to them. Looking at the code, I think there are thousands of lines of over-engineered code that could be done so much simpler. From a non Rx point of view, I think we are following some bad practises, from an Rx point of view the guys are saying this is what Rx needs to be. I'm trying to discuss this with them, but they are shooting me down saying I just don't know enough about Rx. Maybe thats true, maybe I just don't get it, but they aren't exactly explaining it, just telling me i'm wrong and they are right. I need another set of eyes on this to see if it is just me.
One of the main points is that there are many places where network errors shouldn't complete the observable (i.e. can't call onError), I understand this concept. I read a response from the RxSwift maintainers that said the way to handle this was to wrap your response type in a class with a generic type (e.g. Result<T>) that contained a property to denote a success or error and maybe an error message. This way errors (such as incorrect password) won't cause it to complete, everything goes through onNext and users can retry / go again, makes sense.
The guys are saying that this breaks Rx principals and MVVM. Instead we need separate observables for every type of response. So we have viewModels that contain:
- isSuccessObservable
- isErrorObservable
- isLoadingObservable
- isRefreshingObservable
- etc. (some have close to 10 different observables)
To me this is overkill to have so many streams all frequently only ever delivering 1 or none messages. I would have aimed for 1 observable, that returns an object holding properties for each of these things, and sending several messages. Is that not what streams are suppose to do? Then the local code can use filters as part of the subscriptions. The major benefit of having 1 is that it becomes easier to make it generic and abstract away, which brings us to point 2.
Currently, due to each viewModel having different numbers of observables and methods of different names (but effectively doing the same thing) the guys create a new custom protocol (equivalent of a java interface) for each viewModel with its N observables. The viewModel creates local variables of PublishSubject, BehavorSubject, Driver etc. Then it implements the procotol / interface and casts all the local's back as observables. e.g.
protocol CarViewModelType {
isSuccessObservable: Observable<Car>
isErrorObservable: Observable<String>
isLoadingObservable: Observable<Void>
}
class CarViewModel {
isSuccessSubject: PublishSubject<Car>
isErrorSubject: PublishSubject<String>
isLoadingSubject: PublishSubject<Void>
// other stuff
}
extension CarViewModel: CarViewModelType {
isSuccessObservable {
return isSuccessSubject.asObservable()
}
isErrorObservable {
return isSuccessSubject.asObservable()
}
isLoadingObservable {
return isSuccessSubject.asObservable()
}
}
This has to be created by hand, for every viewModel, of which there is one for every screen and there is 40+ screens. This same structure is copy / pasted into every viewModel. As mentioned above I would like to make this all generic. Have a generic protocol for all viewModels to define 1 Observable, 1 local variable of generic type and handle the cast back automatically. The method to trigger all the business logic could also have its name standardised ("load", "fetch", "processData" etc.). Maybe we could also figure out a few other bits too. This would remove a lot of code, as well as making the code more readable (less messy), and make unit testing much easier. While it could never do everything automatically we could test the basic responses of each viewModel and have at least some testing done by default and not have everything be very boilerplate-y and copy / paste nature.
The guys think that subscribing to isSuccess and / or isError is perfect Rx + MVVM. But for some reason subscribing to status.filter(success) or status.filter(!success) is a sin of unimaginable proportions. Also the idea of multiple buttons and events all "reacting" to the same method named e.g. "load", is bad Rx (why if they all need to do the same thing?)
My thoughts on this are:
- To me its indentical in meaning and architecture, one way is just significantly less code.
- Lets say I agree its not textbook, is it not worth bending the rules to reduce code.
- We are already breaking the rules of MVVM to introduce coordinators (which I hate, as they are adding even more unnecessary code), so why is breaking it to reduce code such a no no.
Any thoughts on the above? Am I way off the mark or is this classic Rx?16 -
Always bothered by mobile devs to make them icons and splash screens with different sizes for android and ios
So i made them a script that resizes one big png file into multiple icons and splash screens they need that can run via terminal
They never coming to me again since then8 -
Build my own phone and support the Zerophone project by writing code.
Seriously what the fuck is going on with the development of major companies smartphones. Every year all there is are larger displays, better and more cameras, faster processors and some more 'AI' thrown into the mix.
What the heck am I supposed to do with a phone costing multiple hundreds of euros but locked down with an OS spying on you. The processing power available is hardly ever used because most people just use apps like Instagram, WhatsApp or other messaging services.
I get why larger screens are useful but at some point it gets ridiculous.
Better cameras are useful to some degree as well but there's a limit to it.
If you really want to get into photographing then please buy an actual camera.
Another aspect I'd of course like to talk about is privacy. It's hardly existent on IOS or Android smartphones with Google services. Of course one can install different ROMs like Lineage OS but if I already pay multiple hundreds for a device then I'd prefer it working for and not against me.
And dare you break a single part of your phone. You can't really repair it yourself anymore and one can't even change its battery. Most people either have it repaired or just buy a new one and throw it away. There is so much electronic waste, very difficult and expensive to dispose of, just buried in the ground somewhere.
Summing up: I don't really know where the development of smartphones is heading. A phone is a device you carry around with you almost everyday so I'd like it to be tailored to me and not spy on me.
I hope the Librem phone will be a success and other open source phone projects will gain more attention. I want a phone I can repair myself and tailor the software running on it to my needs. I'd like to write messages, listen to music, make calls, run a WiFi hot-spot on the phone and maybe play some tiny games on it once in a while.6 -
Developer's frustration..
I currently don't have the space (believe it or not) to accommodate two screens onto my desk.
I've been developing on a single 15" laptop for years (since 2010).
I'm getting tired of constantly having to switch between windows. lol.
Mmmmust figure out wayyyy to incorporate new screen into my setupppp. lol14 -
Is there a Linux distribution without a lot of problems with Nvidia drivers? I'm currently using elementary os, because I like the look of it, but I'm getting a lot of graphical glitches and black screens all the time and I was wondering if changing to another distro would help. Is elementary is known for graphical glitches, or is it just the Nvidia drivers? I've also turned my display manager into a mess while trying to customise my login screen, so it might be a good time to change to another distribution. Any recommendations? And one more thing, just out of curiosity, can you install multiple distributions and use the same home directory if home is mounted on a separate partition?15
-
What do you think of my setup?
I carry a strong laptop for heavy lifting and an iPad for RDP'ing into either my laptop or cloud hosted VM's.
This setup is obviously optimized for mobility, if I had a stable place to work, I'd use a desktop with multiple screens. -
Ubuntu 20.4 is not very cool.
It might look "polished" in some (barely noticeable) areas , which doesn't matter to me as i already used better themes and icon packs. Moreover they tried make ui and icons flwt which looks terrible. It feels like to ubuntu's designers , flat= every icon in a dark gray color. Am not a fan of black topbar either, the old darkish looked much better
The worst thing is that now i have to go through multiple start screens since my laptop is dualboot :/ .
Its now like : black screen > (hp+ubuntu logo) + grub > (hp) > (hp+ubuntu logo + loading icon) > lockscreen > my system
Earlier it was just hp> grub>lockscreen>my system. The fast start up was one of my favourite features of Ubuntu, now its a million loading screens. The lockscreen is cool tho6 -
That feeling when your mom frequently tells you multiple screens is bad for you and urges you to use just one screen.2
-
Worked as frontend on a company that also had backend devs making frontend work. One day we've received a task of redesigning those screens, since their work were poor. Past half of the work is done, the whole team came onto us saying to pause the task since there would be multiple changes into the informations on the screens. That day we lost something like 4 hours of work. Didn't punched anybody though.2
-
Some long thoughts about state of desktop operating systems.
I always hated window management on desktop. There is basically no difference in usability between mobile and desktop in terms of application management. There is still finite amount of apps you can have in focus and you need to switch between them so they’re left from your screen.
What you end up is finite amount of screens you can connect into your computer or pounding switch context shortcut every other second.
We pushed computing so far and screen resolutions doubled from 1024x768 but the active desktop size is still the same.
For me adding additional display to laptop is not an option. What I love with remote work is that I can lay in my bed or on sofa or wherever I want to and write some code. My point is I don’t want to be stuck to my desk if I want to write / debug something.
Back to the desktop I think there is missing part of our state of desktop right now. The most we have are virtual desktops we can switch between but we can’t get parts of two desktops on same screen.
What I would love to test / develop is smooth infinite desktop with pinch and zoom - drag and drop navigation between my apps.
The problematic thing is determination of where user want’s to focus - is it fullscreen app or multiple apps on same screen and how to handle partially visible windows.
But I would love to test it. Maybe one day I switch to linux desktop just to try to implement the infinite desktop as an alternative to virtual desktops.
Maybe some rich frustrated kid would make it someday while I’m stuck at working my shit ass to pay for being able to have a decent life on this fucking planet…
I wish I can retire to focus on such things.2 -
Do you have multiple screens? If yes, in what orientation?
I'm personally using 2. 1 horizontal and 1 vertical.
The vertical one is nice for long documentation and the horizontal one is mainly used for gaming.12 -
Anyone facing issue while using multiple screens with Latest version DEEPIN OS ?
In my case the two extension monitors are not getting signal6 -
Needed a ARC glass, after checkup doctor said I need glass with power.
Got my first glass, due to multiple close encounters with digital screens.
Now I only see blurry, while I could see almost clear before.
Now I don't even know how I look.
And the upside is I can see things in POV now.💰11 -
My team just spent all afternoon again their wfh setups.... They all use multiple monitors and laptops...
I never picked up on the idea though.., multiple screens always felt distracting...7