how to use messenger and facebook without the app

Facebook is probably the worst social media company out there, so it makes sense you don’t want their apps on your phone. But unfortunately your less privacy concerned friends are all gleefully using Facebook and Messenger and you don’t want to miss out.

I understand your pain. Here’s a simple guide to still use Zuck’s book on your phone, without the dreaded apps.

Step 1: get a new browser app

We’re going to use the mobile site, which works quite well. To separate all the Facebook traffic from our regular surfing habits and keep Zuck from snooping on us, we’ll use a completely different browser app.

Head over to the Google Play Store and search for “browser“. You’ll see a big list of browser apps, so you just have to pick one you’re not currently using. You are most likely using Chrome as your main browser, or the Samsung browser if you have a Samsung phone, so you can go for Firefox or the DuckDuckGo Privacy Browser as your alternative. Both are good browsers, and I’ve used them both for faking the Facebook. I even use Firefox as my main browser.

The Android Play Store results when looking for a new browser.

Step 2: open your newly acquired browser app, and surf to facebook.com.

After you log in, you’ll be able to use the mobile site pretty much like the app. Now, since this is a separate browser, you just leave your Facebook tab open. Next time you start your dedicated browser app for Facebook, you’ll be logged in already. Easy-peasy. Just don’t use this browser for anything else. If you do, Zuck will be able to follow you around on every site that has anything enabled related to Facebook or Instagram.

Step 3: set up messenger.

Messenger sucks because they want to force you to install the app when you use the mobile site to check your messages. There is a way around this though.
Messenger still works on the desktop site aka your PC/laptop right? So we just have to tell Facebook we’re using that from our phone.
You can do this by going to facebook.com in a second tab on your new browser. Now, you click the 3 dot-menu in the menu bar and activate the “Desktopsite” checkbox. The page will refresh and look pretty much the same, but now it thinks you’re visiting it from a desktop PC. Now open the Facebook hamburger menu, choose Messenger and voilà, there you have all your messages and contacts.

The trick is to leave this second tab open on your phone as well, so you have quick access to your messages whenever you like. After not using it for a while, you might end up with a message telling you to install the app again. This is because the tab refreshed and is back in mobile-mode. When this happens, just go back into the 3-dot menu of your browser and check the “Desktopsite” checkbox again. After reloading the page, you’re set again.
A minor inconvenience for the added privacy of not having Zuck’s spy-apps on your phone if you ask me. ;)

An Android app icon showing Fakebook instead of Facebook. Funny, isn't it?

Step 4: change the icon.

If you want to get fancy, now is the time to long-press the icon of your now dedicated Facebook-browser app and change the icon to… the Facebook icon perhaps? I also change the name to something more appropriate, like Fakebook for example.

Step 5: convince your friends to not use Facebook, WhatsApp or Instagram.

Just kidding.
Maybe.

good breakcore/drum’n’bass/beats for your bandcamp friday lists

It’s been a while since my last Bandcamp friday posts, so here’s some stuff I bought since then that is worth checking out, if you’re into the harder kind of electronic music.

ENRO by DJ Ride album cover

Some beats I’ve been enjoying are First Light from Sleepnet and Enro from DJ Ride. These are on Vision, which is run by the lads from Noisia, so you know it’s going to be high quality. These too are a bit more on the experimental side of the beats spectrum, which is what makes them beautiful.

Let’s increase the speed a bit and enter the land of drum’n’bass.

The Words Below Remastered album cover

The Words Below Remaster by DJ Hidden is a gem if you also like his previous album The Later After. I apparently missed this one in 2009, so I’m glad I spotted this remastered version.
It’s DJ Hidden, so don’t expect him to stick to the strict rules of the genre. He’ll venture out into an ambient landscape or some hardcore pounding now and then, but it’s a fantastic ride to listen to.
Good stuff from DJ Hidden, as always.

Ronin Audio 02 album cover

Also heavy on the drum’n’bass influence is Ronin’s second release on his own label, Ronin Audio 02. This is a lot more of a dancefloor oriented release, with 4 tracks ranging between hard drum’n’bass, darkstep and breakcore. I like the Obese remix, which jumps out as being slower beats track, still in the same dark vein. Obese is another moniker for Ronin’s more breaks oriented material.

Choose Death by Duran Duran Duran album cover

Here’s another interesting one. Choose Death from Duran Duran Duran. This breakcore album is so heavy on the jungle influences, I’d almost call this a jungle album. There’s an FFF remix on it too, so that certainly takes it into nu-jungle territory (if that’s even a genre). There’s also a Ronin remix on there, you know, the one from the album above. I’m not sure about that album cover though. A hotdog?

Glamerous Cool Kids Stuff by Detest album cover

Now we’re getting closer to the hard & heavy stuff, Detest has the Glamerous Cool Kids Stuff LP out on PRSPCT, which is filled with that hardcore banging beats we know him for. On this album he’s showing off his skills and influences (check out Oldschool Trash) by creating a varied set of bangers. Movie Junkie XXL bring a more beat-like oldskool electro-ish vibe in the middle of the album, before getting back to the hardcore industrial style Sleep Knowledge.

Strange Arrival, Anticitizen album cover

Now we’re talking industrial style music anyway, we can’t overlook Strange Arrival’s recent Anticitizen EP on PRSPCT. Eerie soundscapes combined with banging beats is what Strange Arrival stands for. If you like his style, also check out his earlier releases. Borderworlds on Love Hz has a more sci-fi feel to it. Plastic Death on Heresy takes an environmental view on the plastic in the ocean, and finally there’s plain industrial crossbreed darkness on the Imposter Syndrome EP on Genosha recordings.

MERS, Mechanical Paradox album cover

To top it off, here’s some advanced beat-trickery I can only categorize as breakcore-fuck-yeah. Mechanical Paradox is an older release, but a beauty, by M.E.R.S. If I have to name some influences, I’d say Ruby My Dear for the melodies and Squarepusher for the beat mangling. Now we’re talking Ruby My Dear anyway, I missed his Phlegm release from 2019, apparently. It’s filled with more electronic sounding, atmospheric kind of breakcore goodness in his typical style. Love it.
Somewhat in the same vein as the releases above, is the Morphic EP from Anorak on Greymeta. Analog synth sounds and advance, fast-paced beat fuckery is what you can expect here.

darkstep 022 remix compilation

This was a fun one. A remix compo on darkstep.org I joined a while ago, and got a drum’n’bass/crossbreed kinda track selected on called “Fist Fight”.

There’s more track on it by other artists, ranging from jungle, drum’n’bass to speedcore, breakcore and whatever is in between.

You can still send in your own remix if you like, it’s still open. Download the sample pack and get tracking!

.net core: could not load file or assembly runtime error

Shortly after posting about my tips to fix broken builds, I was in for another bug hunt that took a few hours to resolve. This time it wasn’t the build itself that failed, but the package that came out of it. For some reason, the application crashed instantly on a missing DLL error you know and hate in .NET.
Usually it means a Nuget package conflict. Cleaning the build sometimes helps, but not in this case. We are talking about system DLL’s here, so you know you’re in trouble when that happens.

I was getting the following exception at runtime on a .NET Core app. It wasn’t always the same DLL. But every time it was a system DLL like System.Collections, System.Collection.Generic, System.Linq, etc.

Unhandled exception. System.IO.FileLoadException: Could not load file or assembly 'System.Collections, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
File name: 'System.Collections, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at Microsoft.Extensions.DependencyInjection.ServiceCollection..ctor()

When checking the package files, the wrong version of the DLL was in the output, compared to the version number I was seeing in the solution, so the error message was correct. The problem was, why does the build pick the wrong DLL version? My local build output was fine however, so that just adds to the mystery.

The special bit about this project is that it also used a .NET Framework DLL. It was doing some .NET Standard magic in the build.

The symptoms

  • The project has a mix of .NET Core / .NET Standard / .NET Framework projects or Nuget packages.
  • You are building a self contained application (so all DLL’s are copied in the output folder).
  • Seemingly random 0x80131040 errors when I try to run my deployed .NET Core app on system DLL’s.
  • Different builds give errors on different DLL’s, but they are always system DLL’s.
  • A local dotnet publish works, but the output from the build server doesn’t run.

The fix

The fix turned out to be stupefyingly simple. I was build the .sln file for my project in the CI pipeline, instead of the .csproj file for the console application itself.
Apparently things go wrong at build time and the wrong DLL’s are copied into your output folder, giving you the exceptions above on startup.
The reason why the same dotnet publish command works locally is probably because I have version 5 of the dotnet tool on my local machine, due to Visual Studio. On the build server version 3.1 is installed, from the 3.1 SDK. My guess is that the 3.1 version handles mixed solutions differently than the dotnet 5 version.