If you got some however, please don’t throw them out. Here’s how to make them taste better. I was watching an episode of Diner Revival where Amanda Freitag show someone how to make a gluten free pancake and used a banana. That inspired me to give it a shot and it worked well! When following instructions, add a banana to the mix before putting them in the blender.
It’ll add just the texture you want. They’ll taste almost like regular pancakes. Of course, add maple syrup or honey to your liking. 🙂
Drew Houston did the world a favor when found USB sticks becoming inconvenient and founding Dropbox in 2007. Everybody I knew that started using it loved it, especially for collaboration on projects. Another use case that I loved it for was backup. I use it now so that I have a copy of my data elsewhere in case my laptop or whatever I’m using blows up. After seeing Dropbox gaining tracking, many other companies followed suit, including Google Drive, Microsoft, and Box. The ones I use are Dropbox, Microsoft OneDrive because it comes with my Office 365 account with work, and OwnCloud.What’s OwnCloud? It’s an open source version. It’s one that allows you to keep all of your data in the datacenter or wherever you choose to host it, instead of on someone else’s cloud. It could even be on-premise.
Do you need to choose between the different vendors? Well, there is a way to use them or at least some of them simultaneously. The way I do it is have OwnCloud synced with my Documents folder. All of my work that I want to save is always written there. Inside of the Documents folder, I’ll have one folder for Dropbox and another for OneDrive. This way, OwnCloud backs up everything I have in both, Dropbox and OneDrive. I then keep everything that’s personal in Dropbox and everything that I want to share at work on OneDrive.
I love my privacy screen on my laptop. I can work with a little more security, thinking that as like it’s less likely that someone is watching what I’m doing. That said, and there are some trade-offs. One of them is if you want to collaborate with someone, it’s harder for them to see your screen. You’ll need to be sitting directly in front of the screen, so both people will need to be sitting pretty close to each other. On a phone, The same issues apply. Except often, people like to make videos or take photos and if you’re taking photos away or example if you have to raise your arm up and try to snap a photo of something down like if you’re at a ball game or if you want to take a selfie, it will be more difficult. It’s more likely that you won’t even see yourself or see what you’re filming or taking a photo of. On top of this, other issues including when you if you’re watching high definition movies, you lose a little bit of picture. It does not look as good as if you were watching without the privacy filter. And also, you will need to adjust the brightness of your screen. On the phone, this causes another big problem.The battery does not last as long and the phone gets hot very quickly. All that said, I still prefer my privacy and I will continue to use my privacy screens on both my laptop and my phone. I just need to remove it when working with others or if I’m in the sun or driving.
This is a real-world situation I got myself into when I tried connecting to my client VM and found a BSOD that looked like this:
It’s pretty obvious that the reason for the crash is the USB stick that’s plugged in from the usbuhci.sys line in the blue screen. Since I tunnel into my client VM via SSH and VNC, the easiest way for me to shutdown my VM and remedy this issue is through vim-cmd. This only works if you have SSH allowed onto your ESXi host or if you are connecting to the host with the VMware CLI or vMA or whatever they’re calling it these days. I have the former.
The first thing I do after logging into the ESXi host as root is run:
I need to know which one of my VMs is the one to manage. I get this:
At least kernel-3.10.0-514.26.2.el7.x86_64.rpm is broken. With it, you will not be able to use a stack size lower than ~4.5MB.
Here’s some reading on why your applications would want to do this: https://www.systemcodegeeks.com/shell-scripting/bash/using-rlimit-and-why-you-should/
Here’s an excerpt:
Why do we care?
Security in depth.
First, people make mistakes. Setting reasonable limits keeps a runaway process from taking down the system.
Second, attackers will take advantage of any opportunity they can find. A buffer overflow isn’t an abstract concern – they are real and often allow an attacker to execute arbitrary code. Reasonable limits may be enough to sharply curtail the damage caused by an exploit.
Here are some concrete examples:
First, setting RLIMIT_NPROC to zero means that the process cannot fork/exec a new process – an attacker cannot execute arbitrary code as the current user. (Note: the man pages suggests this may limit the total number of processes for the user, not just in this process and its children. This should be double-checked.) It also prevents a more subtle attack where a process is repeatedly forked until a desired PID is acquired. PIDs should be unique but apparently some kernels now support a larger PID space than the traditional pid_t. That means legacy system calls may be ambiguous.
Second, setting RLIMIT_AS, RLIMIT_DATA, and RLIMIT_MEMLOCK to reasonable values prevents a process from forcing the system to thrash by limiting available memory.
Third, setting RLIMIT_CORE to a reasonable value (or disabling core dumps entirely) has historically been used to prevent denial of service attacks by filling the disk with core dumps. Today core dumps are often disabled to ensure sensitive information such as encryption keys are not inadvertently written to disk where an attacker can later retrieve them. Sensitive information should also be memlock()ed to prevent it from being written to the swap disk.
This was a pretty fun project that I had gotten so I figured I would share the experience. There are multiple use cases for virtual desktops. In our case, it’s ephemeral – only need them for a few days for a class so that all students can share the same experience without the need for anything but a web browser. They can probably get a better experience with the PCoIP client, but it could be against some company policies. Most companies will allow HTTPs out, so we figured this would be the easiest way.
The way Amazon WorkSpaces works is that each desktop is assigned to a single user and the users sit in the directory service. The service I’m using is the Simple AD (Samba 4) as I had no need for a huge directory. To create the users, we will just need a UID (sAMAccountName in AD) and a password if using the API to create the desktops. If using the Amazon portal to create the desktops, you’ll need the first and last name and an email address as well. You can easily import a CSV file with this information, but for the sake of simplicity, I just use a generic account name and numbers.
After creating the directory and starting up a single desktop, I went to the “Programs” in the Control Panel and “Turn Windows Features on and off” and “Features” to install the “AD DS and AD LDS Tools”. More information on the RSAT tools is available here: https://wiki.samba.org/index.php/Installing_RSAT
Here’s a short video on how to do it:
Once the RSAT tools are installed, the “dsadd” command will be available to add users. This is the script I’m using that asks for the users and then creates the users:
set /p users=Number of users to create:
echo "Creating %users% students"
set /a count+=1
echo creating student%count%
dsadd user "cn=student%count%,cn=users,dc=corp,dc=amazonworkspaces,dc=com" -samid student%count% -pwd Student%count%
if "%count%"=="%users%" goto done
The script will create users with the username student# with passwords Student# – the capital “S” is just for password complexity.
After creating the users, we can go and create the desktops. To do this, I used awscli. On a Mac or Linux system, it can be easily installed running “easy_install awscli”. After installation, there will be a config and credentials file that should be configured in the .aws directory in your home directory. Once that’s set, you can check to see what workspaces you have by running “aws workspaces describe-workspaces” – that gives you an idea of what your workspaces look like. The minimal template I’m using for workspaces looks like this:
The DirectoryId is the directory service where the users are housed, I’ll be replacing the %username% with student#, and I added RunningMode just to save on costs – they’ll automatically suspend after an hour of idling. It takes about 90s to spin back up if they suspend. The BundleId is the VM that you want to provision. This one is the customized one for our classroom.
With the template in place, we’re ready to run the script:
echo "Number of Desktops to Create [20?]"
while [ $COUNTER -lt $desktops ]; do
echo Creating Desktop number $COUNTER
sed "s/%username%/student$COUNTER/g" create-workspaces.json > /tmp/student$COUNTER.json
aws workspaces create-workspaces --cli-input-json file:///tmp/student$COUNTER.json
echo Created $desktops Desktops.
You can remove the temporary files in /tmp afterwards.