@engineering_bae Everyone’s hit on the big one, grinder. I recently started using a puck screen, and it’s made a much bigger difference in channeling than I expected. I highly recommend https://t.co/rdvz8HgamK glasses just because the quality is top notch.
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
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? https://t.co/hXkKqHUE46
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!
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
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
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.
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.