duplicates = multiple editions
A Classical Introduction to Modern Number Theory, Kenneth Ireland Michael Rosen
A Classical Introduction to Modern Number Theory, Kenneth Ireland Michael Rosen
/* Counting Milliseconds with Timer1 | |
* --------------------------------- | |
* For more information see | |
* http://www.adnbr.co.uk/articles/counting-milliseconds | |
* | |
* 620 bytes - ATmega168 - 16MHz | |
*/ | |
// 16MHz Clock | |
#define F_CPU 16000000UL |
<scheme name="Eclectide Monokai" version="142" parent_scheme="Default"> | |
<colors> | |
<option name="ADDED_LINES_COLOR" value="295622" /> | |
<option name="ANNOTATIONS_COLOR" value="b2c0c6" /> | |
<option name="CARET_COLOR" value="bbbbbb" /> | |
<option name="CARET_ROW_COLOR" value="" /> | |
<option name="CONSOLE_BACKGROUND_KEY" value="1c1c1c" /> | |
<option name="FILESTATUS_ADDED" value="629755" /> | |
<option name="FILESTATUS_DELETED" value="6c6c6c" /> | |
<option name="FILESTATUS_IDEA_FILESTATUS_DELETED_FROM_FILE_SYSTEM" value="6c6c6c" /> |
ℹ️ Please note this research is from 2016 when Opera has first added their browser "VPN", even before the "Chinese deal" was closed. They have since introduced some real VPN apps but this below is not about them.
🕵️ Some folks also like to use this article to show a proof that the Opera browser is a spyware or that Opera sells all your data to 3rd parties or something like that. This article here doesn't say anything like that.
When setting up (that's immediately when user enables it in settings) Opera VPN sends few API requests to https://api.surfeasy.com to obtain credentials and proxy IPs, see below, also see The Oprah Proxy.
The browser then talks to a proxy de0.opera-proxy.net
(when VPN location is set to Germany), it's IP address can only be resolved from within Opera when VPN is on, it's 185.108.219.42
(or similar, see below). It's an HTTP/S proxy which requires auth.
#include <tf/tf.h> | |
#include <nav_msgs/Odometry.h> | |
#include <geometry_msgs/Pose2D.h> | |
ros::Publisher pub_pose_; | |
void odometryCallback_(const nav_msgs::Odometry::ConstPtr msg) { | |
geometry_msgs::Pose2D pose2d; | |
pose2d.x = msg->pose.pose.position.x; | |
pose2d.y = msg->pose.pose.position.y; |
# One liner | |
wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com | |
# Explained | |
wget \ | |
--recursive \ # Download the whole site. | |
--page-requisites \ # Get all assets/elements (CSS/JS/images). | |
--adjust-extension \ # Save files with .html on the end. | |
--span-hosts \ # Include necessary assets from offsite as well. | |
--convert-links \ # Update links to still work in the static version. |
#!/bin/bash | |
echo "Checking for CUDA and installing." | |
# Check for CUDA and try to install. | |
if ! dpkg-query -W cuda; then | |
# The 16.04 installer works with 16.10. | |
curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb | |
dpkg -i ./cuda-repo-ubuntu1604_8.0.61-1_amd64.deb | |
apt-get update | |
apt-get install cuda -y | |
fi |