I sleep in what would be considered a relatively large master bedroom with ensuite. Recently got an AirGradient One sensor and was shocked at the overnight co2 levels.
When sleeping with window and door closed and just by myself, co2 levels exceeded 2,000ppm by morning and only fell once I was awake and opening doors.
With the window slightly open and the door slightly open, levels were at a much better 700ppm or so.
If this thing works as advertised, that would be great. There are a lot of situations where it’s difficult to sleep with the window or the door open.
I configured my furnace to always recirculate air in the house even when burner itself is off - helps to avoid rooms with stale air and evens temperature through the house.
Your HVAC is supposed to recirculate the air using the fan feature. And you don't even need to run it 24/7; I find that running it for a few minutes each hour is enough to get CO2 levels down.
Alright so two CPUs failing in the same system has gotta be strange; mobo issue?
Secondly, what BIOS settings should I be using to run safely? Is XMP/whatever the AMD equivalent is safe? If I don't run XMP then my RAM runs at way below spec (for the stick) default speeds.
XMP is technically overclocking, nothing inherently safe about it. I've had new dual channel kits fail memtest at XMP settings on Ryzen, it seemed to depend almost entirely on what the individual CPUs memory controller was capable of.
I primarily work in C# during the day but have been messing around with simple Android TV dev on occasion at night.
I’ve been blown away sometimes at what Copilot puts out in the context of C#, but using ChatGPT (paid) to get me started on an Android app - totally different experience.
Stuff like giving me code that’s using a mix of different APIs and sometimes just totally non-existent methods.
With Copilot I find sometimes it’s brilliant but it’s so random as to when that will be it seems.
> Stuff like giving me code that’s using a mix of different APIs and sometimes just totally non-existent methods.
That has been my experience as well. We can control the surprising pick of APIs with basic prompt files that clarify what and how to use in your project. However, when using less-than-popular tools whose source code is not available, the hallucinations are unbearable and a complete waste of time.
The lesson to be learned is that LLMs depend heavily on their training set, and in a simplistic way they at best only interpolate between the data they were fed. If a LLM is not trained with a corpus covering a specific domain them you can't expect usable results from it.
This brings up some unintended consequences. Companies like Microsoft will be able to create incentives to use their tech stack by training their LLMs with a very thorough and complete corpus on how to use their technologies. If Copilot does miracles outputting .NET whereas Java is unusable, developers have one more reason to adopt .NET to lower their cost of delivering and maintaining software.
That's the feeling I get when I try to use LLMs for coding today. Every once in a blue moon it will shock me at how great the result is, I get the "whoa! it is finally here" sensation, but then the next day it is back to square one and I may as well hire a toddler to do the job instead.
I often wonder if it is on purpose; like a slot machine — the thrill of the occasional win keeps you coming back to try again.
I nearly jumped out of my proverbial seat with joy when Casey talked about it being about where you draw your encapsulation boundaries. YES! THIS IS THE THING PEOPLE ARGUING ABOUT OOP NEVER SEEM TO ADDRESS DIRECTLY!
Honestly would love to see a Kay and Casey discussion about this very thing.
I find the discussions about real domain vs OOP objects to be a bit tangential, though still worth having. When constructing a program from objects, there’s a ton of objects that you create that have no real-world or domain analogs. After all, you’re writing a program by building little machines that do things. Your domain model likely doesn’t contain an EventBus or JsonDeserializer; that purely exists in the abstract ‘world’ of your software.
Here’s a thought: Conceptually, what would stop me from writing an ECS in Smalltalk? I can’t think of anything off the top of my head (whether I’d want to or not is a different question). Casey even hints at this.
This is probably the best Casey talk I’ve ever seen and one of the clearest definitions of ‘here is my problem with OOP’. I don’t agree with everything necessarily, but it’s the first time I’ve watched one of these and thought “yep they actually said the concrete thing that they disagree with”.
I’ve been doing the once-every-few-years deep dive into Smalltalk that I tend to do out of curiosity and this kind of question is one that always comes up for me. The answer there seems to be “the whole environment and philosophy is geared to work that way”; a dynamic language needs a lot of tooling support and interactivity.
No specifically the question of how do you write maintainable code with generic multi-dispatch and highly dynamic languages.
I like Python, but I like static typing too because there’s just less to think about and when I have to learn a new codebase there’s a lot of assumptions I can lean on about how things work; this saves time.
I like the idea of Smalltalk and when you watch Alan Kay or Dan Ingalls talk about it, they make total sense and you have Pharo and Squeak to back it up as in “yes, you can build large systems with this idea”.
But I don’t think you could program Smalltalk and have it be maintainable without everything else the environment brings. Being inside the environment with your objects. The total different approach of sending a message an object doesn’t understand, then having the debugger pop up and then you just implementing that message right there. That’s just an utterly different workflow.
I like the idea in ‘late binding of all things’ and I think the approach of writing a DSL for your problem and then having to write far less code to solve your problem is great. But the objection is then always “okay but what about when someone else has to work with that code”.
I guess what I’m trying to say is, the more dynamic your language is, the more support you need from your tooling to ease the cognitive load while you program, simply because the state-space of things you can do is bigger and not being restricted by types, etc.
> … but what about when someone else has to work with that code.
Someone else has had to work with that code since before Smalltalk escaped Xerox PARC.
1984 "Smalltalk-80 The Interactive Programming Environment" page 500
"At the outset of a project involving two or more programmers: Do assign a member of the team to be the version manager. … The responsibilities of the version manager consist of collecting and cataloging code files submitted by all members of the team, periodically building a new system image incorporating all submitted code files, and releasing the image for use by the team. The version manager stores the current release and all code files for that release in a central place, allowing team members read access, and disallowing write access for anyone except the version manager."
When sleeping with window and door closed and just by myself, co2 levels exceeded 2,000ppm by morning and only fell once I was awake and opening doors.
With the window slightly open and the door slightly open, levels were at a much better 700ppm or so.
If this thing works as advertised, that would be great. There are a lot of situations where it’s difficult to sleep with the window or the door open.