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 - "intuitive"
-
Hey everyone,
First off, a Merry Christmas to everyone who celebrates, happy holidays to everyone, and happy almost-new-year!
Tim and I are very happy with the year devRant has had, and thinking back, there are a lot of 2017 highlights to recap. Here are just a few of the ones that come to mind (this list is not exhaustive and I'm definitley forgetting stuff!):
- We introduced the devRant supporter program (devRant++)! (https://devrant.com/rants/638594/...). Thank you so much to everyone who has embraced devRant++! This program has helped us significantly and it's made it possible for us to mantain our current infrustructure and not have to cut down on servers/sacrifice app performance and stability.
- We added avatar pets (https://devrant.com/rants/455860/...)
- We finally got the domain devrant.com thanks to @wiardvanrij (https://devrant.com/rants/938509/...)
- The first international devRant meetup (Dutch) with organized by @linuxxx and was a huge success (https://devrant.com/rants/937319/... + https://devrant.com/rants/935713/...)
- We reached 50,000 downloads on Android (https://devrant.com/rants/728421/...)
- We introduced notif tabs (https://devrant.com/rants/1037456/...), which make it easy to filter your in-app notifications by type
- @AlexDeLarge became the first devRant user to hit 50,000++ (https://devrant.com/rants/885432/...), and @linuxxx became the first to hit 75,000++
- We made an April Fools joke that got a lot of people mad at us and hopefully got some laughs too (https://devrant.com/rants/506740/...)
- We launched devDucks!! (https://devducks.com)
- We got rid of the drawer menu in our mobile apps and switched to a tab layout
- We added the ability to subscribe to any user's rants (https://devrant.com/rants/538170/...)
- Introduced the post type selector (https://devrant.com/rants/850978/...) (which will be used for filtering - more details below)
- Started a bug/feature tracker GitHub repo (https://github.com/devRant/devRant)
- We did our first ever live stream (https://youtube.com/watch/...)
- Added an awesome all-black theme (devRant++) (https://devrant.com/rants/850978/...)
- We created an "active discussions" screen within the app so you can easily find rants with booming discussions!
- Thanks to the suggestion of many community members, we added "scroll to bottom" functionality to rants with long comment threads to make those rants more usable
- We improved our app stability and set our personal record for uptime, and we also cut request times in half with some database cluster upgrades
- Awesome new community projects: https://devrant.com/projects (more will be added to the list soon, sorry for the delay!)
- A new landing page for web (https://devrant.com), that was the first phase of our web overhaul coming soon (see below)
Even after all of this stuff, Tim and I both know there is a ton of work to do going forward and we want to continue to make devRant as good as it can be. We rely on your feedback to make that happen and we encourage everyone to keep submitting and discussing ideas in the bug/feature tracker (https://github.com/devRant/devRant).
We only have a little bit of the roadmap right now, but here's some things 2018 will bring:
- A brand new devRant web app: we've heard the feedback loud and clear. This is our top priority right now, and we're happy to say the completely redesigned/overhauled devRant web experience is almost done and will be released in early 2018. We think everyone will really like it.
- Functionality to filter rants by type: this feature was always planned since we introduced notif types, and it will soon be implemented. The notif type filter will allow you to select the types of rants you want to see for any of the sorting methods.
- App stability and usability: we want to dedicate a little time to making sure we don't forget to fix some long-standing bugs with our iOS/Android apps. This includes UI issues, push notification problems on Android, any many other small but annoying problems. We know the stability and usability of devRant is very important to the community, so it's important for us to give it the attention it deserves.
- Improved profiles/avatars: we can't reveal a ton here yet, but we've got some pretty cool ideas that we think everyone will enjoy.
- Private messaging: we think a PM system can add a lot to the app and make it much more intuitive to reach out to people privately. However, Tim and I believe in only launching carefully developed features, so rest assured that a lot of thought will be going into the system to maximize privacy, provide settings that make it easy to turn off, and provide security features that make it very difficult for abuse to take place. We're also open to any ideas here, so just let us know what you might be thinking.
There will be many more additions, but those are just a few we have in mind right now.
We've had a great year, and we really can't thank every member of the devRant community enough. We've always gotten amazingly positive feedback from the community, and we really do appreciate it. One of the most awesome things is when some compliments the kindness of the devRant community itself, which we hear a lot. It really is such a welcoming community and we love seeing devs of all kind and geographic locations welcomed with open arms.
2018 will be an important year for devRant as we continue to grow and we will need to continue the momentum. We think the ideas we have right now and the ones that will come from community feedback going forward will allow us to make this a big year and continue to improve the devRant community.
Thanks everyone, and thanks for your amazing contributions to the devRant community!
Looking forward to 2018,
- David and Tim48 -
Am I the only one who's bothered by the fact that in CSS, "!important" doesn't mean "not important" ?13
-
IOS SUCKS!! SWIFT SUCKS !! OBJECTIVE-C SUCKS!! SUCK MY DICK APPLE YOU PIECE OF SHIT !! Why did you have to make the language sooo counter intuitive, and so different from the popular languages you pain in the ass piece of shit, Why can't I throw exceptions from a constructor of a class?? Why do I have to use a fucking struct to just throw exceptions?? Can't class constructions fail you peice of shit?? huh? GOD DAMN IOS MAGGOT DEVELOPERS IF I EVER RUN INTO THOSE FUCKERS IM GONNA FUCKING RAPE EM BURN THEM ALIVE AND HAVE THEM FOR DINNER68
-
Announcing a few new devRant Android/iOS features, available immediately in the latest versions of the devRant app which just went live.
1. As pictured, you can now easily scroll to the bottom of any long rant by selecting “scroll to bottom” in the ... menu of any rant with >= 10 comments.
2. At the bottom of any rant that has at least 1 comment, you’ll now see a button that allows you to refresh the rant (and scrolls to the bottom) so you can see new comments if there are any.
3. Any rant can be refreshed by tapping the “Rant” title in the title bar.
How did we come up with these awesome ideas/decide to add these features? For most of them, we didn’t! At least 2 of these were recently requested by devRant users (some requested a bunch of times) and we heard everyone and saw how much these were needed. Remember, you can always suggested features in our GitHub issue tracker: https://github.com/devRant/devRant - we always appreciate feature suggestions and ideas for improvements!
Just to add one note - we still have plans to improve commenting functionality, but we’re hoping for the time being these additions make things a little more intuitive.
Let me know if you have any questions, and thanks everyone!22 -
Thanks Adobe for the such clear icons, I really appreciate your use of descriptive symbols (one is for "view full page", the other is for "activate single page view").8
-
Found a random website that lets you design your own anime avatars, its quite in depth and there are many art styles from different artists available:
Pros:
* It's comprehensive, and it has a lot of styles available
* Editor is intuitive and Modern
Cons:
* It's in Japanese, you might wanna use GTranslate.
* Randomizer fucks up on some of the more in-depth art styles.
* Seems to be mobile-exclusive design for the editor.
You can check it out here: https://picrew.me
Here's a little sample from picrew on the Gorilla Art style
(Note: this is actually my GitHub avatar as well)18 -
Me: I should try out Figma's vector tool
[30 minutes pass, this happened]
Pros: its nice
Cons: not as intuitive as Illustrator's or Inkscape's....
AND MUH GRIDS13 -
Ok, people who invented CSS... which seems more intuitive and easier to read?
div {
margin-right: auto;
margin-left: auto;
}
Or
div {
center-this-damn-div: true;
}12 -
I hate Wordpress. I hate Wordpress. I hate Wordpress.
Wordpress can take a big shit on itself and crawl into a deep dark hole far away from all that is good.
Who even uses Wordpress? Bloggers? Come on, let’s be honest, they’re using more intuitive sites like weebly, wix, and square space. So WHAT is Wordpress for? I’ll tell you, it’s just to FUCKING TORTURE PEOPLE.
So, being the “techy guy” of the family, a relative contacts me asking for some help with their website because they need to install an SSL certificate but they don’t know how to. I tell them I’d gladly do it because, sure, they’re family and how long can it possibly take to install a certificate? I’ve done it before!
Well, I get to work and log into the sluggish Wordpress dashboard and try to use a plugin that would issue a LetsEncrypt certificate because they are free and just as good as any other SSL. But one plugin after the next I keep getting errors about how my hosting wouldn’t allow it.
So I contact GoDaddy (don’t get me fucking started) and ask them about the issue. The guy tells me it’s “policy” to only be able to use GoDaddy’s certificates. How much do they cost? Oh, how about $100 a year?! Fuck you.
I figured out the only way to escape this hell was to ask them to open an economy Linux hosting account with cPanel on GoDaddy (the site was formerly hosted on a “Managed Wordpress” account which is just bullshit for not wanting to give you any control over your own goddamn content). So now I have to deal with migrating the site.
GoDaddy representative tells me that it should only take 20 minutes for me to do this (I’ve already spent way too much time on this but whatever) so I go forward with the new account. I decide I should migrate the site by exporting a backup and manually placing everything on the new server. Doesn’t it end up taking an entire hour to back up a 200MB site because GoDaddy throttled the processing speed?!
So, it’s another hour later and I’ve installed all the databases and carried over all the files. At this point, I’m really at the end of my rope and can’t wait to install the certificate and be done with this fuckery.
I install the certificate and finally get ready to be on my way, but then I see it. A warning. A warning from my browser telling me the site is only partially secure. It turns out the certificate was properly installed but whoever initially made the site HARDCODED ALL THE LINKS to images, websites, and style sheets to be http instead of https.
I’m gonna explode.
I swear, I’m gonna fucking explode.
After a total of 5 hours of work, I finally get the site secure by using search and replace on every fucking file.
Wordpress can go suck a big one. Actually, Wordpress can go suck the largest fuckin one in existence and choke on it.
TL;DR I agree to install an SSL certificate but end up with much more work than I bargained.38 -
Once crafted a beautifully executed use of Polymorphism with intuitive interfaces and classes with a concise and loose code just to watch my boss get rid of the interface , because it had no code in it, and fill the fucking code with an ugly switch statement to choose which class to instantiate.5
-
The number of product people who want software to be built in an 'intuitive and simple manner' when they cannot even explain the problem domain in a intuitive and simple manner is quite incredible.9
-
Linux... Is shitty... Ok it just is. I've tried all kinds of variations and they all just... Urgh
Now I know... I know devs are meant to love it ... But compare it to windows
(Yes windows fucks up more) but when it works it works.
... Windows isn't perfect... But it doesn't try to be.
Linux has that feel of... Clearly made by a dev... It works consistently but doesn't take into account how people want to use something...
Linux is something you have to learn to love. And I'm sure I could.
But with windows it's intuitive it's straight forward
I feel like if I was to pick up windows having never used it... I would know how it works. I could at least use it go online and watch videos do the basics... In Linux ... No it's not as easy, sometimes not possible
An os you should just know how to do everything you want to do, and not have to download tonnes of shit to get it that way
It is, the future... But holy fuck get your act together Linux65 -
Client:
"Ok,. so your saying that its gonna take you 63 hrs to create a simplified CRM with basic functionality and auto fill docs or automated work flow docs as an added feature?"
My response (after already under-quoting and planning on cutting some corners because he has a smaller budget than normally necessary):
"It sounds simpler than it is. There are a lot of things I need to take into account that you wouldn't even think about.
For instance:
Making sure your emails don't go to the client's spam folder. This requires the sending domain to be verified via DNS settings. I have to ensure your email content passes a spam test (link to text ratio needs to be good). I assumed you'd want an email that has your logo and looks good. This means testing the design in Outlook to make sure it's not broken.
What if the email doesn't send due to an invalid email address, or bounces back? You'll need to be notified.
What if the client list for the week contains duplicates? You need them merged or ignored.
Generating a PDF from HTML can be tricky because the conversion isn't apples to apples so there are things I need to adjust to make them as close as possible.
Making a site completely mobile friendly (the tier 3 option) can be very time consuming as well. It's not about whether or not it fits on a mobile phone, it's about whether or not it's intuitive and useful. You're essentially getting a mobile app without paying for separate development of an app.
If I took everything into consideration and built this to be 100% bullet proof, it would cost tens of thousands.
I'm doing my best to leverage your needs with the probability of running into an issue. I'm not going waste my time/your money on something that will likely never happen."9 -
writing library code is hard.
there are sooo many details that go into writing good libraries:
designing intuitive and powerful apis
deciding good api option defaults, disallowing or warning for illegal operations
knowing when to throw, knowing when to warn/log
handling edge cases
having good code coverage with tests that doesn't suck shit, while ensuring thry don't take a hundred years to run
making the code easy to read, to maintain, robust
and also not vulnerable, which is probably the most overlooked quality.
"too many classes, too little classes"
the functions do too much it's hard to follow them
or the functions are so well abstracted, that every function has 1 line of code, resulting in code that is even harder to understand or debug (have fun drowning in those immense stack traces)
don't forget to be disciplined about the documentation.
most of these things are
deeply affected by the ecosystem, the tools of the language you're writing this in:
like 5 years ago I hated coding in nodejs, because I didn't know about linters, and now we have tools like eslint or babel, so it's more passable now
but now dealing with webpack/babel configs and plugins can literally obliterate your asshole.
some languages don't even have a stable line by line debugger (hard pass for me)
then there's also the several phases of the project:
you first conceive the idea, the api, and try to implement it, write some md's of usage examples.
as you do that, you iterate on the api, you notice that it could better, so you redesign it. once, twice, thrice.
so at that point you're spending days, weeks on this side project, and your boss is like "what the fuck are you doing right now?"
then, you reach fuckinnnnng 0.1.0, with a "frozen" api, put it on github with a shitton of badges like the badge whore you are.
then you drop it on forums, and slack communities and irc, and what do you get?
half of the community wants to ban you for doing self promotion
the other half thinks either
a) your library api is shitty
b) has no real need for it
c) "why reinvent the wheel bruh"
that's one scenario,
the other scenario is the project starts to get traction.
people start to star it and shit.
but now you have one peoblem you didn't have before: humans.
all sorts of shit:
people treating you like shit as if they were premium users.
people posting majestically written issues with titles like "people help, me no work, here" with bodies like "HAAAAAAAAAALP".
and if you have the blessing to work in the current js ecosystem, issues like "this doesn't work with esm, unpkg, cdnjs, babel, webpack, parcel, buble, A BROWSER".
with some occasional lunatic complaining about IE 4 having a very weird, obscure bug.
not the best prospect either.3 -
!rant
Linux vs Microsoft
Well, this war is certainly one of the oldest. IMO,
Linux - great for automating stuff, free, and customisable.
Windows - user friendly, softwares much more easily available, much easier to use.
Frankly, I have tried using Linux a lot of times, but never liked it one bit. I am a GUI fan and hate to type commands for every little thing. Plus installing Ubuntu wiped out my disk once and I lost all my school memories ( this was in 2008, I didn't know much about backups, was quite young) ,so I am quite vary of it. I just don't feel it to be intuitive. Just to do a simple task, I loathe to learn difficult commands, and just read the syntax.
However, I have no bias against people who use Linux.
It is like religion, live and let live, follow whatever suits you.
On devrant, why's there so much hate for Windows? Because it is paid? Because it has updates? So what!
I never had a problem with it, I update once a month, takes 10 mins. If you set up your active hours correctly, it works great, you can disable updates also. Windows 10 is highly stable. It is paid, but in my country almost all laptops come with windows preinstalled. The OS-less laptops are about $10 cheaper, which is not that much to freak about.
Would love to hear your views and logical arguments.
Please be polite.35 -
Even if you think it will make the app better and more intuitive. The customer didn't ask for it. Period.7
-
One of the biggest barriers to the wide(r) scale adoption of functional programming languages like Haskell, F#, and Scala is how snooty and condescending your average FP developer is. And beginner-unfriendly.
Ask them a question about an intermediate topic (in my case, the Free monad) you're likely to get a whole torrent of category theoretic rubbish in return.
This is a common pattern I see when "experts" answer questions.
Now, it didn't bother me much because I've studied a fair amount of category theory and can usually follow such answers, but, for the sake of the general case, I'd like to shove these rules into the heads of everyone writing an answer to a question (not just FP):
1. If you can't illustrate a concept clearly without going into verbal diarrhoea with phrases like "monad homomorphism" and "just a monoid in the category of endofunctors" then you clearly haven't understood it properly (unless, of course, the answer absolutely requires it). An answer is not the place to show off your knowledge of a topic.
2. Please remember that everyone was a beginner at some point. Including you. Understand that some concepts can be extremely frustrating at first and yet incredibly simple after you grok them (eg. monads).
3. If the person asking the question is a beginner, using complex concepts in an answer just because it's a more "elegant" way to explain it doesn't really help them. They are more likely to get confused and drop the topic.
(Kudos to those people who give highly relevant, insightful, simple, and intuitive answers, you guys are the best).2 -
Looks like I'm destined to be fucked in the ass every time I'm on vacation...
This boss : https://devrant.com/rants/1330624/...
Told me he is gonna implement the new backend of a web app we have while I'm on vacation...
He was trying stuff with python for it and I tried to explain him the benefits of polymorphism and the ideas behind it and he was looking clueless, as always...
I'm screwed... Last time I went on vacation they started using react ( no complains ) and firebase ( fuck this shit ) ...
Now we are moving this web app away from firebase but I can see it is gonna be shit and a lot of rants will follow from his "back end" that this motherfucker here is gonna have to help implement after 2 weeks of fucked up code...5 -
The superhuman feeling of going back to your code after a week and it all makes perfect sense, the variable names are intuitive, the doc strings are comprehensive, and the general codebase structure is sensible.2
-
I honestly don't understand people. They are unable to understand easy to use apps when you provide clearly labeled labels yet they use apps like Snapchat which apart from being the worst designed app I have ever seen (it brings SD820 to knees) is unintuitive as hell with no difficulty. How is this even possible.
Also on a side note, go fuck yourself Snapchat. And if any of Snapchat devs are reading this: " go fucking kill yourself. You don't deserve to live after creating such a piece of shit. Even a fresh out of college intern does better job than you. You think this is good? I have never seen anything worse than it. Even fucking in-house government apps are miles better and more intuitive than you. All your ripoffs from Instagram stories to facebooks new clone and others are better than you. Whoever thinks this POS is good enough deserves to be burnt."5 -
Why does almost everyone act as if the world they live in is perfect, or is supposed to be perfect?
This is about approaching IT infrastructures, but goes way beyond IT, into daily lives.
Daniel Kahneman wrote about the "Econs" - a mythical creature that behaves according to rules and rational thoughts, that everybody is guided by, as opposed to Humans, who are irrational, intuitive and emotional.
My beef is with a wider perception, beyond economical analysis, profit, investment and so on.
Examples:
Organization A uses a 15 year old system that is crappy beyond description, but any recent attempt to replace it have failed. Josh thinks that this is a crappy organization, any problem lies within the replacement of that system, and all resources should be devoted to that. Josh lives in a perfect world - where shit can be replaced, where people don't have to live with crappy systems. Josh is stupid, unless he can replace that old system with something better. Don't be Josh. Adapt to the fucking reality, unless you have the power to change it.
Peter is a moron who downloads pirated software with cracks, at the office. He introduced a ransomware that encrypted the entire company NAS. Peter was fired obviously, but Sylvia, the systems administrator, got off easily because Peter the moron was the scapegoat. Sylvia truly believes that it's not her fault, that Peter happened to be a cosmic overgrown lobotomized amoeba. Sylvia is a fucking idiot, because she didn't do backups, restrict access, etc. Because she relied on all people being rational and smart, as people in her imaginary world would be.
Amit finished a project for his company, which is a nice modern website frontend. Tom, the manager says that the website doesn't work with Internet Explorer 8, and Amit is outraged that Tom would even ask this, quoting that IE8 is a dinosaur that should've been euthanized before even hatching. Amit doesn't give a shit about the fact that 20% of the revenue comes from customers that use IE8, what's more important to him is that in his perfect imaginary world everybody uses new hardware and software, and if someone doesn't - it's their fault and that's final. Amit is a fucking asshole. Don't be like Amit.
React to the REAL world, not what you WANT the world to be. Otherwise you're one of them.
The real world can be determined by looking at all the fuck ups and bad situations, admit that they happen, that they're real, that they will keep happening unless you do something that will make them impossible to happen or exist.
Acting as if these bad things don't exist, or that they won't exist because someone would or should change it, is retarded.10 -
For almost twenty years I have sheltered in the protective, safe, warm bosom of Debian. For a long time, it had the largest body of available software of all the distros, and by far when Ubuntu rose to prominence. So I used Ubuntu for years for the depth of package availability, and because if something esoteric was released, it would almost certainly come out first on Ubuntu, and sometimes only on Ubuntu. I was happy. Things were good.
But over time, Ubuntu and even Debian started to lean harder and harder on gnome, which I've always hated, along with all desktop environments, as they obscure the system from the user, and introduce graphical layers of abstraction, so the actual job of getting things done becomes a black art, hidden behind gnome-specific tools. This is my preference, and It's been disheartening in recent years to see the direction the desktop appears to be taking.
Then I joined devrant in 2017, and until then, I had heard peripherally about Arch, but never more than that. I had not heard of Manjaro at all. People started posting success stories and happy screenshots, and I was intrigued.
In 2018 I built a windows machine to use for parsec streaming games that wouldn't run on my linux rig. For not a great deal of money, I built a solid machine that's unequivocally better than any machine I've ever used, and installed windows on it. For a while, I was pleased. I had the best of both worlds: a windows box to stream some games from, and a linux desktop for everything else.
But after a couple months, as proton matured, I found fewer and fewer reasons to use my windows machine. My use of it declined to where I was last week: it had been months since I'd even powered it on. It was the most powerful machine I've ever used, and it was just collecting dust behind the TV in the living room. The full realization came to me while I was fighting a battle in the Gnome Takeover War, and I realized: I don't have to do this.
I pulled the newer machine out from behind the TV and installed Manjaro architect edition on it. The flexibility in the install was staggering. I am using nilfs2 for my /boot and / partitions: an option that Ubuntu has never offered. Normally they just default you into the garbage ext4 filesystem, and if you can dig deep enough, you can install with something else, though you have to really want it, in my opinion.
But Manjaro has been a dream-come-true. Pacman is easily the best package manager I have ever used, and pamac's intuitive and easy commands are a great view into AUR. Booting into the virtual console instead of a display manager has been wonderful too. On Ubuntu, I had to disable systemd's version of runlevel 5 to even get it working. But I just popped my xrandr script into my .xinitrc, and X opens with startx in less than a second. On Ubuntu, it takes about 5-10 seconds.
This has nothing to do with Manjaro, but I also switched to Radeon for this install, and I couldn't be happier about that. No more "installing" nvidia's drivers.
No more gnome. No more PPAs. No more settling. I am a Manjaro user now. Full stop. Thank you, devrant, for bringing it to my attention.11 -
Javascript being Javascript...
var date = new Date()
Mon Aug 13 2018 09:17:28 GMT+0200 (Mitteleuropäische Sommerzeit)
date.getDay()
1
date.getDate()
13
date.getFullYear()
2018
date.getYear()
1186 -
I have a serious bone to pick with internal software that is made "to work" but neglects a user-friendly UI. Damn tired of 1990s looking software that was developed in the 2010s. Internal employees deserve a great looking and intuitive user interface.6
-
Linux is hard to learn and master. That's fine with me. Windows is intuitive, but not user-friendly. Linux has a steep learning curve, but then is far more user-friendly than any other operating system. To me, that steep learning curve was far more than worth it, as I now have a desktop that does whatever I want, and behaves exactly as I want.
People come to Linux hoping that it will be easy to pick up, and then get angry when it isn't. Then they claim that the community is toxic, because Linux users are happy with something they think is broken.
Linux is hard to learn, and that's fine. That's valuable, to me. That's part of the appeal to me(and millions of others). Linux is unforgiving when you lack the knowledge gained in that steep learning curve. That's fine with me too. As its userbase grows, so too does the number of knowledgeable people who work to make it better and invent more amazing things for it.
If Linux was easy to learn, it wouldn't be as good as it is, and to me, that's reason enough to love it.41 -
So we are implementing a big and very complete localization management system on my company. The system has great features, indeed, but:
1. We cannot use the browser back button, because it is js and it appears no one cared about it (I am not a js Dev, but you can UAE the back button on my site that has js);
2. It is very customizable, but not intuitive. So you have one million options and you never know where to change what you need;
3. It has a save button everywhere, but most options are saved automatically, so you never know when you need to save. Actually, people from the webapp company use the save button as refresh, once we cannot use the browser refresh button;
4. Combo boxes load the elements while you scroll them, so to scroll to the bottom, you need to keep scrolling several times, waiting it to load the elements;
5. It does not allow you to open more than one tab of it at the same time. So if you need to see more than one information from different items, you need to navigate and wait the loading times to see what you need;
6. Emails are not sent in a different thread. So each action that send emails you need to keep waiting until the emails are sent (sometimes there are several emails sent in one action) to continue using it;
7. They not only store and send back your password by email if you loose it, but, as admin, if I click the button to send the user password to him/her, it keeps a copy of the email with the user password in my sent items;
8. To be able to send emails (they are really necessary), I need to include my SMTP info with login and password. So they have not only the system password saved, but everyone email login and password as well.
I am sure there is more, but I can't remember for now, and we are still trying to figure it out how to back our data, as it appears the only possible backup is their own.5 -
Question everything!
Comments lie.. sometimes code does too.. Customers..they lie the most..and are sloppy..
Don't be like customers, don't be sloppy. If you were sloppy own it & don't lie about it!
Pick your fights (trying to fix vs rewrite the shit out of it)..you will know what to do more with experience..
RTFM & docs.. If things still unclear, ask before your dick gets stuck in a toaster!
Ask away, learn about the customers & how they use your product.. you'll be surprised how something intuitive to you might be a rocket science for them..meaning more room to fuck things up when using it..more ways you can adapt & prevent things..
Most of all, don't fuckin lie.. ever!!
If you lie on you're CV, we will find out.. If you fuck up something & lie about it, we will find out.. but it will cost us precious time when solving it from scratch.. People fuck up..that's a fact..how you go about it is what makes/breaks it for me. So don't ever fuckin lie to me!!
And don't be arogant.. if you complain about fixing bugs, this is not a job for you.. if you can't even fix the obvious ones you've put there in the first place..twice as bad..
So think before you code..what do you want to do, how you want to accomplish this, is it reusable, can it be extended, does it introduce new technology into the project, will it fuck up current setup.. once you have this shit figured out, code will write itself..
Did I mention already you're not to lie to me, ever?!
And don't try talking about me behind my back either..I've seen it backfire before, results were not good..3 -
Consumers ruined software development and we the developers have little to no chance of changing it.
Recently I read a great blog post by someone called Nikita, the blog post talks mostly about the lack of efficiency and waste of resources modern software has and even tho I agree with the sentiment I don't agree with some things.
First of all the way the author compares software engineering to mechanical, civil and aeroespacial engineering is flawed, why? Because they all directly impact the average consumer more than laggy chrome.
Do you know why car engines have reached such high efficiency numbers? Gas prices keep increasing, why is building a skyscraper better, cheaper and safer than before? Consumers want cheaper and safer buildings, why are airplanes so carefully engineered? Consumers want safer and cheaper flights.
Wanna know what the average software consumer wants? Shiny "beautiful" software that is either dirt ship or free and does what it needs to. The difference between our end product is that average consumers DON'T see the end product, they just experience the light, intuitive experience we are demanded to provide! It's not for nothing that the stereotype of "wizard" still exists, for the average folk magic and electricity makes their devices function and we are to blame, we did our jobs TOO well!
Don't get me wrong, I am about to become a software engineer and efficient, elegant, quality code is the second best eye candy next to a 21yo LA model. BUT dirt cheap software doesn't mean quality software, software developed in a hurry is not quality software and that's what douchebag bosses and consumers demand! They want it cheap, they want it shiny and they wanted it yesterday!
Just look at where the actual effort is going, devs focus on delivering half baked solutions on time just to "harden" the software later and I don't blame them, complete, quality, efficient solutions take time and effort and that costs money, money companies and users don't want to invest most of the time. Who gets to worry about efficiency and ms speed gains? Big ass companies where every second counts because it directly affects their bottom line.
People don't give a shit and it sucks but they forfeit the right to complain the moment they start screaming about the buttons not glaring when hovered upon rather than the 60sec bootup, actual efforts to make quality software are made on people's own time or time critical projects.
You put up a nice example with the python tweet snippet, you have a python script that runs everyday and takes 1.6 seconds, what if I told you I'll pay you 50 cents for you to translate it to Rust and it takes you 6 hours or better what if you do it for free?
The answer to that sort of questions is given every day when "enganeers" across the lake claim to make you an Uber app for 100 bucks in 5 days, people just don't care, we do and that's why developers often end up with the fancy stuff and creating startups from the ground up, they put in the effort and they are compensated for it.
I agree things will get better, things are getting better and we are working to make programs and systems more efficient (specially in the Open Source community or high end Tech companies) but unless consumers and university teachers change their mindset not much can be done about the regular folk.
For now my mother doesn't care if her Android phone takes too much time to turn on as long as it runs Candy Crush just fine. On my part I'll keep programming the best I can, optimizing the best I can for my own projects and others because that's just how I roll, but if I'm hungry I won't hesitate to give you the performance you pay for.
Source:
http://tonsky.me/blog/...13 -
! exactly dev
I'd ditched Windows and spent a while exploring the Linux ecosystem for content creation. And I have to say, it was not a nice experience.
As much as I respect the Linux mantra of "free as in freedom" and "you need to roll up your sleeves and figure out stuff on your own", it just isn't good enough for non-dev work. Sorry guys, but I need software that gets out of my way and at least does what it's supposed to do. I can't stand a horrible UI or delays and random crashes, which is exactly what happens with most things under Linux.
To replace my Windows workflow I used the following:
1. Windows -> elementaryOS (because Debian/Ubuntu repositories seem to have the best software support, and elementaryOS is the least horrible looking thing that supports that) and then Arch, because, well, Arch.
2. Blender + Maya -> Blender + Maya on Linux.
3. Reaper + FL Studio -> Ardour + LMMS.
4. Photoshop -> GIMP + Krita + Inkscape.
5. ZBrush -> nothing :(
As you can see, my use cases are pretty much all over the spectrum.
Firstly, installing and configuring stuff. A pleasure on Windows, an absolute pain on Linux. Everything just worked on Windows, I had to wrestle with library versions and patches and unstable audio layers (Linux audio just sucks, except for JACK) on Linux.
Out of these, Blender and Maya were the best experience. But even then, both would suffer from random crashes that just didn't happen on Windows.
Ardour is actually really nice when it works. Its use of JACK for routing makes it really really flexible, but it just isn't stable enough to depend on. LMMS is utter crap. I'm sorry, but I just hate the UI. Can't stand it.
GIMP, Krita, and Inkscape can't beat Photoshop, even when you consider them together. Adobe software workflow is just so much better and more intuitive.
Blender 3D sculpting is not bad, but it's nowhere as good as ZBrush.
Also, if you're a C++ dev like me, nothing beats Visual Studio 2017. Nothing. That IDE just blows everything else out of the water. Even VSCode. And it's not slow at all, it handled a fairly large project (PBRTv3) just fine on my Windows development VM. Yes, a VM.
So...I ditched Linux and went back to Windows, but I keep Linux as a VM for when I actually want to mess with Blender or Ardour. Or some dev stuff which Windows sucks at (which is becoming less frequent because of WSL).
Out of all the above, the only one I'd consider ready for production use would be Blender. Developers of open source software, please learn from Blender. Kickass UI and user friendly operation is extremely important, you can't make a random window with GTK buttons and text boxes and arcane config files and expect people to use it for serious work.
Also, Windows beats Linux hands down as an everyday OS. It's always been rock solid, if you take care of it properly (and that goes for any OS). Updates hardly take any time because I run it on a SSD. As for all the advertising and marketing bullshit, you can block a large amount of stuff. And for what can't be blocked, well, I just have to live with it, because the alternative is compromising on my creative output, which is too much for me.
I still run Linux on my server, though. And on my embedded devices (Pi, BeagleBone, etc.). It absolutely rocks there.
I realize that Linux software is not going to improve unless we do something about it, so I'll be contributing fixes and code (the joys of being a C++ dev, yay). Still, I feel that the platform and software as a whole is just not mature enough.18 -
Been working for a while with some terrible code with no documentation that I just inherited from a previous employee
Topic: multi-threaded program in Python
Goal: kill both parent and children with keyboard interrupt
Intuitive idea: check in children processes if parent still alive
Implemented idea:
- parent creates socket connection
- keyboard interrupt kills parent and thus the socket connection as well
- children receive some specific socket error from the loss of connection
- children catch the exception and are killed
In Python 2, of course
I, too, like to inflict pain on myself for fun7 -
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 -
Two big moments today:
1. Holy hell, how did I ever get on without a proper debugger? Was debugging some old code by eye (following along and keeping track mentally, of what the variables should be and what each step did). That didn't work because the code isn't intuitive. Tried the print() method, old reliable as it were. Kinda worked but didn't give me enough fine-grain control.
Bit the bullet and installed Wing IDE for python. And bam, it hit me. How did I ever live without step-through, and breakpoints before now?
2. Remember that non-sieve prime generator I wrote a while back? (well maybe some of you do). The one that generated quasi lucas carmichael (QLC) numbers? Well thats what I managed to debug. I figured out why it wasn't working. Last time I released it, I included two core methods, genprimes() and nextPrime(). The first generates a list of primes accurately, up to some n, and only needs a small handful of QLC numbers filtered out after the fact (because the set of primes generated and the set of QLC numbers overlap. Well I think they call it an embedding, as in QLC is included in the series generated by genprimes, but not the converse, but I digress).
nextPrime() was supposed to take any arbitrary n above zero, and accurately return the nearest prime number above the argument. But for some reason when it started, it would return 2,3,5,6...but genprimes() would work fine for some reason.
So genprimes loops over an index, i, and tests it for primality. It begins by entering the loop, and doing "result = gffi(i)".
This calls into something a function that runs four tests on the argument passed to it. I won't go into detail here about what those are because I don't even remember how I came up with them (I'll make a separate post when the code is fully fixed).
If the number fails any of these tests then gffi would just return the value of i that was passed to it, unaltered. Otherwise, if it did pass all of them, it would return i+1.
And once back in genPrimes() we would check if the variable 'result' was greater than the loop index. And if it was, then it was either prime (comparatively plentiful) or a QLC number (comparatively rare)--these two types and no others.
nextPrime() was only taking n, and didn't have this index to compare to, so the prior steps in genprimes were acting as a filter that nextPrime() didn't have, while internally gffi() was returning not only primes, and QLCs, but also plenty of composite numbers.
Now *why* that last step in genPrimes() was filtering out all the composites, idk.
But now that I understand whats going on I can fix it and hypothetically it should be possible to enter a positive n of any size, and without additional primality checks (such as is done with sieves, where you have to check off multiples of n), get the nearest prime numbers. Of course I'm not familiar enough with prime number generation to know if thats an achievement or worthwhile mentioning, so if anyone *is* familiar, and how something like that holds up compared to other linear generators (O(n)?), I'd be interested to hear about it.
I also am working on filtering out the intersection of the sets (QLC numbers), which I'm pretty sure I figured out how to incorporate into the prime generator itself.
I also think it may be possible to generator primes even faster, using the carmichael numbers or related set--or even derive a function that maps one set of upper-and-lower bounds around a semiprime, and map those same bounds to carmichael numbers that act as the upper and lower bound numbers on the factors of a semiprime.
Meanwhile I'm also looking into testing the prime generator on a larger set of numbers (to make sure it doesn't fail at large values of n) and so I'm looking for more computing power if anyone has it on hand, or is willing to test it at sufficiently large bit lengths (512, 1024, etc).
Lastly, the earlier work I posted (linked below), I realized could be applied with ECM to greatly reduce the smallest factor of a large number.
If ECM, being one of the best methods available, only handles 50-60 digit numbers, & your factors are 70+ digits, then being able to transform your semiprime product into another product tree thats non-semiprime, with factors that ARE in range of ECM, and which *does* contain either of the original factors, means products that *were not* formally factorable by ECM, *could* be now.
That wouldn't have been possible though withput enormous help from many others such as hitko who took the time to explain the solution was a form of modular exponentiation, Fast-Nop who contributed on other threads, Voxera who did as well, and support from Scor in particular, and many others.
Thank you all. And more to come.
Links mentioned (because DR wouldn't accept them as they were):
https://pastebin.com/MWechZj912 -
I like obj c more than I like Swift. I don't know why and even tho it is the same API I find obj c more intuitive and useful since it is a strict superset of C and C is very useful.
Not to say I don't like Swift. I like it. I just have something against mobile OS APIs really6 -
Bit the bullet and installed VS and relevant compilers for C++ and started fucking around with sdl.
Not as terrible as I thought it was going to be.
Pointers seem pretty intuitive. Apparently my time with python has not in fact mentally mutilated me.7 -
Me: what we want our users to do is inherently complex. We can't make it "iPhone-intuitive", this thing needs instructions.
my boss: we have put people on the moon
me thinking: how intuitive do you think that rocket was4 -
More like a sub company/department inside a company: Android.
I still use it as my main driver, but every time I try to get back into development with it(did it professionally for 2 years nearing on 3 and was a lead Android dev, mind you not necessarily by merit....) I end up hating everything about it.
The tooling is meh, the API is hideous and even with the addition of Kotlin, which I do find a nicer language over Java I still dislike it. The ammount of shit needed to make something as simple as store data, manage fragments, integrate with the NDK, make JSON API calls or even shake motions is just ludicrous and counter intuitive. I can see why people would hate Java based on Android, a language that I generally love and defend.
I firmly believe that people extend frameworks or tooling for 2 reasons only:
1 the stack is so awesome that you just want to create packages and libraries to extend the functionality of a powerful environment, like gems for Ruby, python packages, Node packages, php composer, nuget etc
2 the stack is so fucking hideous that people need to fix shit: the entire android square utility framework, butterknife, flutter, react native, codenameone, etc etc
The case with Android is the second. I have not met a professional Android developer that completely likes everything about Android, but will seldom find people that HATE other frameworks or environments.
Android it is for me. Still my daily driver and I love every Android phone I have ever owned. It just makes me feel lots of more compassion for fellow Android devs.4 -
I think that two criterias are important:
- don't block my productivity
- author should have his userbase in mind
1) Some simple anti examples:
- Windows popping up a big fat blue screen screaming for updates. Like... Go suck some donkey balls you stupid shit that's totally irritating you arsehole.
- Graphical tools having no UI concept. E.g. Adobes PDF reader - which was minimalized in it's UI and it became just unbearable pain. When the concept is to castrate the user in it's abilities and call the concept intuitive, it's not a concept it's shit. Other examples are e.g. GEdit - which was severely massacred in Gnome 3 if I remember correctly (never touched Gnome ever again. I was really put off because their concept just alienated me)
- Having an UI concept but no consistency. Eg. looking at a lot of large web apps, especially Atlassian software.
Too many times I had e.g. a simple HTML form. In menu 1 you could use enter. In menu 2 Enter does not work. in another menu Enter works, but it doesn't submit the form it instead submits the whole page... Which can end in clusterfuck.
Yaaayyyy.
- Keyboard usage not possible at all.
It becomes a sad majority.... Pressing tab, not switching between form fields. Looking for keyboard shortcuts, not finding any. Yes, it's a graphical interface. But the charm of 16 bit interfaces (YES. I'm praising DOS interfaces) was that once you memorized the necessary keyboard strokes... You were faster than lightning. Ever seen e.g. a good pharmacist, receptionist or warehouse clerk... most of the software is completely based on short keyboard strokes, eg. for a receptionist at a doctor for the ICD code / pharmaceutical search et cetera.
- don't poop rainbows. I mean it.
I love colors. When they make sense. but when I use some software, e.g. netdata, I think an epilepsy warning would be fair. Too. Many. Neon. Colors. -.-
2) It should be obvious... But it's become a burden.
E.g. when asked for a release as there were some fixes... Don't point to the install from master script. Maybe you like it rolling release style - but don't enforce it please. It's hard to use SHA256 hash as a version number and shortening the hash might be a bad idea.
Don't start experiments. If it works - don't throw everything over board without good reasons. E.g. my previous example of GEdit: Turning a valuable text editor into a minimalistic unusable piece of crap and calling it a genius idea for the sake of simplicity... Nope. You murdered a successful product.
Gnome 3 felt like a complete experiment and judging from the last years of changes in the news it was an rather unsuccessful one... As they gave up quite a few of their ideas.
When doing design stuff or other big changes make it a community event or at least put a poll up on the github page. Even If it's an small user base, listen to them instead of just randomly fucking them over.
--
One of my favorite projects is a texteditor called Kate from KDE.
It has a ton of features, could even be seen as a small IDE. The reason I love it because one of the original authors still cares for his creation and ... It never failed me. I use Kate since over 20 years now I think... Oo
Another example is the git cli. It's simple and yet powerful. git add -i is e.g. a thing I really really really love. (memorize the keyboard shortcuts and you'll chunk up large commits faster than flash.
Curl. Yes. The (http) download tool. It's author still cares. It's another tool I use since 20 years. And it has given me a deep insight of how HTTP worked, new protocols and again. It never failed me. It is such a fucking versatile thing. TLS debugging / performance measurements / what the frigging fuck is going on here. Take curl. Find it out.
My worst enemies....
Git based clients. I just hate them. Mostly because they fill the niche of explaining things (good) but completely nuke the learning of git (very bad). You can do any git action without understanding what you do and even worse... They encourage bad workflows.
I've seen great devs completely fucking up git and crying because they had really no fucking clue what git actually does. The UI lead them on the worst and darkest path imaginable. :(
Atlassian products. On the one hand... They're not total shit. But the mass of bugs and the complete lack of interest of Atlassian towards their customers and the cloud movement.... Ouch. Just ouch.
I had to deal with a lot of completely borked up instances and could trace it back to a bug tracking entry / atlassian, 2 - 3 years old with the comment: vote for this, we'll work on a Bugfix. Go fuck yourself you pisswads.
Microsoft Office / Windows. Oh boy.
I could fill entire days of monologues.
It's bad, hmkay?
XEN.
This is not bad.
This is more like kill it before it lays eggs.
The deeper I got into XEN, the more I wanted to lay in a bathtub full of acid to scrub of the feelings of shame... How could anyone call this good?!?????4 -
So I was writing docs for my project the hard way. Manually. Every time I added something new, I had to find the right place for it to be alphabetically in the reference. And god forbid I want to have the same information in two pages: I would need to copy/ paste and pray that I not forget to update the information EVERYWHERE.
I didn't feel like installing and learning some new markdown generating bullshit so I just made my own system. It's very simple and intuitive and I love it.
I made sure it can cover two use case: reading partial documents from the disk, and rendering in-memory objects to markdown too (like rendering a collection of tuples into a table)
I didn't care much for templating, so there's no templating capability.2 -
requests lib - HTTP for humans (python)
It really is a breeze to work with! Clean and intuitive design, loving it!2 -
If git was written in english or in ancient greek it made no difference. It's everything counter-intuitive and you have just to learn commands by heart and google the errors. Because nothing makes sense, even if you know how it works and you used it for years6
-
So the group announced a merge of several systems into my platform. Growing it from 5000 sites to 75000. Lead time of a year, time enough to build it properly, finish the split of the current monolith into microservices, make it fast.
Suddenly, they reduced the time to three months, no explanation given. Solution is to keep the current PHP shit pile, but "scale" it using magic hardware or something. Oh and add 258 features, including things like "intuitive navigation" and "progressive web app" which some junior PM wannabe got off wikipedia or something.
And my boss has bent over to these morons and basically said yes, instead of informing them that this is a fool's errand.
Fuck em. I've said that they're nuts, and if they force the issue, I will resign. And my team probably will too.
But first I will take an inconveniently timed holiday.2 -
Inspired by @NoMad. My philosophy is that technology is a means to and ends. We’re a tool oriented species. As it relates to software and hardware, they should be your means to achieve your ends without you needing to think. Think of riding a bicycle or driving a car. You aren’t particularly conscious of them - you just adjust input based on heuristics and reflex - while your doing the activity.
For a long time Software has been horrendously bad at this. There is almost always some setup involved; you need to front-load a plan to get to your ends. Funny enough we’re in the good days now. In the early days of GUI you did have to switch modes to achieve different things until input peripherals got better.
I’ve been using windows from 95 and to this day, though it’s gotten better it’s not trivial to setup an all in one printer and scan a document - just yesterday I had to walk my mother through it and she’s somewhat proficient. Also when things break it’s usually nightmare to fix, which is why fresh installing it periodically is s meme to this day. MS still goes to great lengths with their UI so that most people can still get most of their daily stuff done without a manual.
I started Linux in University when I was offered an intro course on the shell. I’ve been using it professionally ever since. While it’s good at making you feel powerful, it requires intricate knowledge to achieve most things. Things almost never go smoothly no matter how much practice you have, especially if you need to compile tools from source. It also has very little in the ways of safe guards to prevent you from hurting yourself. Sure you might be able to fix it if you press harder but it’s less stress to just fresh install. There is also nothing, NOTHING more frustrating than following documentation to the T and it just doesn’t work! It is my day job to help companies with exactly this. Can’t really give an honest impression of the GUI ux as the distros have varying schools of thoughts with their desktop environments. Even The popular one Ubuntu did weird things for a while. In my humble opinion, *nix is better at powering the internet than being a home computer your grandma can use.
Now after being in the thick of things, priorities change and you really just want to get things done. In 2015 I made the choice to go Mac. It has been one of my more interesting experiences. Honestly, I wish more distros would adopt its philosophy. Elementary only adopted the dock. It’s just so intuitive. How do you install an application? You tap the installer, a box will pop up then you drag the icon to the application folder (in the same box) boom you are done. No setup wizards. How to uninstall? Drag icon from app folder to trash can. Boom done. How to open your app? Tap launch pad and you see all your apps alphabetically just click the one you want. You can keep your frequent ones on the dock. Settings is just another app in launchpad and everything is well labeled. You can even use your printers scanner without digging through menus. You might have issues with finder if your used to windows though and the approach to maximizing and minimizing windows will also get you for a while.
When my Galaxy 4 died I gave iPhone a chance with the SE. I can tell you that for most use cases, there is no discernible difference between iOS and modern android outside of a few fringe features. What struck me though was the power of an ecosystem. My Mac and iPhone just work well together. If they are on the same network they just sync in the background - you need to opt in. My internet went down, my iMac saw that my iPhone had 4g and gave me the option to connect. One click your up. Similar process with s droid would be multi step. You have airdrop which just allows you to send files to another Apple device near you with a tap without you even caring what mechanism it’s using. After google bricked my onHub router I opted to get Apples airport series. They are mostly interchangeable and your Mac and iOS device have a native way to configure it without you needing to mess with connecting to it yourself and blah. Setup WiFi on one device, all your other Apple devices have it. Lots of other cool stuff happen as you add more Apple devices. My wife now as a MacBook, an IPad s d the IPhone 8. She’s been windows android her life but the transition has been sublime. With family sharing any software purchase works for all of us, and not just apples stuff like iCloud and music, everything.
Hate Apple all you want but they get the core tenet that technology should just work without you thinking. That’s why they are the most valued company in the world14 -
Neat: MongoDB. Fairly easy to use, intuitive-ish JSON API. Thinking about using it on a project. Excitement.
Neater: Data validation. You can have it drop writes that don't match a schema. Excitement intensifies.
Braindead: It absolutely will not tell you exactly *why* the write doesn't meet the schema, leaving you to figure that out on your own, smart guy. Mongo smugly crosses its arms and tells you to go back and do it right without actually telling you what the problem is.
Fucking braindead: This has been an open feature request since year of our lord two-thousand-and-fucking-fifteen. https://jira.mongodb.org/browse/...7 -
Senior Dev Idiot: "Ugh, I have another meeting with my business users because they forgot how to use my app. I JUST had a training session with them last week too. Users are soo stupid!"
Yeah... No. If your users can't remember how to use your app after a damn week, that means your app is shit and not intuitive or user-friendly enough. YOU are the stupid one.8 -
i miss being intuitive, creative, free of that need for productivity and reason and purpose. i need more of that dionysian energy in my life4
-
CSS, I fucking hate you.
I fucking hate my job, because of you. I'm pulling my hair out every day, all day because I have to put up with your bullshit. If it weren't for you, I'd probably enjoy design.
You're not even programming. You're the mistake that happened when web-design developed too rapidly for the devs at the time to keep up and produce intuitive, functional tools. That, or they were just fucking sadists.
You're a band-aid that's started to rot, but we just keep sticking pretty stickers over you and pretending like the wound isn't festering.
I wish I could spend more time learning C and C++. Then I could go get a real job as far away from you as is virtually possible.
. . .
Look, just this once - just for today - could you please do what I fucking ask you to. I mean, I'm just asking you to do your fucking job. That's all.22 -
We should get rid of loop invariants. They are cumbersome and counter-intuitive (hopefully someone gets the inside joke).1
-
I think the reason why git beginners have a hard time with it is because the api is a bit untuitive.
For example: if you want to "unstage" staged changes, you run git reset, and if you want to "delete" those changes from your working copy, you git checkout those files.
But then, you find out that you can do all of that if you git add . and git reset --hard.
So you're like "huh..."
And then you discover that if you end the resethard with a branch name/commit id then you also make current branch point to the commit or that branch/commit (respectively).
So you're like "huh..."
And also if you add a commit id or branch name to git checkout, you change the current branch to specified/enter detached state with HEAD pointing to that commit (respectively).
Oh and you don't use git branch to create branches, you use git checkout -b because it's a lot shorter.
So here's a rundown: git reset mutates things related to files, but also mutates things related to branches.
git checkout also mutates things related to files and mutates things related to branches too (in a diff way). Also, creates new branches.
I don't think this is intuitive. We users use the same commands for different purposes with just a different flag.
Commands shouldn't mutate different types of things. But don't composite commands (as in, "smart" commands that mutate different things) shoudln't be a flag in an existing command, it should be a single new command of its own.
Maybe if I reread the internals of git now, I'll be able to disgest the dozens of technical terms they throw at you (they are many). And in my mind, the api will cognitively fit to the explanations.
Here's another one that feels weird too.
If you want to make your changes start on top of someone else's commit, you do git rebase.
But git rebase -i can be used for that, and also to delete, modify changes or message of, reorder or combine previous commits of the current branch.
Maybe the reason why several things we do overlap with the same commands is because they internally do similar things, and while not separating those commands might make it less intuitive, it makes them more sensible? i dunno...
disclaimer: I'm not setting this opinion in stone though, and am aware that git was created by one of the most infuential programmers.6 -
Is your code green?
I've been thinking a lot about this for the past year. There was recently an article on this on slashdot.
I like optimising things to a reasonable degree and avoid bloat. What are some signs of code that isn't green?
* Use of technology that says its fast without real expert review and measurement. Lots of tech out their claims to be fast but actually isn't or is doing so by saturation resources while being inefficient.
* It uses caching. Many might find that counter intuitive. In technology it is surprisingly common to see people scale or cache rather than directly fixing the thing that's watt expensive which is compounded when the cache has weak coverage.
* It uses scaling. Originally scaling was a last resort. The reason is simple, it introduces excessive complexity. Today it's common to see people scale things rather than make them efficient. You end up needing ten instances when a bit of skill could bring you down to one which could scale as well but likely wont need to.
* It uses a non-trivial framework. Frameworks are rarely fast. Most will fall in the range of ten to a thousand times slower in terms of CPU usage. Memory bloat may also force the need for more instances. Frameworks written on already slow high level languages may be especially bad.
* Lacks optimisations for obvious bottlenecks.
* It runs slowly.
* It lacks even basic resource usage measurement.
Unfortunately smells are not enough on their own but are a start. Real measurement and expert review is always the only way to get an idea of if your code is reasonably green.
I find it not uncommon to see things require tens to hundreds to thousands of resources than needed if not more.
In terms of cycles that can be the difference between needing a single core and a thousand cores.
This is common in the industry but it's not because people didn't write everything in assembly. It's usually leaning toward the extreme opposite.
Optimisations are often easy and don't require writing code in binary. In fact the resulting code is often simpler. Excess complexity and inefficient code tend to go hand in hand. Sometimes a code cleaning service is all you need to enhance your green.
I once rewrote a data parsing library that had to parse a hundred MB and was a performance hotspot into C from an interpreted language. I measured it and the results were good. It had been optimised as much as possible in the interpreted version but way still 50 times faster minimum in C.
I recently stumbled upon someone's attempt to do the same and I was able to optimise the interpreted version in five minutes to be twice as fast as the C++ version.
I see opportunity to optimise everywhere in software. A billion KG CO2 could be saved easy if a few green code shops popped up. It's also often a net win. Faster software, lower costs, lower management burden... I'm thinking of starting a consultancy.
The problem is after witnessing the likes of Greta Thunberg then if that's what the next generation has in store then as far as I'm concerned the world can fucking burn and her generation along with it.6 -
I am currently looking for a DAW (Digital Audio Workstation), because my music projects are starting to get a little too complex for Audacity.
So I started looking for a good, easy-to-learn, ideally free program, and quickly learned that Avid now has a free version of Pro Tools called First.
So I go to their site and fill out the registration form to get the download. In addition to creating an account with Avid, you also need to create one with iLok, which apparently has something to do with how they manage their licenses. Kinda overkill for a free program, but okay...
I download the program (about 3gigs...), install it and try to start it. It gives me an error message about missing some service. Okay? I'm confused because I notice that an 'Application Manager' service has appeared in my tray, and when I open that I can log into my new account just fine. But it still doesn't work.
There's a link in the error message to the iLok website, and it looks like ai need to dowload and install another component. Why didn't that get installed with the program if it's required?
Hmm...
So I go to the iLok site, download it and install it. Pro Tools First still won't start. I realize that the PTF installer asked me to reboot, which I didn't do because: a) I always have a lot of windows open, and b) How often is a reboot ACTUALLY required? Why would you need to reboot?
So I (begrudgingly) reboot, and now the program seems to start initializing... but then it throws an error message about some plugin that it can't load because it doesn't work for the 64 bit version. Then... why are you even looking for it?
And then it says something like: 'I can't handle that, I'm just gonna shut down'.
What?
I try starting it again. Same error appears, but then it gets past it this time... Only to throw another error message about something else it can't load, and therefore it must shut down.
Deep breath.
Third time is the charm, the program actually made it to the project create/load screen! Huzzah!
So I look around a bit, but don't do much. It doesn't seem too intuitive to me, so I start watching some tutorials on YouTube from Avid themselves. It's a little late by now, so I don't get my hands dirty that day.
Next time I want to try out the program I start it up, still get error messages, but it does seem to initialize okay. But then the 'Create project' button doesn't react when I press it.
It turns out that the program takes a looong time to log in to the avid account, even though the manager service is running and logged in...
When it finally logs on I create a new blank project, but it doesn't ask me where to save it to. I see there is a counter saying 1/3 and looking around I find some info about 'cloud based projects'.
It would seem that this program only supports saving projects to the cloud, and you get only 3 projects total. Three. THREE?
Ahem...
I add an instrument track to my new project and select the one and only plugin, which is a synth. I don't see the plugin window, like in the tutorials I watched. I fiddle around with the windows, but I only manage to get the layout fucked up. There's a handy 'Window' menu, but none of the options resets the view. The main window is now sporting a WINDOWS FUCKING 7 BORDER! And partially blocking the view of the top menu.
Blaaargh!
Frustrated, I shut the program down and restart it. I now select one of the project templates (after waiting for it to LOG IN AGAIN!) in the hope that I might have a bit more luck with that starting point.
But when the template has loaded, out of nowhere, the program goes from maximized to windowed mode! And the fucking Win7 border is back again, still messing with the main menu!
FFS!
I get the sucker maximized again and select one of the synth tracks, and Lo and Behold! The synth plugin window actually shows up! But of course there is no sound produced when I play, neither with the keyboard or my midi keyboard.
Oh no, that would have been too easy.
I see some the meters moving when I play, but no sound is produced. I check the options menu, but find out nothing useful except for the fact that the program only support 48kHz sample rate. That's pretty disappointing when you have a 192kHz/24bit soundcard.
I'm done. This piece of shit software is NOT for me. It's bloated, complicated to sign up for and install, extremely limited and buggy as hell!
The final insult is that it takes 5 minutes to uninstall because there is no uninstall option in the so-called 'Application Manager' (of course fucking not!), and doing it through Programs & Features there are 5 (FIVE!!) different apps and services to uninstall, one by one.
0/10, would not recommend.11 -
I wish every online course provided notes; atleast cheat sheets. It’s just not intuitive to take notes during a recorded video lecture.1
-
The platform my school is using was obviously designed and developed by people who hate students.
I've seen the teacher panel, and it looks really intuitive, allowing you to see test scores, missing assignments, attendance records easily, and it was obviously well thought-out
however, the UX as a student is a goddamn nightmare
First of all, there's like 5 different places where an instructor can post an assignment, so good luck keeping track of your work
Second of all, there's no way to sort assignments by completion status or due date. Just by when assigned
Third of all, the only way to see your grade in a class is if you dig through a series of menus and submenus and sidebars so complex and stupid it puts the Jira UI to shame
And finally, one of the 'features' of this platform is that students can submit a textbox with markdown formatting natively on the platform. And that should work great and all, but APPARENTLY THE FUCKING DEVELOPERS HAVE NEVER HEARD OF LOCALSTORAGE AND YOU JUST LOSE YOUR WORK IF YOU EVER CLOSE THE TAB FOR ANY REASON!
WITH NO FUCKING WARNING! NOT EVEN A LITTLE JAVASCRIPT ALERT OF ANYTHING!
JUST POOF! AN HOUR OF WORK GONE! YAY!
In conclusion, fuck you2 -
I hate Xcode so fricking much!
I hate Macs in general, and trying to export for iOS.
So convoluted, counter-intuitive.
And cocoapods? WTF are they?!
Visual Studio, Android Studio + Flutter is so easy: "flutter build" ....done!
But YOU, you fucking xcode peice of wank....are summink ELSE!15 -
I hate these modern forums
if I follow a link and go back I lose my place and have to scroll because MoDeRn PaGinAtIoN
I would like to browse months of posts over several days but tomorrow my browser will lose the cache and I'll have to scroll past weeks of posts to find my place again and keep going
literally everything gets worse somehow through time. less features, less intuitive, less convenient, more walled-garden, everybody is more confused, yet less opinionated and less unique. before you'd have people at least making fun of each other, inside jokes, familiarities. people would give multiple right answers, trying to outdo each other with their version to gain a cultural foothold. now companies hold the cultural foothold and just ban you if your opinion is different, and every user is just another nameless generic blob1 -
Just had the realization that the reason why the internet is so toxic isn't really because of anonymity
It's because if you're a massive asshole to someone, that person can't punch you in the face
I mean this for real, and it's kinda counter intuitive, but the underlying threat of violence is what keeps society civil and polite22 -
Embedded app design resources?
We have a device that is currently controlled through buttons and knobs. We are rethinking this design. We want to have a mix of buttons and knobs and in addition have a touchscreen. The controls must be redundant. So if we turn off the touch screen it must be able to control everything.
Does anyone know of any design resources for non-touchscreen embedded control?
I have been looking into how gaming console controls work. I like how they have the idea of controlling the game vs breaking the 4th wall. We have a similar constraint as we want the operator focused on what they are controlling and not the controls or even sometimes the screen. So immersion is definitely a concept for us. I have been toying with the idea of adding a d-pad for some controls. We have not solidified the hardware controls yet. That is still up to me to come up with some ideas to make it more intuitive.13 -
Though I demonstrated a hard upperbound on the D(10) dedekind in the link here (https://devrant.com/rants/8414096/...), a value of 1.067*(10^83), which agrees with and puts a bound on this guy's estimate (https://johndcook.com/blog/2023/...) of 3.253*10^82, I've done a little more work.
It's kind of convoluted, and involves sequences related to the following page (https://oeis.org/search/...) though I won't go into detail simply because the explaination is exhausting.
Despite the large upperbound, the dedekinds have some weirdness to them, and their growth is non-intuitive. After working through my results, I actually think D(10) will turn out to be much lower than both cook's estimate and my former upperbound, that it'll specifically be found among the values of..
1.239*(10^43)
2.8507*(10^46)
2.1106*(10^50)
If this turns out to be correct (some time before the year 2100, lol), I'll explain how I came to the conclusion then.8 -
Do you think the keywords used by git (or other version control systems) are intuitive?
I'm talking to a very junior dev about git and I find myself having to explain around the fact that I don't feel the keywords are great. They are asking good questions like
* Why do you say "push the commit" but then say "make a pull request" - when I want to push why isn't it called a "push request"
* "Why are the metaphors sometimes related to trees (branches), sometimes roads (forks) but you still call it "master" instead of tree trunk or main road?
* Why do you call it "commit", what kind of commitment am I making?16 -
Android development is unnecessarily complex. To the core. Rant #371651681324
Only being few months in to android development, I can say that using too many functions and classes for doing something silly is very illogical. I mean -
Livedata, think about it, if some data is shown on the UI, it must mean the UI be updated instantly on data change, but the concept of Livedata was introduced only few years back.Which again, needs an observer and we actually have to ask it to observe changes.
Android development is a mess. More and more updates to the architecture and code is to cover up the problems that shouldn't have existed in the first place. A simple Spinner with custom object will require more time in stackoverflow rather than actual coding. Very counter-intuitive, inefficient, time-consuming and exhaustive.4 -
Well, throughout my life I've never really thought about programming. Then one day during some downtime on a backpacking trip with a friend, while I had nothing to do my friend sat there with his computer with the screen all dark, filled with funny colourful text in lines of different length, with some lines even starting more towards the middle of the page than to the left, almost following a vertical wave pattern. He said he was writing a program to control his home remotly as well as working as a security feature that could unlock his home automatically when he got home. I was amazed by the colorful text as well as the fact that he could just create this crazy program out of nothing.
Half a year later I attended my first lecture at the computer science programme. My first program was a command line tool used for baking bread. It asked you how much flour you'd use and how many eggs, then it'd tell you wether or not you'd got the correct ratio. I was blown away by the intuitive nature of programming. I could imagine the control flow as a tree or flow chart in my head. I mean the whole program was only a couple of user inputs followed by an if-statement and a print-statement, but for me it was awe inspiring. I knew then that I'd probably chosen the right path in education. -
I think JavaScript is great actually
Though I don't like the community
But that's not saying much, aside from maybe c++ people (who I don't actually understand so maybe that's what's going on there) I don't seem to like any communities
Mostly because they're wrong and fight over irrelevant things and don't realize they're wrong so they just keep going wrong and it makes me cringe
But javascript is nice because it's intuitive, and if it isn't intuitive to you right now just look into the thing and it'll be a second language to you later... Isn't that a skill issue?
Easy to start hard to master, perfect difficulty curve. Exploits that sunk cost fallacy. It isn't overwhelming either you only run into the edge cases slowly over time.
But there can be a point made that an easily accessible anything is just always going to turn into a cesspool because unskilled people keep contributing and thinking themselves experts, so it over time reduces quality of secondary tooling =[6 -
Hello everyone :)
So, I've recently switched from Windows 8 to Debian on my work (or study, rather) laptop, and so far it's been pretty intuitive and practical! But I'd like to explore the world ofr Linux a bit more in-depth, especially considering the fact that I'll "soon" head off to study Security in university. So, here's my question for y'all: does anybody happen to have good resources to share about linux system administration?
Thanks in advance! ^^17 -
Had a teacher in high school who ordered us to learn MS Access, even tho most of us already knew MySQL... It was to learn about relations and the likes...
We spend way to long on that subject, because most of really didn't find the Access interface intuitive and she had to walk from table to table helping...
The only two finished the task where those who say screw it and used MySQL 😅 -
String.replace and String.replaceAll in Java. Doubly anti-intuitive naming... First it makes you think replace will replace a single instance in the string but aCtUaLlY replace is replaceAllByExactMatch and replaceAll is replaceAllByRegexMatch.
Just as bad are C's fwrite and fseek which have the target FILE* in opposite ends of the parameter list2 -
This is a story about my disappointment in modern GUI editors for desktop applications.
Well, first of all, I grew up with Delphi 5. Delphi has an awesome form editor. It's intuitive and works without any problem. It always does what you want it to do. Prototyping is really a problem of seconds here, even for people that never used it (I guess).
But the problem is that it is Delphi. Its so old, bloated, and most problems you'll ever have have been solved (through a hack) 20 years ago in some weird forum.
So I looked on and tried many other drag'n'drop gui editors.
The one for java is the biggest pile of crap I've ever seen. It slows down eclipse /intellij and does almost never do what I want. At least its not really intuitive.
Right after that, the one for C# (this xml Designer ) is okay-ish, but it's also not really intuitive and does not always what the user wants.
I also tried other ones. But I still miss an intuitive one that works without weird side effects.
I now can understand why the Web dev stack grows in the region of desktop apps. I can prototype stuff even faster in angular than in Delphi.
But shouldn't we improve the desktop stack instead of taking some bloated stack using a language that should have never existed?9 -
Our company hired a "Human resource consulting" to help with our internal processes and policies. Yesterday they showed us an Excel that we should fill when we travel to attend meetings, events, courses, etc.
This spreadsheet... OH, THIS SPREADSHEET... you should've seen that.
Most of the "labels" of the "fields" were writen with terms that we do not use in our daily basis. The fields were ambiguous. You shout put a number on the Transportation quantity (ex.: 5) but have no space to describe which transport you will use (bus, metro, uber... so... 5 what?). When we asked which name shoud go on the field "superior" (director, pm, scrum master...) the woman from this consulting said "oh, I don't believe you're asking about this" (and since then, she became more rude by the end of the meeting).
We care for quality in our apps, and UI/UX is a big thing in our company. The last thing we want is need to read a f*#1n manual to fill a spreadsheet. Make it intuitive and you will not need an hour and a half to explain how to fill this obsolete form.
It's sad to think that this person was hired to improve our company, but did not bother to understand the company's culture (and values, and terms) first. -
When the online invoicing software you have used for the last 4 years gets a major upgrade, only to find there's a massive feature cull and the interface is prettier but far less intuitive. Time to look elsewhere :-). Pity, I loved it and got tonnes of people on to it.2
-
Seen some screenshots of Notion. It's like airtable meets wiki, without dealing with markup.
It's very clean, and their use of templates is very intuitive, as is creating new templates.
Their offerings, even for new users, are also very generous.
Anyone used notion and if so, what did you think of it?3 -
Unpopular opinion.
TOML sucks
* it does not claim to care about indentation but it actually does
* nested datastructures are a nightmare, especially 'inline' for 'readability'
* oh fuck me everything must be "double quotes"
* booleans always lowercase, there is no "truthy" here.
* Tables are not intuitive at all.
And all this from working with it first time because I had the silly idea to modernize a python project to use pyproject.toml
Oh and don't get me started on pyproject.toml files. The documentation sucks!6 -
This year I could join the "Game Graphics" for my elective classes. After seeing that we are split almost exactly in half (graphics design and programmers) our tutor (graphic with 20+ exp in the field, worked on few Call of Duty titles and more) decided that instead of forcing everyone to draw something, we will be making games in groups.
So me, and my friend were grouped with two girls from graphic. I have to say, working close with them was an eyes-opening experience. They don't think like me, they don't see like me and they interpret everything different.
Anyway, as most experienced Unity dev (... Yeaaaah, one game self made and published) I was chosen to get rest of the programmers up to speed. Luckily no one objected and they did what I wanted them to do, so it wasn't bad.
Today was supposedly the last day to present finished prototype. After three weeks staying up till 1 am, working on this project, two other, and nornal job, it was supposed to end. But, no one was really ready. So tutor decided that we will only do this project, an 2D platformer, instead of two, this and 3D game.
While walking around and checking the progress he stayed with us at least two times, watching what we were doing. Since last two weeks were really hectic, we were finishing up animations, adding some polish and such. When he came to us for the second time, he played our prototype. He's a bit older guy, somewhere around his 60, and one could see he wasn't prepared for hard gameplay I presented him with my first level design ever.
He told us his feedback, about how hard it is and not really intuitive, but in the end, he was satisfied. We have made really great progress and brought him something he could play and finish. Which was more than most of other groups had at today. And, as a cherry on the top, he complimented me as a group chief. I don't remember the last time someone complimented my work. The feeling was... Incredible. Touching even.
So, yeah. My hard work wasn't in vain, even though we now have time till the end of the semester. Everyone in my team has given their all and now we can rest for a bit, while others are catching up. Right now I only have to polish some mechanics, rework a bit of level design and add tutorial, while girls from graphic design will be working on better background and sprites.
All in all, it was a pretty good day.6 -
I know "windows 10 bad" rants already have been done enough and are kinda redundant at this point.
But it's so frustrating for me when doing event stuff.
like yesterday during a quieter part I wanted to pull a USB thing. I knew I've turned of system sounds at least two times one this machine last year and sureley it didn't turn them on again, that'd be silly ...
"de dung"
shit!
And today I did some stuff and realized somehow the energy settings are at "balanced".
In the past I had went through every neccessary box to go Full Power, checked every neccessary box, but nOOooOo - lets randomly be balanced again. WTF?
And it's not like shit didn' work already - I remember the times when bluetooth actually was intuitive to use and settings didn't randomly change - is that what they think " progress" means?4 -
wtf...
Ones of the best bugs I love the "most" are the ones where the fix is counter-intuitive, e.g. making smth seemingly incorrect to rectify the issue.
Like today, I crafter an SQL query to fetch some PG metrics. And postgres-exporter refused to accept it until I added an excessive comma [,] at the end of the SELECT block (right before FROM).
Like.. wtf...12 -
I'm working on a bug I can't figure out. I go out for a smoke to clear my mind. Some time passes, I get an idea, finish smoking and I wanna go back up to my desk ASAP.
I have to go up to floor 14. Building has a basic elevator with 2 buttons:
UP arrow - "I wanna go up"
DOWN arrow - "I wanna go down"
User-friendly, intuitive, idiot-proof, you might think. NOPE.
Elevator stops at floor 1 because moron who wants to go down pressed all 2 of the over-intuitive buttons.
Floor 1 moron: "Going up?"
Other people: "Yes"
Floor 1 moron: "Oh"
Me (in my mind): "Oh? BITCH, there's an idicator telling you where it's going. Don't fucking press UP if you're not going up."
Moving on.
Elevator stops at floor 3.
Frustration sets in.
Floor 3 brainlet steps in, doors close.
Floor 3 brainlet takes eyes off phone screen and realises we're going up.
Floor 3 brainlet makes an "oops" kinda noise because "it" obviously wanted to go down.
Floor 3 brainlet stops elevator at floor 5 because "it" doesn't want to go all the way up to floor 14.
Rage sets in.
Me (in my mind): "I hope I get lung cancer so I don't have to deal with this shit anymore"
Moving on.
No more incidents, I calm down. I get to my desk and begin brainstorming about elevator coding. My preferred idea so far:
Elevator is called at floor X but nobody steps in? Elevator doesn't stop at that floor for 2 hours. elevators.size() strikes and the entire floor uses stairs, BITCH.
I spend 1 hour reading rants and writing this. Now I have to get back to my bug. I would appreciate other punishment ideas for elevator misuse.5 -
I decided to format party my desktop since I'm working at home every day (got a 1TB ssd to replace 150gb OS drive).
First fresh Windows install in 4 years. I had forgotten how much fuckery windows puts you through to do some basic things. I can imagine being a newbie hobbiest programmer and having to go through this stuff?
So I just embarrassingly spent 15 minutes reading and troubleshooting why you can't run a python script inside of powershell. PS just blips for a moment leaving you wondering if the script executed. So I created a test script to use a logging file handler to see if it actually ran. No.
Turns out you have to register the .py extension by appending it to your PATHEXT environment variable. Before that I was going to add it to the PS profile, but realized it takes more than a quick moment to find out which scope of PS profile is appropriate to create, and on top of that, you have to enable script execution in PS (which I recall is easy, but didn't do yet).
Tangentially, I solved an ssh issue days ago. I would tell you what it was, but I seem to have mentally blocked it due to trauma.
For real Microsoft. Yes powershell has some great advancements--my friends say so.
But this needlessly nuanced bullshit needs a little attention from you guys to save the world a shitload of time. I can only imagine what it's like for non-tech savvy people trying to learn to program and having to face this stuff.
I still haven't solved the color scheme stupidity of powershell. This is 2020 ffs. Yet seems there's no clean or intuitive way to do it.
Other issues omitted for 'brevity'21 -
Manager: hey, I've been thinking about the new interface changes, Iand I've come to the conclusion that we really need to make it... (wait for it...) very intuitive
Wooowww
IQ 2002 -
You guys prefer Arduino or Raspberry PI? I want something thst is beginner friendly but super intuitive. Leaning towards arduino4
-
Ok it's not the "worst" technology I've ever used, but it's undoubtedly one of the most maddening…
Auto Layout!
Powerful? Certainly. Intuitive? Not a chance.
There's nothing "auto" about it. Like shit, give me back my HTML and CSS over this over-architected shitstorm. 😠 -
What is it about long winded articles for a two second one click solution?
A quick search to find out how to change the control panel to classic view in windows 7. (because I forgot and the windows Operating system is no longer intuitive and Dev-friendly).
Search engine: (Insert hundreds of articles here!)
Solution: Click on large Icons where it says "View by".
Search engine: (Enjoy sifting through this pile of results written by thousands of gas-bags, you looser!).
Rocking back 'n forward sitting in the corner of the room holding my legs against my chest: "Shut up, I forgot okay!"
Why would it not just Say "Classic view"?1 -
Stepping through the source code of a no-code-graphical-programming-tool (or however you call that) to understand why my stuff isn't doing its thing or at least see what it wants from me.
Very intuitive1 -
I get amazed almost every work day by how buggy the File Explorer is in Windows 11.
Actually, it's the whole Microsoft experience, that never worked for me. Most products are not at all intuitive (e.g. Google Sheet UX > Microsoft Excel UX), some other products shouldn't even be released (e.g. I've tried Loop, which is supposed to be a Notion clone, but it's more like a cheap demo).
I really need to start insisting about Linux, so my employer allows me an installation (or at least they could provide a Mac, if Linux doesn't cut it)4 -
How many of you guys use vim?
How many hate it? Why?
How many haven't tried it yet?
I've been using it for a month and it feels great. Everything is fast and customisation is great and fairly easy (just vim ~/.vimrc). With a little bit of searching abilities, you can do pretty much anything you want by configuring the vimrc. And besides the initial learning courve of having no UI, it feels much more intuitive to just use the keyboard.
I used it by a necessity to edit stuff from the wls, but fuck, now I'm fucking addicted to it. Every new command I learn is a fucking drug for my hands.
I totally recommend it and personally feel a tad sad when vim gets hate. I understand jokes though. I also struggled at first to use "i" to start typing, "hjkl" to move around, and got stuck with the good ol' ":q". But it's worth it.8 -
We have a CMS that’s supposed to be simple to use so non-technical staff can make some webpages. A lot of it doesn’t require much brain work. Just duplicate a page and swap out text and images. But they keep forgetting how to log in to the website even though I shared written instructions on how to log in.
Recently, I told the Head of Engineering Manager that we should retire the CMS because it’s not intuitive to use and it doesn’t get used a lot. There used to be one dude who did it, but he left. So employee turnover plus no one using it a lot means folks don’t learn or forget. And they end up coming to Engineering for help with swapping out text and images.3 -
How do you deal with relatively complex Boolean logic requirements?
Here's a simple example, of which I missed 50% of the cases because it was non-intuitive to me:
A year is a leap year if:
- it is divisible by 4
- except it is also divisible by 100
- unless it is also divisible by 400
To my intuition, the logic tree is as follows:
if (year % 4 == 0) -> true
if (year % 100 == 0) -> false
if (year % 400 == 0) -> true
so I ended up with 3 cases and I initially missed all the others until I started coding.
The full solution is:
if(year % 4 === 0) {
if(year % 100 === 0) {
if(year % 400 === 0) {
true
} else {
false
}
false
} else {
true
}
true
} else {
false
}
}
I don't like it when I don't immediately see all logic paths.19 -
I feel like some developers focus too much on concepts like clean code, software craftsmanship, TDD and so forth, to a point where they almost forget end user needs (ease of use, intuitive experiences, general UX principles).
Don’t get me wrong. I do my best to stick to a decent standard of quality and maintainability. However my solutions are adapted to the specific needs that are being addressed rather than the other way around.
I’ve heard some devs say things to the effect of ”well I know that’s not most intuitive behavior for the user but it’s the cleaner way to do it, so the user will just have to figure it out“. So in essence they’re just coding for their own pleasure rather than addressing user needs4 -
I don't know what to do because union and sum types both totally suck but I need them for my scripting language
Union types are fun and intuitive because they can be used with type refinement but they're not hierarchical thus bad for generics.
Sum types (or tagged unions) are great because they're hierarchical and can be nested properly but they need ugly type matching constructs.
The positive thing is I'm not making a systems language anymore so I only wanna jump of a bridge every second day5 -
So I was studying the Material Design skeleton component
https://material-ui.com/components/...
you know, like when YouTube shows grey boxes while the content is loading to let the reader know that there will be something there at some point.
But I keep waiting for it to load! My brain just assumes that the content is not ready yet so I wait but I'm the one who put it there in the first place! I'm supposed to be the one manipulating the user with intuitive UI, not the UI manipulating me!2 -
Without a doubt it has to be the internal company search engine/file finding tool @thewamz and I wrote.
The company has a wide UNC network with files scattered all over the place and they need a way to keep track of where the files get moved to (they can and do get moved). The original tool was written in Java/Tomcat and didn't use any frameworks or utilities beyond custom written ones, no orms, and the SQL was just raw strings. The program didn't take into account that files might be moved or deleted so it never removed anything from the database, it just kept adding files and never removing them.
It however never stores files itself, just links to files elsewhere on the UNC network.
It took six months to get it into what might be a stable beta or release candidate state. The user interface is good, very simple and intuitive, the whole thing was rewritten in python/django, there were issues with utf 8 (and mysql not fully supporting utf 8 in its own utf 8 mode), we added a regex search mode (which was sorely lacking), the search used to take up to fifteen minutes however we sped it up to less than a minute (worst case when a user simply puts "^$" as the regex search). It has a multi threaded design which does some checks to ensure it doesn't spawn too many threads and get stuck in constant Gil switching. Still some bugs to fix, like moving the processing of results returned by the server in a web worker so that the content widget doesn't lock up processing millions of search results and moving the back end to use asynchronous python might gain a performance boost. But on the whole I think the system is ready to replace the older system that all the users are frustrated with and constantly complain about.
However the annoying bit is... How to actually get the new system online, while I am responsible for the development of tools and their maintenance, I am not responsible for their initial deployment and that means I have no idea when (or even if) my new tool will even ever be released :/ -
I bought BMW recently and the engineers who designed it did a phenomenal job. The one oddity though, there are up and down arrows on the steering wheel representing next and previous, except that down is next and up is previous. It's so counter intuitive and I wish they would standardize button interfaces or produce guidelines everyone would stick to.8
-
Meeting 1:
Devs: so we have founds 3 ways of displaying this info. Which one do you think is the most intuitive / more pretty / more useful?
Management: idk, just let the option choose between these 3
Meeting 2:
Management: the users are getting confused with so many options. Fix it.
😑2 -
Everyones like "python is pseudocode" but honestly i dont see it, after sql, python is the least intuitive syntax i ever worked with, and i frequently use haskell so4
-
Am I the only person who hates people using "intuitive" when giving feedback about interface design? It's *completely* meaningless. Heck, this isn't even my design that's being critiqued and the comments make my skin crawl.
"It works well, but it's not very intuitive"
"Can we make this section of the interface more intuitive somehow?"
"I don't think our customers are finding it very intuitive, they're having lots of issues"
If I had my way everyone using the word would be kicked out of the meeting and made to wear an "I'm a moron" t-shirt for the rest of the week, especially the smug arses that act as though they've just said something profound.11 -
!rant
I hate the feeling when you're creating an app then the designers provided you a mockups that aren't intuitive, it makes me lazy to code 😒2 -
Is it just me, or do Adobe products just get progressively harder to use? I'm thoroughly frustrated with trying to figure out how to do simple things like annotating screenshots in Photoshop, like I used to do several versions ago. All these damn options and non-intuitive names for things and crap scattered all over the UI. I just want to draw a friggin arrow and wrap red text in a nice box with a white background!!!
-
Why did we move away from CLIs?
I wonder if there's been any research into wether memorising keywords is more of a load than remembering where to point and click. But to be fair, once the foundations are there, GUIs can be pretty intuitive.
I'm not sure what I'm talking about anymore.11 -
YGGG IM SO CLOSE I CAN ALMOST TASTE IT.
Register allocation pretty much done: you can still juggle registers manually if you want, but you don't have to -- declaring a variable and using it as operand instead of a register is implicitly telling the compiler to handle it for you.
Whats more, spilling to stack is done automatically, keeping track of whether a value is or isnt required so its only done when absolutely necessary. And variables are handled differently depending on wheter they are input, output, or both, so we can eliminate making redundant copies in some cases.
Its a thing of beauty, defenestrating the difficult aspects of assembly, while still writting pure assembly... well, for the most part. There's some C-like sugar that's just too convenient for me not to include.
(x,y)=*F arg0,argN. This piece of shit is the distillation of my very profound meditations on fuckerous thoughtlessness, so let me break it down:
- (x,y)=; fuck you in the ass I can return as many values as I want. You dont need the parens if theres only a single return.
- *F args; some may have thought I was dereferencing a pointer but Im calling F and passing it arguments; the asterisk indicates I want to jump to a symbol rather than read its address or the value stored at it.
To the virtual machine, this is three instructions:
- bind x,y; overwrite these values with Fs output.
- pass arg0,argN; setup the damn parameters.
- call F; you know this one, so perform the deed.
Everything else is generated; these are macro-instructions with some logic attached to them, and theres a step in the compilation dedicated to walking the stupid program for the seventh fucking time that handles the expansion and optimization.
So whats left? Ah shit, classes. Disinfect and open wide mother fucker we're doing OOP without a condom.
Now, obviously, we have to sanitize a lot of what OOP stands for. In general, you can consider every textbook shit, so much so that wiping your ass with their pages would defeat the point of wiping your ass.
Lets say, for simplicity, that every program is a data transform (see: computation) broken down into a multitude of classes that represent the layout and quantity of memory required at different steps, plus the operations performed on said memory.
That is most if not all of the paradigm's merit right there. Everything else that I thought to have found use for was in the end nothing but deranged ways of deriving one thing from another. Telling you I want the size of this worth of space is such an act, and is indeed useful; telling you I want to utilize this as base for that when this itself cannot be directly used is theoretically a poorly worded and overly verbose bitch slap.
Plainly, fucktoys and abstract classes are a mistake, autocorrect these fucking misspelled testicle sax.
None of the remaining deeper lore, or rather sleazy fanfiction, that forms the larger cannon of object oriented as taught by my colleagues makes sufficient sense at this level for me to even consider dumping a steaming fat shit down it's execrable throat, and so I will spare you bearing witness to the inevitable forced coprophagia.
This is what we're left with: structures and procedures. Easy as gobblin pie.
Any F taking pointer-to-struc as it's first argument that is declared within the same namespace can be fetched by an instance of the structure in question. The sugar: x ->* F arg0,argN
Where ->* stands for failed abortion. No, the arrow by itself means fetch me a symbol; the asterisk wants to jump there. So fetch and do. We make it work for all symbols just to be dicks about it.
Anyway, invoking anything like this passes the caller to the callee. If you use the name of the struc rather than a pointer, you get it as a string. Because fuck you, I like Perl.
What else is there to discuss? My mind seems blank, but it is truly blank.
Allocating multitudes of structures, with same or different types, should be done in one go whenever possible. I know I want to do this, and I know whichever way we settle for has to be intuitive, else this entire project has failed.
So my version of new always takes an argument, dont you just love slurping diarrhea. If zero it means call malloc for this one, else it's an address where this instance is to be stored.
What's the big idea? Only the topmost instance in any given hierarchy will trigger an allocation. My compiler could easily perform this analysis because I am unemployed.
So where do you want it on the stack on the heap yyou want to reutilize any piece of ass, where buttocks stands for some adequately sized space in memory -- entirely within the realm of possibility. Furthermore, evicting shit you don't need and replacing it with something else.
Let me tell you, I will give your every object an allocator if you give the chance. I will -- nevermind. This is not for your orifices, porridges, oranges, morpheousness.
Walruses.16 -
random writing on wall : "new mcDonalds burger for just Rs 99/-" (* 10% GST)
me : "oh that's easy. 99+ 10% of 99 = 9.9 , so total will be 108.9
---
random DSA question in interview : "given a number n, write a program to break it into n parts, such that product of all parts is the highest for given number n. like for 10, 4x3x3 is 36, 4x3x2x1 is24, 5x5 is 25, and thus the correct answer is 4x3x3"
me : 💀💀💀🏳️🏳️🏳️🏳️
-----
seriously though why the fuck is this programming so difficult. I also learnt java c++ python and various languages during my education days, and currently using it to create awesome buttons and ui screens which is being used by millions of people,
but why the interviewers have to ask questions that results in such a horrific use of these beautiful languages!?!
these non realistic stuff are not at all intuitive and will only result in people who likes to mug up these questions and their solutions to keep winning in life1 -
So I recently purchased Ark and I gotta say I can totally recommend single player/ local multi.
It's not exactly stable. And non-dedicated private servers are pretty limited. But it's fun nonetheless. The animals are neat, the landscape is gorgeous, and the base building is interesting and intuitive.
One of the things I don't exactly love about Minecraft is that your shelter doesn't matter much. Build some walls to keep the mobs out and you're good. But Ark is much more hostile. You need to avoid cold, and rain, and heat, and big Dino's that want to bite you and stomp you. So your shelter actually protects you.
Not only that but materials are so easy to get in Minecraft. You can have a full house by the end of your first day, easily. But Ark makes resource collecting difficult. You need some dino companions to hold your stuff because it becomes too heavy for you alone. And it takes days, maybe even in-game weeks to build a suitable house. And you can spend much, much longer making it more than just a wooden box.
Cool game! Definitely in my top 3 right now.6 -
As promissed.
Day #1 on THE other project. Nothing fancy, just setting up my dev env. Got a decent pc with all the required network permissions. And this time I got w10 [last year I was working there on w7 pc via rdp from another w7 laptop. Dont ask...]
of course no localadmin rights to set shit up. Downloaded all the installs, found someone who has admin rights to run them. I even managed to get admin powershell!
Ran all installers, enabled long paths support, env vars, tweak here, tweak there,... Installed git bash to at least have a taste of shell. Decided to try out wsl. Enabled the feature, didnt reboot right away.
Rebooted. 2xclick on ubuntu setup and I get an error claiming wsl is not ebabled. Wtf? Did I do it wrong? I see bash command is there now so I must have done it right. After some googling I found out that even though I can enable wsl, it doesnt work on my version of windows. It's too okd they say. Yeah, tx MS, that's very intuitive and user friendly!
Allright, my hopes to habe a decent sub-os died. Git bash it is :( but I miss tmux soooo much. Then I came across smth that caught my eye. Msys2 it's called. Apparently it's based on cygwin and has a pacman package manager! ´pacman -S tmux´ -- hippee-ka-yay motherfuckers! It's not the best terminal emulation, but it works quite allright and it has tmux. And netcat!
Banished to mouseclickerland still managed to find a good enough shell. Yayy!
So there it is. My first day's ups and downs, disappointments and discoveries.
If you know a better shell I could set up on w10, please, share -
Recently created a tech YouTube channel exploring all the CS and software engineering fundamentals in a simple, intuitive way. Go show some love :) like, subscribe, comment. Feedback is welcome.
https://youtube.com/channel/...1 -
Not really a rant, but I love Android!
Go to Settings -> Language and Input -> Language, and change it to English (UK), the answers given by Google assistant will have a British accent. Change it to English (India), Google assistant will have an Indian accent, and the same thing applies for English (Australia) and obviously English (US).
Perfect example of phone adapting to the user!4 -
Random thoughts on more out of the box tools/environments.
Subject: Pharo
Some time ago I had shown one of my coworkers about Pharo and he quickly got the main idea behind it but mentioned how he didn't like the idea of leaving behind his text editor to deal with source code.
Some time last week I showed the dude some cool 3d animations you can do with Pharo while simultaneously manipulating the code to change them in real time. Now that caught his attention particularly and he decided he wanted to know more about the language but in particular the benefits of fucking around with an image based environment rather than a file based.
Both of us reached the conclusion that image based makes file based dev enviroments seem quaint in comparison, but estimated that it was nothing more than a sentiment rather than a fact.
We then considered what could be the advantage/disadvantages of such environments but I couldn't come up with anything other than the system not having something like Vim or VS Code or whatever which people love, but that it makes up for it with some of the craziest IDE tools I had ever seen. Plugins in this case act like source code repos that you can download and activate into your workflow in what feels something similar to VS Code being extended via plugins written in JS, and since the GUI is maleable as it is(because everything is basically just subsets of morp h windows) then extending functionality becomes so intuitive that its funny
Whereas with Emacs(for example) you have to really grind your gears with Elisp or Vimscript in Vim etc etc, with Pharo your plugin system is basicall you just adding classes that will convert your OS looking IDE into something else.
Because of how light the vm machine is, portability is a non issue, and passing pharo programs arround is not like installing Java in which you need the JVM.
Source code versioning, very important, already integrated into every live environment and can be extended to do pushes through simple key bindings with no hassle.
I dunno, I just feel that the tool is too good to be true. I keep trying to push limits into it but thus far I have found: data visualization and image modeling to work fine, web development with Teapot to be a cakewalk and work fine, therr are even packages for Arduino development.
I think its biggest con would be the image based system, but would really need to look into how this is bad by any reason other than "aww man I want vim!" since apparently some psychos already made Emacs and VS code packages for interfacing with Pharo source trees.
Embedded is certainly out of the question for any real project since its garbage collected and not the most performant cookie in the jar.
For Data science I can see some future, seems just as intuitive and interesting as a Jupyter Notebook actually, but the process can't and will not be the same since I still don't know of a way to save playground snippets unless you literally create classes for it, in which case every model you build gets saved inside of an object, sounds possible but, strange since it is not a the most common workflow in jupyter.
Some of the environment is sometimes glitchy, but it does have continuos development and have not found many hassles.
There is a biased factor from my side: I seem to be wired to understand the syntax and simple object model better than in other languages. To me this feels natural as if I was just writing ideas rather than code, mostly because I feel that there really ain't much in terms of syntax, the language gets out of my way and the IDE feels like the most intuitive environment in the world to me. I can see why some people would find it REALLY weird of counterintuitive tho.
Guess I really am a simple dude. -
Every once in a while I find an app that is so intuitive I wonder what it is we're doing wrong... It's like getting into a new car and immediately knowing where the headlights, wipers, and radio controls are without even looking.1
-
TL;DR: Have you ever been on a serious company where you have to DRAW a high fidelity mockup of the software in the design phase?
So I'm in my last year of college and I have a class called Interactive systems design, which is basically about usability and how to design the frontend of your app so it's intuitive, pretty and easy to use.
So we work in groups to design a project for the entire semester, following a long and tedious process of research and planning which includes writing absurdly long documents, doing interviews with potential users and more.
Now that we've done all of that, the teacher insists that we make paper mockups of our app before we do a digital one using Balsamiq or other programs. He wants the paper mockups to be "interactive", so we have to draw them and then record a video where someone "clicks" on the mockup with their fingers and another person moves the papers around to make it look like an actual app that's doing something.
The teacher still insists this is something almost every company does when designing a project, so it's very important that we learn to do this kind of stuff. He's kidding, right? Have you guys ever drawn a mockup of an app instead of using some mockup software?7 -
tools doing things you didn't ask them to is intuitive. Your're just a dinosaur, Harry. Get with the times3
-
Had to write a recursive MySQL query today and, oh lordy! It's not intuitive at all.
It works now so I'm happy, but I spend more time on it than I'm willing to admit...
(source: https://mysqltutorial.org/mysql-rec...)2 -
Having a look at electron again after giving up on it months ago.
I must say, the documentation has improved a lot since then, and it looks---dare I say---intuitive to use?
The electron api demos app is surely some help, but I'm not really all that sure how much it lives up to its name. It doesn't really demonstrate anything, and it doesn't cover the whole api, just small chunks of it.
Loving the event system though!12 -
Used TFS for last 7 years and now have to use GIT. OMG Can't get my head wrapped around it. Everything is so confusing. Online articles don't help a beginner. Send help please. Started using Bitbucket with Sourcetree. Still learning. I hate to say this But I feel TFS is more intuitive. Maybe because I'm new to GIT.16
-
1. Languages will evolve to make as short as possible in terms of lines of code. Shorter syntaxes all the way.
2. Each platform/part of architecture will have only 1-2 languages to code in. There will be convergence of languages. This is more to do with industry usage. Underground new languages will still continue to flourish.
3. Focus will be more on natural language. Both as research item for understanding humann languages better and possible movement of coding languages in the direction of natural languages. Natural syntax as much as possible.
4. Softwares will be self learning. Every interaction will result in the software to evolve as per your usage. That would mean the same software will behave differently for every user. This will be basis user's interaction.
5. Less physical interaction. More to do with what the user thinks. Intuitive.rant wk127 languages interaction coding coding in future software development ai to overtake humanity soon futuristic future future is now1 -
Scala is as horrible as Java. Been using Java at uni and once having discovered the simplicity and beauty of other languages (Python, golang), never went back.
Currently trying some apache projects (kafka streams, apache flink) where Scala is native. Same crap as Java. Needs 10x lines to write the same thing, abstraction over abstraction, and intuitive = 0. Why tf did it even got invented?6 -
I really find it quite annoying when my colleague refactors my code. I personally don't see the point because I find my code more readable, easy to main and intuitive. That of course is a subjective view. Problem is, there aren't any competent colleagues who can weigh in their opinion on disagreements in the team. In fact, I'm pretty sure they aren't even developers, and have some how infiltrated their way in claiming to be a software developer.
Oh yeah, the manager doesn't review our performance or keep up to date with the work people are doing.
I'm not even exaggerating.1 -
Slowly adapting Go to some microservices projects I have. Shit is intuitive as fuck and I believe it has to do with what lil knowledge I had of working with C back in uni and by myself. For the web Go fits quite nicely. Really loving my time working with this language.
Now, if i could somehow throw it into the mix at work and build something with it it would be quite fun.1 -
We were refining a tech debt issue about aligning the names and types of the same reference id on different response models. This is to not confuse our API users and make it more intuitive.
Discussion was wrapping up as we all agreed it was a no-brainer and pretty straight forward.
Then suddenly, one colleague goes: "But what's the benefit?"
Errrm...2 -
Thank you Matlab, for my daily dose of frustration.
Thank you Matlab, for deciding to surface-plot a 2D variable with the x axis = columns and y axis = rows, because of course that's the most intuitive way to go about it.
Because of course that's consistent with the standard way to refer to a variable's elements.
After all, everybody knows that Z(i, j) refers to the i-th column and j-th row of a matrix, right?
Thank you, Matlab, for depriving me of the little fuck I gave about getting something done today.
Now go die in a fire.6 -
Ctrl+X followed by Ctrl+C to quit. Let that sink in. Think about :wq. Think about Ctrl+X. Think. Ask yourself how you think about it and then think again.
And if you say "well it's AWESOME" then start using your clipboard more when using a gui around the terminal or ssh and come back 1 month later.
People say vi is counter intuitive.. what the fuck is emacs then?2 -
Memorizing hundreds of commands with thousands of parameters to be used on an unforgiving command prompt was the next logical step. I mean who needs GUIs or IDEs with intuitive context menus and point-click operations in 2017 anyway?
I must be getting old.4 -
Can people help me please,
Which one is better Android development (Android studio) or IOS development (Xcode)
I learned a bit of both(still a beginner) and here is what i think so far
Pros:
-Android is more wide spread and is more flexible also i have an Android device (testing)
-IOS development is really fun and intuitive and more money is paid to developers because not everyone has a mac in my country.
Con:
-Android studio is messy and java is really dull imo
-IOS requires a developer account which is really expensive in my country.
Any help is much appreciated even if it is a personal opinion10 -
Does anyone else find GitHub actions supremely fucking annoying? Everytime I've used it, I've been like "holy shit it would be amazing if I could do this intuitive action, only issue is it doesn't exist".2
-
Not a big fan of iPhone’s touch points. They don’t feel intuitive at all to me. Maybe it’s my 8 years of Android experience talking.1
-
Has anyone here ever developed in Flutter/Dart for mobile development? I'm researching it for use in freelance developing mobile applications and it's looking pretty intuitive so far.
Pros/Cons vs. other mobile development languages/frameworks?
Opinions/thoughts on developing in Flutter/Dart?2 -
I made a reminder application, with different sounds for different hours, but it's super primitive, as I'd never figured out how to use android intents that we'll, and the logic was barebones. I'd like to polish it up so it's a little more user friendly and intuitive.
-
Microsoft Foundation Classes - MFC. Spent 1 month to make a fixed column on a grid. Counter intuitive APIs.
-
That moment your professor tasks you with writing a genetic algorithm and are forced to use MatLab (which I don't use).
"The University offers MatLab through ssh, so no problems, right?" Only basic package installed...
As cherry on the pie I found out that it's nowhere close to intuitive for me.
Got the feeling I could've done it way faster in the programs I'm used to, but finally got it working! -
Using DB triggers is something bad? I have started using NoSLQ databases (CouchDB and MongoDB) and I can't find anything intuitive or native to the BD.
The worse is that I have googled it and I rarely find people asking for triggers in NoSQL databases.
What am I missing? My concepts about RDBMS blind me about NoSQL?7 -
Websites stopped having intuitive methods to change one's password. Looking at you www.devrant.com3
-
Advice to new DVCS users: Start with Git, not Mercurial. If you start with Mercurial, you will get used to obvious and simple things being obvious and simple, which will make the idiosyncrasies of Git seem even more idiosyncratic.
Mercurial OTOH is just so intuitive: http://hginit.com/1 -
Alright, I've got a confesstion. It's a confession and a question, combined, get it?
Anyway, I've been a happy Linux user for over 20 years now, and I've used all kinds of graphical envs, from tiling wms like dwm and xmonad (I didn't care for hyprland, sorry if that's weird) to full DEs like kde, cinnamon, gnome, etc.
The "question" here is why do people hate Gnome so much? It's the one environment that I keep coming back to, especially now that my main machine is a beast, and RAM usage is nary a concern. Even then, my system is sipping RAM compared to KDE (running two docker dev environments, three browser windows with several tabs - one of which is streaming music, slack, and steam is sitting on the fourth virtual desktop, chilling), and I'm still at just over 18 GB of ram.Being able to push one single key/key combo, and type anything at all that is vaguely relevant to what you want to accomplish, and having that thing be instantly available (including searching for individual files) is super nice. Easy virtual and multi monitor switching is intuitive; little to no effort needed.
Even when I want to do other stuff, like play a game, or edit a photo, video, or some of my shitty musical-aspirational material - GNU+Linux with Gnome has been and continues to be the easiest, most neato way to get shit done.
Why the hate, gnome haters? Maybe you’re using it wrong?13 -
I just compare WinAPI ans WASAPI(audio) and you just remark the technical background : one is shitty and old as hell and the other intuitive, simple, developer friendly and well implemented.3
-
TLDR; Anybody got a good method of running multiple terminals with one command without tmux or something like that?
So I've got a lot of projects where I need multiple terminals running at the same time. Might be a backend + frontend application or something that's just split into multiple smaller applications. I usually just start multiple terminals and enter the commands to start the specific sub-application in each of them, but that's tedious, and developers are lazy.
I've tried making something nice with tmux, but I've found it to be a bit too cumbersome. Let's say I need to restart an application. Two interrupts and I've stopped one of four panes. And it's not very intuitive for beginners, and more often than not there are other developers involved.
Any suggestions on a good way to run multiple commands/applications at the same time, preferably with a single command? It has to work cross-platform as well as I work with Linux, Mac and Windows users.8 -
Scala lang is hard to learn(not saying that sucks), but first I don't want to learn this language, I just wanted to use some functions for a hobby project and this project I found on internet had all I need so I just wanted to translate it to Python, using an online Scala compiler I pasted the functions I needed anddddd error can't compile it it, because the functions had some extra things that were not part in the file where functions were, these things check for null values(?) so I was looking into the project where these "keywords" comes from and I can't find it, so after some grep in the project files I found the "keyword" I was able to compile it, also I weird thing about this language is that there is no return keyword
So yes I find this lang not that intuitive (for me at least)4 -
Ok, can someone explain to me why the old-Unix overlords decided to use -v in 'grep -v' as flag to invert the result.
It's not fucking intuitive.
Other normal utils will use -v as abbreviation of --verbose or --volume ...
I spent some time digging around this particular script scratching my heads why it's not working.
🤔3 -
Love the mobile UX of the developments I do, to make sure that I'm doing something that a user will like to use and considers it user friendly and intuitive.
-
Man I love django so far, but django.forms module is such a pain in the ass sometimes, why can't you be more intuitive? I think I'm gonna make my forms in HTML this time and process data with a function based view1
-
Hey hackers,
Let's talk about the problem statement first!
In software engineering, engineers often procrastinate when it comes to writing comments for documentation purposes. As they delay properly documenting their codebase, they are even more likely to procrastinate on updating their previously written comments when they make changes to their functions or code. This can lead to chaotic and buggy code, and if not addressed, it completely obsolete or even counter intuitive the purpose of comments in the code.
Solution!
A tool that automatically detects changes in a function or code and compares them with the current comment description. If there is a discrepancy between the code and the comment, the tool either automatically updates the comment or allows the user to manually select the code and its associated comment to directly make changes using LLM's.
So, my question is: Is this idea worth working on? Is it a real problem, or am I just overthinking it? If anyone has a better idea, please share it in the comments. Also, if someone is working on this problem already or planning to work on this in future, we can collaborate. This will be an open-source project.
Sign out, Peace!
github: priyanshu-kun/project-kento13 -
This morning, my teacher in Integration course showed us a demonstration of Fourier series converging to the graph of their function using Maple.
He tells us it is advised to know how to use it and experiment in order to comprehend the lesson in a more intuitive way.
I check out the computers there to see if there is a licensed Maple software. There were none of it.
Okay then, can I get it to download on my PC ? Sure... For $100 to get a lifetime student version.
Heeeeeeeeeeeeck...2 -
Do you 'draft' your code?
I'm just really curious, as I'm not a developer; but I've been doing dev work for the last 8 months...
I just realised today, that 'drafting' my code on paper makes my workflow 10^10 times better and intuitive.
Like, just writing a rough code block with what function I'm going to use and how I'm going to form an equation, etc...
Or do you guys just jump straight ahead and start pushing out code?2 -
Hey!
I am trying to learn creating games for android (+- 0 android expirience).
I figured I could use GoDot for it's awesome pricing (free, no strings attached).
I've done few minor things, but, to be perfectly honest, I'm fed up of GDscript. I just internally hate it more every single time I touch it, so recently I stopped attempts to learn doing games for droid/iOS.
I'm looking for free alternative to godot, preferably no strings attached, but wahtever... Here is what I need:
- I prefer code, but doing stuff in GUI is fine, but stuff like making level etc, preferably in UI
- C++ derrived syntax (ex. c# etc. c++ is fine too), no BS like some wacky workaround to do basic shit like 2d array....
- easy android/iOS export (like in godot, one day I was attempting to hello world in android and compiling for first time... was quite an advanture)
- objects
- some easy way for restfull apis
Good to have:
- ability to test project without android VM
- observer pattern (signals/slots)
I don't care what structure it's made, for me milion of scenes on one screen was extremly coutner-intuitive but meh, whatever. As long as it's possible to learn, it is fine.
Can devranters help, please?
Thanks,
peace.16 -
The only reason the barbaric, Apache server requiring, disgusting non-intuitive syntax having, pain in the dick to set up language known as "php" is even still around AT ALL is because of laravel...just let it die already...
P.s. - work is making me learn laravel/php15 -
*Begin rant*
I know I'm a bit late to bitch about this, but why would anyone in their right mind remove a UI/UX gesture that was loved and adored by millions and replace it with a far less intuitive gesture? I'm talking about Google's decision to fucking replace the Google Now swipe to dismiss cards gesture with a two stage tap and click to hide stories gesture! Why the fuck would you do that? The buttons are far too much of a precision action. And they are located at an area that is not natural for a single handed use. What this has effectively done is, force me to use my phone with two hands. And I fucking hate it! Can anyone here give me a valid reason for Google's design change? It's beginning to get on my nerves and my OCD compels me to hide all the cards until there is none left, so not minding it is not an option! Ughh!
*End rant*2 -
I'm am currently using Wix website builder and I'm wondering who and how on earth they come up with this bullshit. Gah, fucking piece of dumb non-intuitive bullshit. I'm sure it never used to be this fucking stupid. I'm gonna guess some gobshite cunt muffin felt they needed to make there mark and royally fuck it.
Loading up Dreamweaver.1 -
Just some figma improvements from the perspective of a new customer:
* Copy/paste is broken. If I want to make a change, I have to create a whole new
component. They recommend cmd+c/v for copypaste but as far as I can see it does nothing
* Needs to be an explicit component drawer button instead of hiding it under assets. Through me for a loop for a couple minutes.
* Empty textboxes shouldn't vanish because you happened to click in the wrong location
while setting your properties.
* Text should start big enough to actually see.
* "send to back/front", "hide item", "change transparency' all need to be prototype actions and more, give us access to object properties both by parent/sibling/child, and by
object id
* create a new frame based on a specified size is non-obvious and if you're creating
a lot of frames, what with copypaste being non-intuitive, it can become laborious.
This is especially so when you're copying frames in order to make minor changes and observe the differences side by side, instead of potentially destructive edits.
* I see no obvious way to manage transitions/animations between frames.
* The difference between frames and groups isn't sufficiently explained. The words
frame, groups, and layers all appear to new users to be used interchangeably, even
if they are distinct things.2 -
on one hand - softlayer is way less intuitive than aws...
on the other hand - when your boss tells you you can bring up up to $1000 monthly valued servers, you can forget about the first hand1 -
There's been a fad in the company where the managers ask for the opinions of other departments to "get different perspectives".
On one hand, we get feedback by non-experts, which is obviously bad because they're not in their field. "Feature X is kinda complicated. We could simplify it by doing A." and the manager goes "that's a brilliant idea! Let's do that!" and the devs go "we did consider that, but it has drawback N. And perhaps you wanna do B, but that has drawback M..."
And then they were asking for us programmers for inputs on their designs for logos, etc. Naturally, as programmers, we wanted quick access to many functionalities. But marketing wants a simpler and more intuitive design, even if it involves more clicks. This wasn't in my job description! I just wanna code! Thinking is your job! -
now instead of if I type in my address bar and select a bookmark to go to my Vivaldi web browser switches me to the fact I already have that tab open somewhere in one of my hidden workspaces
I want it to notice if I click on a link I already have open and switch to it lol
then I can hibernate my billions of tabs over and over again and not forget they exist somewhere in a workspace I forgot about lol
why have web browsers when you can have an immensely messy desk of notes you never got to
web browsers are inching ever closer to the Innovation that was WebOS. it's all about them cards, ayyo. let's invent the physics of the real world in boring digital spaces already idk. at least it's intuitive cuz millions of years of evolution conformed us to the physical world1 -
For editing small stuff? micro. Intuitive shortcuts and useful commands.
For editing larger projects? Definitely a JetBrains IDE. The way they make debugging work properly out of the box is fascinating. -
I've been studying a bit about business analytics and intelligence to diversify a bit from dev.
After a lot of looking around I've found it's all just glorified jargon which basically enables your decision to have backing of facts and logic. It sounds as if it's a great coverup tool but don't know if it actually helped decision-making.
Why does researching the market/competition need to have a thousand breakdowns/categories/focus areas.
I feel like an interpretation of business analytics is a very simple and intuitive solution but there is just too much random and wasteful metrics attached to it.
I believe it's just my nascent knowledge and experience speaking, but I never felt the same way about software development, financials, etc2 -
Damn I hate Reader. Extremely counter intuitive interface, slow as hell, and bloated. Not sure if reader is common though. We use it in our uni (in Germany) for tutorials.
-
Why is Drupal counter intuitive and unwelcoming! Why make it hard for new comers!
If you are looking for a feature, you have to code it anyway. So much code under the hood but you always end up using contributed modules or create your own. fck fck fck. So many buggy modules.
fck fck fck1 -
Going through code of a bluespec verilog core
This language is some jungle shit !!
is there any intuitive HDL exists or it’s just a myth3 -
started to learn vi. Well, options are amazing, way it works is amazing. But those shortcuts are so goddam not intuitive. Why the heck ce is remove word and insert?!3
-
I am particularly guilty of this, embedding non-constructive comments, code poetry and little jokes into most of my projects (although I usually have enough sense to remove anything directly offensive before releasing the code). Here's one I'm particulary fond of, placed far, far down a poorly-designed 'God Object':
/**
* For the brave souls who get this far: You are the chosen ones,
* the valiant knights of programming who toil away, without rest,
* fixing our most awful code. To you, true saviors, kings of men,
* I say this: never gonna give you up, never gonna let you down,
* never gonna run around and desert you. Never gonna make you cry,
* never gonna say goodbye. Never gonna tell a lie and hurt you.
*/
I'M SORRY!!!! I just couldn't help myself.....!
And another, which I'll admit I haven't actually released into the wild, even though I am very tempted to do so in one of my less intuitive classes:
//
// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42
//1 -
In the dynamic realm of software development, where the user interface meets the complex machinery behind the scenes, Back-End Expertise https://sombrainc.com/expertise/... emerges as the unsung hero. As businesses increasingly rely on digital platforms to connect, engage, and transact with their audience, the prowess of back-end development becomes paramount.
At its core, Back-End Expertise refers to the specialized knowledge and skills required to architect, build, and maintain the server-side of applications. While the front end dazzles users with intuitive interfaces and captivating designs, the back end silently weaves the intricate tapestry that ensures seamless functionality, robust security, and optimal performance.
The Back-End Symphony: Orchestrating Digital Harmony
Imagine a symphony where each instrument plays its part to perfection, creating a harmonious melody. Similarly, in the world of software, the back end orchestrates a symphony of databases, servers, and frameworks, ensuring that data flows smoothly, operations execute seamlessly, and applications respond promptly to user commands.
Back-End Experts are the virtuosos who write the code that makes applications tick. They delve into the intricacies of databases, crafting queries that retrieve and store data efficiently. They architect server-side logic, meticulously designing algorithms that power functionalities ranging from user authentication to complex business processes.
Security as the Forte: Safeguarding the Digital Fortress
In an era where data breaches loom as potential threats, Back-End Expertise becomes a formidable fortress. These experts implement robust security measures, safeguarding sensitive information and ensuring the integrity of digital ecosystems. Encryption, authentication protocols, and secure API integrations are the tools of their trade as they create digital bastions against cyber threats.
Optimizing Performance: The Need for Speed
User experience hinges on speed, and Back-End Experts understand the importance of optimizing performance. Through efficient coding practices, load balancing, and server-side optimizations, they strive to minimize latency and ensure that applications respond swiftly, even under heavy user loads.
Future Trends: Back-End Evolution
As technology evolves, so does the landscape of back-end development. Cloud computing, serverless architectures, and microservices are shaping the future of back-end expertise. Back-End Experts must adapt to these trends, embracing new tools and methodologies to stay at the forefront of innovation.
In conclusion, Back-End Expertise is the backbone of digital experiences. While users interact with the front end, the magic unfolds behind the scenes, where Back-End Experts craft the architecture that defines the reliability, security, and performance of applications. Their alchemy transforms lines of code into seamless digital experiences, leaving an indelible mark on the ever-evolving landscape of software development.1 -
JFC, who thought that handling multilingual menus like that is even remotely a good idea?
When you add menu item in one language it will show up in EVERY language regardless if it's translated or not. Every godforsaken module that's supposed to fix it breaks something else and the only way to make it work is patching the FREAKING CORE.
And what's worse people in issues ticket have the GAL to question if showing menu item only in its given language by default is the intuitive approach.
Plus there's no way to preview menu structure in any language other than default admin language, except adding language switcher to admin pages manually, that shit should show up automatically the moment I enabled menu localization.
FUCK Drupal8+ and its "We integrated that module in the core! Except we shaved off half the functionality!" approach.
And if you want me to use Drupal Console, then FUCKING FIX IT, it's been uninstallable for the past three months! -
My new project is going to enable business to do IT work via intuitive interfaces and eliminate the IT team dependency at all.
It's not AI/BOTS/ROBOTS/ML that will replace us, we ourselves are our own enemies 🙄12 -
In the ever-evolving landscape of business operations, efficiency stands as a cornerstone for success. However, traditional reporting methods often entail a cumbersome and time-consuming process that drains resources and stifles productivity. Enter company dashboards https://cobit-solutions.com/en/ – the dynamic solution revolutionizing the way organizations monitor and analyze data, effectively replacing tedious reporting practices with streamlined, real-time insights.
Gone are the days of painstakingly compiling data from disparate sources, only to present it in static, outdated reports. Company dashboards offer a comprehensive and interactive approach to data visualization, empowering stakeholders to access critical information at their fingertips. Whether it's sales figures, marketing metrics, or financial performance, these dashboards provide a centralized hub where data is aggregated, analyzed, and presented in a user-friendly format.
One of the key advantages of company dashboards is their ability to automate reporting processes, significantly reducing the time and effort required for manual data collection and analysis. With customizable features and intuitive design, users can effortlessly generate reports tailored to their specific needs, eliminating the need for repetitive tasks and allowing teams to focus on strategic initiatives.
Moreover, company dashboards promote transparency and collaboration within organizations by facilitating data sharing and cross-departmental communication. By granting stakeholders access to real-time insights, decision-making becomes more informed and agile, enabling swift responses to changing market dynamics and emerging opportunities.
Another noteworthy benefit of company dashboards is their scalability and adaptability to evolving business needs. Whether a startup or a multinational corporation, organizations can customize dashboards to align with their unique goals and objectives, ensuring relevance and effectiveness across different departments and functions.
Furthermore, the adoption of company dashboards fosters a data-driven culture within organizations, where decisions are driven by empirical evidence rather than intuition. By democratizing access to data and empowering employees at all levels to leverage insights, companies can foster innovation, drive performance, and gain a competitive edge in today's fast-paced business environment.
In conclusion, company dashboards represent a paradigm shift in how organizations approach reporting and data analysis. By replacing tedious and time-consuming processes with dynamic, real-time insights, these tools enable businesses to operate more efficiently, make better-informed decisions, and ultimately achieve their strategic objectives. As technology continues to advance and data becomes increasingly abundant, the role of company dashboards will only become more integral in driving success in the digital age.3