Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment In memory patching (Score 5, Interesting) 54

To add detail to the article:

When you're modifying the code in memory (as opposed to say a bootable disk or flash drive) there are a few things you have to watch out for. This is most true when you have no physical access to the device, as in the case of Voyager 1.

So if you've identified that some part of the memory is unusable, you need to ensure it won't be attempted to be used.
Phase I: Setup
Step 1: Allocate a chunk of memory for a temporary region that will do nothing more than simply exist.
Step 2: Set the instructions in that region to return execution to a known-working part of the code with some non-operational instructions in the middle (NOOPs)

Phase II: Re-vector
Step 3: Change all instructions that send execution to the bad memory to now go to the good region
Step 4: Change some of the NOOPs to log the information so you can tell you're now executing new-region stuff, not old-region stuff

At this point you have logs showing that the bad memory is not being used. You know the new region (not large enough) is being used. So now you have to get the code that existed in the damaged memory put in some places (not enough room for one place) and then jump to it:

Phase III: Recreate the code
Step 5: Allocate new regions of memory. Fill them with NOOPs and a branch (or jump AKA JMP) to the next chunk
Step 6: Add a new region of memory with a new routine to go read the stuff you set up in Step 5 to ensure that if something WERE to execute, it would sequentially go through all those new regions allocated in Step 5 and return just fine.
Step 7: Run Step 6, and if it doesn't pass, fix it.
Step 8: Replace the NOOPs in the new regions with the instructions from the damaged original areas of memory.

Effectively at this point you've replaced the original code but instead of one region of memory you're using multiple regions with branch instructions. Note that I'm using generic comments here like "branch instruction" where if we were doing machine code in the 1970s it would be a JMP or a JSR or BEQ or whatever. That's not important to the concept. The important thing is that IF your steps are successful, at each point your system is fully recoverable. IF a step fails it is still recoverable. You only go to the NEXT step upon success of the preceding step.

Phase IV: Activate the new code
Step 9: Vector the original jump instructions from Step 3 to now point to the new code from Step 5.
Step 10: Lose two days of sleep waiting for success.

You can shortcut a lot of these if you have physical reset access. Not an option here. You can shortcut a lot of these steps if you had an A/B memory (also now used on Android devices and immutable operating systems.). Not an option here either. That means in anything you do you should leave the device in a state where it i still usable enough to fix what you broke. That's why you need 10 steps.

But hey what if you had A/B.
1. Copy A to B.
2. Reallocate regions of memory so B can operate in areas where the physical memory is undamaged. Add branches (jumps) to make a bunch of little regions act as one big region. A jump is one of the least-intensive CPU operations because it loads the program counter with a specific address (to go execute code at) instead of merely incrementing. In pseudocode LOAD PC=new-address is computationally simpler than LOAD PC=PC+current-instruction-size. (Some people use "length" instead of size. Whatever. 1970s octets were all the same size and length... this was no TOPS-10/20 system with 36-bit weirdness.)
3. Boot up on B. If fail, reboot on A. Requires a bootloader equivalent (BIOS on DOS, Fastboot on Android, UEFI on newer systems, etc.) Not an option here.

Well, and after all that's done, what do you do to clean up?
Step 11: Have Voyager 1 send you a new data dump of all of memory so you have a new clear copy.
Step 12: Put in some pseudo-reset options so if this happens again you have SOME of the capabilities of uploading code without having to do it step by step
Step 13: Put in logging so that it's more verbose, doesn't chew up very limited bandwidth on the downlink, and doesn't fill up the very limited storage.

If you're thinking any of this is easy
- You're working with less memory than is found in your car's radio
- You're working with less bandwidth than is available on an analog FM radio channel
- You're working with 50 year old hardware exposed to cosmic radiation that is SUCH A ONE-OFF thing there are no comprehensive plans for it
- Latency of 48 hours means the equivalent of "type a key on the keyboard and wait two days to see it display" except of course there's no keyboard and no display and you "batch" up the commands and hope you got the steps lined up in the right order so you don't brick the device.

The good news - NASA has top people who have done tremendously well to get this partially fixed. I have no doubts they will get it fully working... until it breaks again. The 1970s brought us hippies and tie dye... but not really good micro-electronics.

Comment And THAT is why we in the US need Section 230 (Score 1) 115

A military court in a foreign country has tried, found guilty, and sentenced a person who has not been there for committing a crime there, and that crime is that they are the public-facing person of a multinational corporation that allows people to post their thoughts and opinions.

Imagine how many things are wrong with that... and then say "Oh but it couldn't happen in the US" except our elected representatives are working hard to make as many holes in CDA's Section 230 (FOSTA, SEXTA, etc.) so that it really doesn't provide the protections that allow user-generated content based media to thrive. Without Section 230 there would be no FB, IG, YT, X,

Further, organizations that allow UCG responses to their articles (such as Newsweek.com) would turn off all comments to avoid the potential liability. After all, having to pay a fine and fighting it in court is a long way from having to go to Russia to a military prison.

Comment Qwest, Again. Just now they're called "Lumen". (Score 5, Interesting) 90

They keep renaming the company, but it's still the same old Qwest, now Lumen, formerly Mountain Bell all outsourcing E911 services and all going down in 4-14 states MANY times in the last ten years.

This is nothing new, and has nothing to do with a "light pole" or a "fiber optic cut."

Each time they get a free pass and do nothing to fix the problem. They have outsourced crucial emergency response services to remote datacenters that are not redundant, not given E911 data (address and callback# of caller) and no modern logging capability (as in who called in when for how long, how long on hold, etc.)

Lumen (that's Qwest''s new name) is the same piece of shit southwest US network operator that's been flailing for decades.

End of story.

Comment Nigeriea to criminalize Prince sharing wealth (Score -1, Troll) 19

Look, I'm as big a fan of collecting a cool million dollars from a Nigerian prince.

If the Nigerian government (is that a real thing?) wants to do something useful,
STOP SPAM AND CRIMINALS FROM YOUR COUNTRY ATTACKING THE WORLD.
Yes, that means Nigerian princes and lotteries and whatnot.

We don't give a rat's ass about your "fiber cables" and frankly if they all go damaged
and your princes couldn't send spam, that would be JUST FINE.

Comment Ng who? (Score 1) 11

So now all Amazon hiring moves will be broadcast on slashdot? Awesome.

And before you say "But, wait, this is ANDREW NG" look up what he's accomplished.

Nothing. He's a published researcher in academia who has accmplished nothing.
https://en.wikipedia.org/wiki/...

If you think he's actually accomplished something other than publishing, using up undergrads,
or wasting paper and toner cartridges post away below and downvote me.

This guy isn't a joke. He's not evn funny. He's just an example of what the phrase "that's just
academic" means. It means "useless and moot but you get a grant and one day Amazon hires you."

Poor guy. Poor Amazon. Poor Amazon investors.

Comment Give credit where credit is due (Score 1) 57

Going forward the Government will require that ANY IDEA YOU EVER HAVE you must give full credit to anything that inspired it, be it a movie, book, TV show, app, someone's offhanded comment, or graffiti on a railcar.

After all, if we don't develop "new" ideas we're just copying someone else's work, AI or not.

Stupid government dicks in the pockets of the MAFIAA.

Comment Re:Let me clarify (Score 0) 222

I think you misunderstood parent's note. Taxing the nascent commercial space industry is an early move that will hurt its expansion. It's better to wait for the commercial entitites to be sucessful before throwing yet another barrier to entry in the mix.

Yes, there is one successful commercial space launch entity. That's hardly "an industry." Yes, there are many others who want to play in that arena, but none are yet viable let alone successful let alone profitable.

Air traffic controllers are there to guide air traffic, regardles of whether there are zero aircraft in the sky, or lots of aircraft in the sky, or a space vehicle launch or return. They do the same work, and it costs the FAA nothing extra when there's a space launch. They set up a temporary flight restriction (TFR) so the launch or landing can occur, and aircraft (other than scheduled carriers with filed IFR flight plans) stay out.

What's next - taxing boats because the USCG has to patrol exclusion zones in the water and constantly shoo away those pesky self-entitle Florida asshats who think they are welcome to come watch the launch from the water, and end up postponing launches due to range violations?

Our government isn't built on "user fees" which is what makes this unjust and inequitable.

We waste an awful lot of taxpayer funds on things taxpayers don't want. No tax is a popular tax, but taxing commercial space flight companies and giving NASA yet another freebie subsidy by any other name is disproportionate and unfair.

Comment Give it to trump (Score 1) 14

Adam Newmann is a sociopath who has bamboozled billions of dollars away from people. He's a religious creep, and a narcissist moron. Note: I'm not a licensed psychotherapist so these are all just my opinions.

If he HAS $500M, just give it to Trump so he can pay for his appeal bond, because that way at least New York taxpayers will get some benefit out of it. WeWork is dead. Adam Neumann can contribute his best to this world by making NY taxpayers whole.

Seriously, what's next? Criminals commit crimes. Cheaters cheat. Scammers scam. Why would anyone trust these pieces of shit with MORE money?

Comment Helical scam. (Score 1) 78

Helical piles are long (tens of feet long) screws that attach a structure to the ground. They work in some ground but not in harder ground (caliche) or softer ground. In other words, they can work about 20-33% of the time. The rest of the time they are unable to adequately anchor a bulding to the ground.

They lack a foundation. This also means the lack of a solid plumb and level surface. While that seams cheaper, there still needs to be a reference surface which IS plumb and level, so there we go adding that back into the project, and the same carbon footprint and cost comes right back up.

There's no "easy fix" to "the housing market" and while it would be nice to creat a magic house that just "screwed into the dirt", neither the house nor the dirt are cooperating.

What a waste of time. But hey, let's get investors. Because we can all get rich. On this worthless scam.

Slashdot Top Deals

Are you having fun yet?

Working...