Hi, I'm Bruce Clay, and this is the Ask Us Anything series. I own several sites that
all have to do with the same industry. I believe the technical term is sister
sites? Some of my sites rank pretty well but others do not. Given that all of
my sites are related by industry, will Google penalize me if I cross link
between all of my sister sites? In general, your biggest problem is going to
be whether you have duplicate content. If you have substantially the same content
or replicated content across your domains, that is going to cause filtering
to occur. There's no duplicate content penalty in Google, but there are filters.
So you may find that the wrong domain will rank or perhaps none of them will
rank because of the duplicate content. It's not so much a penalty as much as
Google can't decide which so they'll decide none. In most cases, if they're
within the same industry, but offering a different value statement, for instance
one sells a product that is only knives and they're from Germany and another
site of your sells knives but they're from the US or one site gives free
shipping and one site gives overnight but you pay for it, all sorts of
difference in the site's - differences in the sites can cause the site to be
considered separate. The other part is Google knows who owns the sites so if
you went out of your way to have different owners, then Google might
consider that you're building a link farm, whereas if they all have the same
registered owner, Google expects you to link to each other, so that would be less
of a penalty. Under normal circumstances, unless you really have a lot of sites
and the sites have very very similar content, I wouldn't worry about it.
The biggest problem with cross-linking is not a penalty from Google, but having duplicate content.
If both sites are in the same industry but offer different values for similar products, you should be okay.
Webpagetest.org can show you and let you test the speed of your site.
For more infomation >> Does cross-linking create a penalty from Google? - Duration: 2:36.-------------------------------------------
Preview: You're Invited To A Wedding Event | Season 17 | FAMILY GUY - Duration: 0:15.
-------------------------------------------
Fox Host Thinks Kavanaugh Accusers Were Hypnotized Into Thinking He Raped Them - Duration: 3:54.
Fox News Host, Judge Jeanine Pirro on Monday of this week actually came out with what might
be the most disgusting conspiracy theory ever about the women who have accused Brett Kavanaugh
of sexual misconduct.
Here it is.
There's an additional point.
I have never seen anything like this in my career over three decades.
I've never seen so many repressed memory cases in my life.
Especially against one guy.
So the question is, if there's something awry going on, was there hypnosis?
Are they using confabulation?
I don't want to get into the weeds here, but you know what, this is the kind of thing where
they have a right to true cross-examination.
But the Democrats don't want true cross-examination because they want Kavanaugh to go first.
So that's right, maybe it didn't happen, maybe all of these women got hypnotized into thinking
that this man did this to them.
Now that would have to be one of the most well orchestrated conspiracies to ever happen
here on American soil and yet Judge Jeanine Pirro, former District Attorney, had the audacity
and/or stupidity to put that out there in the ether and actually suggest that to Fox
News viewers, who I am sure absolutely ate it up.
They probably at this point do believe that these women have been hypnotized and given
false memories of a rape that they think never actually happened.
But that's not the only disgusting thing that Jeanine Pirro said there.
Right at the end she's talking about, you know this isn't fair.
You know there's due process.
Listen, this isn't a trial.
I mean Republicans need to get that their thick little skulls.
This isn't a trial.
It's a job interview.
So yeah, you can be denied a job for all kinds of reasons and it's 100 percent legal.
That's what Kavanaugh is going through right now.
It's not a trial, although he is under oath and he's lied multiple times under oath.
This is just to see if the man is even qualified enough to hold the position, and clearly based
on the evidence we've seen, and even if you exclude every woman who has accused him of
sexual misconduct, the man still isn't qualified.
That's what's so disgusting about all this.
The sexual misconduct alone should have been enough to force him to withdraw his nomination.
Right?
I mean at this point, we have four women now, four women, who have come forward.
Many of them have multiple witnesses too.
They say that, "Hey my witnesses are willing to come to the Senate and testify," but Republicans
won't even let 'em do that.
Were all of those witnesses hypnotized too, Judge Jeanine?
Is that what happened?
I mean are Democrats out there running this massive hypnosis conspiracy?
We got a van traveling around the country to hypnotize anybody into accusing anyone
else, a powerful Republican, of sexual misconduct?
I mean I haven't seen the hypnotizing van, although at the same time maybe I was hypnotized
into thinking I never saw it.
You are absolutely insane.
I mean you're insane.
You're crazy.
There is something wrong with you.
Please go seek help.
Just like that time you went traipsing through the woods thinking you were going to find
Hillary Clinton.
You're not normal and you need to be observed by medical professionals, Judge Jeanine.
In the meantime, I suggest you stay out of this kind of political analysis about what
or may not have happened in Brett Kavanaugh's past and just let it play out the way it needs
to play out.
Unfortunately, Republicans are never going to give us that opportunity and we're gonna
have to wait for Democrats to retake the Senate so that we can finally launch these investigations
and then remove Brett Kavanaugh from whatever bench he's sitting on at the time.
-------------------------------------------
Meet 'The Hate U Give' Star Amandla Stenberg (Starr Carter) | MTV - Duration: 1:08.
The Hate U Give is about a girl named Starr Carter
Starr! What's up?
Starr is my girl. Starr is like my ride or die.
She's fresh, she has really cool style,
and more than anything she cares about her family and her community.
Ma'am, drop the phone!
I have the right to record this.
You get to know her and her different world that she lives in.
Her lower income black community and her white private school.
Where you live does not define who you are.
She's having to split herself into two parts
in order to fit into both worlds.
I have to hide who I am every single day.
Through out the process, she realizes that she doesn't need
to compromise who she is.
I didn't name you Starr by accident.
I think she's really strong.
I think she's dope. I love Starr!
-------------------------------------------
🔴BEST ALL IN ONE APK CetusPlay Android TV box/Fire TV Remote app 2018 - Duration: 10:36.
hey guys welcome back in this video I'm gonna be showing you an amazing
application which will allow you to cast videos from your phone it will allow you
to search for videos online on all of the popular streaming sites and cost
them to your streaming device or allow you to install apks directly from your
mobile phone onto your device on top of that you can even use this as a virtual
mouse so it literally is an all-in-one apk with tons of features and I'm sure
there will be something in here for everybody on top of that what makes it
particularly special is it's 100% free and it works on all of your Android
devices including forest stakes and normal Android devices even the Nvidia
shield can benefit from this apk so with all of that being said let's get started
so I'm doing my demonstration on the second-generation fire stick with Alexa
as previously mentioned this apk works perfectly fine on all of your Android
devices now in terms of installation when you first start the application on
to your cell phone this is what you'll see now the first thing we need to do is
we need to pair this with our fire stake now the process for pairing of the fire
stick is a bit easier than on Android boxes or Nvidia shields because on those
devices you need to go to your application store or your App Store and
install the see display receiver first whereas on fire stick this can actually
be pushed automatically onto your device so let's do that now so on your
application we click on the hamburger menu in the top left and where it says
here no device is found if you click on the manage connection and this will now
scan your wireless network and show you all of the devices that this can be
installed onto now I know my fire stick IP address ends in one seven eight so
let's click on that now that should now make a connection to my fire stake and
remotely install the receiver for me let's just give that a second now we can
see that spinning right now okay we can see the screens now gone black is that a
bad sign that essentially a very good sign because it says now see display has
connected to your TV and we've now established a connection for my fire
stake using application onto my fire TV or fight TV stake so let's see exactly
now what this application can do or at the very basic level we have a fully
functional rumor control which other can be as a d-pad or as a virtual mouse so
we can see now for example press the HOME key here or you can see that
simulates me pressing the HOME key under official remote control and as we can
see me just pressing left or right sends those commands onto the TV and
weeks it's working absolutely fine now if you press this button on the top
right here we can see over a couple of different modes we've got the d-pad mode
which is what I'm currently on you've also got the touch pad mode Mouse mode
numeric mode and also the gamepad mode let me show you the touch pad mode so we
can see now we have a large touchpad and now with me swiping to the left we can
see that this simulates me pressing left on the remote and of course I can press
down as well and just go through the list and if I want to click on something
I just click here let's open this up
now here for example we know this application does require virtual mouse
and I know some of you were struggling installing the standard master toggle
but with this application this does actually come with the virtual mouse
built-in let's try that now so let's press the four squares in the top right
let's now enable Mouse mode and we can just see now with me swiping the fingers
here we can see we now have a virtual mouse on the screen if one selects
something I can do that now so I mean that in itself because I know lots of
people on certain five devices I think the latest 3rd or 4th Gen 5 devices do
have some issues installing a virtual mouse so this application you can do
that and just use the mouse without any problems whatsoever
first back out of that ok let's go to the hamburger menu so after the standard
remote control you got play on TV this will now allow you to cost any kind of
video any kind of picture on your software directly on to streaming device
so let's try video for a second let's try this 4k video and we can see goes
literally as soon as I press play it starts costing onto my device without
any kind of lag or any kind of buffering one click and we're now watching this 4k
video and it's working flawlessly that's looking good ok let's back off that
similarly if you want cost a picture let's click on picture let's try these
pictures here let's click on that and there we can see that's now costing us
pictures onto my device and that's working great let's go back to the
hamburger menu and then you've got the absent ago so this has to be probably
the biggest feature of this application so let's go into that now so just
imagine having an application center on your cell phone that you could then beam
those applications directly onto your device so we can see we go some of the
featured applications over here you got the training applications then you go
categories and let's go into VOD and movies and let's say for example I want
to install Xing TVs let's click on install so you can see it as soon as I
press install guys that beams the apk from my cell phone onto the device and
it starts installing it automatically well that's a really nice and slick
feature guys because not only is all with one click you really have a ton of
applications in all the categories that you could possibly want
and they're all available to install let's press down a few times and click
on install and that's now installing so I think that's a really sleek feature
guys that we can install all these applications with one click and we have
a massive library of applications from all sorts of categories from TV to news
to utilities all these applications are available and they can all be pushed
onto your device let's click on open I have no idea what this application is
and there's the application they're all working fine but I have no idea what
this application is I mean so that was just inside VOD and movies guys but if I
press back here again we can see we have utilities so we can store everything
from a Chrome browser to security cameras we go to how launcher there is
all our previously reviewed Dropbox so lots and lots of applications that can
all be installed onto our device and they can all be pushed out with one
click let's let's try one more so you got this FPT play which is TV online
platform with thousands of TV content 100% legal
let's click on install again we can see we get the prompt on the screen saying
FPT is now installing so really slick guys I'm really impressed at how easy is
it install applications directly onto our box ok let's open her up again I've
no idea what this application is and here we can just see the application
working for and although I've no idea why I'm clicking on that's the
application there anyway let's back out off that so that application Center go
is really impressive lots of applications lots of different
categories there should definitely be something in here for everybody
Colette's backup that let's go back to the hamburger menu ok we can see we got
some options here let's try the first one my apps this will basically now show
me all of the applications I've got installed my first take and we could use
his not to manage this application so let's say for example I'm not using this
application of a hair anymore I can hold that down and I can click on uninstall
click on uninstall again because so basically now allow us to manage
applications installed on our device or from our cell phone let's just click on
OK and that's now being uninstalled so that's my apps which gives us the
ability to manage applications installed on our device we can also click on
applications and we can see that instantly launches our application I
clicked on ok let's back out off that okay next up we go clean more star so
this will basically scan your device and tell you if you do have temporary files
if you you have cash that you could delete or
anything else that could be potentially clogging up your system with this
application with this feature you can actually remotely clear that stuff with
one click next up we've got the screen capture features so not really for
everybody but if you didn't want to capture what's exactly on your fire
stick right now or in your device and here we can just see the screen capture
so if you didn't want to take a picture of the screen without using your normal
camera you can do with this feature and we can see the quality is a lot better
okay so then you go search the cost this has to be one of the big features of
this application so let's click on that now so this now allows you to search for
any content on the Internet if there's any kind of movie I mean legal or TV
show that you want to search for documentary you can search that in here
and then anything that you find and with one click you can cost directly onto
your TV without any kind of downloading so for example with searching for some
documentaries ok so let's find a BBC documentary for a
test ok let's destroy this link here which is
some BBC news click on that so the unit cost is to your devices click on OK and
there we have it guys with one click we are now costing this video directly on
to our devices or any kind of installation that's working great ok
let's back off that it's obvious you can be searching for any kind of like you
know movie or any kind of TV show anything you find one click and you're
now costing that to your TV let's go back to the hamburger menu click options
for YouTube so if you do want to cost YouTube to your TV you can do that so
let's say for example what the cost is video here let's click on that now and
click on the cost on TV button at the bottom and there with the one-click we
are now costing this video on to our device the let's back it off that you
didn't have live channels so this is basically if you do have an m3u playlist
for something that you previously purchased you can add another URL or
like m3u foil and this will now allow you to cost those IP TV channels onto
your device as well so in summary guys I think this is a
fantastic application I'm really impressed with the features some the
Harless include we got the App Center so and here we just got a ton of
applications in all different categories from streaming to utilities to news and
all these applications can be installed directly onto your device with one click
then you go to search the cost feature ago I said pretty much anything you can
find on the Internet any kind of movie or TV show you can search for that and
with the one-click you are now watching out on your big screen with no
installation with no down and that works flawlessly you also have
the my apps features have you in a real application with your currently on your
device you can do that that plus the fact you got the virtual mouse just so
many features in here and it's 100% free and it works on all your devices guys so
this definitely gets a double thumbs up from me and that's all for this video
guys many thanks for watching do leave me a comment below let me know anything
about this application I mean the fact that it's 100% free you can check it out
you can give it a go I mean there's are so many features in here I'm sure
there'll be something in there for you let me know what you think and I'll
hopefully catch up with you guys real soon thanks that's it guys I hope you
find that video useful give me a thumbs up if you did comment below let me know
if this worked for you and please subscribe for more content thanks again
for watching guys oh and if you're interested in a VPN if you click on that
link on the bottom left you'll get a great 46 percent discount if you are
worried about your privacy and you want to stay safe online I do recommend you
check out VPN thanks again guys see you on the next one
-------------------------------------------
How to Create Cloud Snapshots of PostgreSQL Persistent Volume Claims on GKE - Duration: 13:21.
Hi.
In this video, I am going to walk you through how to deal with cloudsnap.
Cloudsnap are point in time snapshots created from existing PVCs and stored in Object Storage
compatible with S3 API.
In this case, we're going to use Google Cloud storage, with a PostgreSQL database, running
on top of a Portworx cluster.
So let's get started.
So before we go any further, let's take a look at the current environment.
So I have exactly one pod running as a part of deployment, and this pod is running a stateful
Postgres database.
And this is obviously backed by a PVC created from Portworx storage class.
So let's take a look at the data that's within this pod.
And this will help us figure out whether the database backup and restore process has been
successful or not.
So now we are within the pod and I am going to invoke the Postgres shell.
So let's take a look at the tables.
So we have a bunch of tables, and then let's also do a count of the rows from one of the
tables.
So this has about five million rows.
Alright.
So let's quit the Postgres shell and also get out of the pod, and get started with the
cloudsnap process.
So cloudsnap, as I mentioned, is going to deal with the object storage service of this
specific cloud provider.
Because Portworx will have to talk to the API, exposed by the cloud storage,
we need to ensure it has right credentials.
So we need to populate the credentials with the right level of access keys and secret
keys, and in the case of Google Cloud, we need to basically create a service account
and a key that's going to be associated with the object storage API.
So for that, we are going to first go to Google Cloud console and then create a key based
on the service account.
So let's do that.
So here we are in the credentials section of GCP console.
So click on create credentials and chose Service Account Key.
And the Service Account Key is going to associate a key with one of the services.
So we are going to choose a new service account and then create a role.
So this role is going to be explicitly dealing with storage, so we'll turn this into storage
admin, which will give full control of Google Cloud storage resources.
So make sure you select this, give it a name, something like px-snap, and then click on,
Create and Download the JSON file to your local development machine.
To save time, I have already gone ahead and created that and it's available here, so the
JSON file is already downloaded.
With that in place, we need to create a credential for Portworx to talk to Google Cloud Storage.
So before we go any further, we need to make sure that we are copying this
JSON file that we are seeing here into one of the nodes of the Kubernetes cluster because
we need to invoke the PXCTL binary from one of the nodes.
So first, let's copy the JSON file that we just downloaded from the GCP console.
And once this is done, let's SSH into one of the nodes.
So here, we have three nodes in the cluster, so I'm going to SSH into one of the nodes.
It doesn't matter which node, but you need to gain access to one of the nodes.
So once we are within the nodes, we can gain access to PXCTL command.
So let's first take a look at the credentials.
So when we execute PXCTL credentials list, it's going to show us all the available credentials.
In this case, we don't have any, so it is blank.
Now I'm going to create a credential to talk to Google Cloud Storage.
So we are going to pass parameters for the provider, which is Google, the project ID,
which is very specific to your GCP project, and then the actual JSON key that you downloaded
from the GCP console.
So this command will result in Portworx creating credentials required to talks to GCS, which
is Google Cloud storage.
Now, when we run PXCTL credentials list, it's going to show us a set of credentials, so
we have Google credentials, the project ID, it is not encrypted, and this is very important
before we create a cloudsnap.
Behind the scenes, cloudsnap will use these credentials to talk to the storage,
which is object storage backend, and in this case it is GCS.
Excellent.
So let's come out of this shell, we don't need to be in the node anymore, and we'll
go ahead with the rest of the steps.
If you are familiar with creating local snaps, local snapshots for Portworx, the process
is not very different.
The only prerequisite is that you need to create the credentials required for the cloud
provider.
And one important thing to note when you are creating credentials within Portworx is to
make sure that you are actually using the secret store as Kubernetes.
So when you are generating the spec, make sure that you are choosing the secret store
type as Kubernetes.
And this makes it seamless when you are creating credentials and accessing them from PVCs and
so on.
I have already gone ahead and integrated this with the spec, so we're already using the
Kubernetes secrets for Portworx.
Perfect.
Alright.
So with all of that in place, we can move on to storage ops where we deal with cloudsnaps
for backing up and restoring the database.
So let's take a look at the PVCs that we have, because we need a PVC as the base to create
a cloudsnap.
And if you've been following the series, you know that there is one and only one PVC backing
up our deployment and the PostgreSQL pod.
So we're gonna use this to essentially create the cloudsnap.
So how does the spec look like?
Well, it's not very different, except that within the annotations we are going to mention
cloud.
And this is the key difference between creating a local snapshot spec and a cloudsnap spec.
So in the cloudsnap spec, we'll add an annotation that will indicate Portworx that we're actually
using cloud.
And because there is only one set of credentials that we created, it's automatically going
to use that to talk to the object storage backend.
So let's create the snapshot from this PVC.
We can verify it with a couple of commands, let's check the volume snapshot creation,
then we're going to look at the data.
And here, we may have to wait for a couple of minutes because, at this point, Portworx
is negotiating.
And there we go, it's negotiating with the cloud storage provider to create a bucket
and copy all the relevant files to that bucket.
Now, it's a good idea to check our object storage browser by accessing the console.
So here we have the object browser within GCS, the GCP console.
Currently, we have no buckets, but when we actually do a refresh, we're going to see
a new bucket.
And this is created by the cloudsnap and through the credentials that we already supplied.
So this bucket is responsible for holding the files related to the snapshot,
and this is a good indicator that the process has been pretty successful and pretty smooth.
Alright.
So with all of that in place, we are now ready to create a new PVC from the snapshot.
But let's check the storage classes first.
Again, if you're not familiar with the snapshot of Portworx, whether it is local or cloudsnap,
you need to understand that the magic behind the snapshot is possible through STORK snapshot
storage class.
This is very essential in terms of taking the snapshot, restoring it, and managing the
entire life cycle.
So if you are using the default settings to install Portworx on your Kubernetes cluster,
by default, this is going to be installed, so you don't need to do anything specific.
But I wanted to call out the specific storage class which is responsible for the life cycle
of snapshots.
Okay.
Now, we're going to create a new PVC from the snapshot that we created.
So here is the PVC definition, everything remains the same, except that we are giving
an annotation that this PVC is not created from an existing PV, but it is coming from
a snapshot and be exposed to snapshot basically refers to this.
Now we're going to create this PVC, so when we do 'kubectl get pvc', it's going to take
a few seconds, and after that it's going to be bound.
So let's put this in watch, and there we go.
Now, this is bound, which means we are now ready to use this with our deployments, pods
and other elements.
Perfect.
So now it's time for us to create a pod.
So let's check out the number of pods.
We still have one pod, the original Postgres, which is based on the PVC, through which we
have taken the snapshot.
So let's leave this as is, and then create a new pod.
And this pod is not different from a standard deployment definition or a replica set or
a pod, except that we are pointing it to an existing cling, which is called the px-postgres-snap-clone,
which is in turn based on this PVC, and this PVC is based on the snapshot that we originally
created.
So it's basically a cascading set of objects that are inter-dependent from the
pod to the PVC to the snapshot.
Alright, so let's go ahead and create the new Postgres instance from the snapshot.
Okay, now then we do 'kubectl get pods'.
We'll see there are two pods, the one which was created originally that contains the sample
data, and now the other one which is basically a snapshot that we restored from the PVC,
which is pointing to the CloudSnap.
So it's time for us to make sure that the data is still there.
So, what we'll do now is to again grab the name of the pod, and then do an exec, access
the psql shell, list the tables.
Perfect.
Looks like everything is intact, and we'll finally check if the count matches.
There should be five million rows within this table, and there we go.
We have exactly five million rows.
That's it.
Now we can quit psql shell, and then get out of the pod.
So, that was the entire walkthrough of creating credentials with PXCTL, pointing the snapshot
to those credentials, and creating a snapshot, and from that creating a PVC, and finally
creating a deployment and restoring an existing snapshot to use within a pod or a deployment.
I hope you found this useful.
Thanks for watching.
-------------------------------------------
GR_Wie man Chromabsturz nach Windows 10 Update 1803 repariert - Duration: 1:52.
Hi, I'm Sami, from Fawzi academy. In this video, I will talk about. Chrome freezes after the Windows 10 April 2018 Update 1803.
Use the Windows Shortcut Keys.
Try to press the shortcut keys Windows logo key + Ctrl + Shift + B simultaneously to wake the screen.
Go to Microsoft fix it. Fix problems that block programs from Microsoft website.
Click Download. Run the program. Follow the instructions to fix the problem. I will provide you with a link to Microsoft website
in the video description area. Go to Microsoft Update Catalog. Download and Install The cumulative update
KB4103721, released for Windows 10 version 1803, includes a fix for Chrome and Cortana freezing issues.
Follow the instructions to fix the problem. Recreate the Chrome Browser Profile.
The corrupted Chrome browser profile could also lead to the Chrome freezes issue, and you could recreate it. Follow this steps.
Restore Your System to an Earlier Version. Follow this steps.
Thank you, for watching Fawzi academy. Please, like. Subscribe, share, this video, and visit, our website, fawziacademy.com.
-------------------------------------------
Nightcore - Down (Lyrics) - Duration: 3:36.
This video includes lyrics on the screen
-------------------------------------------
Full Speech: Jeff Flake Cautions Senators On Eve Of Brett Kavanaugh And Ford Hearings | NBC News - Duration: 9:44.
-------------------------------------------
First Alert Weather - Duration: 3:19.
-------------------------------------------
Who will win the 2019 elections in Prakasam District? - Duration: 8:52.
-------------------------------------------
Jiboner Golpo | Rony | জীবনের গল্প | Bangla Gaan | New | Sad Songs | Video Song | Official - Duration: 4:19.
BanglaSong
-------------------------------------------
The 1975 - TOOTIMETOOTIMETOOTIME (Acoustic Cover) - Duration: 3:05.
-------------------------------------------
StoneAge Chef The Crazy Restaurant & Cooking Game - Android Gameplay HQ - Duration: 3:36.
StoneAge Chef The Crazy Restaurant & Cooking Game Android Gameplay HQ
-------------------------------------------
دع طرق الغي | موفق و بهجت أبوشعر - Duration: 2:52.
Let the roads of deception because the life will demise.
Everyone will die but the god will stay
Let the roads of deception because the life will demise.
Everyone will die but the god will stay
Oh my God. what is this existence? Except indicate of God
There for, stand up and roar for the God and say you are knowing everything ...
Let the roads of deception because the life will demise.
Everyone will die but the god will stay
My heart is not contrite because of the hand picked of youngs
Oh, my shyness in the doomsday from the critic who counts my mistake
Let the roads of deception because the life will demise.
Every one will die but the god will stay
Please, have mercy of my myself because I'm lover...
Inflective and mercy in a look from the family of prophet
Let the roads of deception because the life will demise.
Every one will die but the god will stay
Pray and peace on the prophet who clears the darkness..
And his family and his humanitarian friends. are you missing the Kaaba
Let the roads of deception because the life will demise.
Everyone will die but the god will stay
Performance: Mofak & Bahgatabousha3r
The melody & Lyrics: Ancient Tradition
mixing & mastering: mohammed alsasa
Không có nhận xét nào:
Đăng nhận xét