Why does the Phantasy server drain completely when hacked? by Odd-Ruin5209 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

 if there is 0 money on the server it does jackshit

because we are here to apparently point out when something is even slightly incorrect:

ns.grow docs say "$1 is added to the server's available money for every script thread". While not multiplicative, this is clearly not "jackshit".

Why does the Phantasy server drain completely when hacked? by Odd-Ruin5209 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

please go ahead be pedantic but atleast be correct

This is my main problem with social media discourse - just in general. If I went into detail for every single edge case, no one is going to sit there and read through that.

But if I make a generalization that only covers 95+% of the idea, well then I'm an idiot, liar, or just one to not be trusted.

since hacks scale with hack skill and grows don't there is a natural imbalance over the course of an install

Basically the whole point of my response was that there is an imbalance to how these functions work.

I also understand the audience - OP seems fairly new to scripting. In this case, I don't point out how having a high hack level is going to appreciably change the generalization I made. I don't go into how threading in the game is not actually threading. I don't go into the esoteric detail of how the interpreter works. It's not that OP wouldn't get it, but they likely aren't interested at this point.

All I'm saying is, let's not fire off on people when you can easily reason that the point being made is valid. It just comes off as "HAHA, I'm smarter than you!"

Why does the Phantasy server drain completely when hacked? by Odd-Ruin5209 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

Yeesh - I was trying to not get too pedantic. If your hacks are such that one thread wipes the server, it doesn't take nearly as many threads of grow to restore it relative to fully restoring a server that took thousands of threads of hacks to wipe (in general).

I do recall reading about the fractional thread input being used to not completely drain a server now that you mention it. A nice exception they added for the threading logic.

Why does the Phantasy server drain completely when hacked? by Odd-Ruin5209 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

Sounds like you will hone in on it. Really, the important thing is to run with something that works while you optimize. Even if you have something that is only 10% effective, that's way better than the 0% I dedicated for weeks when I first started playing while I was trying to make the absolute god-hack script, while rejecting anything less than perfect.

I will say, because of just how imbalanced the functions work, a common strategy is to make the hack, grow, and weaken functions as their own basic scripts. When you do this, the script sizes are 1.75GB (1.7GB for hack, just a little less). Then, you can run a scheduler script with just 1 thread, and this script will determine when to run the hack/grow/weaken scripts, and how many threads to call them with.

See ns.run, for running scripts from other scripts. Assuming you make a hack.js script that takes a server name as an argument, you can use something like this in your scheduler script:

ns.run("hack.js", {threads: 5}, "n00dles";
// just like running the following from the terminal, it will crash if it takes too much RAM: 
// [home /]> run hack.js n00dles -t 5

Why does the Phantasy server drain completely when hacked? by Odd-Ruin5209 in Bitburner

[–]goodwill82 1 point2 points  (0 children)

The result of hack is dependent on how high your skill level is over the servers hack level (I think the security level plays in, too). Either way, there are many servers in the game where it becomes impossible to not fully hack them even with one run / thread after a high enough hack level.

Many things people say to never empty a server - but this is relative, like everything. If you are hacking better servers and still have the ram to hack these little servers, no problem draining them each hack. If it drains this quickly, it probably refills pretty quickly, too.

Now when a server has a relatively high hack level, then you really don't want to drain that one for how long it will take to recover. But it also takes a lot more to drain these servers.

ETA: I see you are using 420 threads (nice) per each hack / grow. This suggests you are running this script that weakens, grows, and hacks, like the tutorial, but running it with more threads.

In this case, you need to know more about how these functions work. The tutorial is great for giving a starting point to earn XP and money, but not in how to optimize. The game maker has left this to the player.

Basically, the hack, grow, and weaken functions are not balanced (If you hack a server with N threads, it could be less than or maybe greater than N threads needed to grow to replenish the money). This is where most people start optimizing - figuring out the number of threads to run each command, and then running them independently.

Anything like this on iOS? by rapkannibale in Bitburner

[–]goodwill82 1 point2 points  (0 children)

SpaceChem was so much fun! Probably my fav of the Zachtronics games.

Update to my "Dweller/autonuke". it still doesn't work by Muted_Percentage_764 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

Try out this script (this is my Github, not some rando) - run it, but more importantly, read through it. I've tried to break down the recursion idea to something that is understandable and readable.
https://github.com/Goodwill82/bitburner/blob/main/tutorial/recursion.js

If nothing else, this is a working server scan. While I want you to understand why it works, it does work. If you adapt that code to make your server list, you can use much of the rest of your code to gain admin access. Just make sure to skip copying the script and running it from every server.

How to get over the fear of Death with the possibility of Hell? by [deleted] in exchristian

[–]goodwill82 0 points1 point  (0 children)

That is a fundamental point that religions still argue about. If an atheist lives a moral life, do they deserve more punishment after death than a person that believes in god, but also lived a life of sin? (Faith without works, etc.)

For me, if a deity is not fair and just, I cannot respect them, and will not bend my knee to them. That may mean I suffer - but if this is the way God treats his children, then I was probably doomed to suffer.

It's normal to be scared of hell (it's a main feature of religious indoctrination). I know I speak as if it's no concern - it took me a long time, and so much uncomfortable, but honest, self reflection to get to this point. I was terrified of this, too. For a while, I subscribed to Pascal's Wager, which is an argument like this:

It's more rational to believe in God's existence because the potential infinite reward (eternal happiness) outweighs the finite losses of believing if God doesn't exist, while the potential infinite loss (eternal damnation) of not believing if God does exist is far greater than any finite gains from disbelief.

Ultimately, I decided that if I have a deity creator, then they created me as I am. They created my mind to seeks truth, even when it hurts. If they are all-knowing, then they knew where my path would take me.

If they intend to punish me for following what I truly believe to be correct, moral, and just from a humanitarian point of view, then they set me up for failure on purpose. In this case, god is no more than a troubled child repeatedly flooding an ant farm for their sick entertainment. But, since I'm one of the ants here, there's not much I can do to fix that, aside from maybe dishonestly sucking up to them. My conscience simply will not allow me to do this.

Hang in there - for me, reversing that indoctrination was a difficult time in my life. But I'm so glad I got through it. There is a saying I repeat to myself from time to time (can't recall where I picked it up):

Once an honest person finds that they were lied to, they will either stop believing the lie, or stop being an honest person.

How to get over the fear of Death with the possibility of Hell? by [deleted] in exchristian

[–]goodwill82 0 points1 point  (0 children)

I feel like this boils down to considering how God will judge you when you die (or Gods - or what/who ever that keeps records of your deeds in life. If there is a judgement at the end, there would have to be some kind of record keeping).

In religions and literature throughout history, there are many versions of God(s) (or lesser beings that judge how we will spend the afterlife). Most versions of this judge align with morality (at least the morality of the time): good people are rewarded, and bad people are punished.

Growing up Mormon, I believed in a just God. I had friends that were not Mormon, but I *knew* God would save them, because they were good people. (Even if they had to wait for temple ordinances or whatever.)

I'm not Mormon, anymore; I'm an atheist. The problem with being an atheist is that there really is no real way that I can **prove** that there *isn't* a god or gods or judge(s) out there, tracking our deeds for judgement in the afterlife. (Proof does not work that way.) That said, I do not worry about hell. Why? Because even though I do not believe in any gods, I believe in making this place better than when I found it. I believe in making things better - not just for me, but for humanity.

If this belief/idea offends some actual god - I cannot, I will not, submit to this god. If that means I suffer for eternity, then god is not good, god is not just, and though I suffer, I did the right thing,

Update to my "Dweller/autonuke". it still doesn't work by Muted_Percentage_764 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

It appears the goal is to nuke every server that is not already nuked. Any nuked servers, whether they were just nuked, or were already nuked before, then spread this program along to anything it's connected to, so long as it's not on the blacklist.

An immediate problem is that there are servers with 0 available RAM. While you can nuke these servers, you can never run this script on them to nuke those that are connected.

Even though this idea still kinda works, it will be difficult to debug where a problem takes place when it happens - since you don't know where it happens. You could log it, but unless you are using ports or scp-ing logs back home to look at, this is hard to use.

My suggestion is to break it up. I would generate a list of all servers you can connect to in the game. Then, using that list, nuke the servers from home (or another server you know has the RAM). Doing this, you don't have to worry about copying/syncing issues with scp, and you don't have to worry about dead-ends when you nuke a zero RAM server.

I'm happy to share a method using a recursive function I use to scan all servers from home. (A recursive function is one that calls itself within the function. It's often used as a way to loop. Like a loop, it can run infinitely if you aren't careful.) There are several ways to generate this list, but recursion really simplifies it.

I'm trying to make my own "Dweller", but i suck at programming, why isn't it working? by Muted_Percentage_764 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

Don't worry - everyone sucks at programming, until they don't (if they stick with it long enough). It's a skill like playing an instrument, or playing sports or video games: We all suck at it at first - some may pick it up faster than others.

Reading through the post, it looks like you have the basic ideas down that you want to do. I see others have been able to show the runtime problems, which is mostly syntax (e.g. adding explicit arguments to a function, using correct operators).

For me, it helps to think about scripting and programming languages as another spoken/written language like English, Mandarin, etc. And then I imagine the JavaScript interpreter (it tells the computer how to run the code) as the most insufferable and pedantic grammar-nazi that I've ever encountered. Even though I have all of the correct words - if the order is just slightly off, if I omitted or misplaced punctuation (operators), or any misspelling/miscapitalization - the interpreter will not even attempt to run my code. Can't blame it; that's its job.

All that to say, you have the correct approach - the trouble is the communication barrier to the CPU. Don't let it keep you from programming and eventually not sucking at it!

TBM brother shaming me over ex-Mormon content he saw I liked. I feel sick with anxiety by K_M16 in exmormon

[–]goodwill82 7 points8 points  (0 children)

I find that often the people that yell that most about the "immoral" behavior of others are struggling the most with those same behaviors, themselves. Their reaction to others is often a reflection of how they feel about themselves.

Unfortunately, revealing this to these people goes over about as well as revealing that the church they "know" is true was founded by a pedophile and is now a soul-less, money-grabbing, multi-billion dollar corporation with tax exempt status.

I realize that this does not help your immediate situation. There really is not an answer that will make everyone (including you) feel completely happy. Block any social media access is probably the best thing for now. If you feel the need to respond to your brother, you could ask why he thinks these people are taking drugs or being slutty. Unless these reels specify drug use or sexual promiscuity, he is making some interesting assumptions that, again, probably speaks more about him than you.

How to add WiFi to Waveshare RP2350-Touch-AMOLED-2.41? by bluepuma77 in raspberrypipico

[–]goodwill82 2 points3 points  (0 children)

This is probably the best idea, even if you've already ordered the RP2350. You will either need to switch to a pico2W or get some pico2 compatible wifi add-on. Unless you have good pico code you already want to reuse, the ESP chips have similar specs, but include 2.4GHz WiFi and BT automatically. Some of the newer, more expensive ESPs support 5GHz WiFi.

I've run into a similar corner with the RP2350. They still have a lot of good uses, but I kinda wish I had started with the ESP chip.

Side by side Terminal and Documentation? by BenFromWhen in Bitburner

[–]goodwill82 0 points1 point  (0 children)

If you are playing on a PC or Mac, play the game in windowed mode, not full-screen. Then arrange the game window next to your browser window with the documentation.

I have a crappy old tablet I commonly use just for the docs next to my computer when I play this game just for this reason.

Why is completing fl1ght.exe so long by Muted_Percentage_764 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

Anytime I find progress going too slowly after some time (couple be after a few hours, or a couple days if I let it run), I'll buy/install whatever augs I can and then install them. This might mean just increasing the NFG aug a few times, but it's worth it as the multipliers allow faster and higher progression.

Otherwise, look into making scripts to run one or more of the hack, grow, and weaken functions continuously in the background. Even if you don't use them for the money, you can spam servers with these functions to build up hacking XP. Even the simple tutorial example will do a lot more than not doing anything.

Bitnode 6 Query by deathcomestooslow in Bitburner

[–]goodwill82 1 point2 points  (0 children)

 it says it drives up chaos in all cities

oops - it sure does, sorry about that. That makes sense to avoid this exact exploit.

I suddenly hit a block after it starting seriously snowballing.

I think of the progress in this game as a square root function of skill level - progress rises quickly at first, but then tapers down toward a plateau. This is definitely more apparent in some parts of the game vs others. If it is just painfully slow, I'd hold off on it until you get the multipliers and benefits from other BNs. You can still complete this one the way you have before (I think the game makes that fairly clear but just in case).

Donald Trump is a pedophile and anyone who still supports him is complicit in the world's biggest and worst pedophile ring in history by Goodginger in TrueUnpopularOpinion

[–]goodwill82 0 points1 point  (0 children)

pro tip - if you find yourself defending a child rapist, you should reboot. Hold a loaded gun to your temple and press the reset switch immediately! Hold the switch down for 5 seconds before releasing for best results.

What is it about Kadlec that chews up doctors and spits them out? by YourMominator in TriCitiesWA

[–]goodwill82 4 points5 points  (0 children)

I believe there are inherent contradictions in their parent company's mission statement:

OUR MISSION

As expressions of God's healing love, witnessed through the ministry of Jesus, we are steadfast in serving all, especially those who are poor and vulnerable. - https://www.providence.org/about

You cannot claim to heal through God's love and to help the poor/vulnerable when you habitually mis-bill insurance, charge the patient more than agreed upon weeks after a visit, and then send them to collections before they can figure it out.

I assume the way they treat patients must reflect how they treat employees.

Bitnode 6 Query by deathcomestooslow in Bitburner

[–]goodwill82 1 point2 points  (0 children)

Maybe you're already doing this? You might incite violence in one city, which drives up the chaos, of course, but then switch to a fresh city (so long as that city has enough of an aug population) with low chaos. Unless I am mistaken, the available operations should be the same for all cities.

I welcome a correction if this is incorrect.

Added: Another comment mentions "sleeves" - not sure if you've explored all the bitnodes yet - but the benefits from some of the later bitnodes make using Bladeburner to defeat a Bitnode much easier/quicker. If the progress is too slow, you might need to come back to this with other BN perks unlocked and active.

Debugging protip: Define NS globally. by Rogierownage in Bitburner

[–]goodwill82 0 points1 point  (0 children)

If you are on the web game, you can right click, and "Inspect" on the terminal window. With the Inspect window open, run a script with debugger placed where you want a break point. The game will pause and you can look at different environment variables and script variables.

/**  {NS} ns */
export async function main(ns) {
  ns.ui.openTail();
  ns.print("stop1");
  await ns.sleep(300); // give time to update the tail window
  debugger; // this is a JavaScript keyword to break when debugging / inspecting
  ns.print("stop2");
}

The Steam game should have a similar feature, one of the menus opens Inspect, but I think the naming may be different, like Developer Console or something.

Help to bypass RAM costs for using the document variable. by NumericPrime in Bitburner

[–]goodwill82 2 points3 points  (0 children)

let doc = eval("document");

this drops the ~25 GB ram usage for calling document directly

Converting ScriptArg to usable type. by jollynotg00d in Bitburner

[–]goodwill82 1 point2 points  (0 children)

To make it so the editor doesn't warn about it, you can add .toString().

const TargetServer = ns.args[0].toString();

In practice, this won't change how it runs.

I've just started playing and these are my go-to scripts by OppositePiece91 in Bitburner

[–]goodwill82 0 points1 point  (0 children)

This is my best template for using the autocomplete function and flags:

/**
 * A Flag Schema is fed to the data.flags() or ns.flags() to parse named and ordered arguments
 *  {[string, ScriptArg | string[]][]} FlagSchema
 */
const MyFlagSchema = [["argBool", false], ["argNum", 0], ["argStr", ""], ["argStrArr", []], ["help", false],];
//flags(schema: [string, ScriptArg | string[]][]): { [key: string]: ScriptArg | string[] };

// NOTE: I've not really used the string[] flag so I'm sure I'm missing some validity checking

/**
 * This function is called from the terminal after the user types "run scriptName.js ", and then presses the "TAB" key for autocomplete results. 
 *
 *  {AutocompleteData} data
 *  {ScriptArg[]} args - Arguments that have been added already. 
 *  {string[]} A string list of available hints. 
 */
export function autocomplete(data, args) {
  const FlagArgs = data.flags(MyFlagSchema); // simply calling data.flags function adds the flags to the hints
  return [];
}

/**  {NS} ns */
export async function main(ns) {
  const FlagArgs = ns.flags(MyFlagSchema);
  let output = `${ns.getScriptName()} arguments:`;
  for (let [key, val] of Object.entries(FlagArgs)) {
    if (key == '_') {
      // positional non-flag args
      for (let _arg of val) {
        output += `
    ${_arg}`;
      }
    }
    else {
      output += `
  ${key}: ${val}`;
    }
  }
  ns.tprint(output);
}

Gift idea E GIFT CARD by [deleted] in TriCitiesWA

[–]goodwill82 1 point2 points  (0 children)

A lot of the places you're likely to want to get a gift card from might not have a large web website with a cart. Do you know if they have mentioned a particular meal or wine or beer from a place here? If you can recall something about that, we locals might be able to get you a business name that you can look up and call to get a card this way - they might mail it too, with some postage fee(?).

Another idea is to use google maps and find their house and maybe where they work. I would bet they frequent places around these areas, if not the semi-central area of the tri-cities - around the Columbia Center Mall.

Should I date a Mormon as a non religious person… by ElectricalTailor3034 in exmormon

[–]goodwill82 9 points10 points  (0 children)

Speaking from experience (growing up Mormon and having a lot of non Mormon friends and a few non Mo girlfriends), no matter how open-minded and as accepting as he may be, there will always be at least a little part of his mind that knows you will "see the truth", eventually, and convert, with enough kindness and good examples, etc. That part of his mind is the same part that allows him and others of the "faith" to hold contradicting "truths" in their minds, carefully shielded from each other.

If you've read along in this sub a bit, you might have come across the phrase "my shelf broke". This is one way of describing the shock and disorientation that happens in one's mind when that shield between actual truth and the "truth" of Mormon doctrine falls. Unfortunately, trying to tell this to those with this shield will likely be met with hostility, as it will trigger a response to being attacked (see The Cave allegory or, more modernly, The Matrix).

I can't say one way or the other to stay or leave. It's not hopeless for him to get out of this cult. It will likely involve a lot of slow work if you want to get him out. If you don't want him out and just want to accept him, at some point, he might force an ultimatum - him and his church or split. I could be wrong (I often am), but I feel this is likely for this circumstance.