Tag Archives: technology - Page 6

Maybe This Is A Problem

It’s probably an indication of a problem that I have more phones than hands to hold them.  No, it’s not as bad as it sounds, but it might be becoming a trend.  I had been really good about not buying things I didn’t need and that’s morphing into buying things that would be useful, then into buying things that might be useful.  It’s only a couple steps from buying things that I have no use for.  So, I’m putting myself on notice.

I have five Windows phones in my house.  The first is my ancient Windows 7 phone, the Dell Venue Pro.  It’s a beefy phone and served me well over the years, but it always suffered from a ridiculously poor camera.  The physical keyboard and vertical slider form factor was something I didn’t think I could live without.  Alas, physical keyboards are all but gone anymore (Hi, Blackberry!).  It’s just being kept for nostalgic reasons.

I still have the replacement for the Venue Pro, the Lumia 810 with the shattered screen.  I really don’t need it as a last resort backup anymore, so it will probably be trashed.  It served me very well over the years I had it.

My current phone and the replacement for the 810 is the Lumia 925.  This is an unlocked AT&T phone that I’m using on TMo’s network without any issue.  It’s a nice aluminum phone with a wireless charging shell.  It’s great and all, but looking forward, it’s not on the official Windows 10 Mobile upgrade list, so it would have to be unofficially upgraded with Windows Insider.  It also doesn’t have the specs to run Continuum, which is going to be a big deal in the future.

On a whim, I bought a Lumia 435 for $30 over the holidays.  This is a TMo prepaid phone that I am using exclusively as a music player.  It’s upgraded to Windows 10 Mobile and has a 128GB SD card in it.  it’s tiny and it could be a backup phone if I ever need it to be.  You see, now we’re at the point of “would be useful”.

Then, the step into “might be useful” got me to purchase a Lumia 640 for $60.  This is an AT&T prepaid phone, so I paid an extra $30 for an unlock code so it could be used on any network.  Do I have a need for it?  No.  But I did buy it for the GF to use while her phone (a Sony Z3) was being sent in for repair.  But when I get it back, what will I do with it?  It’s a nice phone – hardware-wise, it’s as good or maybe a little better than my 925.  It doesn’t have wireless charging, but does have an SD card slot.  It also can’t run Continuum.  I guess it’s just going to be a cold spare, waiting for me to drop and shatter my phone again.

With all these phones, I need to be cautious about falling into the gadget trap.  It’s been at least 20 years since I was into buying toys just to see what they would do.  It’s not yet time to get back into that.

Exact Audio Copy Secure Ripping And Image Files

I made a brief comment on this technique in a previous post, but I’m going to expand on it a little more because I tried a practical test of the technique and the results initially seemed valid.

Ok, so you are using Exact Audio Copy to rip your CDs, and you want to make sure they are good rips, but sometimes, you get “Read Error” and even worse, “Sync Error”.  This means you have a problem reading your CDs.  But you look at your CD and it’s pristine.  What’s the problem?

I had this happen on a few CDs and I thought, what if I copied the CD to a binary file, mounted the binary file as a virtual drive, then ripped it from there?  Well, guess what?  That works!  But the skeptic in me wondered why the disc would read as data, but wouldn’t read as audio data.  It’s still reading the bits off the disc, why would one fail and the other didn’t?

So, I needed to prove to myself that a imaged CD was a bit-for-bit copy of the original.  To do this, I decided to rip some imaged CDs with AccurateRip enabled.  AccurateRip creates a checksum from the read data.  The checksum would then be compared against a large database of other known good rips and it would confirm that the results were the same.

So, I chose four CDs from AccurateRip’s Key Disc list and imaged them to files.  I used Daemon Tools Lite for the imaging.  (If you’re going to do this, go to oldversion.com and get an older version of Daemon Tools that doesn’t have the imaging feature removed.  I used v4.45.4 and disabled updates.)  I imaged the discs at 24x speed to lower the chance of read errors. The file format I used was MDX.  ISO would not cut it.  Then I mounted each disc using Daemon Tools to a virtual drive and used Exact Audio Copy to rip the images to WAV.  There is no need to rip to a compressed file because the checksum is calculated from the uncompressed data.

Part of the ripping process in Exact Audio Copy was configuring AccurateRip.  I had to provide three Key Discs for it to properly set the offset for my (virtual) CD drive.  I had four Key Discs, so I was well set.  Ripping from a virtual drive is pretty impressive.  It rips on my computer at 50x, faster than the theoretical 48x max my CD-ROM would do.

Disc 1 results: 8/10 tracks accurately ripped
Disc 2 results: 10/10 tracks accurately ripped
Disc 3 results: 3/9 tracks accurately ripped
Disc 4 results: 5/10 tracks accurately ripped

Not the results I expected.  However, it was curious that discs 1 and 2 were newer discs and 3 and 4 were older discs.  So I grabbed four more CDs, two new, two old, and tried again.

Disc 5 (old): 8/9 accurately ripped
Disc 6 (old): 0/10 accurately ripped
Disc 7 (new): 10/11 accurately ripped
Disc 8 (new): 1/12 accurately ripped

So, that doesn’t help anything, or at least doesn’t prove my hypothesis is correct.  So, let’s rip the physical media and compare it to the virtual rips.  We’ll do discs 5-8 since they’re in front of me.

Disc 5: Virtual 8/9, Physical 9/9.  The tracks that were accurately ripped between the two had the same checksums.

Disc 6: Virtual 0/10, Physical 0/10.  All tracks had matching checksums, just no matching AccurateRip entry.

Disc 7: Virtual 10/11, Physical 11/11.  Same checksums on all successful tracks.

Disc 8: Virtual 1/12, Physical 12/12.  The one successful track matched on checksum.

So what’s the takeaway from this?  It would appear that imaging a CD to a file is the equivalent of ripping a CD in “Burst mode” (as termed by Exact Audio Copy).  This means you may or may not get the exact bytes.  But, when ripping in Burst mode, AccurateRip is not available.  Doing the rip from an image file can get you AccurateRip results for some of the files and will flag others as not accurate.  This way you sort of get the best of both worlds.

But, what you lose is the re-reading attempts that Exact Audio Copy performs in “Secure mode”.  And in those cases, you may be able to salvage a track that might read poorly in Burst mode or through imaging.  Remember, in burst mode, you get one try at reading the data (with error correction).

The important takeaway for me is that imaging a CD makes no improvement.  It’s not going to make the CD any better.  My new plan will be to use Secure mode to rip all the possible tracks, skipping tracks with Read errors, then re-rip the skipped tracks with Burst mode.  That’s the same result as ripping an imaged CD with Secure mode.

Everything’s A Phone Now

A recent post on a blog I follow informed me that there was a great deal happening on an entry-level, budget Windows Phone – the Lumia 435.  I could pick one up for $30.  That made me pause for a moment.

A brand new smartphone, capable of running Windows 10 Mobile, with expandable memory that can take an SD card up to 128GB.  What if I bought it, never put a cellular SIM in it, maxed out the memory and just used it as an MP3 player?  Huh? What’s stopping me?

Let’s look at some current MP3 players.  They are really dwindling in numbers, because, well, smartphones do everything now.  16GB Sony Walkman – $80.  8GB Sandisk Clip – $35.  160GB iPod – $399.  32GB Zune HD – $275.  This phone – $30.  128GB MicroSD card – $50.  And I don’t even need the 128GB card now.  I have a 32GB card from my old phone.  Consider this a done deal.

So now I have another Windows phone.  It’s going to be my new MP3 player.  And better than other MP3 players, it will do Internet and Bluetooth audio, and games, and whatever else I want (except phone calls).

I began setting it up by installing the 32GB SD card I had around and upgrading the phone to Windows 10.  Boy, what a drawn-out process that upgrade was.  When I was done upgrading, I then uninstalled every app except for the ones I needed – primarily Groove Music.

Ok.  Now, how do I get my music on there?  I keep the music on my computer in WMA Lossless.  That format works with Zune.  But you can’t sync to anything other than a Zune device using the Zune software.  And although I can copy the files right to the phone, I don’t want to use my lossless files since they’re around 25MB per song.  I was dreading the idea of manually transcoding my entire library just to copy it and delete it.  Surely there has to be some software that would automate that.

Enter the old stalwart, Windows Media Player.  This software will not die, nor should it ever die.  Windows Media Player can sync files to another device that is nothing more than a memory card.  And in the process of doing so, it can transcode the files to a different bit rate – Exactly what I need.

image

Then you choose what you want to put on your device, and drag it to the Sync pane.  Then Windows Media Player just does its thing.

image

So, with my test using the 32GB card, I got about 40-odd percent of my music on there. There’s some stuff I can take off because it’s not really mobile audio stuff.  I also discovered that Windows Media Player encodes to WMA format, so I probably don’t need a high bitrate of 192k.  192k in MP3 is moderate quality, 192k in WMA is very high quality.  Bringing that down a notch to 160k should reduce the space usage.  And I see I also need to get cracking on cleaning up my album art.

But!  Once that’s all done, I will have a pretty sweet MP3 player, that isn’t a phone, but really is a phone, just not being used as a phone.

Behind-The-Curve Savings

There was an XKCD comic a long while ago that made the joke that if you consistently remain behind the curve, technology still advances and is just as impressive, it’s just that the experience is delayed for you.  It doesn’t say anything about the great savings you will have if you adopt this strategy.  For example, I can pick up a Wii pretty cheaply now.  I think I saw a bunch for $30 at local pawn shops.  I’ve not really experienced the games a lot, so it’s still all new to me.

So, last Friday, I was a little klutzy and dropped my phone.  It was fine.  I’ve dropped my phone a few times in the years I’ve had it (photo history looks like I’ve had my Lumia 810 since March, 2013).  It’s always taken the falls like a champ, even if the case back flies off and makes you think the phone has exploded into pieces.  I have never used a case on my phones – never seen a need to.

Later on that night, I dropped my phone, again.  Geez.  This time, it landed on its side on my chair’s base and when I picked it up, I saw something I’d never seen on a phone of mine before.  It wasn’t cracked, it was shattered.  I was shattered, too.  Now, I had to find a new phone and pretty quickly, too.  This phone still worked.  Touchscreen still worked.  Swiping and dragging was a bit more risky since I don’t like cuts all over my finger.  So, I wouldn’t want to be using it more than a couple of days.

image

I am a Windows Phone user.  What does that mean for me?  Well, I don’t have the massive selection of devices that Android users have, and I don’t have to pay outrageous prices like iPhone users have to.  I had just read a couple of reviews of the newest Microsoft phones to come out and I was a little surprised at the retail prices.  Over $900!  No, that’s not going to happen.

Saturday, I hit some pawn shops looking for a cheap phone replacement until I could figure out what my plan was.  Surprisingly, no one had phones.  I didn’t get it, they used to have craploads of phones.  When I asked about that, I was told that people were pawning phones that weren’t fully paid for and the phones would get blocked, so the next buyer could never activate their phone.  Damn scammers.

So, Amazon it was.  I was amazed at the prices of Windows phones.  Most were less than $200.  And these weren’t cheap phones, either.  The one I ended up getting was the Nokia Lumia 925.  A phone from 2013, discontinued in 2014.  Windows Phone OS is very lightweight, so older phones have no trouble running it, either.  This new phone will still be an improvement over what I had and was under $200.  I don’t need to spend $500 or $800 or $1000 for a new phone.  That’s awesome.

Since it’s a new phone, obviously I need to buy more accessories for it.  This time, I’m going to invest in Qi wireless charging.  The 925 has an optional wireless charging back in a few different colors.  I picked up a white back for cheap (because discontinued phone, right?) and Qi chargers seem to have become commonplace since when I last remember researching them.

And the best thing is, it’s still all pretty much new to me.

I’m With The Band

Today is the one-week mark of my usage of the Microsoft Band.  It has been on my wanted list for quite some time, and with the recent price drop, I made my move.  This coincides with my recent reawakening in exercise from my trip out west, climbing mountains and whatnot.  I regret I didn’t have the Band then, but you have to start somewhere.

At this point, I’ve used the majority of the Band’s features, including Sleep Tracking, Running (hiking and walking in my case), Workouts, and Guided Workouts.  Next month, I plan to buy a bike trainer stand so I can ride my bike indoors and I’ll make use of the Bike feature then.  I’m not sure if I’ll ever use the Golf feature.

To get grievances out of the way first, there’s a lot of reviews out there that say the Band is big and uncomfortable.  The biggest part for the reviewers is that it’s unfashionable.  I will agree.  However, I think the utility of the device outweighs its appearance.  As far as uncomfortable, that’s a personal thing.  To me, it’s noticeable, but the strap is quickly adjustable for any wrist swells throughout the day.  It’s not a deal breaker.

Does it work?  Yes, and very well.  If the question is does it work for tracking activity?  Yes.  Does it work as a motivation tool? Yes, again.  Does it work as a smartwatch?  That’s difficult to answer because everyone has a different idea of what a smartwatch should do.  The Band is a capable notification center on your wrist and if using a Windows Phone, a simple response device.

The data collection abilities of the Band are impressive, but it would be all for nothing if the software displaying and analyzing the data was poor.  Fortunately, the Band’s mobile application and corresponding website are extremely impressive as well.  I hope Microsoft works with FitBit to allow their devices to log activity into the Microsoft Health dashboard because I believe the insights are great.  And, it would allow me to consider a FitBit Charge HR as a next device.  I’ll have to wait until the Band 2 comes out to see.

After only a week, I have become more aware of my activity.  The argument that the Band is noticeable on your wrist actually works in its favor here.  I am consistent in my walking on work breaks.  I’ve been very annoyed that the constant rain showers here are keeping me from the trails.  I started a Guided Workout using weights that will hopefully improve my chest definition and found the experience to be superior to any prior exercise attempts.  Having someone (or something) say, “Now do this.”  “Rest now.”  “Now do this.” is so much better than having a piece of paper and saying to yourself, “What do I do next?”  It seems like a small difference, but it isn’t.  Self-guided workouts leave you unaccountable; you can stop anytime.  Even having a device guide you is more motivating.  Obviously a personal trainer would be the epitome, but the band is less than $200.

I feel the Band purchase was money well spent.  To be honest, I was kind of at a do-or-die point in my life and I guess I decided to give it one more try to reverse the decline I’ve been in for the last couple of years.

Windows 10 Install Party

Party of one, your laptop is ready…  So, another Windows milestone, and I have to see how this new version is going to work out.  First up is upgrading the laptop from Win 8.1 to 10. 

First thing I notice: the upgrade install takes a long time.  Over 2 hours in my case.  Once completed, I ran through a few apps to see how they performed.  I initially had a problem with Faststone Image Viewer where the windows taskbar would still be displayed when viewing pictures in full-screen mode.  That problem went away after my AMD graphics driver applied its proper settings.

Then I tried the Edge browser.  Nothing would connect.  Odd, because Skype worked, and I could ping Yahoo, I just couldn’t browse anywhere.  I disabled my HOSTS file and rebooted.  No luck.  I had Firefox installed, so I tried that.  Websites load fine in Firefox.  So what did I have different in Edge.  It seems to be a DNS issue.

To get right to the solution, it was my fault.  At some point long since forgotten, I disabled the DNS Client service on the laptop.  This service caches DNS entries so applications don’t have to call to remote servers over and over to get IP addresses.  It’s never been required before.  Until now.  The Edge browser apparently uses the DNS Client service exclusively.  Maybe Cortana does as well.

So, that’s resolved.  All my other important applications worked as well: KeePass, Veracrypt, Zune.  I tried out the Groove Music application, since it’s the successor to Windows Media Player.  It’s not bad.  It’s close to Zune, if it only had a better Now Playing view.

Interesting quirk with Groove Music.  When I was testing Windows 10 out in beta, I wanted to see how OneDrive-integrated music would work.  So I uploaded a few albums to OneDrive and did some testing on my phone.  It didn’t seem to do what I expected, so I deleted all but one of the albums.  On my fresh install of Windows 10, some songs from a couple of those albums appeared in my library.  I couldn’t play them, couldn’t download them, and they had the message “To play, purchase a Groove Music Pass.”  I guess Groove Music has its own library that syncs?  Oh well.

Storage Plans

Today I started doing some housekeeping on my computer in regard to storage.  Storage is a thing that has become somewhat of an afterthought nowadays, because it’s so damn cheap.  You can easily pick up 3 terabytes of storage for under $100. So why not have everything on your hard drive?  Or why not add additional drives and put everything and then some on there?

Me, I’ve gone back and forth on these concepts and this go-around, it’s time to set some rules and stick to them.  I don’t pretend to believe that my rules would work for anyone else, but consider doing the mental exercise to determine what works for you and what you really want from your computer.

First consideration is storage availability.  When I first installed Windows, I moved all my data files off the C: drive and put them on a separate, larger hard drive.  Then I changed the mapping of Documents/ Music/ Pictures/ Videos to the folders on the new drive.  This gave me the room to expand if I ever needed to.

Next consideration is storage reliability.  This was accomplished by mirroring my data drive.  This is easily done right in Windows.  I’ve tried RAID controllers and NAS units, but the built-in functionality works just as well, I’ve found.  Along with that level of reliability is file backup, for which I use Window’s File History, writing to an external USB drive.  So: redundant hard drives and an external backup.

Then, to the details.  I gave some consideration to the data I was keeping.  I classified it according to access frequency.  I had files I accessed or needed to reference daily or frequently, files that I may need to refer to but aren’t currently active, and files that I probably won’t look at again but can’t delete.  While I was making these determinations, I also made the decision that any video files that I also had on DVD would be removed.  Video isn’t something I play frequently, so the time spent getting the physical disc isn’t a huge inconvenience.

I partitioned my data disk into two hard drives, Data and Archive.  On the archive drive, I enabled Windows file compression, to make the most of the available space.  Normally, I wouldn’t do that on a data drive, but in this case it’s most appropriate because the drive contains files I won’t be accessing frequently.  Then, I planned a third level, which would be external hard drives detached from the system.  Those would hold files that won’t be used much anymore.  Consider it post-Archive.

So the lifecycle of data on my computer would start on my Data drive, move to the compressed Archive drive, then get mothballed onto an external drive.  In this way, I shouldn’t need to keep up with the Jones’ in the drive storage arms race.  My current working set of data isn’t going to grow exponentially, my archive isn’t going to grow forever, and my drawer full of hard drives holding ancient files is not really a concern.  I think it’s a workable system.

As Windows 10 nears, I’m going to make another attempt at using an SSD as my boot drive.  I recently had my work laptop converted to SSD and the speed is addicting.  I didn’t have such good luck with my Windows 8 install on SSD, so here’s hoping for the best. 

Such Innovation

Google’s at it again.  They’ve added a feature to GMail to allow you to recall an email before it’s been sent.  But really, it’s not recalling the email, all Google is doing is holding the delivery of the email for a pre-determined timeframe.  The time of your potential regret.

I’m not a fan of webmail, never have been.  It’s related to my distrust of the cloud, but also, it also means limited functionality.  This delayed mail feature has existed forever in desktop mail applications.  You see, back when the Internet was an expensive option, people didn’t stay connected all the time.  Users were limited in minutes or they had to call long distance, or they had to use their phones for talking to people.

Email applications operated as such:  you would connect to your internet provider, download all your mail, disconnect, read and reply to all your email, then reconnect and send your replies.  So all email applications provided a way to store your emails in an Outbox for later sending.  You can use this functionality to save yourself from sender’s regret.

To enable the Outbox queue in Windows Live mail, go to Options>Send and uncheck “Send messages immediately”

image

In Outlook, the option is under Options>Advanced>Send and Receive

image

I didn’t see any way to accomplish this using the Mail app in Windows 8.1 or Windows 10.  Progress!

So, if you defer your messages in the Outbox, when do they get sent and how do you control when they get sent?  In Windows Live Mail, this is defined in Options>General.  Your Outbox messages will be sent when new messages are checked (10 minutes in this case).  Uncheck that option to make WLM wait until you click Send/Receive to explicitly send your messages.

image

Outlook gives you much more control over when and how messages get sent.  This is under the Send/Receive Groups, which is accessed by clicking the Send/Receive button shown in the last screenshot.

image

Things haven’t always gotten better, and new features aren’t always new and groundbreaking.

My Level Of Security

I’ll admit, I get around on the web.  I go places that you shouldn’t go.  But for the activity that I do, I’m pretty safe.  There’s only a few precautions I take and I don’t think it’s all that difficult for anyone else to do.

First and foremost, I installed the MVP Hosts file.  This file does a system-level blocking of any network application that tries to access an internet address that is considered advertising or malware.  This makes nearly everything better, because websites don’t get bogged down with ads.  There are some times that I do need to disable it, but those times are few and far between.  Because it’s system-level, that means IE, Chrome, Firefox, or any other application is immediately protected.

If you go looking for it, there is a growing argument that ads should not be blocked on websites, especially legitimate content sites.  I disagree.  I recently read an article on the analysis of the spread of an unpatched vulnerability.  The malware authors used a legitimate ad service that was utilized by many legitimate websites.  This means that there is no ad service that can be fully trusted.  My position is, if you want to display ads, you host them on your domain and you will take full responsibility for their content.  And because the ads are on the same domain as the content, I can’t and won’t block them.  Even if the ads aren’t malicious, legitimate ad services still serve up misleading ads, designed to trick you into clicking them.  They make them look like authentic messages or toolbars or status bars.  That’s not advertising, that’s flat-out deception.

Back to my security.  Next, I block Flash, Java, and all other plugins by default on all websites.  I used to do this in IE by changing the Flash plugin from blacklist to whitelist, but have come to prefer the ActiveX Filtering feature.

And I’m sure certain people would be screaming “You’re using the most insecure web browser evar!”  I would respond with a hearty rolling of the eyes.  Of the three precautions I take, this is the only one I perform at the browser level and without ActiveX, the majority of exploits are defeated.  That leaves JavaScript exploits.  How are these exploits delivered?  Through ads.  Ads that are blocked by the MVP Hosts file.

So, what’s the last piece of defensive software I use?  Microsoft’s EMET utility, which blocks vulnerabilities at the code level.  This is a really low-level utility and is not exactly user friendly, so I pretty much just run it at the default level.  It’s hard to tell if EMET is working because it’s so low-level.  I’ve seen it do its job twice.  Once, when I was using a Java applet on Verizon’s pages to play my voicemail and another on a sketchy website where it looked like the website was trying to perform an SVG image exploit.  I admitted already, I go to bad places sometimes.

Because I take these precautions, I hadn’t thought about being attacked in quite a while.  On a whim, I ran MalwareBytes and it came back with zero results.  My database was over 2 months old, if I saw correctly.

The only thing that I am vulnerable to is downloading Trojans and installing them myself.  And that is simply a personal fault – no fault of my computer or software. I will comment that downloading software from websites has really become a minefield, with sites displaying many different “Download” buttons at once.  You have to study the page and find the correct context for each button to make sure you are choosing the right one.

In summary, I feel I’m doing pretty good with the tools that are made available: KeePass, VeraCrypt (the replacement for TrueCrypt), MVP Hosts, EMET, and IE’s ActiveX filtering.  I use two-factor authentication whenever it’s available.  It’s not something I did all at once.  I added each little piece as I went.  And in total, it doesn’t slow me down at all.

Your Ecosystem Is The Poison You’ve Picked

There will never be agreement and acceptance no matter what ecosystem you have chosen.  Which is it?  Apple, Google, or Microsoft?  Anyone that tries to span multiple ecosystems is going to have a tremendous time trying to keep everything in sync between them.  And for all the wonder an ecosystem brings, it’s also sad.

The Internet was created to provide a neutral environment for services.  The first instance of the “walled garden” was AOL.  “Walled gardens” existed  before the Internet (Compuserve, Dephi, etc.), but that was out of necessity.  AOL came and built a community within a larger community.  And for quite a while, they prospered.  But people started getting savvy and peeking over the walls more and more.  Eventually, they wanted to experience the rest of the world.

The next attempt at corralling users was through authentication.  Why do you need to have so many usernames and passwords when you could just use one?  Microsoft was huge on that concept, with Passport, then Windows Live, now it’s just your Microsoft (or Windows) account.  But it never caught on, right?  Well, not until Facebook started providing the same shared login functionality.

The big battleground now is with mobile devices.  You either have iOS, Android, or Windows Phone, which means you have either an Apple account, Google account, or Microsoft account.  That’s how your data gets stored, backed up, and shared.  Facebook was rumored for a long time to be making a mobile device, but they don’t have an operating system to back it up, so it’s unlikely that would happen.  Amazon tried it and didn’t make it.

But back to the main point, what if you are a Windows user and have an iPhone?  Why wouldn’t you want to have the full integrated experience of the Apple world and get a Mac?  Conversely, why not have the full integrated experience with the Windows phone?  Why not be platform agnostic and just use Google’s services from either OS with an Android phone?

I guess what I’m trying to get across is that the concept of integration is too tightly aligned with the concept of lock-in.  And being locked in to any platform is never a good idea.  I’m looking at you, Facebook.