HNHacker News
TopNewBestAskShowJobs

StellarScience

189 karma · joined June 1, 2022

Stellar Science | Hybrid (USA) Albuquerque NM, Washington DC (Tysons VA), Dayton OH | Full time, interns/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: space situational awareness (monitoring the locations, health and status of on-orbit satellites), image simulation, high power microwave systems, modeling and simulation, laser systems modeling, AI/ML including physics-informed neural networks (PINN), human body thermoregulation, computer vision and image processing, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: Except for interns, we currently require a Bachelors degree in physics, engineering, math, computer science, or a related field. Masters or PhD is a plus. (Roughly 25% of our staff have PhDs.)

Technologies: Lots of C++23, Qt 6.9, CMake, git, OpenGL, CUDA, Boost, Jenkins. Windows and Linux, msvc/gcc/clang/clangcl. AI/ML and analysis projects use Python and C++. Web projects use Java and Typescript/React. We're a bit behind the curve on developer AI adoption, and we're okay with that.

Apply online: at https://www.stellarscience.com/careers/.

submissionscomments
StellarScience··on Ask HN: Who is hiring? (October 2024)
Stellar Science | Hybrid USA Albuquerque NM, Washington DC (Tysons VA), Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, AI/ML including physics-informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: Other than interns, we currently require a Bachelors degree in computer science, physics, engineering, math, or a related field, plus 3 years of work experience, or a Masters or PhD in lieu of work experience. (Roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23, Qt 6.5, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on The Waterfall Model was a straw man argument from the beginning (2015)
Agreed, waterfall fails right off the bat at "gather requirements."

If you ask the Air Force how fast a new proposed plane has to fly, they'll say "as fast as possible." Or maybe they'll say "fast enough to accomplish the mission and win wars." But neither of those would be accepted as requirements.

So in reality the Air Force will answer that question with another question: "well how fast can you make it fly?" Which of course depends on a lot of tradeoffs of performance, munitions, and cost. So in reality lots of design and technology tradeoffs go back and forth during the requirements phase, and at some point someone makes a rather arbitrary requirement like "The plane must be able to fly at Mach 2.5." That gets set in stone and drives the program forever after.

So the very notion of "requirements" is complete fiction. Perhaps the plane could have a top speed of Mach 2.2 and still achieve the mission, or go Mach 2.8 and fail to achieve the mission, depending on other aspects of the design.

StellarScience··on The Waterfall Model was a straw man argument from the beginning (2015)
2+ decades ago, US Air Force acquisition classes taught exactly this method. I don't recall whether they used the word "waterfall", but they showed the same diagrams and treated software development like massive hardware projects, such as building an F-16: first you write a long requirements document, then generate a voluminous design document, then break the design into a work breakdown structure, farm out component implementation to developers, then finally integrate, test, and ship. It borrowed heavily from the field of Systems Engineering.

In my experience it never worked. We were able to achieve success only by secretly ignoring the rules and process and instead developing software in what detractors called a "cowboy" process. When "agile" came out, it changed our lives. We adopted a few new good ideas, but mostly kept working as we had been. But now we could point to this quasi-official "agile process", with tailoring as they recommend. As long as we were following a process, and not being "cowboys", folks seemed satisfied.

These days the Air Force has caught on to "agile". They even have 400-page manuals on the process to follow to be "agile"! We still cut some corners here and there and do what we think makes sense, but there's far less process push-back than there was in the past.

StellarScience··on Ask HN: Who is hiring? (September 2024)
Stellar Science | Hybrid USA Washington DC (Tysons VA), Albuquerque NM, Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, AI/ML including physics-informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: Other than interns, we currently require a Bachelors degree in computer science, physics, engineering, math, or a related field, plus 3 years of work experience, or a Masters or PhD in lieu of work experience. (Roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23, Qt 6.5, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (July 2024)
Stellar Science | Hybrid USA Washington DC (Tysons VA), Albuquerque NM, Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23, Qt 6.5, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (June 2024)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM, Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23 with coroutines and generators, Qt 6.5, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Working with jumbo/unity builds in C/C++
> Making a unity / jumbo build work for a project with 10,000+ files and millions of lines of code is not simple at all

For years we rolled our own unity build, but now CMake supports it directly through CMAKE_UNITY_BUILD and CMAKE_UNITY_BUILD_BATCH_SIZE, making it straightforward to enable.

When first enabling it on a large project, you'll run into clashes where different files contain identically-named file-scoped function or variables. Sometimes this reveals copy-pasted code, where the fix is to refactor the duplicate code anyway. Other times you just pick more specific names to avoid the clash.

We find unity build gives a solid 3X build speedup. We haven't eliminated header files, and in fact keep one slow CI job building the code without unity to ensure our code still builds either way.

StellarScience··on How bad are satellite megaconstellations for astronomy?
Thanks for providing all those links. Indeed, the key there is peak magnitude. BlueWalker 3 has a giant array that reflects light like a mirror. So when you happen to get the angle of incidence exactly equal to the angle of reflection, it shines quite brightly. Of course since it's reflecting all sunlight in one direction, that means from all other spots on earth it will be extremely dim.

Also note that BlueWalker 3, like most low-earth orbit satellites, is only visible during "terminator conditions", when the satellite itself is illuminated by the sun but the telescope is still in darkness. Those times are typically an hour or so after sundown or an hour or so before sunrise. So one solution is to schedule astronomy for the middle of the night, when none of these low earth satellites will lit by the sun at all. Which certainly increases the costs of astronomy, since you can't use your telescope for as many hours per day.

Or, just use your space object catalog to look elsewhere in the sky when bright satellites happen to be in the sky during terminator illumination conditions. Which I see is one of the things your last link, "Mitigation of LEO Satellite Brightness and Trail Effects on the Rubin Observatory LSST", suggests!

StellarScience··on How bad are satellite megaconstellations for astronomy?
There certainly is a real concern for astronomers, but the photo illustrations used in the article are selected to make things seem worse than they really are. They're wide field of view, long-duration exposures. That used to be the way astronomers imaged space, with film systems a century ago. But these days astronomical telescopes tend to have much narrower fields of view (like tiny soda straws peering into one particular spot in space) and use image stacking, a technique where many individual images are processed to form the final image (very simplistic overview: https://www.skyatnightmagazine.com/astrophotography/astropho... .) Using image stacking and armed with accurate catalogs that predict precisely where every satellite will be at any time, enables the removal of satellites during the image stacking process. Or they can just use that information for better scheduling: wait a minute or two to image a particular spot, so there won't be satellites in the field of view.

The article definitely gets this part right:

> “Some astronomers see this as a true ‘hair on fire’ emergency, heralding irretrievable losses to space science; others present a more sanguine face, depicting this as yet another challenge to be surmounted in surveying a decreasingly pristine sky,” Koplow remarks.

Being involved in both space and astronomy plants me squarely in the latter camp. It takes a bit more work and software, but having so many satellites in space is a surmountable challenge for terrestrial astronomers. (Not to mention, these days some of the best astronomy is performed by telescopes in space, so astronomy overall benefits by having easier access to space.)

StellarScience··on Ask HN: Who is hiring? (May 2024)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM, Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23 with coroutines and generators, Qt 6.5, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Never redefine an inherited default parameter value (1997)
I've programmed in C++ for years and this behavior has never been a problem I've seen in any real codebase that I've worked on, and I've never heard anyone complain about this behavior. And that's without ever seeing this behavior explained explicitly until today.

That's because the current behavior is intuitive to any programmer who understands the core design decisions of C++. Default parameters don't change the signature or name mangling of a function, and they have to be specified in the declaration rather than the implementation. So without being told, it's clear that compliers must handle them at the call site.

At the call site if you only know the object is of type Shape, the compiler can't possibly insert the default value for type Rectangle. Heck, in the general case Rectangle might be defined in a separate DLL or .so file that doesn't get loaded until run-time. So there's no possible way for the compiler to know its default value here. So without being taught, C++ programmers know what behavior to expect, and they're right.

That said, over time the use of default parameters has gone from encouraged to discouraged, largely to promote code clarity and explicitness. So it's a less important feature now than it was in 1997.

StellarScience··on Ask HN: Who is hiring? (April 2024)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM, Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23 with coroutines and generators, Qt 6.5, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (March 2024)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM, Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23 with coroutines and generators, Qt 6.5, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (January 2024)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (December 2023)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA, OpenSceneGraph. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (November 2023)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20/23 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA, OpenSceneGraph. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (October 2023)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM | Full time, INTERNS/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA, OpenSceneGraph. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (August 2023)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM | Full time, internships/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, machine learning, physics informed neural networks (PINN), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: Mostly C++20 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA, OpenSceneGraph. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (July 2023)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM | Full time, internships/co-ops | U.S. citizenship required | https://www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems, modeling and simulation, computational electromagnetics (CEM), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: C++20 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA, OpenSceneGraph. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects also use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Agile is people, the rest is commentary
In 2001, having a background image was cool. It's the original "agile" site; I guess they haven't touched it since then.

I also enjoy the 2010 version: https://www.halfarsedagilemanifesto.org/ .

StellarScience··on Unity builds lurked into the Firefox Build System
We leverage many third party C++ libraries with complex templates, concepts, and constexpr expressions that seem to require lots of CPU to compile. We've found unity builds to be almost 3X faster, so we make it the default for both developer and CI jobs.

But we keep a separate CI job that checks the non-unity build, so developers have to add the right #include statements and can't accidentally reference file-scoped functions from other files. While working on a given library or project, developers often disable the unity build for just that project to reduce incremental build times. It seems to offer the benefits of both approaches.

Precompiled headers don't give nearly the same speedup. We're excited for C++ modules of course, but we're trying to temper any expectations that modules will improve build speed.

StellarScience··on Code reviews need to shift-left
> a traditional async code review process

This is not a very old "tradition." We started code reviews back in the 2000s with in-person small group code reviews, and only later moved to the tool-based async code reviews that are ubiquitous today. We adopted good ideas from a web article "Effective Code Reviews Without the Pain" ( https://www.developer.com/guides/effective-code-reviews-with... ). We had folks enter comments in advance but went through them as a group, using social customs like starting questions with "did you consider..." to keep it cordial and non-confrontational. A lot of these reviews generated good discussions about code quality, clarity, etc. We didn't review 100% of code using this process, and we didn't always require the review to be completed before merging - the main goal was more to improve all developers' habits than to improve one particular chunk of code.

Moving to the current tool-based async code reviews has pros and cons, but now it takes effort to ensure they stay positive, and the async process eliminated some of the great team discussions that the old-style reviews had.

Perhaps the ideal solution is a mix of both approaches?

StellarScience··on The myth of the myth of the 10x programmer (2020)
Indeed the experiment conducted by the CMU SEI seemed as if it were designed with the specific intent to disprove the 10X factor that multiple other studies had shown. They first taught all the developers to follow the CMU SEI "Personal Software Process". I am thankful for the CMU SEI PSP, because it's so bad that we've been able to hire great developers who fled from companies that instituted it. The process forces developers to record all their time "on the major activities needed to complete a solution that passed all required tests, including planning, design, coding, testing, and personal reviews" during development. Clearly handicapping developers with ineffective bureaucratic processes up front will add a large constant to everyone's time, which then decreases the ratio of their times.

Furthermore they tested in an academic environment on simple assignments designed to take an hour or two. It's impossible to do all the required steps in 6-12 minutes, so this experiment could never show a 10X disparity.

StellarScience··on The Sad State of Debug Performance in C++
MSVC lacks -Og because it instead treats inlining, optimization, and inclusion of debug information as separate, orthogonal choices.

These days I rarely build a whole MSVC project as "Debug" without optimization. Instead I enable both optimization and debug information, so I always get call stacks and line-by-line stepping ability. When I end up debugging some file where the optimizations inhibit debuggability, I'll recompile just that compilation unit or library without optimization or inlining.

That said, I agree with the gist of the article that both "zero cost abstraction" and debuggability need to be constantly improved.

StellarScience··on Uber's still not profitable
There's also this bit:

> The idea that Uber drivers are "independent contractors" was always a tissue-thin fiction

The truth is the opposite: the idea that they are employees is a tissue-thin fiction. They supply their own equipment, set their own hours, and can drive for multiple companies. Though some individual states have tried to adopt different rules, they absolutely meet the IRS' federal definition of contractors.

This too makes it hard to take the author seriously.

StellarScience··on Ask HN: Who is hiring? (August 2022)
Wow, I am very sorry to hear about that and thank you for letting us know. If a candidate's resume looks strong enough that we request a code sample, our policy is to always get back to them to let them know either way. As for what we're looking for, these days we tell them:

> - Submit a sample of any code you have written that is large and complete enough to judge your software engineering skills, and sufficiently interesting to discuss during a technical phone interview. Modern C++ is generally preferred but Java or Python or whatever you have is fine.

> - Or, if you have an appropriate code sample available on github or elsewhere, feel free to send us a link instead.

> - Or, complete a <= 1-hour online coding exercise.

We consciously request something that demonstrates "software engineering skills" rather than just "programming skills", since we're looking for concise, readable, maintainable, consistent code in which the author has made good software design decisions. While it doesn't have to be giant or complex, it needs to be more than say a homework problem. That said, we have received impressive code samples from new college graduates or even internship candidates, usually from significant course projects or something they have developed on the side.

Again I'm so sorry some folks didn't hear back from us after submitting a code sample. You or they can reach out to me at hackernews at stellar science dot com and I'll be happy to get them the feedback that we should have sent, and figure out why they didn't receive it sooner.

StellarScience··on Ask HN: Who is hiring? (August 2022)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM, Dayton OH | Full time, INTERNS/co-ops | U.S. citizenship required | www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems modeling and simulation, computational electromagnetics (CEM), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: C++20 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA, OpenSceneGraph. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects also use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: Who is hiring? (July 2022)
Stellar Science | Hybrid USA Washington DC, Albuquerque NM, Dayton OH | Full time, internships/co-ops | U.S. citizenship required | www.stellarscience.com

Company: We're a small scientific software development company that develops custom scientific and engineering analysis applications in domains including: computer vision and image processing, space situational awareness (monitoring the locations, health and status of on-orbit satellites), metamaterials design, image simulation, high power microwave systems modeling and simulation, computational electromagnetics (CEM), human body thermoregulation, laser systems modeling, high performance computing (HPC), computer aided design (CAD), and more. All exciting applications and no CRUD. We emphasize high quality code and lightweight processes that free software engineers to be productive.

Experience: We typically look for Bachelors degrees in computer science, physics, engineering, math, or a related field, and also hire Masters and PhDs (roughly 30% of our staff have PhDs.)

Technologies: C++20 with coroutines and generators, Qt 6, CMake, Boost, Jenkins, git, OpenGL, CUDA, OpenSceneGraph. Windows and Linux, msvc/gcc/clang/clangcl, Visual Studio 2022 or any productive IDE. Some projects also use Python, Java, or Javascript.

Apply online at https://www.stellarscience.com/careers/.

StellarScience··on Ask HN: What tone to use in code review suggestions?
Based on a great article we read almost 15 years ago ("Effective Code Reviews Without the Pain": https://www.developer.com/guides/effective-code-reviews-with...), we start most code review comments with "Did you consider...?" This makes it non-confrontational and non-judgmental, as the author can easily reply that, no, they hadn't considered that and thanks for the suggestion.

Everyone in the company knows it's sort of a gimmick, and we even make fun of it a bit, but even so it still works!

"Did you consider extracting this code into a separate well-named function with clear inputs and outputs, to make the original function smaller and easier to reason about and maintain?"

StellarScience··on Voyager spacecraft begin to power down
Votager 1 hasn't changed its trajectory much since 1980, so just modeling its trajectory from there would be fairly accurate.

However, they also calculate range precisely by sending it pings and timing its response. They calculate velocity precisely by looking at the Doppler shift of that return signal (https://geekswipe.net/technology/aerospace/how-nasa-calculat...). Measuring those over time provide a fairly precise location.

← PreviousPage 3 of 4Next →