Alexey Lyakhov Profile Banner
Alexey Lyakhov Profile
Alexey Lyakhov

@justfly1984

Followers
265
Following
520
Media
8
Statuses
1,119

Founder. Principal Software Engineer. FullStack Node.js React Cloudflare AWS. Mentor. Open source maintainer npm @react -google-maps/api

Amphoe Ko Pha-ngan
Joined August 2014
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@justfly1984
Alexey Lyakhov
7 months
@lorenc_dan I’m maintaining @react -google-maps/api package, which is used by hundreds of thousands projects. Two times google employees contacted me for more than an hour each, and I gave them all the answers they had asked. I’ve asked about some funding, but they said they will try, and did
1
2
60
@justfly1984
Alexey Lyakhov
7 months
@TheJackForge Humans are very adaptive creatures. Programmers are most adaptive. No need to doomsday scare us, we will figure things out. Calculator did not killed Mathematicians, nor AI will kill the programming.
3
2
53
@justfly1984
Alexey Lyakhov
5 months
@tekbog For my last team lead/senior fullstack engineer job I went through 13 steps interviews, which took them 30 days, and only after I’ve got contra offer from another employer, I’ve said it to them on 13th interview, and got an offer. I’ve worked there 3 years and 2 months, and got
4
0
42
@justfly1984
Alexey Lyakhov
5 months
@ChShersh Community support was better from typescript. The main reason - @types / packages were made for a lot of packages. Flow just could not keep up. Everything else is history. I’ve rewritten a lot of packages from flow to typescript, and flow types are incompatible enough to break
0
0
36
@justfly1984
Alexey Lyakhov
7 months
@webdevcody The issue here is that attacker usually uses someone else’s hardware and network to initiate DDOS, and it cost them peanuts, but someone else will pay the bill eventually. Nothing is free in this world, except if it is stolen, and even that have its riscs and consequences.
1
0
24
@justfly1984
Alexey Lyakhov
9 months
@girllovescoding I’m a mentor myself. I teach a daughter of my friend for 3 years and she is 17 now and learning fast.
2
0
11
@justfly1984
Alexey Lyakhov
7 months
@GaryBorton @ryanflorence I can’t hover on mobile
1
0
11
@justfly1984
Alexey Lyakhov
8 months
@housecor There is issues with returning early. You can’t return before all hooks are defined, hence in cases it is better to lift the spinner to the parent component, or define one more component for successful path and move hooks inside new component.
1
0
8
@justfly1984
Alexey Lyakhov
8 months
@_georgemoller This is bad advice, you should not use carry pattern for functions in React. There should be useCallback hook for onClick handler, but if you return onClick from another function, it always will be a new function, which will cause an element to needlessly re-render. If you pass
0
0
10
@justfly1984
Alexey Lyakhov
5 months
@t3dotgg It is too late, we have so many options, they should have been rebranding node.js itself. Now we have more runtimes, more package registries, more package managers. It won’t stop, cos I’m building one more registry and one more package manager
0
0
8
@justfly1984
Alexey Lyakhov
6 months
@dhh I better will write types than tests and code to handle invalid types of values. The most issues with typescript I get in monorepos, recently I’ve started to rewrite gatsby.js codebase with more than 100 packages to pnpm and latest typescript, fixing annoying bugs on the way,
1
0
8
@justfly1984
Alexey Lyakhov
6 months
@ethanniser The biggest issue for me is that for the end user, there is no actual visual difference between buttons and links. There is a simple interaction: click. Visually, if links and buttons look the same, everything non-technical person will assume they are the same. Even designers,
0
0
7
@justfly1984
Alexey Lyakhov
11 months
@tsoding What you are talking about is lambdas in aws or workers in cloudflare. Microservices could be some server with minimal api, and a team of devs attached to maintain it. Microcervice has small api surface, in compare with full blown API server infrastructure.
3
0
6
@justfly1984
Alexey Lyakhov
5 months
@IroncladDev I do all of that with my developers. My main goal for every member of my team is unblocked and can do his job. Nobody is perfect, anybody could stuck. I nurture the culture, so anybody can ask me questions, and I would help them, and they can trust me, and I can trust them, and
1
0
7
@justfly1984
Alexey Lyakhov
6 months
@Edark94 @tekbog You write code cos it is the language you speak. I write code cos it is a language you speak. We are different
0
0
7
@justfly1984
Alexey Lyakhov
6 months
@mattpocockuk @EffectTS_ Looks like it needs a quality documentation for exports
1
0
7
@justfly1984
Alexey Lyakhov
6 months
@tekbog Wow, I did not expected response from @netlify so fast
0
0
7
@justfly1984
Alexey Lyakhov
6 months
@mattpocockuk Effect looks like smart abstraction. I like dumb code. Dumb imperative code easier to explain without high learning curve.
2
0
7
@justfly1984
Alexey Lyakhov
7 months
@sysadafterdark What if he planted it himself?
1
0
5
@justfly1984
Alexey Lyakhov
6 months
@DavidKPiano I like redux
0
0
6
@justfly1984
Alexey Lyakhov
10 months
@AdamRackis Also, what about minification ? How is it possible to minify without a build step? Long time ago, before frameworks and webpack, we used grunt gulp etc, to optimize assets.
5
0
6
@justfly1984
Alexey Lyakhov
5 months
@UK_Daniel_Card Untrimmed prefixed spaces in login and password?
2
0
6
@justfly1984
Alexey Lyakhov
5 months
@AdamRackis Well, somebody has picked a state management solution without a thorough research 5 years ago, and now it’s not maintained and whole codebase depends on it including tests.
0
0
5
@justfly1984
Alexey Lyakhov
6 months
@mattpocockuk For me typescript is like a guard rails, which I can setup and my team will ship less bugs.
0
0
5
@justfly1984
Alexey Lyakhov
6 months
@getifyX Please don’t give up, and please do not remove your books from GitHub. I’m teaching many mentee using your book. Your books helped me to organise my knowledge several years ago, and I still teach others by recommending the first edition of your book.
0
0
5
@justfly1984
Alexey Lyakhov
3 years
@jsjoeio Yes, until it does not. I mean until I find a limit or the bug in typescript itself. Some inconsistency of the language. The last one bummer was Array.isArray can’t narrow ReadonlyArray…
1
0
5
@justfly1984
Alexey Lyakhov
6 months
@toby_solutions Compilation time is before an app can be executed, and runtime is while an app is being executed
0
1
5
@justfly1984
Alexey Lyakhov
6 months
@housecor Your advice is not good. Performance matter here and now. Bugs should not be created cos there will be compiler. I’ve seen codebase stuck in old version due to skill issue.
2
0
5
@justfly1984
Alexey Lyakhov
8 months
@tsoding but but… build fast, break things they say… validate and pivot if not valid they say… I see the main tensions betting client expectation that software built your way, and actual implementation is being on cutting corners and shipping faster. A thought that doom is never a
0
0
5
@justfly1984
Alexey Lyakhov
6 months
@tekbog Continue to work on gatsby repo, fixing redux action and reducers types
2
0
4
@justfly1984
Alexey Lyakhov
6 months
@ThePrimeagen What does e/acc means? I see it often, but haven’t figured out the common theme
3
0
4
@justfly1984
Alexey Lyakhov
8 months
@dereklwalker I got hired 3 years ago and on interview they offered a 3 months severance package. They did not mention it in the contract, and I’ve missed that out. Now they are going to fire me, cos my salary is too much for them, and they say they did not offer severance package anymore, and
0
0
4
@justfly1984
Alexey Lyakhov
7 months
@pettersmoen @thekitze You should add cx into tailwind config, so tailwind understands that it is not just strings
0
0
4
@justfly1984
Alexey Lyakhov
5 months
@mattpocockuk Can’t wait to recommend it to my mentees
0
0
4
@justfly1984
Alexey Lyakhov
6 months
@coldhealing Then I was a kid, I got hit by car, and I was in hospital for a month. In the room next to mine, there was a kid who ride the train like those kids. He fell down and next train cut his legs off. He survived though, but the second kid didn’t. That was 30 years ago.
1
0
4
@justfly1984
Alexey Lyakhov
7 months
@loftwah I’ve been on client side of this situation too many times
0
0
2
@justfly1984
Alexey Lyakhov
7 months
@ThePrimeagen I’m now at the point of rewriting pnpm with more strict typescript, and I’ve done 80% in time of 50 hours. Now after I’ve slept not enough again, I need to rest until I spend another 50 hours to finish 20% I left. Seriously, last time I got so many hours coding uninterrupted, I
0
0
4
@justfly1984
Alexey Lyakhov
7 months
@housecor Gentle reminder to validate search params with zod and against xss
0
0
4
@justfly1984
Alexey Lyakhov
7 months
@t3dotgg 14 years ago then I’ve started programming, the majority of educational information was around PHP, Wordpress, etc. Before node.js, there was no other choice. Still if used correctly in good architecture, it is possible to create performant API, but I would not recommend serving
3
0
4
@justfly1984
Alexey Lyakhov
5 months
@jarredsumner Do you need to wrap write in try/catch?
0
0
2
@justfly1984
Alexey Lyakhov
8 months
@LowLevelTweets For me more important question: is there an linter for C? and if it exists, why nobody talks about it?
1
0
4
@justfly1984
Alexey Lyakhov
8 months
@kyleshevlin Hear me out: the only viable way to go forward with software, is replacing free open source with commercial open source, so it is still open source, but instead of protecting it with unusable limiting license,or making a close source, we should make a license free for personal
1
0
4
@justfly1984
Alexey Lyakhov
10 months
@mattpocockuk Happy new year!
0
0
1
@justfly1984
Alexey Lyakhov
6 months
@Mind_Clash @DocBadVibes__ @tekbog @dhh Honestly, if they don’t merge this PR, I will publish it under the new name and test it as is in my own project. Original plan was to fix Content Security Policy issue. I just could not run the project in state it has been, something weird with crosslinking gatsby-core-utils,
0
0
3
@justfly1984
Alexey Lyakhov
9 months
@PatrickJS__ For me Combo SSG + SPA is essential. SSG for SEO and UX, and SPA to reduce network requests to auth and API.
0
0
2
@justfly1984
Alexey Lyakhov
5 months
@kelseyhightower I’m hiring fullstack engineers remote. Ideal if you have open source publishing, collaboration or maintenance experience. Stack: Cloudflare workers, pages, KV, D1, Node.js, Typescript,React, redux, websockets.
2
0
4
@justfly1984
Alexey Lyakhov
6 months
@levelsio The best way to get rich is by helping others to get rich
0
0
2
@justfly1984
Alexey Lyakhov
9 months
@PatrickJS__ Can’t wait till Remix will support SPA + SSG.
0
0
2
@justfly1984
Alexey Lyakhov
11 months
@sparker888 @flaviocopes I can say that there is maintenance happening on the project and new versions released. I’m sure it will mature from here and became more stable
1
0
1
@justfly1984
Alexey Lyakhov
6 months
@jamonholmgren The only usage for semicolons I found so far - it is the only way to search through a large codebase with regular expressions. Without a semicolon at the end of the line, I could not differentiate required search results from not required.
2
0
3
@justfly1984
Alexey Lyakhov
7 months
@jarredsumner Why are you so obsessed about windows? How much of a development actually happens on windows? All developers I know, at some point switches from windows to Mac or Linux if they can’t afford a Mac.
8
0
3
@justfly1984
Alexey Lyakhov
5 years
@dan_abramov BTW, right now the main standards for me to include any new package to the project is Typescript, stats, release frequency and maintainers activity.
0
1
3
@justfly1984
Alexey Lyakhov
6 months
@mjackson I’ve dug deep into the codebases of npm, yarn and pnpm. So now I can share some details: Npm: is written in plain JavaScript. A ton of effort to refactor to typescript. I’ve abandoned an idea on second day of investigation. Also they have Creative preventive license. Yarn @1 :
0
0
3
@justfly1984
Alexey Lyakhov
8 months
@TkDodo I was thinking that you mean is early return self closed fragment vs null. Null is better than fragment in this case, cos it doesn’t trigger the function call and subsequent fragment object creation performance wise.
0
0
3
@justfly1984
Alexey Lyakhov
6 months
@PLBompard There are always trade offs. With SSR you paying for compute, with CSR your clients paying for compute, with SSG, compute is minimised to build time and CDN hosting. Which architecture do you think is better for humanity in general?
2
0
3
@justfly1984
Alexey Lyakhov
6 months
@mattpocockuk @housecor Great advice, one more great advice, just don’t do SSR at all. SSG + client side routing solves 99% architecture requirements.
2
0
3
@justfly1984
Alexey Lyakhov
6 months
@ThePrimeagen If AI will approach me, I would troll it as long as possible
0
0
3
@justfly1984
Alexey Lyakhov
6 months
@aarondfrancis @tursodatabase Congratulations! Can’t wait!
0
0
3
@justfly1984
Alexey Lyakhov
8 months
@kettanaito Tabs vs spaces?
2
0
3
@justfly1984
Alexey Lyakhov
10 months
@jherr Huge switch components returning other components per each case. Causing huge bundle sizes. Specially for svg icons in components like ButtonWithIcon or LinkWithIcon One time I’ve seen a hundred plus cases in single switch.
1
0
3
@justfly1984
Alexey Lyakhov
6 months
@doge_codes @tekbog You can’t even imagine how many things already did went wrong. And I’ve fixed them. The most annoying part was to refactor flow to typescript. Types are different enough to be illegal typescript, and I had to disable eslint before renaming file extensions js to ts, cos it started
1
0
1
@justfly1984
Alexey Lyakhov
2 years
@trashh_dev @react -google-maps/api has a lot of pop and functional typescript react code
0
0
2
@justfly1984
Alexey Lyakhov
4 years
@JoshWComeau Guys, if you all look at lighthouse perf, you’ll see that there is a requirement to have less than 1000 html elements in the DOM tree, so running tests on more than 1k is hitting the ceiling on some internal chrome limits
0
0
2
@justfly1984
Alexey Lyakhov
10 months
@jacobmparis @andreasklinger That is treeshaking or skill issue. I’ve seen some implementation with a thousand icons as svg fragments with usage of one or two per application.
3
0
2
@justfly1984
Alexey Lyakhov
7 months
@diegohaz I use tailwind in conjunction with css modules and types css modules, so I get best of both sides. Ease of review, composability, and readability with type safety and customisation.
0
0
2
@justfly1984
Alexey Lyakhov
8 months
@AdamRackis Reusability of tailwind classes is astonishing. You can just extract classnames into const variables in separate file, and reuse them as variables across your style system. No more long classnames in JSX. Just higher order variable names. If you use typescript, use ‘as const’
1
0
2
@justfly1984
Alexey Lyakhov
6 months
@GavelCoding @degenmoongirl Go to YouTube and search for Stanford cs 50 The best start for your career at any age.
0
0
2
@justfly1984
Alexey Lyakhov
5 years
@dan_abramov Well, how do you evaluate open source project for stable foundation, if you are not qualified enough to read the source code, like most of programmers this days? Immutable.js was hyped a lot back then in 2015 by FB as stable foundation for redux applications.
1
0
2
@justfly1984
Alexey Lyakhov
10 months
@alrightsure @remix_run Yes, I’m using gatsby exactly for that reason and would love to switch to remix if I can get SPA + SSG combo
0
0
1
@justfly1984
Alexey Lyakhov
7 months
@JanuBuilds Problem: as open source package maintainer, I can’t publish my package with commercial license to commercial registry compatible with npmjs and get paid for subscription
0
0
2
@justfly1984
Alexey Lyakhov
6 months
@flaviocopes I use GitHub Desktop for commit review and pushing to origin. Everything else I do in terminal
0
0
2
@justfly1984
Alexey Lyakhov
5 months
@smurfpappa123 @tekbog Yes, that was at the time the Covid hit
0
0
2
@justfly1984
Alexey Lyakhov
6 months
@tannerlinsley Have you tried to setup Content Security Policy to prevent browser extensions to execute code and mess with DOM? For me it is the only solution.
1
0
2
@justfly1984
Alexey Lyakhov
4 years
@chatsidhartha @GatsbyJS Congratulations! I have applied to Gatsby.js yesterday, hope will join the team and give back to community.
0
0
2
@justfly1984
Alexey Lyakhov
1 year
@ThePrimeagen Is it a private project? Are you rewriting it with typescript? Can I join? I half done something similar in 2015 myself. Would love to join
0
0
2
@justfly1984
Alexey Lyakhov
7 years
"Are you seriously advising this to everyone? I personally get problems from your…" — Alex Lyakhov
0
1
1
@justfly1984
Alexey Lyakhov
11 months
@markdalgleish @CSSHooks If you use inline styles, you have to add unsafe inline into your CSP
1
0
2
@justfly1984
Alexey Lyakhov
7 months
@samarthbuilds @adamc0dez I’m currently building a new kind of marketplace, in a niche which is deliberately avoided or haven’t been discovered yet. Going through organisation stage.
0
0
2
@justfly1984
Alexey Lyakhov
11 months
@kickiniteasy @flaviocopes That is the point, you don’t have to have more css than you use. And you are not creating more css, except backgrounds, and custom gradients.
1
0
2
@justfly1984
Alexey Lyakhov
7 months
@BatsouElef Learn fast
1
0
2
@justfly1984
Alexey Lyakhov
8 months
@mattpocockuk @akoskm @pnpmjs @typescript @nodejs @vitest_dev Hope there will be some AI which can rewrite all tests from jest to Vitest
1
0
2
@justfly1984
Alexey Lyakhov
6 months
@ryzokuken VCs love to pitch their software to their new and existing user base
1
0
1
@justfly1984
Alexey Lyakhov
5 months
@AdamRackis I’m my own boss, I do what I want
0
0
1
@justfly1984
Alexey Lyakhov
6 months
@mattpocockuk I’m wrapping the value into helper type
0
0
2
@justfly1984
Alexey Lyakhov
6 months
@mattpocockuk @AndaristRake @AdamRackis Have seen a lot of thanks, but can’t eat thanks or pay thanks in the store. Also can’t buy MacBook for thanks.
0
0
0
@justfly1984
Alexey Lyakhov
6 months
@dhh Nothing personal, just a business. MS embraced the permissive licensed opensource ideology as long term game plan, so they could train their AI without paying for IP. That was their main reason to acquire GitHub and npmjs: to get a direct access to source code. All of us,
0
0
2
@justfly1984
Alexey Lyakhov
5 years
@hswolff @reactjs Hello Harry, just a friendly notice, don't define functions, arrays and objects as default values while destructuring props, if you are passing this default props down to child components! Define them outside of component function scope, and assign to default values instead.
0
0
2
@justfly1984
Alexey Lyakhov
7 months
@mishadevelops Lawyers … man, you need good lawyers, specially in IT sphere. Without a good lawyer you better don’t even start. First you have to setup your legal entity, and build a strategy based on terms of service and privacy policy. While they doing that work with you, you can safely
0
0
1
@justfly1984
Alexey Lyakhov
9 months
@t3dotgg Your statement just isn’t true. I had to refactor a lot of my @react -google-maps/api code to support react 17+
0
0
2
@justfly1984
Alexey Lyakhov
8 months
@mattpocockuk I’m rewriting enums to simple union types all the time.
0
0
2
@justfly1984
Alexey Lyakhov
8 months
@aarondfrancis @PlanetScale I guess you can start your own business now, I can say that your courses are the best on SQL. Would say you are on par with @mattpocockuk with his typescript education approach. Would love to see a coop of both of you guys on something typed SQL stuff
0
0
2
@justfly1984
Alexey Lyakhov
7 months
@DanielW_Kiwi I’ve paid a year for copilot, and I’m paying for Figma project access. Canceled ChatGPT subscription cos it is not worth much for me. Thinking about switching to supermaven after copilot expire. Before copilot I had tabnine subscription for 3 years.
0
0
2
@justfly1984
Alexey Lyakhov
1 year
@housecor Basic html and css. Framework coders are not developers nor engineers.
0
0
0
@justfly1984
Alexey Lyakhov
6 months
@DavidKPiano @sebastienlorber I’m glad I never got distracted with Reddit
0
0
2