Here's deep dive on the 5 most annoying website usability issues on the web in 2024.
Get any one of these wrong and you're significantly harming your user experience.
#webdev#a11y#ux
https://t.co/f3b6MpBLLT
One of the most common website issues that harms both usability and #SEO often goes completely unnoticed.
What's the issue? Unnecessary redirects that slow down user navigation and waste your search engine crawl budget.
Learn more in our article below👇
https://t.co/58s7nXlxYC
Who knew that selecting a SQL database key type could be as nuanced as picking a fine wine? 🍷
@charukiewicz's article on TSIDs vs. UUIDs vs. auto-incrementing integers is a sommelier's guide to database keys.
#sql#databases
https://t.co/YEyQE9yItZ
Exploring the depths of technical debt, we examine the subtle art of balancing rapid innovation with sustainable code quality.
Spoiler: There's no magical 'clean up' button
Read the article below
#SoftwareEngineering#TechDebt
https://t.co/agQfbq91Ok
Solo founder? Growing startup? Struggling with technical decisions?
We're now offering monthly, flat rate subscriptions for unlimited access to guidance from our senior engineers. Starting at $600 per month. Cancel anytime.
See plans and more info: https://t.co/Wiuu2hSqdN
The issue with MVP isn’t that the concept is fundamentally flawed, but that it is incomplete.
#startups#SaaS#mvp#SoftwareEngineering
https://t.co/cfYRLPWhSM
Have an app idea? Don't mind wasting money?
- Skip problem discovery
- Don't make a detailed specification
- Don't build wireframes
Find a developer that will take your basic plan and immediately start writing code.
Your app will cost at least 35% more to build, guaranteed.
There's always two orders of magnitude in the price range of a software project.
$2.5mm can get you 100% of the value for 100% of the cost.
$250k can get you 60% for only 10% of the cost.
$25k can get you 35% for a mere 1% of the cost.
Recognize which version you need.
Why use Haskell for building production software systems?
Haskell makes writing concurrent programs trivial.
Write a single threaded implementation, and then invoke concurrency operators for a multi-threaded implementation.
Below: 75% speedup after `for` -> `forConcurrently`
Server side caching is a technique that reduces the need to run expensive queries and computations.
There's several facets to consider when designing caching in a system—read about them in the latest post in our series on high performance applications.
https://t.co/WbmArjajsN
@anthavio There's a temptation to structure calls as the following, especially in a language with sum types and case statements:
A1 -> C -> A2
B1 -> C -> B2
Where C receives a flag that indicates "call A2" or "call B2" from A1 and B1 , respectively...
Functional Design Code Smells:
The Hourglass Call Graph
Instead of passing a flag that dictates control flow, maintain the control flow in the caller and break out only common computations.
@anthavio The better flow is to return to the caller:
A1->C->A1->A2
B1->C->B1->B2
This eliminates the need for the flag, simplifying the interface of C, making the code easier to read and understand, and improving the maintainability of the code by making it easier refactor or add to.
@anthavio There's a temptation to structure calls as the following, especially in a language with sum types and case statements:
A1 -> C -> A2
B1 -> C -> B2
Where C receives a flag that indicates "call A2" or "call B2" from A1 and B1 , respectively...
@alexsuraphel Many devs underestimate the cost of overhead of each extra query, even if each individual query is fast. Can be even worse in a connection-per-query setup. Trading query numbers for fewer "slower" queries that do more work often leads to less CPU use by DB & better system perf.
In 2002 @martinfowler warned that "databases are optimized to handle up to three or four joins per query. Beyond that, performance suffers"
In 2002 1GB of RAM was considered to be a lot of memory and multi-core processors were brand new.
@alexsuraphel Correct approach depends on context. The techniques described in the article are what in most contexts lead to the fastest performing queries overall. We've seen many instances of large query numbers causing back pressure on the app from the DB, making both DB and app run slow.