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 - "rule of thumb"
-
A good rule of thumb when developing applications with a good user experience is to assume that your user is the dumbest person that is walking this planet right now, and make it so that one individual can figure out how to use your application.
Good luck..26 -
This rant is particularly directed at web designers, front-end developers. If you match that, please do take a few minutes to read it, and read it once again.
Web 2.0. It's something that I hate. Particularly because the directive amongst webdesigners seems to be "client has plenty of resources anyway, and if they don't, they'll buy more anyway". I'd like to debunk that with an analogy that I've been thinking about for a while.
I've got one server in my home, with 8GB of RAM, 4 cores and ~4TB of storage. On it I'm running Proxmox, which is currently using about 4GB of RAM for about a dozen VM's and LXC containers. The VM's take the most RAM by far, while the LXC's are just glorified chroots (which nonetheless I find very intriguing due to their ability to run unprivileged). Average LXC takes just 60MB RAM, the amount for an init, the shell and the service(s) running in this LXC. Just like a chroot, but better.
On that host I expect to be able to run about 20-30 guests at this rate. On 4 cores and 8GB RAM. More extensive migration to LXC will improve this number over time. However, I'd like to go further. Once I've been able to build a Linux which was just a kernel and busybox, backed by the musl C library. The thing consumed only 13MB of RAM, which was a VM with its whole 13MB of RAM consumption being dedicated entirely to the kernel. I could probably optimize it further with modularization, but at the time I didn't due to its experimental nature. On a chroot, the kernel of the host is used, meaning that said setup in a chroot would border near the kB's of RAM consumption. The busybox shell would be its most important RAM consumer, which is negligible.
I don't want to settle with 20-30 VM's. I want to settle with hundreds or even thousands of LXC's on 8GB of RAM, as I've seen first-hand with my own builds that it's possible. That's something that's very important in webdesign. Browsers aren't all that different. More often than not, your website will share its resources with about 50-100 other tabs, because users forget to close their old tabs, are power users, looking things up on Stack Overflow, or whatever. Therefore that 8GB of RAM now reduces itself to about 80MB only. And then you've got modern web browsers which allocate their own process for each tab (at a certain amount, it seems to be limited at about 20-30 processes, but still).. and all of its memory required to render yours is duplicated into your designated 80MB. Let's say that 10MB is available for the website at most. This is a very liberal amount for a webserver to deal with per request, so let's stick with that, although in reality it'd probably be less.
10MB, the available RAM for the website you're trying to show. Of course, the total RAM of the user is comparatively huge, but your own chunk is much smaller than that. Optimization is key. Does your website really need that amount? In third-world countries where the internet bandwidth is still in the order of kB/s, 10MB is *very* liberal. Back in 2014 when I got into technology and webdesign, there was this rule of thumb that 7 seconds is usually when visitors click away. That'd translate into.. let's say, 10kB/s for third-world countries? 7 seconds makes that 70kB of available network bandwidth.
Web 2.0, taking 30+ seconds to load a web page, even on a broadband connection? Totally ridiculous. Make your website as fast as it can be, after all you're playing along with 50-100 other tabs. The faster, the better. The more lightweight, the better. If at all possible, please pursue this goal and make the Web a better place. Efficiency matters.9 -
[ Introduction ]
In Internet culture, the 1% rule is a rule of thumb pertaining to participation in an internet community, stating that only 1% of the users of a website add content, while the other 99% of the participants only lurk.
[ The story ]
A year ago I had a problem with X software.
I opened a ticket on its repository but a week goes by and no one responds. I need it to work! So I opened a pull request and it got merged in a day or two after a quick review.
Seeing that the tickets were many and the maintainers were few, I decided to stay and help.
Today, I am in the top #10 contributors.
I have made 20 commits and edited 4k lines of code. (Honestly, it's not that much, at work I do way more than that, anyway...)
This repository is an alternative to another popular closed-source software and it's massively used by well-known companies
(tech-giants).
[ Stats ]
User base: 20.000 (all of them are devs)
Total contributors: 200 (1%)
Contributors with more than 1 commit: 60 (0.3%)
[ Consideration ]
I would never have believed a year ago that participation could be so low despite the number of dev-users being so high.
The software does not require great technical expertise and if you are using it for work then you already have the skill-set you need to contribute.
Now listen, I know that not everyone wants to contribute. I know right and I respect it ... but really:
The 0.3% ?! Only 60 devs on 20k are active contributors?! Only 200 (1%) devs have ever made a single commit and then they left.
Holy sh**11 -
What is considered best practice for code indentation? When I'm working with HTML and Javascript my rule of thumb is 2 spaces for indentation, and with Java and Python it's 4 spaces.
Also I'm trying to break my bad habit of mixing tabs and spaces. It's messing with the laws of physics.12 -
I don’t have a real way to find a good company.
As a rule of thumb I avoid startups.
This doesn’t mean all new young tech companies are bad. I avoid the startup rethorics. Those are 🚩 for both new and old companies.
And I avoid crypto, nft and other scam businesses. There’s an high chance that the owners will run away with the money and leave you without a job.6 -
xroad's rule for downvoting:
If you just reposted something in the span of a few hours or less I will downvote it.
If your rant starts with "there are 10 kinds of people in the world" my thumb will hit the -- button faster than an intern will ask a stupid question.3 -
As a person who takes a lot of tech interviews everyday, here are a few thoughts
1. You DON’T need to know everything, it’s okay to say you don’t know things. Trust me, we know when you’re lying
2. Rule of thumb, the more the number of questions, the more we like you
3. We don’t mind you saying what you’re thinking when we ask a logical question. It might help us understand your approach to the problem and guide you.
4. Don’t google during telephonic interview, your stutter tells us the truth9 -
I have a rule of thumb.
No call on private phone number.
Definately no reply on whatsapp...
Dare adding me on any WhatsApp group.
No communication beyond slack and Google meet.
People need to classify things between professional and personl communication medium.4 -
Do you guys also feel annoyed when someone calls you during work hours out of the blue before asking if you're available? I just lose all my concentration
I have a rule of thumb that I always ask if the other person is available before I call, but this doesn't seem to be very common amongst the higher ups...1 -
<"Perfect is enemy of good"
>"Excellent! I keep my enemies very close"
I do believe it possible that one can find at least one perfect counter to every stupid folk saying that startup-for-brains suit bags love to parrot.
2)
<"We must fail fast"
>"I already did it!"
3)
<"We must have a long tail of offerings"
>"Can we offer focus on our core strengths?"
-3)
<"We must focus on our core strengths"
>"Isn't our core strength 'having a long tail of offerings'?"
4)
<"We must use agile methods"
>"An agile habit does not make an agile monk."
5)
<"We must be flexible and adapt"
>"Is it a law or more of a rule of thumb?"
6)
<"We must avoid bureaucracy"
>"Can I have that in writing?"3 -
I feel like a good rule of thumb of how good a developer is (or how senior are they) is whether they know when a question should go in stackover and when it should go in softwareengineerin.stackexchange.
Do anybody agree?1 -
Seems like the #1 rule of thumb in hacking is
"if you can't break it, make it irrelevant".
Seems to be true because god some of these OEM recovery discs are just... awful at securing themselves. -
Is there any general rule of thumb for whether or not you should have an LLC as an independent developer? Would this help against patent trolls and nefarious clients, or is there some other way to protect yourself?14
-
Rule of thumb when buying things. You need to research a lot and canvass other competitors of that product/service.
In short, I forgot to research pCloud's upload speed. They throttle my upload speed to 1Mbps only which is really slow (I'm in Asia by the way, their server is in US). Got tempted by their $350 2TB lifetime.
I tested the basic upload speed using browser 33.9MB file:
- pCloud 1 min 9 sec
- Dropbox 13 sec
- Google Drive 12 sec
- Mega.Nz 1 min 56 sec
- (I will test next sync.com)
I have a 100Mbps upload and 35 Mbps download speed. So it means "Lifetime" slow upload speed.
Side Question: Which Cloud backup service do you use and why? Thanks!2 -
What's the general Software Engineering rule of thumb again for frontend templating code?
If I look at certain websites, I notice some code smells in PHP such as:
$.modal = <?php echo $(base)["username"] != 'me' ?' ': echo 'style="display=none"' ?>
or just in general places in the code where PHP gets used as a templating engine for gluing together pieces of HTML code based on conditionals spread out over the codebase and the database itself too. To make things worse, this carries over to JavaScript ajax functions. As a developer, this to me just seems like spaghetticode.
On the other hand, many popular frameworks properly do templating, such as EJS, containing templating in one place and not mixing it with logic too much but just having simple output like <%= %>.
I know I've seen frameworks like Angular 1 contain pieces of HTML into directives, but maybe that's something different, more 'OO'-simulating or cleaner.3