Please backup you data. No joking. I messed up my boot loader and lost my 16.04 Ubuntu once.
My system config is different from yours, so please understand (and may change) every steps before you execute it.

Also note: both Ubuntu 18.04 and Windows 10 use UEFI mode boot.

I have a Dell XPS 13 (9343) with Ubuntu 18.04, and I want to install Windows 10 on it.

Step 1. Allocate space for Windows installation
I used GParted to reduce the size of my existing Ubuntu partition, so I can allocate space for Windows. (Because the Ubuntu partition is for boot, I used Ubuntu’s tool Startup Disk Creator to create a LiveCD to boot from first).
After resizing /dev/sda* (the partition for my Ubuntu installation), I got 80GB unallocated space on my disk /dev/sda.
(Note: I suggest to create a FAT partition from this unallocated space first. If leave it unallocated, I got some error in Step 3 when installing Windows, so I need to get back to GParted again to create a partition).

Step 2. Create Windows USB boot media
I tried the method in this detailed article how to create Windows 10 bootable USB on Ubuntu, but my XPS 13 can’t boot from the created USB.
Finally I need to first create a Windows 10 VM in VirtualBox, and then use the official Create Installation Media Tool from Microsoft. This is a bit tedious. So I suggestion you to try the above linked method first. Only note is, if you are using a recent ISO with larger than 4GB files, you need to format the USB as NTFS.

Step 3. Install Windows 10
Use the created USB bootable to install Windows on the unallocated space (or new created partition, see Notes in Step 1).

After successfully installed Windows 10 and reboot, on my XPS 9343 I can press F12 to enter the boot menu, and select either “ubuntu” or “windows” under the UEFI boot menu.

I have a Dell XPS 13 (9343, 2015 developer edition) with Ubuntu 16.04 and VirtualBox. I created a Windows 10 client and want to test a Windows app with webcam support.

Step 1. Install “Oracle VM VirtualBox Extension Pack”
Before this is installed, if you run command VBoxManage list webcams, you will get error:

VboxMange: error: No extension pack by the name ‘Oracle VM VirtualBox Extension Pack’ was found.

You can download this Extension Pack from After it’s installed, running VBoxManage list webcams will find the cam and its result is like:

Video Input Devices: 1
.1 “Integrated_Webcam_Hd”

Step 2. Start the Windows 10 client, then in VirtualBox’s Devices menu, there is Webcams, check it.
Now Windows will automatically set up this new device. After all are set up, you can run Windows “Camera” app to verify it works.

When logging into Twitter account, it may require you to receive a phone call to get the verification code. This call can be received on a Google Voice number.

  1. Enable Call forwarding, link it to your actual mobile phone number
    Settings -> Calls -> Call forwarding
  2. If you can receive the call, but the call immediately hangs off before it says the verification code, you may turn off Screen calls
    Settings -> Calls -> Screen calls

  1. Connect through USB
  2. adb devices
  3. adb tcpip 5555
  4. Disconnect from USB, and find IP_address of the Android device
  5. adb connect IP_address:5555
    e.g. adb connect
  6. adb devices, and the devices shows as e.g.

If you find the folder for iOS simulator instances: ~/Library/Developer/CoreSimulator/Devices/
uses too much storage, you can delete some of these files in this way:

  1. List the simulators’ IDs
    xcrun simctl list devices
  2. Delete simulator by ID
    xcrun simtrl delete SIMULATER_ID

Note: if there is error saying simctl is not found, you can specify its full path, e.g. xcrun /Applications/ list devices

  1. Run xcode-select –install first
  2. Run brew install graphviz
  3. Run mkdir /usr/local/Frameworks if the following errors occur:

Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir – /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir – /usr/local/Frameworks

When I first used Apple USB-C AV adapter (MJ1K2AM/A) on my Mac mini 2018, there were several problems. But I found these are just some setup issues.

HDMI: I use my Mac mini with 2 Ultrafine 4K (by TB3) and 1 Dell P2415Q (by HDMI), all 4K @ 60Hz. I want to test the HDMI port of this adapter works. When I insert this adapter on a 3rd TB3 on my Mac mini, and connect its HDMI port to P2415Q, there is no video output.

The solution is, just unplug one of the Ultrafine 4K monitor (from TB3). It seems the HDMI port on this adpater only works when there is at most one other monitor plugged in (by TB3). And yes, when use this adapter, the monitor can only run 4K @ 30Hz.

USB: the USB port on this adapter works perfectly when I insert it to the TB3 port of Mac mini. However, when I insert it to the USB-C ports on the back of Ultrafine 4K monitor, the USB port doesn’t work.

The solution is simple: just unplug the TB3 cable of the Ultrafine monitor from Mac mini, then insert the adapter to the monitor, and finally plug the TB3 cable to Mac. I guess there is some data re-negotiation happens.