Ivan Babak
@sompylasar
Followers
405
Following
22K
Media
278
Statuses
7K
UI engineer, software architect. Enjoy building, maintaining, refactoring complex web apps, components, APIs, tools. Love open source and UI design. 🙌
Joined July 2012
An important skill for successful software engineering is: 1) being able to tell that two or more things are in fact the same thing, thus should be called by the same name; 2) being able to tell that things with the same name in two or more places are in fact different things.
1
4
20
I like the way Vercel designs software, I really do. Their attention to detail and DX have been inspiring me for years. But the decision to patch global "fetch" is borderline wrong. It even results in a poor user experience, counter-intuitively—something I feel was the sole
21
21
329
this isn’t to say that every application should have its own totally bespoke database. most of them probably shouldn’t. but these things are not magical and we should remember that they’re just code, too. code we can understand and debug and modify as needed.
5
14
400
databases are just software. compilers are just software. cryptography is just software. operating systems are just software. if you’re a software engineer, you are capable of understanding software.
5
64
578
"Clean code always looks like it was written by someone who cares." – Michael Feathers
37
446
3K
Some parts of creation (“fun”) can be painful because of boilerplate code. However, the solution to boilerplates is not LLMs but the right kinds of abstractions and good programming languages.
2
7
86
This is brilliant and will save devtools authors many a headache 😁 https://t.co/eo1kNWc8mU
39
470
3K
I believe one of the most valuable things we can do in code reviews is improve naming. "I'm unclear what this variable name means." "This function's name doesn't seem to match the implementation. It looks like it does x. Can we rename it to x?"
17
24
276
how to have URL routes inside your scene, as well as bind webgl text to html to that it's accessible, selectable, and webgl gets to refract it. https://t.co/SCbqHeOPcZ
24
173
2K
✏️ To see if the XYZ coordinate is inside the closed mesh, we can just cast a ray from XYZ in any direction and check if the number of intersections is odd Full explanation in the thread 🧵 Live demo & source code: https://t.co/wFnJVfTqfS Made with @threejs Hosted on @CodePen
8
33
304
@davide_lorino @SentimentIO @Lauramaywendel Private data members are crucial when building a framework that protects the data it manages from misuse by many engineers using the framework. The getters layer is required to validate authorization to read the data; setters, to write. But building such frameworks is uncommon.
0
1
4
The most effective software engineers I know always had a tendency to revert to writing "C" style code. Nothing seems to come close in terms of readability / maintainability.
210
487
5K
@shamwhoah Yes, exactly! The "error path is out of sight, out of mind" rubs me the wrong way. Possible error states should be explicit, you should be forced to consider them, even if you decide to ignore them. Right now it's implicit, which makes it so easy to forget that it can go wrong
1
2
14
The thing I mainly miss from TypeScript is error typing. I want to see from a type definition of a function if it can throw, and I want to see _what_ it can throw. I find TypeScript a great language, but this is the biggest thing I miss when writing it.
32
10
250
If you're working in a TS codebase make sure you have these lint rules enabled, these just caught several serious bugs in a 5+ year old codebase 😬
7
41
745
The longer I work in TypeScript, the more this is clear to me: When building apps with TypeScript, if my code is hard to type, my design is probably wrong.
27
67
893