Nerdism at its best

April 23, 2018

Reboot that device!

Ask a geek how to fix a problem you’ve having with your device and they’ll likely ask “Have you tried turning it off and on again?” This seems like a flippant response, but rebooting it can actually solve many problems.

So what’s going on here? Why does resetting a device or restarting a program fix so many problems? And why don’t geeks try to identify and fix problems rather than use the blunt hammer of “reboot it”?

This Isn’t Just About Windows

Bear in mind that this solution isn’t just limited to Windows computers, but applies to all types of computing devices. You’ll find the advice “try resetting it” applied to wireless routers, iPads, iPhones, Apple Computers, Android phones, and more. This same advice even applies to software — is Chrome, Firefox, Internet explorer, or Safari acting slow and consuming a lot of memory? Try closing it and reopening it!

Some Problems Require a Restart

To illustrate why rebooting can fix so many problems, let’s take a look at the ultimate software problem a Windows computer can face: Windows halts, showing a blue screen of death. The blue screen was caused by a low-level error, likely a problem with a hardware driver or a hardware malfunction. Windows reaches a state where it doesn’t know how to recover, so it halts, shows a blue-screen of death, gathers information about the problem, and automatically restarts the computer for you. This restart fixes the blue screen of death.

Windows has gotten better at dealing with errors — for example, if your graphics driver crashes, Windows XP would have frozen. In Windows Vista and newer versions of Windows, the Windows desktop will lose its fancy graphical effects for a few moments before regaining them. Behind the scenes, Windows is restarting the malfunctioning graphics driver.

But why doesn’t Windows simply fix the problem rather than restarting the driver or the computer itself? Well, because it can’t — the code has encountered a problem and stopped working completely, so there’s no way for it to continue. By restarting, the code can start from square one and hopefully it won’t encounter the same problem again.

Examples of Restarting Fixing Problems

While certain problems require a complete restart because the operating system or a hardware driver has stopped working, not every problem does. Some problems may be fixable without a restart, though a restart may be the easiest option.

Windows is Slow: Let’s say Windows is running very slowly. It’s possible that a misbehaving program is using 99% CPU and draining the computer’s resources. One could head to the task manager and look around, hoping to locate the misbehaving process an end it. If an average user encountered this same problem, they could simply reboot their computer to fix it rather than dig through their running processes.

Your Browser or Another Program is Using Too Much Memory: In the past, Firefox has been the poster child for memory leaks on average PCs. Over time, Firefox would often consume more and more memory, getting larger and larger and slowing down. Closing Firefox will cause it to relinquish all of its memory. When it starts again, it will start from a clean state without any leaked memory. This doesn’t just apply to Firefox, but applies to any software with memory leaks.

Internet or Wi-Fi Network Problems: If you have a problem with your Wi-Fi or Internet connection, the software on your router or modem may have encountered a problem. Resetting the router — just by unplugging it from its power socket and then plugging it back in — is a common solution for connection problems.

In all cases, a restart wipes away the current state of the software. Any code that’s stuck in a misbehaving state will be swept away, too. When you restart, the computer or device will bring the system up from scratch, restarting all the software from square one so it will work just as well as it was working before.

Ultimately, the answer is that “resetting a computer wipes away the current state of the software, including any problems that have developed, and allows it to start over from square one.” It’s easier and faster to start from a clean state than identify and fix any problems that may be occurring — in fact, in some cases, it may be impossible to fix problems without beginning from that clean state.

Restart your iPhone X

  1. Press and hold the Side button and either volume button until the slider appears.
  2. Drag the slider to turn your iPhone X completely off.*
  3. After your iPhone X turns off, press and hold the Side button again until you see the Apple logo.

Restart your iPhone 8 or earlier, iPad, or iPod touch

  1. Press and hold the Top (or Side) button until the slider appears.
  2. Drag the slider to turn your device completely off.*
  3. After the device turns off, press and hold the Top (or Side) button again until you see the Apple logo.

*With iOS 11 or later, you can turn off your device by going to Settings > General> Shut Down.

How to Hard Reboot any Android phone or tablet

As the word already implies, a Hard Reboot requires you to do something with your phone’s hardware. Some devices, like, for example, the Nexus 5 or Samsung Galaxy S8, don’t have removable batteries.

To simulate a battery pull, turn on your phone, press and hold the Power and Volume Down buttons simultaneously until you see the screen shuts down and you see the reboot animation.

How to Reboot a Windows 10 or Windows 8 Computer

The “normal” way to reboot a computer running Windows 10/8 is through the Start menu:

  1. Open the Start menu.
  2. Click or tap the Power button (Windows 10) or Power Options button (Windows 8).
  3. Choose Restart.

The second is a little faster and doesn’t require the full Start menu:

  1. Open the Power User Menu by pressing the WIN (Windows) key and X.
  2. In the Shut down or sign out menu, choose Restart.

How to Reboot a Windows 7, Vista, or XP Computer

The quickest way to reboot Windows 7, Windows Vista, or Windows XP is through the Start menu:

  1. Click the Start button on the taskbar.
  2. If you’re using Windows 7 or Vista, click the small arrow next to the right of the “Shut down” button.Windows XP users should click the Shut Down or Turn Off Computer button.
  3. Choose Restart.

How to restart your Apple PC

To restart your computer, you have three choices:

  • Press the power button (or press Control+Eject) and, when a dialog box appears, click the Restart button.
  • Choose the Apple key and then click Restart.
  • Press Control+Command+Eject (or Control+Command+Power button).

 

December 12, 2017

Game Boy Advance Mod and Restore

I enjoy playing old platform games and have a lot of fun repairing and modding old systems like the Game boys.

I am sure there are people asking why not just play on a GBA SP. There are a few reasons why a fat GBA is my preferred system. First it is larger and fits my hands better than an SP. Second it uses AA batteries instead of a rechargeable pack. Third you can play GBC or GB full size cartridges in the best position. Games like Kirby Tilit and Tumble will not play properly in a GBA SP because the cartridge is upside down and sticks out the bottom, and this also gets in the way of your cramped hands on a SP. Do not get me wrong I still love the SP.

The original GBA does not have a backlight and is difficult to play in low light conditions and impossible to play in the dark even with a worm light.


Getting on eBay I sourced out the parts I needed to make the GBA a one of a kind. I Picked up a Backlit LCD and the proper adapter cable. I got a glass screen and replacement shell and buttons and sat down to work. The install was pretty simple. Overall I am pretty happy with the results. I can now play GBA, GBC and GB games in color in the dark without getting hand cramps. I like the glass screen and it should stand up better to scratches than the original plastic.

Front

Back

Both GBAs side by side after restore and mods

August 29, 2017

Half-life

Half-Life turns nineteen this year. Half-life 2 turns thirteen. Yet, aged graphics aside, they are still one of the best games—or rather, one of the best experiences—the PC has to offer. The first Half-Life was influential not just because it played well, but because it immersed you into its world with great skill, gripping you with its atmosphere and actually putting you in the shoes of a (sort of) Average Joe, who’s unlucky enough to be at the wrong place at the wrong time. From his perspective, at least.

It was a game that let the environments and actions tell the story as much as some of the dialogue did. Not to mention the fact that the protagonist was silent so players could feel like they were the hero instead of playing a written character.

I say this not with nostalgia, or spurred on by a curmudgeonly knee-jerk against the smoky linearity of the modern military shooter (in truth, a dominant genre now only in the minds of those still affronted by its last-gen ubiquity). No. You see while Half-Life 2 undeniably laid the foundations for a staggering proportion of the then-future of game design – genre be damned – it is no mere historically lauded precursor. It’s no aged benefactor, thanked yearly at the annual commemoration ceremony before being shuffled off back to the care home. The fact is that Half-Life 2 still executes its concepts, conceits and mechanics more effectively, deftly, and powerfully than almost any of its imitators have in the 13 years since. That’s why it’s still the best, and that’s why I still play it.

There’s something obviously different about Half-Life 2 from the opening moments. There’s no expository cut scene. No lengthy ‘In a time of war…’ cinematic, detailing a bombastic tale of humanity’s fall in lurid detail. There’s just an unsettlingly alien normality. City 17’s railway station might be defaced by the brutal deco surrealism of Combine technology, but in every other sense it’s a familiar place. And for all of the escalating inter-dimensional fascism on show, its stranger elements are made all the more dangerously mundane by the populace’s broken-down acceptance of them. Eschewing dramatic ‘Bad men are bad’ set-pieces and other such blunt attempts to convey traumatic drama, it’s in the hushed whispers, the defeated grumbles of the everyday people around you, that the completeness of Half-Life 2’s darkness really speaks.

I very deliberately say “you” rather than “Gordon” there, because that’s the genius stroke that really amplifies City 17’s palpable realness. Unlike in most action games, you’re not playing the hero character. The hero character is playing you. His dearth of dialogue not a failing of narrative, but rather a deliberately hollowed conduit through which the player threads their own persona into Half-Life 2’s hostile world, Gordon is a container for the player’s experiences, reactions, and internalized responses.

It’s about more than letting the player fill in the gaps. Your story, your experience, filled with your details, your personality, your anecdotes, your victories. That’s why there are no cut scenes to show you the developers’ version of what’s going on. That’s why there’s no third-person Gordon model to remind you that he doesn’t look like you.

The FPS genre has been full of significant technological accomplishments, but these have come to be expected by each iteration of the game. Half-life was monumental in its story telling and first-person cinematography. Before Marc Laidlaw introduced us to Gordon Freeman, the genre remained mired in the same “no plot to get in the way of the story” that marked the genre since Wolfenstein 3D and Doom. Half-Life drew us in with characters that fascinated, leaving us begging for a sequel — not just for greater gameplay, but for a continuation of the story.

January 25, 2017

Moving a Steam game folder

Steam offers multiple library folders, and you can choose where you want to install games when you download them. And, thanks to a recent update, you can easily move a game after you’ve downloaded it without re-downloading the entire thing.

This process can save you from downloading tens or even hundreds of gigabytes of game data all over again, just because you got a new SSD and want to move a few games. It’s different from moving an entire Steam library folder, which moves every single game inside it—the following process will let you move only a few games rather than the whole library.

This process used to be much more complex, but a recent build made it much easier. Make sure your Steam is up to date in order for the below instructions to work—you can click Steam > Check for Updates to make sure. I used the build from Jan 18 2017 in this guide.

Step One: Make a Library Folder

First, you’ll need to make a Steam library folder on the second drive if you haven’t already done so. To do this in Steam, click Steam > Settings. Select the “Downloads” category and click the “Steam Library Folders” button.

Click “Add Library Folder”, select the drive you want to create the library folder on, and click “New Folder”. Give it whatever name you like, click “OK”, and then click “Select” to choose the folder you just created.

The folder you chose will appear in the Steam Library folders list. You can now close this window.

Step Two: Move the Games Files to the Second Library

To move an installed game once you’ve added a second library, right-click it in your Steam library and select “Properties”.

Click the “Local Files” tab and click the “Move Install Folder” button. Select the Steam library you want to move the game to and click the “Move Folder” button.

You’re done. Steam will move the game’s files to the other library location. To move other games, just repeat this process.

When installing a game in the future, Steam will ask which library you want to install it to, but you should be able to move your games at any time.

 

January 25, 2017

Why data caps are bad.

For most customers, a TB of data will be plenty, but there’s an important principle here. If consumers simply accept broadband data caps, the FCC, which is currently investigating them, will have less incentive to crack down on the ISPs that impose them. Then there’d be nothing to keep Comcast, Cox, AT&T, or the newly-merged Charter/Time-Warner-Cable Goliath from dropping them even lower.

Why would an ISP do that? Greed, but also because they fear streaming video will encroach on their traditional TV profits. After all, AT&T now owns DirecTV, and Comcast has a huge pay TV business.  Cox also has their cable and phone services. They all want to protect those revenue streams from cord-cutters. If streaming video gets too expensive, it will slow the cord-cutting movement and encourage people to stick with pay TV.

Broadband data caps are a form of price discrimination.

The anti-Net Neutrality crowd has been happy to sow confusion for years, pretending that the content on the Internet is the same thing as the network connection that Internet service providers sell us. Here’s the difference: Websites and applications serve up the content on the Internet; they aren’t the same thing as the connection we pay cable and phone companies for every month to get online and access all that content.

Data caps have been around for a while on mobile networks but have now made their way over to home broadband connections. ISPs like to promote these caps as “fair” but that’s an apt description only if you think these companies should be able to charge you twice for their service (once to connect and again to actually use the connection).

There’s no technical justification for caps like the ones AT&T, Comcast, and Cox are pushing on to their home broadband customers; they’re just another way for ISPs to exploit their customers. Comcast has rolled them out in about a dozen markets, with plans to take them nationwide. If you don’t like the cap you can pay an additional $30–35 a month to avoid it — regardless of how much data you actually use. AT&T just announced a similar program, but you can avoid the additional fee for unlimited data by subscribing to the company’s pay-TV service on DIRECTV or U-Verse. You can bet COX will be following suit.

On the mobile side, AT&T, T-Mobile and Verizon are all combining data caps with sponsored data programs. AT&T and Verizon are happy to exempt their own content streams from your monthly data caps, regardless of whether you stream one hour a week or leave it running in the background 24/7. And T-Mobile’s cap is different, but its exemptions apply only to video and music apps.

If an ISP can randomly exempt content from your monthly cap based on its source or type — regardless of how much data you consume — why do the caps exist in the first place?

In January 2013 at the Minority Media and Telecommunications Council (MMTC) Broadband and Social Policy Summit , National Cable and Telecommunications Association (NCTA) president Michael Powell clarified in a speech that cable’s interest in data caps was no longer (or never was) about network congestion but instead about pricing fairness.

I had to read that one twice. So what of the angst over bandwidth hogs and bytes and bits and network management and capacity constraints? That’s not actually true? Well, okay, if the new argument is about how companies recover their investments and fairly allocate those costs then we can all agree that is quite reasonable. But if that is the case, then changes the debate to one about pricing (costs) and not about capacity (caps).

There are plenty of ways to address pricing that fairly charges customers without requiring them to pursue an engineering degree or a private investigator to figure it out. Let’s be clear: Broadband is not like electricity, where utilities must first generate the power they deliver to customers, requiring them to charge heavy users more because it costs the utilities more to serve them. Even the ISPs themselves allow that marginal costs for additional bandwidth are negligible between light and heavy broadband users.

ISPs already have a way to offer consumers different price options for internet access – it’s called speed. If you are a comparatively light internet user who goes online primarily to send email and surf the web, you can buy a lower-speed tier and save yourself some cash. If you don’t see daylight much, and use your connection to watch a ton of online video, you’ll probably need to upgrade to (and yes, pay for) something faster.

Virtually all ISPs use this pricing model already which, it turns out, works pretty well. Most consumers don’t know a gigabyte from a hole in the ground, but they do know when their internet connection is slow. Pricing by speed offers consumers predictability on their monthly bills and an understanding of what they’re paying for. With data cap-based “penalty” fees there’s a big chance they’ll instead get a nasty bill shock at the end of the month and then wonder what on this green earth they did to deserve it.

The FCC has an Internet complaint page

https://consumercomplaints.fcc.gov/hc/en-us/requests/new?ticket_form_id=38824

Take action

http://www.freepress.net/action

 

December 15, 2016

Password Database Compromised

“Our password database was stolen yesterday. But don’t worry: your passwords were encrypted.” I regularly see statements like this one online, including yesterday, from Yahoo.

Password database compromises are a concern, no matter how a company may try to spin it. But there are a few things you can do.

How Passwords Should Be Stored

Here’s how companies should store passwords in an ideal world: You create an account and provide a password. Instead of storing the password itself, the service generates a “hash” from the password. This is a unique fingerprint that can’t be reversed. For example, the password “password” may turn into something that looks more like “4jfh75to4sud7gh93247g…”. When you enter your password to log in, the service generates a hash from it and checks if the hash value matches the value stored in the database. At no point does the service ever save your password itself to disk.

To determine your actual password, an attacker with access to the database would have to pre-compute the hashes for common passwords and then check if they exist in the database. Attackers do this with lookup tables—huge lists of hashes that match passwords. The hashes can then be compared to the database. For example, an attacker would know the hash for “password1” and then see if any accounts in the database are using that hash. If they are, the attacker knows their password is “password1”.

To prevent this, services should “salt” their hashes. Instead of creating a hash from the password itself, they add a random string to the front or end of the password before hashing it. In other words, a user would enter the password “password” and the service would add the salt and hash a password that looks more like “password35s2dg.” Each user account should have their own unique salt, and this would ensure that each user account would have a different hash value for their password in the database. Even if multiple accounts used the password “password1”, they’d have different hashes because of the different salt values. This would defeat an attacker who tried to pre-compute hashes for passwords. Instead of being able to generate hashes that applied to every user account in the entire database at once, they’d have to generate unique hashes for each user account and its unique salt. This would take much more computation time and memory.

This is why services often say not to worry. A service using proper security procedures should say they were using salted password hashes. If they’re simply saying the passwords are “hashed,” that’s more worrying. LinkedIn hashed their passwords, for example, but they didn’t salt them—so it was a big deal when LinkedIn lost 6.5 million hashed passwords in 2012.

Bad Password Practices

This isn’t the hardest thing to implement, but many websites still manage to mess it up in a variety of ways:

  • Storing Passwords in Plain Text: Rather than bother with hashing, some of the worst offenders may just dump the passwords in plain text form into a database. If such a database is compromised, your passwords are obviously compromised. It wouldn’t matter how strong they were.
  • Hashing the Passwords Without Salting Them: Some services may hash the passwords and give up there, opting not to use salts. Such password databases would be very vulnerable to lookup tables. An attacker could generate the hashes for many passwords and then check if they existed in the database — they could do this for every account at once if no salt was used.
  • Reusing Salts: Some services may use a salt, but they may reuse the same salt for every user account password. This is pointless—if the same salt were used for every user, two users with the same password would have the same hash.
  • Using Short Salts: If salts of just a few digits are used, it would be possible to generate lookup tables that incorporated every possible salt. For example, if a single digit were used as a salt, the attacker could easily generate lists of hashes that incorporated every possible salt.

Companies won’t always tell you the whole story, so even if they say a password was hashed (or hashed and salted), they may not be using the best practices. Always err on the side of caution.

Other Concerns

It’s likely that the salt value is also present in the password database. This isn’t that bad—if a unique salt value were used for each user, the attackers would have to spend massive amounts of CPU power breaking all those passwords.

In practice, so many people use obvious passwords that it would likely be easy to determine many user accounts’ passwords. For example, if an attacker knows your hash and they know your salt, they can easily check to see if you’re using some of the most common passwords.

If an attacker has it out for you and wants to crack your password, they can do it with brute force as long as they know the salt value—which they probably do. With local, offline access to password databases, attackers can employ all the brute force attacks they want.

Other personal data also likely leaks when a password database is stolen: Usernames, email addresses, and more. In the case of the Yahoo leak, security questions and answers were also leaked—which, as we all know, make it easier to steal access to someone’s account.

Help, What Should I Do?

Whatever a service says when its password database is stolen, it’s best to assume that every service is completely incompetent and act accordingly.

First, don’t reuse passwords on multiple websites. Use a password manager that generates unique passwords for each website. If an attacker manages to discover that your password for a service is “43^tSd%7uho2#3” and you only use that password on that one specific website, they’ve learned nothing useful. If you use the same password everywhere, they could access your other accounts.

If a service does become compromised, be sure to change the password you use there. You should also change the password on other sites if you reuse it there — but you shouldn’t be doing that in the first place.

You should also consider using two-factor authentication, which will protect you even if an attacker learns your password.

The most important thing is not reusing passwords. Compromised password databases can’t hurt you if you use a unique password everywhere — unless they store something else important in the database, like your credit card number.

 

December 12, 2016

You Should Update Game Consoles Before Christmas

The last thing you want on Christmas Day is for your kids to be unable to play the game console they’ve waited so long to enjoy. For young kids setting up the console in advance is a sure win. They’re young, they’re super excited to play with their new game console, and they likely don’t care about or even consider the update process. They just want to play with their new toy (and there’s nothing wrong with that).

For older kids the whole process of setting up the console, seeing it update, and, of course, using the voucher codes to select and download the games, is a big part of the process in much the same way that building the gaming PC is a part of the process for many PC gamers.

With that in mind you may consider a sort of compromise when dealing with older kids and the gift of a new game console. If you want your older child to have the experience of unpacking the game console and preparing it themselves (and certainly many gamers young and old would tell you that the unpack/update experience is fun in its own way) you might consider unpacking and updating it with them a few days/weeks in advance so it’s all ready to go but then putting it aside until Christmas. You lose the “Surprise!” factor on Christmas morning but you also get to have a bonding experience with them and the anticipation (and knowledge that console will be ready to go) will definitely keep them excited until Christmas.

Why Do I Want to Do This?
(more…)

July 22, 2016

Modded Minecraft adventures – Resonant Rise 3 Tale #1

Minecraft tales
Modded minecraft adventures, So recently I started playing the Resonant rise 3 modpack again there was been a lot of changes well there was a group of NPCs close to where I staked as my home. these NPCs are from a mod called thaumcraft they are called Crimson Knights. They are jerks.
I was just minding my own business and they some how aggro’d to me I did fair very well. I have been spending a lot of time gathers resources to craft some higher tier ranged weapons such as a crossbow. Since the mod Tinker’s Construct has changed the way crossbows stats are based on the material you used you can no longer just craft one out of the material that provide the most damage. Well you can do that but you will have, even with the maxed out haste modifier added, a really long draw back which makes sense as its metal and an all metal crossbow would be really hard to draw back.
After a lot of trial and error I have a crossbow that will do 10 hearts of damage, more if I crit, with a 1 second drawback or reload, still not ideal but I have not maxed out the haste modifier on it to do so would mean that I would have to get a nether star from killing a wither and I am not ready for that.
after I armored up and grabbed my crossbow I went hunting. the problem is that the knights keep spawning so long as the cleric is channeling the obelisk and you can not get close enough with out pulling the knights. This is why I decided to use the crossbow use it to take out the cleric then equip my sword and go to town on the knights. Then I destroyed the obelisk as I did not want an Eldritch Guardian spawning. Below you will see I have decorated my house with my victory.

2016-07-22_09.52.01

My House Decorated with trophies from the Crimson Knights

June 28, 2016

Gaming

IMG_5171

What is a gamer? We rarely ask that question because we are usually certain what a gamer is. If you’re reading this, then chances are you see one in the mirror every morning. Being a gamer, however, is not the same thing anymore. When I say ‘what is a gamer?’ I mean ‘what is a person whose lifestyle involves, or is based around, playing video games?

I consider myself a gamer, and I have a friend who plays video games but he does not identify as a gamer. How we play games are entirely different. His gaming ‘methods’ are incoherent to say the least, and consisted of running around like a chicken without a head blasting zombies, the Ai survivors and pretty much anything without knowledge of what he was doing. We barely survived any round of any game we played. I’m not mad at him.

Casual gamers were essentially created as a result of games attempting to reach out to a wider audience. Games like Call of Duty and GTA, games with no inherent tie to fantasy or sci-fi, appealed to people who might enjoy games if they were less ‘nerdy’. While good games by most standards (in quality, this isn’t a morality topic), they essentially teared a hole in the boundary between gamers and the rest of society. People who never even played games before enjoyed a universe they could identify with, but one that didn’t have the same boundaries.

And since then that has been the focus of the gaming industry. It must be remembered that any video game business is still a business, with profit being the number one priority. Instead of cultivating the gamer lifestyle, companies tend to capitalize on it.

There would normally be a tenuous to kinship-like peace between these two groups who share a common hobby albeit for different reasons, but recent conditions in the gaming industry are creating a Cain and Abel esc effect.

First and foremost, there is a freezing tension between the two over the favoritism of the gaming industry. As previously mentioned, game developers are businesses with the intention of making money. Their focus is primarily that, which means they will make games that appeal to the majority, which at the time is casual gamers. With that respect there isn’t enough in terms of time and energy to go around, which means that if the gaming industry is appealing to the majority, they will make games geared for casual gamers first, and then regular gamers if there is any money left to use. Strategy games, survival horrors and certain rpgs play second fiddle to games such as multiplayer oriented shooters and rhythm games. You can imagine how unhappy a pc gamer who loves FPS games will be when FPS’ stop being made. It already starting to happen with the rise of third person shooters.

I was a bit annoyed that my friend enjoys gaming only as a novelty when I practically view it as an art-form, so I can only imagine how often strangers meet under similar circumstances and create tension.

In the end video games mean many different things to different people. They can be art, culture, hobby, time waster and even a drug, but when people view games in one light and not the others it creates problems with those who don’t share the same beliefs.

I will continue to play video games with my friend, because he is my friend. Nothing will ever change that. My belief is that there is more to being a gamer than just playing games. Being a gamer means having a passion for everything gaming. What does that make people who just play games?

If I had it my way I’d give them the word “gamer”. For the rest of us it’s just life.