Jake Smith (@jakefolio) profile picture

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

Dallas, TX
Joined January 2009
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,370
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
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.
196
1,744
575
2,755
1,095,317
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,393
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,557
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
From a DM, just in case anyone else needs to hear this.
310
3,506
743
19,278
3,406,590
Interesting interactive tutorial to help you understand 3D CSS properties (perspective, translate, etc.) garden.bradwoods.io/notes/cs…
6
1
17
2,625
Jake Smith retweeted
Common software dev mistakes are at the extremes: 1. Under-engineering 2. Over-engineering Under-engineering: No CI No reviews Weak types Hard coding Tight coupling Manual deploys Frequent copy/paste Insufficient flexibility No automated checks No validation/error checks 1/2👇
45
618
32
4,110
708,386
🎄 Advent of Technology 2022 ⦿ Advent of Code adventofcode.com/ ⦿ JavaScript challenges by @jamesqquick adventofjs.com/ ⦿ CSS challenges by @selfteachme adventofcss.com/ ⦿ Learn about Next.js 13 over 25 e-mails by @chantastic react.holiday/
6
8
1
20