Jake Smith (@jakefolio) profile picture

Full Snack Developer, CrossFitter, Organizer of @lonestarphp. Engineering Manager at @GoDaddy

Dallas, TX
Joined January 2009
Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)Photo by Jake Smith (@jakefolio)
Sharing this A+ analysis on the Luka trade by the always insightful @chris_kratovil Makes a ton of sense to me from the #txlege angle - esp considering Lite Patrick likely done next Session. Good stuff. Read it 👇🏼 #txlege #MFFL
963
4,471
1,826
30,692
8,219,355
Any tailwinders writing plugins with options in v4? Is it possible to add the options now that the plugin is imported via postcss in the stylesheet? github.com/tailwindlabs/tail…
1
76
The Epic Programming Principles: the guide I use to make decisions as a software engineer. Transcending specific tools or frameworks, these principles will help you guide your career, craft, and technical choices. Check the site for a deep dive/examples on each!
2
36
4
308
36,299
Wow @aarondfrancis talk far exceeded my expectations. So vulnerable. So authentic. Y’all need to check out the video when it’s shared out. #CommitYourCode
5
204
Great message from @DThompsonDev to kickoff #CommitYourCode, get out there…find a meetup…start a conversation…just get involved! Also hearing him describe the logistics of a conference reminds me of all the joy and pain from @lonestarphp
3
119
Fun fact: you can reduce the memory usage of a Golang program by rearranging your structs. For example, this struct takes up 24 bytes of memory: type Example struct { A int8 B int64 C int8 } This struct, with optimized members takes up 16 bytes: type Example struct { B int64 A int8 C int8 } The reason for this drop in memory usage is because in the optimized struct, we've gotten rid of unnecessary "padding". Struct padding in Go (and in many other programming languages) is a technique to align data in memory according to the CPU's architecture requirements. This is essential for efficient memory access and performance optimization. Different data types have different alignment requirements. Example: int32 is 4 bytes and must be aligned to a 4-byte boundary. When you define a struct with fields of different types, the Go compiler may insert extra space (padding) between the fields to ensure each field starts at an address that satisfies its alignment requirements. There is also padding added at the end to ensure the size of the struct is a multiple of the largest alignment requirement within the struct. Going back up to the above, this struct takes up 24 bytes of memory: type Example struct { A int8 // 1 byte + 7 bytes of padding because B has to be aligned to a 8-byte boundary B int64 // 8 bytes C int8 // 1 byte // 7 bytes of padding at the end (platform dependent) } And this optimized struct takes 16 bytes of memory: type Example struct { B int64 // 8 bytes, aligned to 8-byte boundary A int8 // 1 byte C int8 // 1 byte // 6 bytes of padding (to align struct size to 8-byte boundary) } Most of your programs will not need to care about reducing memory usage. For those that do, hope you like Tetris! One obvious caveat of rearranging structs is that you give up human readability of grouping related fields together to instead favor the compiler.
22
8
6
196
22,100
ESM really feels like the Python 3 of JavaScript.
11
7
7
132
32,040
While Texas schools struggle with a huge budget deficits, @SpectrumNews1TX has discovered that millions of Texas education tax dollars are being diverted out of state to the series of charter schools founded by #HISD’s state appointed Supt. Mike Miles.
195
1,744
575
2,755
1,095,056
When you tolerate an error, you rob yourself of learning. When you ruminate on an error, you rob yourself of happiness. Notice it, improve it, and move on from it.
50
606
23
3,394
218,573
Jake Smith retweeted
I am so happy this is being implemented. If every tab being named `page` in Next.js/Sveltekit folder based routing makes you go loopy, this new VS Code feature is going to be a life saver!
31
108
27
1,041
130,556
Use Zod to parse your environment variables once, then use that inference to type process.env throughout your app. Also, a beautiful example of how you can extend an interface from a VALUE, not a type.
58
192
14
2,136
204,001
whenever you consider using a modal refer to this site ↓ modalzmodalzmodalz.com/
9
45
6
425
37,326
Jake Smith retweeted
auto-growing <textarea> without JavaScript! CSS is getting field-sizing: content; to size inputs by their contents. Dropped in Chrome Canary today, demo here:
31
248
28
1,924
203,646
What you should say when someone has the idea to rewrite the code/project from scratch (Loki S2E4) youtu.be/e4y6C1urzBc?feature…
2
1
4
1,370
Jake Smith retweeted
🆕📝 Type safe #CSS design systems with @property ✅ not just types during dev ✅ graceful error handling ✅ interwoven type safe variable systems Soon will land in Firefox, making this type of setup cross browser viable 🎉 👀👇 nerdy.dev/cant-break-this-de…
3
33
149
14,564
News is out, I'm speaking at Clarity Conf this year! clarityconf.com/event/2023 This is an in-person event, so pack your bags and meet us in SF this November to get deep into design systems thinking. #clarityconf
1
6
22
2,007
Kubernetes Failure Stories Collection k8s.af/
2
43
7
162
28,619
Feedback loops. Feedback loops. Feedback loops. I cannot stress this enough. Want to go faster? Want to be more nimble? Want to be more reliable? Focus on tightening feedback loops.
This is a lovely thread on how "speed is safety" remains unintuitive because our mental models for software are stuck on the wrong physical metaphors. Writing code is less like building a car and more like guiding or instructing the vehicle; feedback loops are everything.
1
1
258