A very small cog in a death machine

Hello World! Hope life has been treating you well.

The majority of interns at Lawrence Livermore National Laboratories work in science, rather than engineering. This makes sense, since LLNL is a scientific research facility at its core. Many of the science students are conducting experiments for their projects, and experiments generally lead to people publishing the results in a paper, or some other medium. In the case of LLNL, that medium is posters, and there is a poster symposium for all the interns every August. It turns out, the engineering students are encouraged to do this too!

gross code
The winners of last year’s symposium. I guess it’s competition?

This is surprising, but I’m actually pretty happy about it. It’s cool to get a chance to describe exactly how an engineering process went, and it’s good to practice presenting. There’s also a chance to win an award for your programming, and that’s always fun.

I went to a seminar about some new proton science they’ve discovered, which was pretty interesting. Basically if you shoot a single proton into an object, it’ll make a super big deep hole. Sometimes if you want to smooth something out on the molecular level, it’s useful to have a big clump of protons all mushed together because if you shoot the clump at the material, it’ll just knock off the top few atoms and not make a big hole. But that’s super hard to do, because protons are all super positive and don’t want to be near each other. So they figured out a way to make them act like they are near each other, even if they aren’t. Also, there were huge nitrogen tanks near the lecture room. I have no idea why.

I also went to a seminar on what NIF was doing to produce nuclear fusion, machines that used atomic clocks to detect mass, and software that the US military uses for battle tactics.

gross code
Proton Guns. Totally what they use.
CODE WARNING!! If you don’t like code, stop reading!!

So the code that I’m updating is not exactly the most wonderfully written code. Yes, it’s better than anything I could ever write, but I’m 19 years old so that’s a fairly low bar. I recently realized that this is because before it became Java code, this codebase began its life as Ada. Ada is a language developed by the United States Department of Defense, designed to be better than C++ for writing weapons code. It’s quite a bit different than Java. So that’s why there are currently five empty functions that return null, which cause huge errors when deleted, and a comment at the end of a class informing everybody who might be curious that it is the //end of class

Also, instead of using git, like any sensible programming company, or even subversion, like a slightly inferior programming company, we use accurev. Why? I have NO IDEA! It’s terrible. I’m hoping that I’ll have some revelation like I did with Structured Text and discover why it’s necessary, but that hasn’t happened yet. Why can’t we use git?

I’ve also learned that when a function or a class is no longer needed, it typically isn’t deleted. This is because you’d have to test it, which takes time. BUT WAIT! I hear you say — if you’re deleting stuff, you’re just going to have to run the integration tests, and it’s highly unlikely that they’ll need to be altered significantly, if the code really does need to be deleted. Isn’t that okay? Apparently not! They really just don’t like us changing stuff in our code. I don’t understand it, but that’s how it is. So there are whole files of dead code, just lying around! It’s a mess.

Okay now you can keep reading

NIF may not be Google, but it does a pretty good job keeping its employees happy. This week we had a breakfast for all the computation interns at NIF, and their mentors, to talk about what we were working on this summer and where we fit into the whole lab structure. One mentor was a bit surprised when an intern reported that they were working with a 2 million line codebase, seeing as he remembered it being six million! Apparently upgrading to Java 11 was very beneficial for the length of the code. Then we had an outdoor lunch for everybody who worked at NIF, with pretty good food for such a huge event! Then there was a BBQ for all the interns, complete with a cover band! There was also a lab-wide ice cream party, and an intern ping-pong event which happens every Friday, but those are smaller. I also heard that there are nap rooms near the NIF building, which I’m going to have to check out at some point. So if you’re an LLNL administrator and aren’t sure if you want me to keep writing about the inner workings of NIF, just look at all the positive press I’m giving you!

nif

It’s been ten years since NIF became operational! So we had a talk about what NIF was working on. The speaker was a former astronaut, and was the only engineer on the ISS at one point! Apparently there are more military applications to what I’m working on than I was previously aware of. I talked with some of the programmers, one who reassured me by saying that I may be a cog in a machine of death, but I’m just an intern so I’m a very small cog. Surprisingly reassuring!

My paycheck was accidentally mailed to Davis, and I didn’t know when I was going to get it, so for the first time in my life I was actually extremely hungry for a few days! It’s all worked out now, but it was an interesting experience and I think I learned a lot from it. But my god do I appreciate having a full stomach right now!

Also, I’m just going to take some time to appreciate how beautiful Livermore is. Look at these windmills!

windmills

May you be ever victorious in your future endeavors!
M.E.W