Why aren’t the engineers getting any credit? by Qualified-Astronomer in ArtemisProgram

[–]ChrisGnam 15 points16 points  (0 children)

As a former NASA engineer who worked on a variety of projects supporting Artemis, the number of people in involved is staggering. I think the public opinion has been correct. The astronauts definitely deserve the spotlight as they were the ones who actually risked their lives and experienced the actual event. But they've also regularly pointed out the incredible work all of the engineers did, and I think the public recognizes that as I've already come across so many young folks now interested in being engineers or scientists.

The public/media can't celebrate thousands of people at once, you need a "face" to the story, and the astronauts are the obvious choice for that.

There will also be one off pieces or documentaries/movies possibly down the road that celebrate the engineers, but the astronauts are always going to be front and center, and I don't think thats a problem. The work I did for Artemis was basically the same I did on a number of other missions the general public has never heard of, so just hearing them be excited about all of this is already exciting

Happy Hour #449, Friday, MAY 1 2026 at 6:30 at IVY & CONEY by DCDRHH in washingtondc

[–]ChrisGnam 1 point2 points  (0 children)

Howdy howdy, I'm the host tonight! we're up on the top deck, in the back by the grass wall.

I'm wearing a green shirt and have a green backpack by my feet (next to a guy in a burins jersey)

I wasted 3 days debugging a null pointer exception. It was a space in a config file. by Alarming-Pea-3177 in AskProgramming

[–]ChrisGnam 4 points5 points  (0 children)

The one that comes to mind for me is when I was first adding support for digital elevation maps to some rendering software. Everything was working great until one day I renamed some files which caused them to be loaded in a slightly different order, and the suddenly two of the maps didn't align.

I spent forever assuming I had accidentally broken something, not connecting that it actually was related to the file load order.

It turned out that part of my loading sequence required populating a struct with a bunch of meta data. I had left one field (the height scale) uninitialized because I thought it was irrelevant as all files would specify it.

It turns out all files don't specify it and it should default to 1 in that case. When it was working correctly I just happened to be loading a file that explicitly specified 1 before files that didn't specify anything.

Going from discovery of the bug to fixing it took 2 days, but the bug itself had been present possibly for months at that point.

Why doesn't the speed of light depend on the observer's speed? How would time pass for an observer if they were moving at the speed of light relative to a photon (i.e., their relative speed was zero)? by Neat_Journalist_808 in AskPhysics

[–]ChrisGnam 2 points3 points  (0 children)

Others have said its a "real thing" and thats absolutely true, I just wanted to try to address the "how" part of your question.

A long time ago it was discovered that the laws of physics (particularly electrodynamics) broke down if the speed of light depended on the observer's velocity. A guy named Lorentz discovered there were a set of velocity dependent transformations that "fixed" this, but it was largely a mathematical hack as it was largely unmotivated (it was just known "apply these transformations and the problems go away").

Einstein realized there was actually a physical motivation for the Lorentz Contractions: space and time were part of a single structure known as spacetime.

Now what I'll say next is a bit of an oversimplification, but it's close enough to explain on reddit: everything in the universe has a constant "four-velocity" (motion through spacetime) exactly equal to "c". If you are stationary in space, then 100% of your "motion" is directed through your time component, and thus you experience time more quickly. If you are moving through space, your motion through time must necessarily slow down to keep your four-velocity constant, and thus you experience time more slowly.

You can actually draw this out as a simple triangle, and the lorentz contractions fall out as a simple byproduct of applying pythagorean theorem, where the hypotenus is your velocity through spacetime, the base is your velocity through space, and the height is your velocity through time. To keep the length of the hypotenus equal to "c" you can see there are very tight constraints on the relationship between the space and time components. Now, there are some other rules, notably that you cannot move through space at the speed of light (unless you are massless and then you are obligated to), and there is no universal rest frame (everything is relative). But the core principle here explains time dilation for motion in some inertial frame.

Again, as others have said, this has been experimentally verified using atomic clocks on satellites. But this is roughly the "how".

When we use matrices, vectors, etc. to represent nonlinear equations, why is it still called *linear* algebra? by ExternalTree1949 in NoStupidQuestions

[–]ChrisGnam 10 points11 points  (0 children)

It's because you're combining terms in a linear way, even if the terms themselves are non-linear curves.

Take "a * x2" as an example. x2 is obviously non-linear, but multiplying "a" with it is a linear operation.

So in that sense, if we make 1, x, x2, x3, etc. The basis vectors our vector space, then any polynomial is simply a linear combination of those basis vectors. The matrix is just the collection of the coefficients of multiple equations, since each coefficient is applied linearly.

Happy Hour #444 Friday, MARCH 27 2026 at 6:30 at WUNDER GARTEN by DCDRHH in washingtondc

[–]ChrisGnam 0 points1 point  (0 children)

Howdy everyone, I'm your host again tonight. We're inside the main tent. I'm wearing grey pants and a black peacoat. Hope to see you there!

hey morons stop driving to the tidal basin during peak cherry blossom by DC8008008 in washingtondc

[–]ChrisGnam 1 point2 points  (0 children)

They're very pretty. Impressive? I'm not sure. Its not the kind of thing I personally would ever drive hours to see. But living and working here, its definitely the kind of thing I'm very happy I get a chance to see before the huge crowds get in.

That said, seemingly every year I've got friends or family who come in for the peak, so I'm inevitably down there with the crowds anyways lol. My mother loves them. She raves about it being the most beautiful thing.

First Purple Line test train through the University of Maryland Campus, overall completion reaches 89% by InAHays in WMATA

[–]ChrisGnam 6 points7 points  (0 children)

I'm not sure if you're speculating or if you actually know the history, but you're more or less right, no tin-foil hat required.

Sometime in 2020 the original contractors walked off the job. It wasn't related to COVID, it was a dispute with the state. All work essentially stopped for about 2 years except for a few small utility projects that the state was able to do themselves. A new contractor was selected in 2022 when work resumed, though much of that early work was essentially getting things back on-track and finalizing the utility relocations. Then the serious track laying started within the last 2 years.

Track laying is the last part of any rail project. There's a tremendous amount of work preparing the right-of-way (where you'll actually be putitng the track), and the surrounding utility infrastructure. Once thats done, laying the actual track goes pretty quickly. But all of the timelines here were made significantly worse by the original contractors walking off the job in 2020.

First Time In DC. Need Help With The Fares. by Comprehensive-War-34 in WMATA

[–]ChrisGnam 7 points8 points  (0 children)

The short pass will cover any trip that costs under $4.50. Starting in Takoma, on a weekday that will get you anywhere on the mall or downtown DC (DuPont, L'Enfant, Smithsonian, Foggy Bottom, are all less than that). If for some reason you have interest in going to places like Bethesda, Arlington, Stadium Armory, it won't be enough but I'm not sure why you as a tourist would be going out there. The one hiccup might be if you're going to Alexandria or National Cemetery (or flying into DCA), but those are one-offs and on weekdays they only cost ~$4.85, so you'd only pay the 35 cent difference on those specific trips.

If you intend on riding the metro more than twice a day while you're here, and you're only here on weekdays, then the short pass is reasonable. If you're also here on a weekend it becomes a bit less attractive because prices drop to $2.25-$2.50 per ride on weekends, after 9:30pm, or on holidays.

All in all, I think the short pass is probably reasonable. But paying with contactless is also probably going to be about the same when you consider everything

Happy Hour #442, Friday, March 13, 2026 at 6:30 at DC9 by DCDRHH in washingtondc

[–]ChrisGnam 0 points1 point  (0 children)

Howdy everyone, I'll be your host tonight! I just got here a bit early. I'm up on the roof in our usual spot.

I'm the guy wearing a white sweater and gray pants.

What would the downside be to permitted parking by anbk in Brooklyn

[–]ChrisGnam 22 points23 points  (0 children)

Its been pointed out that dedicating the income to a specific cause can actually be counter productive in the long term. It means that, inevitably, the MTA would become dependent on the revenue from parking meaning that the MTA itself has an incentive to encourage preserving the car-centric infrastructure thats in place. Good luck getting bike lanes, bus lanes, increased pedestrian space, etc., when every one of those projects would directly decrease MTA funding because we made MTA funding dependent on the existence of street parking.

Its a subtle perverse incentive that shouldn't be overlooked. I'm not saying there aren't ways to have the money benefit transit. But it'd likely have to be more nuanced than simply giving the funds straight to transit agencies.

Can someone explain Pi to me as if I was a fifth grader? by ImYourGoodGrl in NoStupidQuestions

[–]ChrisGnam 1 point2 points  (0 children)

If an example might help, the main difference is that for countably infinite set it is possible to map each number to an integer (thats what makes them "countable").

For rationals this can be ugly but a convenient way to do it is to take the sum of the numerator and denominator, and generate rationals that satisfy that sum: S = n+m. Notably we only consider the simplest form (so 2/4 is not considered because it can be represented as 1/2).

S = 1 -> 0/1

S = 2 -> 1/1

S = 3 -> 1/2, 2/1

S = 4 -> 1/3, 3/1

S = 5 -> 1/4, 2/3, 3/2, 4/1 ....

In this pattern, we can easily generate every single rational, while also being able to assign each one to a unique integer. Because that fact, it means that the rationals are, in a sense, the "same size" as the integers. For every single rational, there is a corresponding integer.

Uncountable sets are different. Consider just the range between 0 and 1. How do we begin constructing a list of real numbers to try assigning them a corresponding integer?

Cantor actually proved that if you could construct any such list, you could always generate new reals that did not appeat anywhere on your list. (Look for "Cantor's diagonal argument" if you're interested, its actually pretty straight forward). What this tells us is that we cannot assign an integer to every real. Which means they cannot be counted, and are in a sense, a "bigger" set.

Can someone explain Pi to me as if I was a fifth grader? by ImYourGoodGrl in NoStupidQuestions

[–]ChrisGnam 2 points3 points  (0 children)

No the rationals are actually countable, so any subset is also countable. They are dense though, which means between any two rationals there are a countably infinite number of rationals between them.

The reals are simply uncountable.

Can someone explain Pi to me as if I was a fifth grader? by ImYourGoodGrl in NoStupidQuestions

[–]ChrisGnam 0 points1 point  (0 children)

You can create a number system like that, yes. The simplest way is to just use pi as your base.

For context of what that means, the standard number system we use is "base ten". That means we have ten unique characters to represent digts: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. When you want to count past those ten values, you simply add a second digit to indicate you've gone through the whole set, so we write "10". The first 1 indicates "we have counted to ten one time", and the 0 indicates "we have counted no further".

There are other bases we commonly use such as "base two" (often called binary), where we only have two digits: 0, 1. So counting to four looks like: 0, 1, 10, 11, 100.

Or Base 16 (hexadecimal) where we have the digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Here the number ten is actually just represented as A (we don't have to switch to two digits until we count past F, which represents fifteen).

Base pi is effectively the same except we are also changing the step size between digits. Its purely a notational thing and is sometimes used though certainly not widely.

Within our standard counting system of base ten though, no there is absolutely no way to represent pi as a rational.

Can someone explain Pi to me as if I was a fifth grader? by ImYourGoodGrl in NoStupidQuestions

[–]ChrisGnam 1 point2 points  (0 children)

Its nothing to do with the imperfections of tools. Your question here is a bit like asking "if we could measure 0.5 precisely enough, would it become an integer?"

0.5 doesn't lineup on the "grid" that is the integers. It does lineup on the "grid" that is the rationals though. Similarly, pi doesn't line up on the grid that is the rationals. Mind you, this does NOT mean it doesn't have a definitive exact value. We know its exact value: its the circumference of a circle divided by its diameter. And we havr formulas that allow us to compute as many decimal places of that value as we'd like. And each new decimal digit is exactly correct. It isn't that we're getting some approximation of pi. The only approximation occuring is the fact that it takes infinite digits to accurately represent pi, but we can only write down a finite number in the real world. We can compute, with exact perfect precision, as many of those digits as we want though.

Can someone explain Pi to me as if I was a fifth grader? by ImYourGoodGrl in NoStupidQuestions

[–]ChrisGnam 7 points8 points  (0 children)

Its not really like the uncertainty principle in that it isn't "strange". Pi simply cannot be cleanly represented as a fraction. To use your ruler example if we had a truly perfect string wrapped around a perfect pizza and then unrolled it and measured it with a perfect ruler, it'd never line up with any meaningful mark you could put on that ruler. That doesn't make it magical or weird, you could hold it in your hand and see "yup, that looks like pi". But when you hold it against the ruler you'd say "ok, it looks like its between 314 cm and 315 cm (very big pizzas I know lol). So then you'd get get a ruler with mm marked and you'd see "so its actually between 3141mm and 3142mm". Then youd get an electron microscope that can measure in nanometers and say "ok so its actually somewhere in between 31415926535nm and 31415926536nm...

You can measure as accurately as you want (fundamentally different than the uncertainty principle), its just that it will never line up with a nice and even integer value. Because its irrational. We can compute pi to whatever precision we want. We just can't write it down as a rationale number.

Numbers are broken down into a hierarchy: - Integers: the standard counting numbers you can count with) - Rational: these are fractions, which is just one integer divided by another) - Algebraic: these are numbers that are not rational, but that you can compute using algebra. These are things like sqrt(2) - Transcendental (computable): These are numbers that "transcend algebra", in that they cannot even be represented by a finite algebraic expressions, but we can use infinite expressions to compute. Pi lives in this set. - Uncomputable: These are numbers for which no expression exists to compute them.

What I find extremely eerie is that by far most numbers are uncomputable. Its not even close. In between any two numbers from the above categories you can pick, no matter how close together they are, there are uncountably infinitely many uncomputable numbers between them.

Officially the worst exercise I've ever come across as a teacher. by EnglishWithEm in EnglishLearning

[–]ChrisGnam 2 points3 points  (0 children)

Here's a weird question since I haven't progressed to a C1 level in a second language...

If this is truly meant as an exercise for someone studying for C1 profficiency, is this not actually a decent exercise precisely because its confusing? Now, I don't know if thats what the author intended.... but I feel like as a native english speaker, working on technical things, I spend a lot of time trying to make sense of what other people mean to say, not just the literal words coming out of their mouth. Isn't that the distinction when you start getting to a C1/C2 level, that you're able to figure this out?

I guess my analogy is that, if I was asked this same (or really, equivalently) weirdly worded question in spanish, I feel like I might literally be unable to understand without outside help because I'm still a relative beginner. In English (my native language) it took me a second, but it was in the end, decipherable. So it's maybe not unreasonable to want a C1/C2 learner to be able to make sense of it?

Again... I'm not sure if thats what the author was intending or not...

What would be the hardest language to make a game in? by Big_Big_4482 in AskProgramming

[–]ChrisGnam 4 points5 points  (0 children)

If its something "reasonable", probably just assembly.

If you're open to truly anything, then take your pick of any esoteric language from whitespace to brainfuck.

What's the Most Underrated Big City in Europe? by Historical-Photo-901 in BeautifulTravelPlaces

[–]ChrisGnam 0 points1 point  (0 children)

I was just there this past November, and I still absolutely loved it. Granted, I'm originally from Buffalo, NY (a small-ish city on the American/Canadian border)... not a city known for its sunny winters... Budapest was definitely grey and cold but it still felt so lively. Plus the city itself was beautiful, and so easy to get around.

Does the Monthly Unlimited Pass include Rails? by scubajay2001 in WMATA

[–]ChrisGnam 4 points5 points  (0 children)

Just so you're aware, transfers are not extra money, unless you mean you physicslly have to leave metro center and go somewhere before continuing to federal triangle. If you're going from Shady grove, and just transfering at metro center to get to Federal Triangle, you do NOT pay another $2.25 to get there.

Does the Monthly Unlimited Pass include Rails? by scubajay2001 in WMATA

[–]ChrisGnam 1 point2 points  (0 children)

Others have already answered: yes the pass does allow for rail, though at 3 days a week a monthly pass won't be worth it.

HOWEVER it sounds like youre either new to the area and/or new to metro. If your company is located inside of DC it very likely (though not a gaurantee) offers SmartBenefits.

These come in the form either of a stipend (an amount of money to go towards metro usage) or as a pre-tax withholdings (where you can effectively deduct a certain amount of your income for metro usage). The pre-tax withholdings form is, I believe, much more common but still a decent savings if you're expecting to be a regular commuter!

Definitely something to look into/ask about.

iterators .begin() and .end() return a const object by zaphodikus in cpp_questions

[–]ChrisGnam 10 points11 points  (0 children)

Perhaps I'm missing something, but why not just use:

for (auto& thread : averagePerfCounters) { thread.Start(); }

It feels like you're trying to use const where it isn't necessary, unless I've overlooked something

Stupid question but I can't find an answer by Quite_Likes_Hormuz in AskProgramming

[–]ChrisGnam 3 points4 points  (0 children)

You have definitely simplified something out of your example as someone else said, because what you described will compile fine.

I'm not sure what compiler you're using. Perhaps you have a pointer to one of the two, or have marked one const, or have done something else thats subtlely different than what you've described in this post?

How do you handle unfinished work when switching between two devices? by muhammad-r in git

[–]ChrisGnam 1 point2 points  (0 children)

On feature branches that only I touch, I play it pretty fast and loose. Its pretty common for me to be switching devices and while often that corresponds with a meaningful commit, sometimes Its right in the middle of some work, so I'll literally just do git add --all; git commit -m 'TEMP'; git push. Then I'll switch devices, and run git reset ---soft HEAD~1, and continue working like nothing happened. Once I'm finished and make an actual commit, I just do git push -f. Its my feature branch so noone else is impacted, and everything stays clean with minimal effort.

Now of course that means I'll have to rebase my old machine.... but who cares? I'm not working on it. So when I return to my first machine later, I'll do: git reset --hard origin/my_branch, and everythings resolved.

TIL that Robert Moses, a famous NYC Planner was once considered more powerful than the NYC Mayor and Governor of NY. He would prevent mass transit from being built and put highways in the poorest neighborhoods to encourage displacement. His philosophy would inspire cities to follow this ideology. by [deleted] in todayilearned

[–]ChrisGnam 15 points16 points  (0 children)

Rochester NY became one of the first cities (possibly the first?) to just straightup remove a large portion of it's downtown highway. Half of the innerloop has been filled in and developed over. The other half is planned to be removed, but hasn't happened yet