Hardest things is CS, a thread:

1. Cache invalidation
2. Naming things
3. Off-by-one errors
4. “Back” button
5. Smooth scroll
6. Remembering scroll position
7. Smooth web animations
8. Sound in a video conference
9. Email layout
10. Aligning text next to the icon

[1/4]
11. File paths with spaces
12. Remembering “Remember me”
13. Not writing yet another package manager
14. Logging in Java
15. Managing dependencies
16. Building programs
17. Text selection in PDF
18. Estimating time in progress bars
19. Not stealing focus

[2/4]
20. Writing to a file (reliably)
21. Parsing XML (reliably)
22. Switching video modes in Windows
23. Looking for the path where Visual Studio was installed
24. Remembering which monitor window should open on
25. Syncing files in iCloud
26. Smooth window resizing

[3/4]
27. Pairing Bluetooth headphones
28. Color spaces
29. Text input
30. Text output
31. Printers. Everything about printers
32. Exiting vi
33. Editing tweets
34. Time zones

[4/4]

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Niki Tonsky

Niki Tonsky Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @nikitonsky

29 Jul
Some fun stats from the Google interview thread ↓
It took the total of 5 recruiters to arrange the interview. Yep, literally, 5 (!) different people talked to me so far.

Time-wise it took ~30 days
This was the third time I’m applying to Google, still, they make me go through the screening call.

Why? Screening is supposed to be a very rough filter to check the lowest bar. It’s fine once, but why force it every year on the people you know have already passed it?
Read 9 tweets
24 Mar
Emoji are the biggest innovation in human communication since the invention of the letter 🅰️.

Curious how they work under the hood? 🧵👇
As you might know, all text inside computers is encoded with numbers. One letter—one number. The most popular encoding we use is called Unicode, with the two most popular variations called UTF-8 and UTF-16.
Unicode allocates 2²¹ (\~2 mil) characters called codepoints. Sorry, programmers, but it’s not a multiply of 8 🤷. Out of those 2 million, actually defined are \~150k characters.
Read 57 tweets
20 Feb
“Performance is a feature that enables using a tool in robust ways. When actions are instantaneous, users will use them more.“

“breaking backwards compatibility should be done rarely. [...] significant, clear benefits should exist and no reasonable way to maintain compatibility”
“The interface should be uncluttered, to the point, and consistent. Putting everything as a button, icon or tab can be as much of a detriment as having nothing visible. When many different things beg for the user’s attention, they start becoming noise.”
“[upside] to owning so much of our stack is that we can often tweak and fix things that are out of practical reach of other projects. We have no large open source projects we need to convince that our feature is worth the implementation. We can make that decision ourselves.”
Read 7 tweets
9 Dec 20
Вот вам мой тред по осознанному потреблению для программистов. Тред ↓
Старайтесь не заводить объектов, отвечающих только за одну функцию. Каждый объект должен выполнять хотя бы две-три функции, в идеале пять-шесть. Это поможет вам сократить количество необходимых объектов.
Вместо обновления библиотек на новые версии попробуйте обходиться теми, что у вас уже есть. Например, поставьте себе задачу не обновлять и не добавлять новых библиотек в проект в течение года.
Read 23 tweets
27 Mar 18
Very interesting case study in 5 parts when a man tries to implement a sudoku puzzle but got overwhelmed by TDD and OOP and haven’t got any tangible result except “board representation” ravimohan.blogspot.ru/2007/04/learni… (first five links)
I was ready to bet he’s just a junior getting familiar with Ruby but turned out he’s Ron Jeffries, one of the founders of eXtreme Programming. Here’s what he thinks of himself
What’s the takeout? Don’t get stuck in the design too much I guess. Whatever works, get to the meat as quick as you can, improve later if needed. Also: methodologies, TDD and OOP won’t replace thinking about the problem at hand
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(