Matthew Crews

60 posts

Matthew Crews

Matthew Crews

@CrewsCode

Software Engineer Simulation and Optimization of Supply Chains

Portland, OR เข้าร่วม Eylül 2024
48 กำลังติดตาม82 ผู้ติดตาม
Matthew Crews
Matthew Crews@CrewsCode·
@TheGingerBill What has always confused me is that I think of ECS as a style, not a library or a framework, but I appear to be a minority.
English
0
0
3
744
Matthew Crews
Matthew Crews@CrewsCode·
@nicbarkeragain @jakubtomsu_ @its_bvisness Well, Clay + Raylib appears straightforward given the example you provide. Right now I'm figuring out how to get interactions to work, such as registering an 'OnClick' and 'OnHover'
English
0
0
2
73
Nic Barker
Nic Barker@nicbarkeragain·
@CrewsCode @jakubtomsu_ @its_bvisness I’ll be honest with you, I haven’t tried clay and raygui together myself - my intuition say there might be a bit of elbow grease involved haha
English
1
0
2
89
Matthew Crews
Matthew Crews@CrewsCode·
@nicbarkeragain I confess I haven't looked into it deeply but I'm curios if Clay and RayGUI would be a good pairing? Clay as the layout engine and RayGUI as the projection of the result? The snag I'm thinking of is text and wrapped text, though. I have a new project, and I am curious if this approach would be viable and coherent.
English
1
0
2
174
Matthew Crews
Matthew Crews@CrewsCode·
@jakubtomsu_ @its_bvisness @nicbarkeragain I'm still curious how text interacts though. Since Clay isn't actually doing the drawing, how do you deal with the potential mismatch between what Clay computes and what actually gets rendered?
English
1
0
0
45
Matthew Crews
Matthew Crews@CrewsCode·
@its_bvisness @nicbarkeragain Well, that's unfortunate. My understanding of Clay is that it just handles the layout compute, not the drawing of elements, so you need something to map from the Clay result to a UI.
English
1
0
1
51
Ben Visness
Ben Visness@its_bvisness·
@CrewsCode @nicbarkeragain My experience with RayGUI has unfortunately been very poor - unless something has changed, it lacks basic things like the ability to order UI elements differently from the order they appear in the code. I had to draw UIs bottom to top to avoid dropdowns going behind buttons.
English
1
0
2
69
IroncladDev
IroncladDev@IroncladDev·
cope and seethe rustaceans
IroncladDev tweet media
English
101
380
8.1K
341.2K
Matthew Crews
Matthew Crews@CrewsCode·
As a former “code bodger,” I understand the perception that it’s faster to use someone else’s code. I’m actively thinking of a small course to show .NET devs how easy it is to move to Odin and roll your own collections/containers. At times, I’m actually angry about the years I lost. 😂
English
0
0
1
75
gingerBill
gingerBill@TheGingerBill·
Hypothesis: the median software developer has probably been programming for <5 years & still doesn't know how to program. Relying on bodging loads of libraries together and hoping it "works", even when writing it from scratch would be quicker to do and be faster to execute.
English
23
13
448
22.1K
Matthew Crews
Matthew Crews@CrewsCode·
This is why I said “dedicated” student. Obviously if someone isn’t paying attention, it’s hopeless. I can also accept prerequisites. In my field, if you don’t know Linear Algebra notation, you have no hope. But I find authors often leave out critical details and I have to get several books on a subject and read them in parallel, hoping that between several references, all the details are covered.
English
0
0
1
37
Nic Barker
Nic Barker@nicbarkeragain·
@CrewsCode Yeah this is close to my personal stance, I think it's much closer to being possible when you're teaching 1 on 1 so that the material can be adapted to the student's existing knowledge, teaching an audience of hundreds or thousands it becomes impossible to get perfect 😅
English
2
0
4
109
Nic Barker
Nic Barker@nicbarkeragain·
Educational material such as lectures and textbooks should be designed so to understand them, you:
English
10
0
8
1.7K
Matthew Crews
Matthew Crews@CrewsCode·
Yes and no. I think at some point most think, “I could design something better!” but don’t take the time to think it through. I took a month diving into what would really be required at one point and cured myself of the desire. Toy languages are easy. Industrial strength ones are crazy difficult.
English
0
0
2
85
Dave Fuller
Dave Fuller@davefuller·
Do most programmers secretly desire to design a better programming language than those that already exist?
English
45
2
172
18.1K
Shardul
Shardul@isharduld·
Everyone says OOP is bad, but nobody will tell me why. Is there a secret club I’m not invited to?
Shardul tweet media
English
189
30
899
5.5M
Matthew Crews
Matthew Crews@CrewsCode·
@nicbarkeragain Along the same lines, we were using a library for some of our engine. I rewrote it while stripping out all of the unnecessary edge case logic and it ended up being 70x faster on average. It’s also easier to debug and we can update it.
English
1
0
21
683
Nic Barker
Nic Barker@nicbarkeragain·
If you want a specific example of this type of bloat in practise, the open source version of clay is probably 5x the LOC of my original private version, because it covers many cases that only apply to some percentage of users. You could rebuild it for your project in much less!
Jonathan Blow@Jonathan_Blow

Some people might read this and think, that's just not my world, I am stuck in this world where software breaks all the time and everything I build is disposable. Even if that is kind of the case for you, there is still good news, because this isn't an all-or-nothing problem. It's a dial that can be turned; you can turn that dial in a direction that reduces flailing and results in more-stable long-term progress. You don't have to remove all the dependencies, because every dependency you remove contributes to stability. Even getting rid of 1/3 of your dependencies can do amazing things. You can look at all the things you depend on and divide them into two categories: major and minor. Major dependencies are things that, realistically, you are never going to have your own version of. I am never going to make my own graphics API, so those count as major dependencies for me (DirectX12, Vulkan, Metal, etc). I am not going to write my own CPU-side font rasterization, so anything I choose to use there (FreeType, stb_truetype) goes in that category. With Major Dependencies, you limit your contact surface with them: You call only the functions you really need, and you do this only from the surface of your program -- you don't build data structures deep into your program that propagate the particular data structures or API decisions of any of these systems. A good API author will help you do this (stb_truetype), a bad API author will be trying as hard as they can to screw you up and force you to become tied to their system forever (anything from Microsoft or Apple). Understanding that many API authors are hostile can cause a big change of perspective here, and once you see it, the correct tactics become much more obvious. So, that's the major dependencies. Minor dependencies are things that are smaller, and that you want to use much more thoroughly throughout your program: for systems programmers this might be a data structure like an expanding array or hash table, for Web, maybe there are some string or file operations that you like to do. Minor dependencies can be eliminated and it's not even hard. You just do one at a time: hey, I need this data structure, I have been importing this other code to provide that functionality, I have suffered X, Y and Z problems because of this, how about if I just implement my own simple version of this one thing? People can get scared of implementing core stuff like this, because they look at the implementation they are using now, and it looks huge and complicated and hard to reproduce. But the thing to realize is most of this implementation is spam. It is mostly doing things for people who are not you, for reasons you don't necessarily agree with, chosen by a decision-making method that is deeply flawed. Your own implementation can be cleaner and smaller, and it can give you good feelings when you go look at it. You don't need all the functionality of the thing you are importing; you only need 8% of the functionality. Implementing that is easy. Once you do this a few times, you have your own stable body of code that you bring with you from project to project. It won't break unless you mess with it. You can keep improving it if you want, incrementally over time, but the cost of this is small because this code represents stable algorithms that don't change with fashion, so work on this is never forced. Every big company has their own internal version of this, but the problem in that scenario is that a big company is full of people who want different things, and have varying levels of decision-making skill, so these usually end up not so good. But when it's your own personal thing, it can in fact be very good, and help make you happy on a daily basis. And, your software will break much less often. Which is great. @NotAShelf @ThePrimeagen x.com/Jonathan_Blow/…

English
6
4
183
9.7K
Matthew Crews
Matthew Crews@CrewsCode·
I need to create a compilation video of all the times my kids complain about load times in games for when people say “performance doesn’t really matter.” They also told me, “Dad, if you ever make a game it will be fast, right?” Hell yes it will!
English
0
0
6
186
Nic Barker
Nic Barker@nicbarkeragain·
It's kind of funny how a megabyte is either tiny or massive depending on who you ask
English
17
14
528
14.1K
Matthew Crews
Matthew Crews@CrewsCode·
Any recommended resources for learning OpenGL?
English
1
0
2
301
Matthew Crews
Matthew Crews@CrewsCode·
I still get excited about new CPU designs but I’ve realized that software design is what really needs to be improved. We already have obscene abundance when it comes to compute power. Currently learning OpenGL so I can write my own UI for our tool.
English
0
0
5
205
Matthew Crews
Matthew Crews@CrewsCode·
@TheGingerBill The only reason I run Win 11 is because our clients use it. Personally, I miss Win 7.
English
0
0
5
780
gingerBill
gingerBill@TheGingerBill·
I'm really starting to hate Windows 11 so much. Even copy-and-paste is starting to be broken and have a 3 second delay. It's that bad. I'm not moving to mac nor linux yet until I have all of the tooling there.
English
113
10
805
35.9K