public class JavaStreamingContext
extends Object
implements java.io.Closeable
StreamingContext
which is the main
entry point for Spark Streaming functionality. It provides methods to create
JavaDStream
and
JavaPairDStream
from input sources. The internal
org.apache.spark.api.java.JavaSparkContext (see core Spark documentation) can be accessed
using context.sparkContext
. After creating and transforming DStreams, the streaming
computation can be started and stopped using context.start()
and context.stop()
,
respectively. context.awaitTermination()
allows the current thread to wait for the
termination of a context by stop()
or by an exception.| Constructor and Description |
|---|
JavaStreamingContext(JavaSparkContext sparkContext,
Duration batchDuration)
Create a JavaStreamingContext using an existing JavaSparkContext.
|
JavaStreamingContext(SparkConf conf,
Duration batchDuration)
Create a JavaStreamingContext using a SparkConf configuration.
|
JavaStreamingContext(StreamingContext ssc) |
JavaStreamingContext(String path)
Recreate a JavaStreamingContext from a checkpoint file.
|
JavaStreamingContext(String path,
org.apache.hadoop.conf.Configuration hadoopConf)
Re-creates a JavaStreamingContext from a checkpoint file.
|
JavaStreamingContext(String master,
String appName,
Duration batchDuration)
Create a StreamingContext.
|
JavaStreamingContext(String master,
String appName,
Duration batchDuration,
String sparkHome,
String jarFile)
Create a StreamingContext.
|
JavaStreamingContext(String master,
String appName,
Duration batchDuration,
String sparkHome,
String[] jars)
Create a StreamingContext.
|
JavaStreamingContext(String master,
String appName,
Duration batchDuration,
String sparkHome,
String[] jars,
java.util.Map<String,String> environment)
Create a StreamingContext.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addStreamingListener(StreamingListener streamingListener)
Add a
StreamingListener object for
receiving system events related to streaming. |
void |
awaitTermination()
Wait for the execution to stop.
|
boolean |
awaitTerminationOrTimeout(long timeout)
Wait for the execution to stop.
|
JavaDStream<byte[]> |
binaryRecordsStream(String directory,
int recordLength)
Create an input stream that monitors a Hadoop-compatible filesystem
for new files and reads them as flat binary files with fixed record lengths,
yielding byte arrays
|
void |
checkpoint(String directory)
Sets the context to periodically checkpoint the DStream operations for master
fault-tolerance.
|
void |
close() |
<K,V,F extends org.apache.hadoop.mapreduce.InputFormat<K,V>> |
fileStream(String directory,
Class<K> kClass,
Class<V> vClass,
Class<F> fClass)
Create an input stream that monitors a Hadoop-compatible filesystem
for new files and reads them using the given key-value types and input format.
|
<K,V,F extends org.apache.hadoop.mapreduce.InputFormat<K,V>> |
fileStream(String directory,
Class<K> kClass,
Class<V> vClass,
Class<F> fClass,
Function<org.apache.hadoop.fs.Path,Boolean> filter,
boolean newFilesOnly)
Create an input stream that monitors a Hadoop-compatible filesystem
for new files and reads them using the given key-value types and input format.
|
<K,V,F extends org.apache.hadoop.mapreduce.InputFormat<K,V>> |
fileStream(String directory,
Class<K> kClass,
Class<V> vClass,
Class<F> fClass,
Function<org.apache.hadoop.fs.Path,Boolean> filter,
boolean newFilesOnly,
org.apache.hadoop.conf.Configuration conf)
Create an input stream that monitors a Hadoop-compatible filesystem
for new files and reads them using the given key-value types and input format.
|
static JavaStreamingContext |
getOrCreate(String checkpointPath,
Function0<JavaStreamingContext> creatingFunc)
Either recreate a StreamingContext from checkpoint data or create a new StreamingContext.
|
static JavaStreamingContext |
getOrCreate(String checkpointPath,
Function0<JavaStreamingContext> creatingFunc,
org.apache.hadoop.conf.Configuration hadoopConf)
Either recreate a StreamingContext from checkpoint data or create a new StreamingContext.
|
static JavaStreamingContext |
getOrCreate(String checkpointPath,
Function0<JavaStreamingContext> creatingFunc,
org.apache.hadoop.conf.Configuration hadoopConf,
boolean createOnError)
Either recreate a StreamingContext from checkpoint data or create a new StreamingContext.
|
StreamingContextState |
getState()
:: DeveloperApi ::
|
static String[] |
jarOfClass(Class<?> cls)
Find the JAR from which a given class was loaded, to make it easy for users to pass
their JARs to StreamingContext.
|
<T> JavaDStream<T> |
queueStream(java.util.Queue<JavaRDD<T>> queue)
Create an input stream from a queue of RDDs.
|
<T> JavaInputDStream<T> |
queueStream(java.util.Queue<JavaRDD<T>> queue,
boolean oneAtATime)
Create an input stream from a queue of RDDs.
|
<T> JavaInputDStream<T> |
queueStream(java.util.Queue<JavaRDD<T>> queue,
boolean oneAtATime,
JavaRDD<T> defaultRDD)
Create an input stream from a queue of RDDs.
|
<T> JavaReceiverInputDStream<T> |
rawSocketStream(String hostname,
int port)
Create an input stream from network source hostname:port, where data is received
as serialized blocks (serialized using the Spark's serializer) that can be directly
pushed into the block manager without deserializing them.
|
<T> JavaReceiverInputDStream<T> |
rawSocketStream(String hostname,
int port,
StorageLevel storageLevel)
Create an input stream from network source hostname:port, where data is received
as serialized blocks (serialized using the Spark's serializer) that can be directly
pushed into the block manager without deserializing them.
|
<T> JavaReceiverInputDStream<T> |
receiverStream(Receiver<T> receiver)
Create an input stream with any arbitrary user implemented receiver.
|
void |
remember(Duration duration)
Sets each DStreams in this context to remember RDDs it generated in the last given duration.
|
<T> JavaReceiverInputDStream<T> |
socketStream(String hostname,
int port,
Function<java.io.InputStream,Iterable<T>> converter,
StorageLevel storageLevel)
Create an input stream from network source hostname:port.
|
JavaReceiverInputDStream<String> |
socketTextStream(String hostname,
int port)
Create an input stream from network source hostname:port.
|
JavaReceiverInputDStream<String> |
socketTextStream(String hostname,
int port,
StorageLevel storageLevel)
Create an input stream from network source hostname:port.
|
JavaSparkContext |
sparkContext()
The underlying SparkContext
|
StreamingContext |
ssc() |
void |
start()
Start the execution of the streams.
|
void |
stop()
Stop the execution of the streams.
|
void |
stop(boolean stopSparkContext)
Stop the execution of the streams.
|
void |
stop(boolean stopSparkContext,
boolean stopGracefully)
Stop the execution of the streams.
|
JavaDStream<String> |
textFileStream(String directory)
Create an input stream that monitors a Hadoop-compatible filesystem
for new files and reads them as text files (using key as LongWritable, value
as Text and input format as TextInputFormat).
|
<T> JavaDStream<T> |
transform(java.util.List<JavaDStream<?>> dstreams,
Function2<java.util.List<JavaRDD<?>>,Time,JavaRDD<T>> transformFunc)
Create a new DStream in which each RDD is generated by applying a function on RDDs of
the DStreams.
|
<K,V> JavaPairDStream<K,V> |
transformToPair(java.util.List<JavaDStream<?>> dstreams,
Function2<java.util.List<JavaRDD<?>>,Time,JavaPairRDD<K,V>> transformFunc)
Create a new DStream in which each RDD is generated by applying a function on RDDs of
the DStreams.
|
<T> JavaDStream<T> |
union(JavaDStream<T>... jdstreams)
Create a unified DStream from multiple DStreams of the same type and same slide duration.
|
<K,V> JavaPairDStream<K,V> |
union(JavaPairDStream<K,V>... jdstreams)
Create a unified DStream from multiple DStreams of the same type and same slide duration.
|
<T> JavaDStream<T> |
union(scala.collection.Seq<JavaDStream<T>> jdstreams)
Create a unified DStream from multiple DStreams of the same type and same slide duration.
|
<K,V> JavaPairDStream<K,V> |
union(scala.collection.Seq<JavaPairDStream<K,V>> jdstreams)
Create a unified DStream from multiple DStreams of the same type and same slide duration.
|
public JavaStreamingContext(StreamingContext ssc)
public JavaStreamingContext(String master, String appName, Duration batchDuration)
master
- Name of the Spark MasterappName
- Name to be used when registering with the schedulerbatchDuration
- The time interval at which streaming data will be divided into batchespublic JavaStreamingContext(String master, String appName, Duration batchDuration, String sparkHome, String jarFile)
master
- Name of the Spark MasterappName
- Name to be used when registering with the schedulerbatchDuration
- The time interval at which streaming data will be divided into batchessparkHome
- The SPARK_HOME directory on the slave nodesjarFile
- JAR file containing job code, to ship to cluster. This can be a path on the
local file system or an HDFS, HTTP, HTTPS, or FTP URL.public JavaStreamingContext(String master, String appName, Duration batchDuration, String sparkHome, String[] jars)
master
- Name of the Spark MasterappName
- Name to be used when registering with the schedulerbatchDuration
- The time interval at which streaming data will be divided into batchessparkHome
- The SPARK_HOME directory on the slave nodesjars
- Collection of JARs to send to the cluster. These can be paths on the local file
system or HDFS, HTTP, HTTPS, or FTP URLs.public JavaStreamingContext(String master, String appName, Duration batchDuration, String sparkHome, String[] jars, java.util.Map<String,String> environment)
master
- Name of the Spark MasterappName
- Name to be used when registering with the schedulerbatchDuration
- The time interval at which streaming data will be divided into batchessparkHome
- The SPARK_HOME directory on the slave nodesjars
- Collection of JARs to send to the cluster. These can be paths on the local file
system or HDFS, HTTP, HTTPS, or FTP URLs.environment
- Environment variables to set on worker nodespublic JavaStreamingContext(JavaSparkContext sparkContext, Duration batchDuration)
sparkContext
- The underlying JavaSparkContext to usebatchDuration
- The time interval at which streaming data will be divided into batchespublic JavaStreamingContext(SparkConf conf, Duration batchDuration)
conf
- A Spark application configurationbatchDuration
- The time interval at which streaming data will be divided into batchespublic JavaStreamingContext(String path)
path
- Path to the directory that was specified as the checkpoint directorypublic JavaStreamingContext(String path, org.apache.hadoop.conf.Configuration hadoopConf)
path
- Path to the directory that was specified as the checkpoint directory
hadoopConf
- (undocumented)public static JavaStreamingContext getOrCreate(String checkpointPath, Function0<JavaStreamingContext> creatingFunc)
checkpointPath
, then StreamingContext will be
recreated from the checkpoint data. If the data does not exist, then the provided factory
will be used to create a JavaStreamingContext.
checkpointPath
- Checkpoint directory used in an earlier JavaStreamingContext programcreatingFunc
- Function to create a new JavaStreamingContextpublic static JavaStreamingContext getOrCreate(String checkpointPath, Function0<JavaStreamingContext> creatingFunc, org.apache.hadoop.conf.Configuration hadoopConf)
checkpointPath
, then StreamingContext will be
recreated from the checkpoint data. If the data does not exist, then the provided factory
will be used to create a JavaStreamingContext.
checkpointPath
- Checkpoint directory used in an earlier StreamingContext programcreatingFunc
- Function to create a new JavaStreamingContexthadoopConf
- Hadoop configuration if necessary for reading from any HDFS compatible
file systempublic static JavaStreamingContext getOrCreate(String checkpointPath, Function0<JavaStreamingContext> creatingFunc, org.apache.hadoop.conf.Configuration hadoopConf, boolean createOnError)
checkpointPath
, then StreamingContext will be
recreated from the checkpoint data. If the data does not exist, then the provided factory
will be used to create a JavaStreamingContext.
checkpointPath
- Checkpoint directory used in an earlier StreamingContext programcreatingFunc
- Function to create a new JavaStreamingContexthadoopConf
- Hadoop configuration if necessary for reading from any HDFS compatible
file systemcreateOnError
- Whether to create a new JavaStreamingContext if there is an
error in reading checkpoint data.public static String[] jarOfClass(Class<?> cls)
cls
- (undocumented)public <T> JavaDStream<T> union(JavaDStream<T>... jdstreams)
jdstreams
- (undocumented)public <K,V> JavaPairDStream<K,V> union(JavaPairDStream<K,V>... jdstreams)
jdstreams
- (undocumented)public StreamingContext ssc()
public JavaSparkContext sparkContext()
public JavaReceiverInputDStream<String> socketTextStream(String hostname, int port, StorageLevel storageLevel)
hostname
- Hostname to connect to for receiving dataport
- Port to connect to for receiving datastorageLevel
- Storage level to use for storing the received objectspublic JavaReceiverInputDStream<String> socketTextStream(String hostname, int port)
hostname
- Hostname to connect to for receiving dataport
- Port to connect to for receiving datapublic <T> JavaReceiverInputDStream<T> socketStream(String hostname, int port, Function<java.io.InputStream,Iterable<T>> converter, StorageLevel storageLevel)
hostname
- Hostname to connect to for receiving dataport
- Port to connect to for receiving dataconverter
- Function to convert the byte stream to objectsstorageLevel
- Storage level to use for storing the received objectspublic JavaDStream<String> textFileStream(String directory)
directory
- HDFS directory to monitor for new filepublic JavaDStream<byte[]> binaryRecordsStream(String directory, int recordLength)
directory
- HDFS directory to monitor for new filesrecordLength
- The length at which to split the records
public <T> JavaReceiverInputDStream<T> rawSocketStream(String hostname, int port, StorageLevel storageLevel)
hostname
- Hostname to connect to for receiving dataport
- Port to connect to for receiving datastorageLevel
- Storage level to use for storing the received objectspublic <T> JavaReceiverInputDStream<T> rawSocketStream(String hostname, int port)
hostname
- Hostname to connect to for receiving dataport
- Port to connect to for receiving datapublic <K,V,F extends org.apache.hadoop.mapreduce.InputFormat<K,V>> JavaPairInputDStream<K,V> fileStream(String directory, Class<K> kClass, Class<V> vClass, Class<F> fClass)
directory
- HDFS directory to monitor for new filekClass
- class of key for reading HDFS filevClass
- class of value for reading HDFS filefClass
- class of input format for reading HDFS filepublic <K,V,F extends org.apache.hadoop.mapreduce.InputFormat<K,V>> JavaPairInputDStream<K,V> fileStream(String directory, Class<K> kClass, Class<V> vClass, Class<F> fClass, Function<org.apache.hadoop.fs.Path,Boolean> filter, boolean newFilesOnly)
directory
- HDFS directory to monitor for new filekClass
- class of key for reading HDFS filevClass
- class of value for reading HDFS filefClass
- class of input format for reading HDFS filefilter
- Function to filter paths to processnewFilesOnly
- Should process only new files and ignore existing files in the directorypublic <K,V,F extends org.apache.hadoop.mapreduce.InputFormat<K,V>> JavaPairInputDStream<K,V> fileStream(String directory, Class<K> kClass, Class<V> vClass, Class<F> fClass, Function<org.apache.hadoop.fs.Path,Boolean> filter, boolean newFilesOnly, org.apache.hadoop.conf.Configuration conf)
directory
- HDFS directory to monitor for new filekClass
- class of key for reading HDFS filevClass
- class of value for reading HDFS filefClass
- class of input format for reading HDFS filefilter
- Function to filter paths to processnewFilesOnly
- Should process only new files and ignore existing files in the directoryconf
- Hadoop configurationpublic <T> JavaDStream<T> queueStream(java.util.Queue<JavaRDD<T>> queue)
queue
- Queue of RDDsqueueStream
, there is no way to recover data of
those RDDs, so queueStream
doesn't support checkpointing.public <T> JavaInputDStream<T> queueStream(java.util.Queue<JavaRDD<T>> queue, boolean oneAtATime)
queue
- Queue of RDDsoneAtATime
- Whether only one RDD should be consumed from the queue in every intervalqueueStream
, there is no way to recover data of
those RDDs, so queueStream
doesn't support checkpointing.public <T> JavaInputDStream<T> queueStream(java.util.Queue<JavaRDD<T>> queue, boolean oneAtATime, JavaRDD<T> defaultRDD)
queue
- Queue of RDDsoneAtATime
- Whether only one RDD should be consumed from the queue in every intervaldefaultRDD
- Default RDD is returned by the DStream when the queue is emptyqueueStream
, there is no way to recover data of
those RDDs, so queueStream
doesn't support checkpointing.
public <T> JavaReceiverInputDStream<T> receiverStream(Receiver<T> receiver)
receiver
- Custom implementation of Receiverpublic <T> JavaDStream<T> union(scala.collection.Seq<JavaDStream<T>> jdstreams)
jdstreams
- (undocumented)public <K,V> JavaPairDStream<K,V> union(scala.collection.Seq<JavaPairDStream<K,V>> jdstreams)
jdstreams
- (undocumented)public <T> JavaDStream<T> transform(java.util.List<JavaDStream<?>> dstreams, Function2<java.util.List<JavaRDD<?>>,Time,JavaRDD<T>> transformFunc)
dstreams
- (undocumented)transformFunc
- (undocumented)JavaPairDStream
.toJavaDStream().
In the transform function, convert the JavaRDD corresponding to that JavaDStream to
a JavaPairRDD using org.apache.spark.api.java.JavaPairRDD.fromJavaRDD().public <K,V> JavaPairDStream<K,V> transformToPair(java.util.List<JavaDStream<?>> dstreams, Function2<java.util.List<JavaRDD<?>>,Time,JavaPairRDD<K,V>> transformFunc)
dstreams
- (undocumented)transformFunc
- (undocumented)JavaPairDStream
.toJavaDStream().
In the transform function, convert the JavaRDD corresponding to that JavaDStream to
a JavaPairRDD using org.apache.spark.api.java.JavaPairRDD.fromJavaRDD().public void checkpoint(String directory)
directory
- HDFS-compatible directory where the checkpoint data will be reliably storedpublic void remember(Duration duration)
duration
- Minimum duration that each DStream should remember its RDDspublic void addStreamingListener(StreamingListener streamingListener)
StreamingListener
object for
receiving system events related to streaming.streamingListener
- (undocumented)public StreamingContextState getState()
Return the current state of the context. The context can be in three possible states -
public void start()
public void awaitTermination() throws InterruptedException
InterruptedException
public boolean awaitTerminationOrTimeout(long timeout) throws InterruptedException
timeout
- time to wait in millisecondstrue
if it's stopped; or throw the reported error during the execution; or false
if the waiting time elapsed before returning from the method.InterruptedException
public void stop()
public void stop(boolean stopSparkContext)
stopSparkContext
- Stop the associated SparkContext or notpublic void stop(boolean stopSparkContext, boolean stopGracefully)
stopSparkContext
- Stop the associated SparkContext or notstopGracefully
- Stop gracefully by waiting for the processing of all
received data to be completedpublic void close()
close
in interface java.io.Closeable
close
in interface AutoCloseable


--- layout: post icon: whatshot title: Share-PSI 2.0 Krems Workshop - A self sustaining business model for open data detail: true lang: en ref: SharePSI-Krems ---
Share-PSI 2.0 network organizes a workshop that address the topic of self sustaining business models for open data. This workshop takes place on 20th and 21st May 2015. It is hosted by the Danube University Krems, Centre for E-Governance and it is collocated with the CeDEM 2015 Conference.
The aim of this workshop is to identify good practice of the open / big data / PSI business ecosystem that will serve others by lowering entry barriers to start a data driven business and help the public sector establish a sustained data flow. Participation in the workshop is free. Deadline for the session proposals and the plenary papers is 20th April 2015. Please see the Krems Workshop website for details.
Share-PSI 2.0 is the European network for the exchange of experience and ideas around implementing open data policies in the public sector. It brings together government departments, standards bodies, academic institutions, commercial organisations, trade associations and interest groups to identify what does and doesn't work, what is and isn't practical, what can and can't be expected of different stakeholders. The impetus for the Share PSI 2.0 Thematic Network is the revised European Directive on the Public Sector Information. The main activity of the network is to organise a series of workshops examining different aspects of PSI. In each workshop, the network partners with direct experience will present their case studies. The output of the workshops will be offered as input to the W3C Data on the Web Best Practices Working Group.
Share-PSI 2.0 is co-funded by the European Commission under the ICT Policy Support Programme (ICT PSP) as part of the Competitiveness and Innovation Framework Programme; Agreement no. 621012.
For more information please see the Share-PSI 2.0 website.


All Stop
Powered By: Vanihba Ihsoj
Search Book
Search Google
Search Movie Torrents
Search Subtitles
Contact: vanihbaihsoj@yahoo.com


{% include "header.html" %}
ID
Domain
Insertion Time
Status
User
Event
{% for event in events %} {% include "events.html" %} {% end %}
{% include "controlTable.html" %}


In case you're here for the transparency report (for some reason), here's your report: no cash recieved from Ko-Fi and I'm still looking for a job to pay the bills. The main problem with that right now is that, well...I'm not 18 yet. My birthday is on July 30th. Hopefully I'll be able to get one by then, though.
Alright, now for the part you're here for - DSA Bot. It's a project I've worked on for a year and a half, and for what it's worth, I'm proud of it, and the final update that just got released. However, if you're a developer or user of the bot, I personally urge you to wait just a little bit longer for its replacement.
DSA Bot started out as a passion project and in some ways it still is. I've worked on it for a year and half, and I think it's definitely time for some changes. I think it's important to show all the problems, though, so let me try and explain them.
It's really only meant for one small community.
DSA Bot is called "DSA" because it's made for the DSA Esports club. Because of that, there's a lot of inside jokes in there (like cough) and generally lesser-made code.
Public Domain
I made the bot use Unlicense initially due to it being incredibly simple at the time. It was mainly just an example of how a bot can be programmed. Since then, it's become more complex, and would benefit greatly from a license change.
Dependence on repl.it
Repl.it is a great platform for new coders - it's a free service that lets people run anything they want, from simple scripts to discord bots, all the way to separate other platforms.
What it isn't great at is being a dedicated hosting service. It's not meant for big projects that lots of people will use, that's just not what its for. In fact, all of it is shared through a handful of IP addresses. That's fine...until you realize it makes APIs and services unusable since everyone is doing it through the same IP.
That is why, if you use DSA bot and try to play a song, you may get a 429 code. That means there's too many requests, even if there isn't that much through the bot itself, and there's not much we can do about it.
One man job
I've briefly talked about it in my last post, but all of my projects up till now have all been done solo. Of course, they're open source and on GitHub, but there wasn't that much people that knew about them. That was fine at first, but with how many projects are in development, I'm obviously being stretched a bit thin here.
So, now that we understand what lead me to making a new version, let me show what I have planned.
In collaboration with a few people I met, along with the esports organization that I'm still not allowed to say who they are, I'd like to present - gg bot.
Note - Logo is not final.
gg bot is a "reimagining" of DSA Bot, in that it's less so a rewrite, but a rethinking of the concepts and commands in the bot. We will be going through everything, improving on what's existing, and trimming out the fat.
Since development starts right after this post goes up, there's not much I can say about it yet. If you want to help though, feel free to contact me through any of my socials. The best way to get to me is either through Discord, Twitter, or Email.
With gg bot going to be a thing, what will happen to DSA Bot? Well, until gg bot releases, it will still be up. This will still be hosted on repl.it, though, so do be wary of 429 errors. When it releases, though, DSA bot will be shut down.
Of course, it can still be available through self-hosters and forks, but we still ask that developers wait until gg bot releases. It should only be used as a more fleshed out base for a bot.
As for the code for DSA Bot itself, it will go into permanent maintenence mode. No features will be added, and only critical bugs and security flaws will be patched. This is to give the most amount of effort to developing gg bot, and for anyone that relies on DSA Bot, we ask that you use gg bot instead. It won't be public domain, but it will be on a license that has very little restrictions (possibly MIT or GPLv3)
If you still want to check out DSA Bot while it lasts, you can get the bot here.
If you're reading this at the time of release, please note that this update will be pushed to the master branch and the public discord bot itself at 11:30 AM PT, with it going back up at 12 AM PT. This is to give time to compare changes and to give server owners a chance to prepare for the downtime.
Thanks for reading. I still don't really know how to end these besides with the o/, so..... byee!
o/
~ggtylerr


Get essential MIT information and services anytime, anywhere on your mobile device: m.mit.edu
The MIT Mobile Web offers up-to-date information, optimized for different types of mobile devices. Find people, places, events, course news, shuttle schedules, and more. All you need is a mobile device with a web browser and either WiFi or a data plan*
Click here to preview the site on your desktop or laptop.


Title of the card goes here
Subtitle goes here, underneath the title
Last score: 80%
13 runs
15q
Title of the card goes here
Subtitle goes here, underneath the title
Last score: 80%
13 runs
15qqq
Title of the card goes here
Subtitle goes here, underneath the title
Last score: 80%
13 runs
15qqq
Title of the card goes here
Subtitle goes here, underneath the title
Last score: 80%
13 runs
15qqq
Title of the card goes here
Subtitle goes here, underneath the title
Last score: 80%
13 runs
15qqq


Web Application. Click the Red Square First
Click Me
Fill the Contact Form
First name:
Age:
Phone Number:
Email:
Submit to the Dom
Remove from Dom
Then, Click the green Square
Click Me 2
Next, Click the Red Button to make it disappear
Finally, Change My Colour


Installation of the Module/SkinObject is done in the same way as any other DotNetNukeŽ Module: select the option 'module definitions' from the 'Host' menu, and select "Upload new module" from the action menu. Select the PA zip file on your local computer, and click "upload new file". The selector is now installed. The language selector can be used as a skin object or as a module. You can see in the sample skin how you can use the selector as a skin object.
The package also contains one sample skin, derived from the standard dnn-blue skin, you can install this skin in your portal to start working immediately with the language selector. Mind you, the sample skin also contains references to the Apollo PageLocalization module. If you did not install Apollo PageLocalization, the skins that have "PL" in the name, will not work as expected.
If you are using a previous version of MLLanguageSelector, you can just install this version in the normal way. However, due to the changes in rendering of the selector, if you are using the language selector as a skinobject, and the admin skin contains a language selector, you will see a viewstate load error. This error will look something like this:
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
Once you navigate to any other page in your portal, this error will disapperar, and everything will be ok.
The language selector supports 3 modes: menu, flags and hyperlinks. Although you can use the 3 modes concurrently, typically you will select either one of the modes. The advantage of using the flags mode or the hyperlinksmode is that these modes cause the selector to render basic hyperlinks which can be easily followed by any search indexing spider. using this will make sure that search engines find all languages of your site, not only the default language!
Another feature of the MLLanguageSelector is the ability to map languages to another language. This is useful in the following situation: suppose you have a portal that supports 3 languages, and you finished adding content for 2 languages, and are still working on content for the 3rd language. If your portal is publicly available, your visitors will be able to also see the 3th language. If you disable the 3rd language in admin>languages, then the language can still be "automatically" selected if it's the first preferred language in the browsersettings of the anonymous user. Furthermore, you won't be able to select the language yourself, so how would you be able to continue adding your content?. Comes in MLLanguageSelector. With the MapLanguages feature, you can redirect all requests for the 3rd language to one of the 2 other languages, but you yourself will always be able to see and select the third language. So you can edit content for your third language in peace, and just make it available whenever you like (by removing the mapped language setting). Of course mapped languages will be invisible in the language selector
If only one language would be rendered in the selector, and attribute HideCurrent has been set to True, then the languageselector will render nothing at all
The module with a basic module.css stylesheet (in the folder /DesktopModules/MLLanguageSelector/), which is used for both the module and the skinobject. This stylesheet is used to format the tables that are used to render the language selector. You can edit these settings, or override them in your skin.css to make the display different. You can turn off the usage of the stylesheet for skinobjects by adding the attribute UseStyleSheetForSkinobject = "False" to the skinobject definition. This option is not available in the module settings, simply because it has no meaning for a module. This means that this attribute will not be generated by the Generate SkinObject attributes option in the module settings either.
Rendering of the module/skinobject is done in table form, which is a break from previous versions, which rendered the selector as is. The main reason for this change is a better control in the layout of the language selector. You can adjust the layout by changing the module.css file that comes with the language selector. This is the default css file:
NOTE: if you are using the language selector with other controls in the same placeholder/tablecell in your skin, due to the use of tables, you will experience some alignment problems. You have to options: set the display of the enclosing table for the selector to inline (either in class MLLanguageMenuLayoutTable or in class MLLanguageMenuTable, depending on whether you are showing flags/hyperlinks)
If you use the selector as a skin object, you can pass a couple of parameters to the language selector, with these parameters you control the behavior. These same parameters can be set if you use the selector as a module, via the module settings option. NB: from the module settings page, you can generate the correct attributes for use with the skinobject. You can choose to either generate ascx type attributes, which will generate the complete skinobject for you, or xml type attributes, which will generate the correct xml settings for the language selector.
The following settings / parameters are supported:
| parameter | use | allowed values | default value |
| DisplayType | Selects how the name of the language is rendered. Resourcename means that the names for languages will be pulled from the resource file. This is usefull if the automatic language/country name is not to your liking. The resources can be found in the file MLLanguageSelector.ascx.[Locale].resx |
EnglishName |
NativeLanguageName |
| cssClass | Sets the style of the dropdown menu and the links | any valid css class name | skinobject |
| Alignment | To render the links and/or flags of the selector horizontal or vertical |
Horizontal Vertical |
Horizontal |
| Separator | To separate the links/flags. Use cssClass to format the separator | any valid html | empty |
| hideCurrent | Hides the current selected language in the flag/links view. A special case is the use of this attribute in combination with the Menu. Due to the nature of the dropdown menu, hidecurrent is not supported for the menu, as this would hide the current language, making a different language seemingly selected in the selector. That language can not be selected, because it is already "selected". There is one exception to this: if there is only one language available for display in the menu, the menu (and the flagimage for the active language) will be invisible. |
True False |
True |
| Hyperlinks | Show hyperlinks. This will render a hyperlink for all available languages |
True False |
False |
| Flags | Shows flags. This will render a flag image/hyperlink for all available languages. All flags for DotNetNuke supported cultures (which is a subset of all asp.net 1.1 supported cultures) are included, in total 110. If you want to use your own flag, save a .gif image in the "flags" directory of the selector directory (the selector is installed in /desktopmodules/MLLanguageSelector/). Name your files after the 2-letter iso 3166 countrycode (so for instance "us.gif" for United States) |
True False |
False |
| Menu | Show menu. This will render language dropdown menu. See remarks for attribute HideCurrent. |
True False |
True |
| MenuFlagPosition | Setting to display a flag for the current selected language left or right from the pulldown menu |
None Left Right |
None |
| displayLabel | Show a label in front of the selector |
True False |
False |
| LabelCSSClass | CSS class to be used for the label | any valid cssclass | skinobject |
| OnlyLanguageCode | Use only language codes to switch languages (ie: "en" instead of "en-US"). This setting has not real impact, other than a small cleanup in your url: instead of language=en-US you will see: language=en. Note: if you have multiple locales for the same language installed (eg. en-US and en-GB, then this setting will cause one of the locales to be allways selected for both locales. |
True False |
False |
| ForceHidden | Force the language selector to be invisible. Use this setting if you want to use the language selector only as a language mapping control |
True False |
False |
| UseStyleSheetForSkinobject | Load module.css when only the skinobject is used. Disable loading of module.css when you get unwanted interference in your skin.css |
True False |
True |
| MapLanguages |
Setting for mapping languages from one language to another. By mapping is meant:
redirect requests for mapped language to destination language. Syntax: [sourceLocale]:[destinationLocale].
You can add multiple mapped languages by seperating the mappings by a semicolon
(;).
Eg.: "en-US:en-GB;de-DE:nl-NL" for a Dutch site with 4 installed locales: en-US, en-GB, de-DE and nl-NL. We want all english requests to be redirected to the en-GB version of our site, and for the time being, while we work on the German version of our site, we want to redirect our German visitors to our Dutch site. |
[sourceLocale]:[destinationLocale] | empty |
| MapDomains | Setting for mapping domains to a specific languages. At this moment only fully qualified domain names are supported, which means that the domain name cannot contain a forward slash ("/"). | [fully qualified domain name]:[destinationLocale] | empty |
| useFullLocaleCode | Setting which allows you to set the way flag images are referenced. This is a change from earlier versions, the default value is True, which means that flags are referenced with the full locale code, ie. nl-NL or en-US |
True False |
True |
| tableLess | As there is a lot of focus on tableless designs, you can now let the selector render tableless as well. The default is False, to prevent breaking of skins |
True False |
True |
| altFlagLocation | You can now use your own flag images. If you use this attribute, the foldername should be relative from the portal root directory. If your portalID is 1, you might pass this value: "flags/16x16". The full name for a Dutch flag would then be: /portals/1/flags/16x16/nl-NL.gif. | any valid path under the portal root dir | empty |
| altImageType | If your alternative flag images are not gif but png or something else, you can pass a different extension with this parameter | any valid image extension. You do not need to use the preceding dot | empty |
| FlagType | Allows you to choose from (currently) 2 different flagtypes: simple and modern. The default value is "simple" |
simple modern |
simple |
(c) 2005-2009 - Apollo Software - www.apollo-software.nl


Until 2022 I was an Associate Professor in the Games Academy at Falmouth University.
My main research interests were in artificial intelligence for games and creative domains. I have previously been affiliated with the MetaMakers Institute and the Digital Creativity Labs.
From 2010 to 2013 I was a postdoctoral research associate in the Department of Computer Science and the York Centre for Complex Systems Analysis at the University of York. My research was on artificial intelligence for games, specifically Monte Carlo Tree Search for games with uncertainty and hidden information. I worked with Peter Cowling and Daniel Whitehouse on the EPSRC-funded "UCT for Games and Beyond" project.
I am also a coder, creative technologist and musician, and a director of Beesting Labs.
My Google Scholar profile. My ResearchGate profile.
The following is a partial list of software I have developed as part of my academic research and/or teaching. A more complete list of my software projects is available here.


Uses of Class
com.opengamma.strata.product.fx.ResolvedFxSingle
-
Packages that use ResolvedFxSingle Package Description com.opengamma.strata.pricer.fx Calculators for FX instruments, such as FX forward and FX swap.com.opengamma.strata.product.fx Entity objects describing financial instruments in the foreign exchange market.com.opengamma.strata.product.fxopt Entity objects describing options in the foreign exchange market. -
-
Uses of ResolvedFxSingle in com.opengamma.strata.pricer.fx
Methods in com.opengamma.strata.pricer.fx with parameters of type ResolvedFxSingle Modifier and Type Method Description MultiCurrencyAmount
DiscountingFxSingleProductPricer. currencyExposure(ResolvedFxSingle product, RatesProvider provider)
Calculates the currency exposure by discounting each payment in its own currency.MultiCurrencyAmount
DiscountingFxSingleProductPricer. currentCash(ResolvedFxSingle fx, LocalDate valuationDate)
Calculates the current cash.FxRate
DiscountingFxSingleProductPricer. forwardFxRate(ResolvedFxSingle fx, RatesProvider provider)
Calculates the forward exchange rate.PointSensitivityBuilder
DiscountingFxSingleProductPricer. forwardFxRatePointSensitivity(ResolvedFxSingle fx, RatesProvider provider)
Calculates the forward exchange rate point sensitivity.double
DiscountingFxSingleProductPricer. forwardFxRateSpotSensitivity(ResolvedFxSingle fx, RatesProvider provider)
Calculates the sensitivity of the forward exchange rate to the spot rate.double
DiscountingFxSingleProductPricer. parSpread(ResolvedFxSingle fx, RatesProvider provider)
Calculates the par spread.MultiCurrencyAmount
DiscountingFxSingleProductPricer. presentValue(ResolvedFxSingle fx, RatesProvider provider)
Calculates the present value of the FX product by discounting each payment in its own currency.PointSensitivities
DiscountingFxSingleProductPricer. presentValueSensitivity(ResolvedFxSingle fx, RatesProvider provider)
Calculates the present value curve sensitivity of the FX product. -
Uses of ResolvedFxSingle in com.opengamma.strata.product.fx
Methods in com.opengamma.strata.product.fx that return ResolvedFxSingle Modifier and Type Method Description ResolvedFxSingle
ResolvedFxSwap. getFarLeg()
Gets the foreign exchange transaction at the later date.ResolvedFxSingle
ResolvedFxSwap. getNearLeg()
Gets the foreign exchange transaction at the earlier date.ResolvedFxSingle
ResolvedFxSingleTrade. getProduct()
Gets the resolved single FX product.ResolvedFxSingle
ResolvedFxSingle. inverse()
Returns the inverse transaction.static ResolvedFxSingle
ResolvedFxSingle. of(CurrencyAmount amount1, CurrencyAmount amount2, LocalDate valueDate)
Creates anResolvedFxSingle
from two amounts and the value date.static ResolvedFxSingle
ResolvedFxSingle. of(CurrencyAmount amountCurrency1, FxRate fxRate, LocalDate paymentDate)
Creates anResolvedFxSingle
using a rate.static ResolvedFxSingle
ResolvedFxSingle. of(Payment payment1, Payment payment2)
Creates anResolvedFxSingle
from two equivalent payments in different currencies.ResolvedFxSingle
FxSingle. resolve(ReferenceData refData)
Methods in com.opengamma.strata.product.fx that return types with arguments of type ResolvedFxSingle Modifier and Type Method Description Class<? extends ResolvedFxSingle>
ResolvedFxSingle.Meta. beanType()
org.joda.beans.BeanBuilder<? extends ResolvedFxSingle>
ResolvedFxSingle.Meta. builder()
org.joda.beans.MetaProperty<ResolvedFxSingle>
ResolvedFxSwap.Meta. farLeg()
The meta-property for thefarLeg
property.org.joda.beans.MetaProperty<ResolvedFxSingle>
ResolvedFxSwap.Meta. nearLeg()
The meta-property for thenearLeg
property.org.joda.beans.MetaProperty<ResolvedFxSingle>
ResolvedFxSingleTrade.Meta. product()
The meta-property for theproduct
property.Methods in com.opengamma.strata.product.fx with parameters of type ResolvedFxSingle Modifier and Type Method Description static ResolvedFxSingleTrade
ResolvedFxSingleTrade. of(TradeInfo info, ResolvedFxSingle product)
Obtains an instance of a resolved single FX trade.static ResolvedFxSwap
ResolvedFxSwap. of(ResolvedFxSingle nearLeg, ResolvedFxSingle farLeg)
Creates aResolvedFxSwap
from two legs.ResolvedFxSingleTrade.Builder
ResolvedFxSingleTrade.Builder. product(ResolvedFxSingle product)
Sets the resolved single FX product. -
Uses of ResolvedFxSingle in com.opengamma.strata.product.fxopt
Methods in com.opengamma.strata.product.fxopt that return ResolvedFxSingle Modifier and Type Method Description ResolvedFxSingle
ResolvedFxVanillaOption. getUnderlying()
Gets the underlying foreign exchange transaction.Methods in com.opengamma.strata.product.fxopt that return types with arguments of type ResolvedFxSingle Modifier and Type Method Description org.joda.beans.MetaProperty<ResolvedFxSingle>
ResolvedFxVanillaOption.Meta. underlying()
The meta-property for theunderlying
property.Methods in com.opengamma.strata.product.fxopt with parameters of type ResolvedFxSingle Modifier and Type Method Description ResolvedFxVanillaOption.Builder
ResolvedFxVanillaOption.Builder. underlying(ResolvedFxSingle underlying)
Sets the underlying foreign exchange transaction.
-


9:41
Vancouver to Tokyo
Mount Takao 72% of users go there
Mount Takao is one of the closest natural recreation areas to central Tokyo, offering beautiful scenery, an interesting temple and attractive hiking opportunities. Although outside the city center, the mountain is still located within metropolitan Tokyo and takes only 50 minutes.
Plan
Home
Me
Search
Event Added


Allows for configuration classes to be injected directly into dependent components.
Supports validation of loaded configuration values.
Usage Summary
Configuration class implements the IAppSettings interface.
Configuration class decorated with the ConfigurationSection attribute.
The ConfigurationSection specifies the path to the section in the configuration.
The path is a colon separate path.
A configuration can be validated when created for the first type by implementing the IValidatableType interface.
Instance of the settings class can be injected into a dependent component.
Suggestions
If the settings is domain-specific, it can be placed in the solution's domain project.
If the settings are for configuring a specific technology implementation, it can be placed in the solution's infra project.
Examples
This examples demonstrates the configuration settings being injected into a controller.
Injecting Configuration Settings
This example defines the class CalculationSettings
and injects it into the SettingsController class. The following
is the appsettings.json configuration file used by this example.


The placeholder
attribute should not be used as a
replacement for a label
. For a longer hint or other advisory text, place the text
next to the control.
Use of the placeholder
attribute as a replacement for a label
can reduce the
accessibility and usability of the control for a range of users including older
users and users with cognitive, mobility, fine motor skill or vision impairments.
While the hint given by the control's label
is shown at all times, the short
hint given in the placeholder
attribute is only shown before the user enters a value. Furthermore,
placeholder
text may be mistaken for
a pre-filled value, and as commonly implemented the default color of the placeholder text
provides insufficient contrast and the lack of a separate visible label
reduces the size of the hit region available for setting focus on the control.


Unbind this account?
Are you sure you want to unbind this account from your other identities? If there are more than one other identities that have been bound to this one, they will remain bound after this operation.
Cancel


Related posts
Yes, you might say that blogging about design patterns is boring. But what about interactive version with live examples and Try .NET? Let’s delve into it.
TOC
- Strategy
- Template Method
- Visitor
- State
- Mediator
- Observer
- Memento
- Iterator
- Interpreter
- Command
- ChainOfResponsibility
- Wrapping up
Strategy
Defines a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Strategy adapts behavior at runtime to requirements that are not known in advance.
In general case Pattern Strategy doesn’t restrict the number of operations in defined interface. So it could be one operation (Sort in ISortable) or family of operations (Encode/Decode in IMessageProcessor). In case when it is one operation, it is possible to use .NET specific implementation that relies on delegate Funct<T1, T2,…> or Action<T1, T2,…>.
Use case
- When you want to encapsulate some behavior or part of algorithm.
- When you want to change behavior of runtime.
Tradeoff: Flexibility vs complexity
Frequency of use: High
Diagram
Examples in .NET
- Many extension methods in LINQ accepts strategy methods. For example IComparer<T> or IEqualityComparer<T>.
- WCF contains a lot of examples of strategy pattern: IErrorHandler, IDispatchMessageFormatter, MessageFilter.
Source code: Strategy
Example: Try .NET
public class Program
{
public static void Main()
{
ILogReader logReader;
// log storage number one
logReader = new LogFileReader();
List<LogEntry> logEntryList1 = logReader.Read();
Assert.Equal(2, logEntryList1.Count);
Assert.Contains("LogFileReader", logEntryList1[0].Message);
// log storage number two
logReader = new WindowsEventLogReader();
List<LogEntry> logEntryList2 = logReader.Read();
Assert.Single(logEntryList2);
Assert.Contains("WindowsEventLogReader", logEntryList2[0].Message);
TestRunner.Print();
}
}
Template Method
Defines the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure. In some cases this pattern is better when you have plenty of functionality to reuse or you have complicated hierarchy of behaviors to implement so you could use sliding version of template method.
It is possible to use .NET specific implementation that relies on extension methods and namespaces. So template method is defined by public extension methods, implementation is determined by compile-time.
Use case
- When you want to encapsulate some behavior or part of algorithm.
- When you want to define strict contract for developers to reuse some functionality by using inheritance over composition.
Frequency of use: Medium
Diagram
Examples in .NET
- WCF contains a lot of examples of template method pattern: CommunicationObject, ServiceHostBase, MessageHeader, ChannelBase.
- System.Runtime.InteropServices.SafeHandle represents a wrapper class for operating system handles.
Source code: Template Method.
Example: Try .NET
public abstract class AbstractClass
{
// TemplateMethod
public int Process(IEnumerable<int> items)
{
return items
.Where<int>(this.Filter)
.Select(this.ProcessUnit)
.Aggregate((item, acc) =>
{
acc += item;
return acc;
});
}
protected abstract bool Filter(int item);
protected abstract int ProcessUnit(int i);
}
public class Program
{
public static void Main()
{
var items = new [] { 1, 2, 3, 4, 5 };
// define behavior via subclassing
AbstractClass processor = new ConcreteProcessor1();
int result1 = processor.Process(items);
Assert.Equal(24, result1);
processor = new ConcreteProcessor2();
int result2 = processor.Process(items);
Assert.Equal(15, result2);
TestRunner.Print();
}
}
Visitor
Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.
Use case
- When you want to split data structures and commands. Visitor pattern encourages to adhere OCP (S_O_LID).
- When you want to be able to add operations to stable hierarchy more easily. In OOP world it is easier to arrange object into hierarchy rather than adding new operation for existing hierarchy of objects. Adding new operation is considered as risky move since it is very likely to design fragile solution, Visitor allows to tackle this problem.
Frequency of use: Low
Diagram
Examples in .NET
- ExpressionTreeVisitor for working with Expression Trees in .NET.
- DbExpressionVisitor in EntityFramework in .NET.
Source code: Visitor
Example: Try .NET
// Visitor impl
public class LogEntryVisitor: ILogEntryVisitor
{
public string State { get; set; }
public void ProcessLogEntry(LogEntry logEntry)
{
logEntry.Accept(this);
}
void ILogEntryVisitor.Visit(ExceptionLogEntry exceptionLogEntry)
{
State = $"LogEntryVisitor[{nameof(exceptionLogEntry)}]";
}
void ILogEntryVisitor.Visit(SimpleLogEntry simpleLogEntry)
{
State = $"LogEntryVisitor[{nameof(simpleLogEntry)}]";
}
}
// Program
public class Program {
public static void Main () {
var baseEntry = new SimpleLogEntry () {
Created = DateTime.Now,
Message = "test"
};
var simpleEntry = new SimpleLogEntry (baseEntry) {
AdditionalInfo = "additional"
};
var exceptionEntry = new ExceptionLogEntry (baseEntry) {
ExceptionCode = 111
};
//it is possible to implement multiple visitors for particular hierarchy of objects
// for example: PersistentLogEntryVisitors that allows to process LogEntries and save them to storage
var visitor = new LogEntryVisitor ();
visitor.ProcessLogEntry (simpleEntry);
Assert.Contains ("simple", visitor.State);
visitor.ProcessLogEntry (exceptionEntry);
Assert.Contains ("exception", visitor.State);
TestRunner.Print ();
}
}
State
Allow an object to alter its behavior when its internal state changes. StateClient aggregates state internally and acts in according with current State.
Use case
- When you have a state machine to implement and you feel like the behavior will be changed at some point, so you want to have distinct point of extension.
Frequency of use: Medium
Diagram
Example in .NET
- CommunicationObject in WCF provides a common base implementation for the basic state machine common to all communication-oriented objects.
- Task implements state machine to move between statuses: Created, WaitingForActivation, WaitingToRun, Running, RunToCompletion, Canceled, Faulted.
Source code: State.
Example: Try .NET (+ INotifyPropertyChanged to inspect how state changes intrinsically.)
public class StateOne : BaseState {
public StateOne (StateClient client) {
Client = client;
}
protected override void HandleContext () {
//in general, state is changed based on rules defined within concrete implementation of state (same for StateTwo)
if (base.IsNeedToChangeState ()) {
Client.State = new StateTwo (this);
}
}
}
public abstract class BaseState {
// ...
public int Value { get; protected set; }
public StateClient Client { get; set; }
protected int Threshold { get; set; } = 1;
public virtual bool IsNeedToChangeState () {
return Value >= Threshold;
}
// ...
}
// Program
public class Program {
public static void Main () {
var ctx = new StateClient ();
ctx.State = new StateOne (ctx);
Assert.Equal ("StateOne", ctx.State.GetType ().Name);
//Threshold is reached, lets change to StateTwo
ctx.Process ();
Assert.Equal ("StateTwo", ctx.State.GetType ().Name);
ctx.Process ();
ctx.Process ();
//Threshold is reached, lets change to StateTwo.
//Once again, rules could be defined within state (e.g. different value for threshold or something like that)
Assert.Equal ("StateOne", ctx.State.GetType ().Name);
TestRunner.Print ();
}
}
Mediator
Define an object that encapsulates how a set of objects interact.
Mediator could be used at different level of application. It could be class as mediator, component as mediator, application-layer as mediator. For example, components could be connected in Composition Root by applying Mediator pattern.
Use case
- When you want to describe interaction between autonomous components in loose-coupled way. Implicit mediator vs explicit mediator.
Frequency of use: Medium
Diagram
Examples in .NET
- EventAggregator class in WPF.
- In MVC, Controller is actually a mediator.
Source code: Mediator.
Example: Try .NET
public class Chatroom : AbstractChatroom {
private Dictionary<string, User> _users = new Dictionary<string, User> ();
public override void Register (User user) {
if (!_users.ContainsValue (user)) {
_users[user.Name] = user;
}
user.Chatroom = this;
}
public override void Send (string from, string to, string message) {
User participant = _users[to];
if (participant != null) {
participant.Receive (from, message);
} else {
throw new KeyNotFoundException ("User not found");
}
}
}
Observer
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. Implementation could be based on push model, when clients is notified with all data needed or pull model, when clients are just notified and request data on demand.
It is hard to find classic interface based implementation of Observer in .NET because of presence of delegates (EventHandler<T>), events, IObserver/IObserverable and Reactive programming libs.
Use case
- Consider Observer when you have one-to-many dependency and you want to facilitate lose-coupling.
- When there is a complicated communication between collection of objects you could implement Mediator based on Observer.
Frequency of use: High
Diagram
Examples in .NET
- IObserver/IObserverable in .NET.
- AppDomainSetup.AppDomainInitializer, HttpConfiguration.Initializer as a point of extension of the app during initialization.
Source code: Observer.
Example: Try .NET
public class Program
{
public static void Main()
{
var subject = new ConcreteSubject();
var observers = new[] { new ConcreteObserver(), new ConcreteObserver(), new ConcreteObserver() };
foreach (var observer in observers)
{
subject.Attach(observer);
}
subject.SubjectState = "init";
subject.Notify();
Assert.All(observers, (el => "init".Equals(el.State)));
subject.SubjectState = "changed";
subject.Notify();
Assert.All(observers, (el => "changed".Equals(el.State)));
TestRunner.Print();
}
}
Memento
Without violating encapsulation, capture and externalize an object’s internal state so that the object can be restored to this state later.
Use case
- When you have distinct list of parameters that you want to manage and externalize for clients of your code.
Frequency of use: Low.
Diagram
Source code: Memento.
Example: Try .NET
public class Program {
public static void Main () {
(string, int) [] states = {
("1", 0),
("2", 10),
("3", 20),
};
Originator originator = new Originator ();
var caretaker = new Caretaker ();
originator.State = states[0];
caretaker.Push (originator.CreateMemento ());
originator.State = states[1];
caretaker.Push (originator.CreateMemento ());
originator.State = states[2];
originator.SetMemento (caretaker.Pop ());
Assert.Equal (states[1], originator.State);
originator.SetMemento (caretaker.Pop ());
Assert.Equal (states[0], originator.State);
Assert.Empty (caretaker);
}
}
Iterator
Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.
Iterators in .NET are unidirectional and lazy, every time you invoke GetEnumerator() new instance is returned. Also, iterators are mutable by default, so it is better to use struct iterators and save yourself from potential issues.
Use case
- Use iterator when you want to provide uniform way to perform custom and stateful iteration of a collection of objects.
Frequency of use: High
Diagram
Examples in .NET
- IEnumerable/IEnumerator - collections in .NET.
- Any object that has GetEnumerator method could play a role of Iterator in .NET.
- yield return construction is used to implement generators in .NET.
Source code: Iterator.
Example: Try .NET
public class Program {
public static void Main () {
var collection = new CustomCollection<int> { 1, 2, 3, 4, 5 };
var iterator = collection.CreateIterator ();
Assert.Equal (new int[] { 1, 3, 5 }, iterator.getCollectionFromIterator ().ToList ());
TestRunner.Print ();
}
}
// part of iterator implementation
//Step = 2;
public override T Next () {
T result = default (T);
if (!IsDone ()) {
result = _collection[_currentIndex];
_currentIndex += Step;
}
return result;
}
Interpreter
Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.
Use case:
- When you work with syntax trees that you want to evaluate in some way.
Frequency of use: Low
Diagram
Source code: Interpreter.
Example: Try .NET
//Program
public class Program
{
public static void Main()
{
var context = new Context();
context.TerminalExpressionArgs = new TerminalExpression[] {
new TerminalExpression(1),
new TerminalExpression(2)
};
AbstractInterpreter[] interpreters = new AbstractInterpreter[]{
new TerminalExpression(3),
new NonTerminalExpression(){BinaryOperation = (a, b)=> a * b }
};
// terminal expression is multiplied based on default value from context
// 3 * 2
Assert.Equal(6, interpreters[0].Interpret(context));
// (1 * 2) * (2 * 2)
Assert.Equal(8, interpreters[1].Interpret(context));
TestRunner.Print();
}
}
Command
Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.
Use case
- When you want to encapsulate operation and detach it from originator.
- When you want to define granular contract between components and encourage ISP.
Frequency of use: Medium High
Diagram
Examples in .NET
- ICommand in WPF.
- IDbCommand in ADO.NET.
- Task<T> accepts Func<T> so it could be interpreted as command.
Source code: Command.
Example: Try .NET
public class Program {
public static void Main () {
var operations = new List < (char @operator, int operand) > {
('+', 10),
('-', 5),
('*', 3)
};
CalculatorClient client = new CalculatorClient ();
foreach (var operation in operations) {
client.Compute (operation.@operator, operation.operand);
}
Assert.Equal (15, client.Result);
client.Undo ();
Assert.Equal (5, client.Result);
}
}
ChainOfResponsibility
Avoid coupling between the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.
Use case
- When you have generalized request/event/operation to be processed by interested parties not know in advance. It is possible to change processing behavior at runtime.
Frequency of use: Medium
Diagram
Examples in .NET
- Event Closing in WinForms, so it possible to prevent form from closing by setting Cancel argument in CancelEventArgs.
Source code: ChainOfResponsibility.
Example: Try .NET
// Example of processor.
public class Director : Approver
{
public Director(string id) :base (id)
{
}
public override (bool, ProcessingLevel) ProcessRequest(Purchase purchase) =>
purchase.Amount < 10 ? (true, ProcessingLevel.Accepted) : successor.ProcessRequest(purchase);
}
// Program
public static void Main () {
List<Approver> approvers = new List<Approver> {
new Director ("#1"),
new VicePresident ("#2"),
new President ("#3")
};
ChainOfResponsibilityManager manager = new ChainOfResponsibilityManager (
new Dictionary<string, string> {
["#1"] = "#2",
["#2"] = "#3"
}
);
var baseApprover = manager.CreateChainOfApprovers (approvers);
Purchase purchase1 = (Purchase) (5.0, 1, "p1");
Purchase purchase2 = (Purchase) (11.0, 1, "p1");
Purchase purchase3 = (Purchase) (16.0, 1, "p1");
Purchase purchase4 = (Purchase) (21.0, 1, "p1");
// process is initiated by first node, conditions is not met so it stops.
// Consider to externalize ChainOfResponsibility to client interface and use node registry to build chain.
// In this case chain execution started from first node.
var result1 = approvers[0].ProcessRequest (purchase1);
Assert.Equal (ProcessingLevel.Accepted, result1.Item2);
// process is initiated by first node. Control is passed to successor.
var result2 = approvers[0].ProcessRequest (purchase2);
Assert.Equal (ProcessingLevel.EscalationLevelOne, result2.Item2);
// process is initiated by first node. Control is passed all the way to last node and processed successfully.
var result3 = approvers[0].ProcessRequest (purchase3);
Assert.Equal (ProcessingLevel.EscalationLevelTwo, result3.Item2);
// end of ChainOfResponsibility
var result4 = approvers[0].ProcessRequest (purchase4);
Assert.Equal (false, result4.Item1);
Assert.Equal (ProcessingLevel.Rejected, result4.Item2);
TestRunner.Print ();
}
Wrapping up
And that’s it. Let me know what you think and feel free to contribute to https://github.com/NikiforovAll/design-patterns-playground.


by Lawrence Yu
Posted on March 6, 2015
In this week’s technical blog, I’ll be going over some common sorting methods programmers have developed but first let me go over the idea of sorting algorithms. Sorting algorithms, as the name implies, are used to sort elements in a list into a certain order. Typically, the sorting order is numerical and lexicographical (dictionary or alphabetical). Sort algorithms are classified by their computational complexity using big O(n) notation, where n represents the number of elements. This value correlates to the computation time. I won’t go into detail about big O notation, just note efficiency is inversely proportionate to the value inside the parenthesis. There is a great deal of research out there trying to find the fastest and most efficient sorting algorithm.
The first sorting algorithm I’ll discuss is the bubble sort algorithm. Bubble sort is one of the most basic and simplest sorts. Bubble sort compares adjacent items and swaps their positions if they are not ordered correctly. The algorithm will continue this process until no more swaps can be made. In terms of performance, on average it has an O(n^2) complexity meaning its efficiency decreases exponentially as the list size increases. Therefore, while bubble sort is simple to implement, it should almost never be used to sort lists
A much more efficient algorithm programmers use is the quick sort. Also sometimes referred as the partition-exchange sort, is a comparison sort where an element is picked as an pivot point. Two new arrays are created where one array stores values greater than the pivot element and the other for lower values (values equal to the pivot element can go to either array). The index of the pivot point is recorded and then a new pivot point is chosen from each sub array. This process is repeated until it can no longer form sub arrays. Finally, the indices all of the pivots elements are used to generate the sorted list. Mathematical analysis of quicksort shows that quick sort, on average, has complexity of O(nlog(n)).
Another algorithm with similar efficiency that programmers often use is call the merge sort. In the merge sort method, the list is first broken down in n single elements sublists. Each element is compared, sorted, and merged with an adjacent list. This process is then repeated until only one list remains (which would be your sorted list). Like the quick sort algorithm, merge sort has a computation complexity of O(nlog(n)).
Too reiterate why you want to use quick or merge sort over bubble sort, suppose we had a computer that took a millisecond to computed something. Using bubble sort to sort something with 1,000 items would take 1000 seconds to compute. Both the quick sort and merge would take on average merely 3 seconds to compute! Each of the methods listed above can be tweaked and optimized to run faster. There are also tons of different sorts other there as well but so far the fastest computing ones are limited to O(nlog(n)). Perhaps after reading this blog, you’ll go other there and try to develop a new algorithm that can sort a list even faster!


Request for Support
During the normal work day (Monday-Friday, 8:00am-5:00pm), you can expect a response from a real person within one school day.
Should you need immediate assistance, call the help desk at
During the normal work day (Monday-Friday, 8:00am-5:00pm), you can expect a response from a real person within one school day.
Should you need immediate assistance, call the help desk at


{include h} {include user_header} {include user_menu} {foreach $thread_data as $v} {include thread_list} {/foreach}


It is an online house rental service. One can rent a house or give house for rent. The website contains varity of houses.


SweetFreeStuff.com
///////////////////////////////////////////
Free Sheba Perfect Portions Cat Food at Kroger & Affiliate Stores
Posted: 11 Dec 2015 09:46 AM PST
http://feedproxy.google.com/&edburner&utm_medium=email
Load the coupon to your shoppers card today only (12/11) and use by 12/27.
Free Sheba Perfect Portions Cat Food at Kroger Affiliate Stores
The post Free Sheba Perfect Portions Cat Food at Kroger Affiliate Stores
appeared first on SweetFreeStuff.com.
///////////////////////////////////////////
Free Redbox DVD, Blu-Ray, or Video Game Rental
Posted: 11 Dec 2015 09:21 AM PST
http://feedproxy.google.com/&edburner&utm_medium=email
Enter code: TT77TK28 on their website. Valid today only. Free Redbox DVD,
Blu-Ray, or Video Game Rental
The post Free Redbox DVD, Blu-Ray, or Video Game Rental appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Carter Mens Hair Care Sample
Posted: 11 Dec 2015 08:51 AM PST
http://feedproxy.google.com/&edburner&utm_medium=email
From their Instagram: Heres how to get yours: *Subscribe to our YouTube
channel. * Leave at least one comment on any video. *Youtube link is in the
bio or visit YouTube.com/CarterSupplyCompany *Within 24 hours you will get
a link for mailing information. Free Carter Flux or Elevate Men’s Hair Care
Sample
The post Free Carter Men’s Hair Care Sample appeared first on
SweetFreeStuff.com.


Claudio Bravo heading for MLS
by BeSoccerManchester City goalkeeper, Claudio Bravo, has offers from three MLS clubs. The club that is most interested in the Chilean's services is New York City.
Bravo is about six months away from his contract ending with Manchester City and neither two parties seem willing to negotiate an extension.
The keeper is not getting the necessary minutes and City want to get rid of a player that, in addition to not playing in the team, also is an expensive signing.
Featured links
- Mourinho replaces Pochettino at Tottenham
- The latest football transfers news and rumours
- Wales, golf, Madrid... in that order
- Luis Enrique returns to Spain national team
We can also add to this bad situation, the bad relationship that exists between the Chilean and the press, that every time they have the chance, they take advantage of him.
It is in this unstable context that MLS appears. According to 'El Mercurio', up to three North American teams are interested in signing Bravo.
Among the teams that are interested is New York City, who are owned by the same owners as Manchester City: City Football Group.


The key to need finding is identifying and filling gaps-- that is, gaps in the way people use products, gaps in the services available, and gaps in the stories they tell when interviewed about their behavior.
Michael Barry, an expert in need finding at Point Forward.
He noticed that parents become terribly embarrassed when asked if their child is "still in diapers." -- How could a diaper become a symbol of success as opposed to failure? Michael came up with the idea for Pull-Ups, a cross between a diaper and underwear. Switching from diapers to Pull-Ups, served as a big milestone for both children and parents. A child can put on a Pull-Up without help, and can feel proud of this accomplishment.
If your goal is to make meaning by trying to solve a big problem in innocative ways, you are more likely to make money than if you start with the goal of making money.
There is great benefit to identifying problems in your midst and then relentlessly working to solve them by challenging traditional assumptions.
The more experience you have tackling problems, the more confident you become that you can find a solution.
One of worst idea for saving energy is to give each employee a quota for how much energy he or she used and to charge extra for executing the alotment. The team that received this idea turned it into an idea that is really worth considering, in which employees do have a quota for how much energy they use. If they use less they get money back, and if they use more they are charged for it. They could even sell energy credits to their co-workers, givimg them even larger incentive to save delectricity.


| Prime Number |
{{element.primeNumber}} |
Name of Business Segment |
{{element.businessSegment}} |
Region |
{{element.region}} |
Branch Code |
{{element.branchCode}} |
Branch Name |
{{element.branchName}} |
Name Of Borrower |
{{element.nameOfBorrower}} |
Team Leader / RRLH |
{{element.rMCreditHub}} |
Limit |
{{element.limit}} |
Frequency |
{{element.frequency}} |
Year |
{{element.year}} |
All 1 QTR Conducted By |
{{element.all1QTRConductedBy}} |
All 1 QTR Conducted Date |
{{element.all1QTRConductedDate|date:'dd-MM-yyyy'}} |
All 2 QTR Conducted By |
{{element.all2QTRConductedBy}} |
All 2 QTR Conducted Date |
{{element.all2QTRConductedDate|date:'dd-MM-yyyy'}} |
All 3 QTR Conducted By |
{{element.all3QTRConductedBy}} |
All 3 QTR Conducted Date |
{{element.all3QTRConductedDate|date:'dd-MM-yyyy'}} |
All 4 QTR Conducted By |
{{element.all4QTRConductedBy}} |
All 4 QTR Conducted Date |
{{element.all4QTRConductedDate|date:'dd-MM-yyyy'}} |
Remarks |
{{element.remarks}} |
Created By |
{{element.createdBy}} |
Modified By |
{{element.modifiedBy}} |
Modified On |
{{element.modifiedOn}} |
Created On |
{{element.createdOn}} |
|
|
|
|


Contact
Message
Files in TF card
My Pictures
My Videoes
My Audioes
Ebooks
Note, no matter in lenonvo notebook or youdao cloud notebook


I'd been on 50mg Zoloft daily for 4 months. I'd had a cold for the past couple days and had been taking Robitussin Flu within prescribed limits to control symptoms. I knew that there was probably some mild interaction with the DXM in the Robitussin and the SSRI, and it had been giving me mild jitteriness with a feeling similar to the come-up on MDMA, but it would always pass pretty quickly.
So one day, out of sheer boredom and stupidity, being a relatively experienced and usually responsible psychonaut, I decided to experiment with intentionally induced seretonin syndrome, the theory being that if I could trigger an overload of seretonin without pushing it too hard, it would provide an experience similar to MDMA.
11:00am-11:30am - Orally ingested 200mg goldenseal. Ate bagel. Orally ingested 50mg Zoloft. Smoked approximately 3g high quality cannabis in water bong. Orally ingested 100mg 5-HTP (with 200mg vitamin C and 25mg vitamin B-6). Orally ingested 650mg acetaminophen, 4mg CPM, 20mg DXM, 60mg pseudoephedrine. Orally ingested 270mg yohimbe (with 420mg Butcher's Broom).
11:30am-12:00pm - Downloaded Family Guy episodes, then got bored and started downloading porn. Mildly baked, noticeable heart flutters and tingly scalp.
12:00pm-1:30pm - Orally ingested 100mg 5-HTP (with 200mg vitamin C and 25mg vitamin B-6). Orally ingested 650mg acetaminophen, 4mg CPM, 20mg DXM, 60mg pseudoephedrine. Orally ingested 270mg yohimbe (with 420mg Butcher's Broom).
Noticeable jitteriness, racing heart, increased urination, altered audio perception, extreme arousal. During masturbation, never actually experienced a singular orgasm, but was dripping ejaculate continuously for at least 5 minutes. Not unlike coming up on an MDMA experience, however, had the feeling of 'hovering on the edge' without quite 'breaking through.' No inclination whatsoever to eat or drink. Starting to feel increased tension in lower back/PC muscles.
1:30pm-2:30pm - Decided to push it hoping for a 'breakthrough.' Orally ingested 100mg 5-HTP (with 200mg vitamin C and 25mg vitamin B-6). Orally ingested 650mg acetaminophen, 4mg CPM, 20mg DXM, 60mg pseudoephedrine. Orally ingested 270mg yohimbe (with 420mg Butcher's Broom).
Had to pee every couple of minutes. Extremely rapid, shallow heartbeat, distinctly altered audio perception, as well as time dilation. Extremely jittery muscles in arms and legs to the point where walking or smoking was difficult.  Rock hard, enormous erection.
At approximately 3pm I got up to go to the bathroom again. While walking there, I noticed a burning sensation between my legs and it felt as if my prostate had swelled up so much my thighs were brushing on it as I walked. The stomach cramps had become the dominating factor, and I sat on the toilet to try and pass gas or anything else that came out. Nothing happened, except the cramps got worse. I stood up to walk out of the bathroom, and all of a sudden it hit me like a wall.
 One second I felt relatively ok, the next second was immediate heavy vomiting. Usually vomiting clears things up if I've been drinking too much, but I knew this would be different.  My heartbeat felt so rapid and shallow, and I felt completely detached from my legs.
At this point I experienced an incredibly rapid onset of extreme perspiration. Within moments I was literally drenched and dripping with sweat. I couldn't figure out if I was freezing or burning up, and I couldn't unclench my jaw despite the flip-flops my stomach was doing.
I was as mentally cognizant of my physical reaction as if I'd taken MDMA, except this time I was unfortunately cognizant of a terribly unpleasant physical reaction. My senses were definitely heightened - and it sucked since it felt like my body had gone completely haywire and I was aware of every little thing gone wrong.
For once I took to praying. I knew that there was pretty much no way out of this one - throwing up didn't really help any, and my options were to either pray, call 911, or collapse and die.  All I kept thinking about was the kid in town who'd died on an MDMA-related overdose a couple years ago and how they found him before he died - naked, drenched in sweat, convulsing, heart racing - and that's how I was right there, naked, drenched in sweat, convulsing, heart racing.
All my psychedelic experience with LSD, MDMA, K, AMT, shrooms couldn't have prepared me for this. None of my coping mechanisms could overcome the distress messages my body was sending me, and I knew that I could very well die. All I could do was pray, and listen for that little voice that was telling me that this would all pass soon - one way or another. I knew I was in extreme hyperthermia and dehydration, and was desperately trying to convince myself that, despite the feeling of freezing, that I should be trying to bring my core temperature down.
Basically the next 2 hours or so were hell. With my teeth firmly clenched and 'the fear' permeating every thought, every few minutes waves of nausea would hit me, and I'd start dry-heaving. Then I'd break out in burning/freezing sweat and muscular convulsions. Then it would feel like my heart stopped beating, then I'd realize I'd stopped breathing. I'd start breathing again, and the cycle would start all over again. All the while I was keenly aware of every horrible sensation, and all the while I felt a burning need to pee but couldn't.
Over the next couple hours, gradually the nausea let up first, then the extreme hot/cold flashes tapered off, and it took several hours (ie. near 9pm) for normal urination and for the convulsions of my legs and arms and neck to stop, giving way to blessed relaxation and extreme soreness.
T+24hrs or so I'm still extremely sore, and feel like I did some real damage to my cognitive skills, such as facial recognition and language skills.
Overall, it was a hard lesson learned, and as many of these close calls go, I feel like I got a second chance at life. More than any of my prior bad/difficult trips, this wasn't so much a fear of 'being stuck' or having generalized fear - I was keenly aware and still am aware that I truly physically was very near death. And yes, as is said many times here - first and foremost, respect life and it's many enhancements.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


We are a new design studio based in USA. We have over 20 years of combined experience, and know a thing or two about designing websites and mobile apps.
Divide have don't man wherein air fourth. Own itself make have night won't make.
A you under Seed appear which good give. Own give air without fowl moveth dry first
heaven fruit, dominion she'd won't very all.
UI/UX Design     75%
web development     90%
marketing     65%
Was years it seasons was there form he in in them together over that,
third sixth gathered female creeping bearing behold years.
Be set fourth land god darkness make it wherein own
Be set fourth land god darkness make it wherein own
Be set fourth land god darkness make it wherein own
Be set fourth land god darkness make it wherein own
Be set fourth land god darkness make it wherein own
Be set fourth land god darkness make it wherein own
Be set fourth land god darkness make it wherein own
Be set fourth land god darkness make it wherein own
Let us know what you're looking for in an agency. We'll take a look and see
if this could be the start of something beautiful.


Content Management
Home
Products
Code
Learn
Discuss
Meet
Blog
News & Events
Developer Community: Content Management
>
Code
> Edit: MarkLogic CQ – Add Media
Add Media
Choose media from already uploaded assets or upload a new asset.
In Media Library
cq_figure1.png
cq_videoTutorial.flv
cq_figure1.png
cq_figure1.png
cq_figure1.png
cq_figure1.png
Upload New


Linear Algebra Learning Resources
| Khan Academy - Full Course | https://www.khanacademy.org/math/linear-algebra |
| Math is Fun - Matrix Multiplication | https://www.mathsisfun.com/algebra/matrix-multiplying.html |
| Math is Fun - Vectors | https://www.mathsisfun.com/algebra/vectors.html |
| Songho - Projection | http://www.songho.ca/opengl/gl_projectionmatrix.html |
| Wikipedia - Vector Transformations with Matrices | http://en.wikipedia.org/wiki/Transformation_matrix |
| Wikipedia - Quaternions | http://en.wikipedia.org/wiki/Quaternion |
Some .obj files to use in Vector Visualizer
| Cube | cube.obj |
| Cone | cone.obj |
| Cylinder | cylinder.obj |
| Torus | torus.obj |
| UVSphere | uvsphere.obj |


Excluding packages from decompilation
It's possible to exclude all the classes in a package from decompilation in order to
skip over code you're not interested in. The exclusion may apply to the named package,
or the package and all its subpackages.
The effect of exclusion is to cut IntelliJad out of the process for opening a file, i.e. the
class stub will appear in an editor.
Packages can be excluded in two ways:
- By entering the name of the package into the exclusion table, or using the package navigator via the
"..." button. Note that at present, the package navigator is only available in the project-configuration
dialogue.
-
In the decompilation dialog's Advanced tab, you can choose to exclude the package
of the current class. Recursive exclusion for the package may also be defined here.
If a package is excluded using this method, you can later edit the settings using
the exclusion table.
If the "Always exclude packages recursively" checkbox is enabled, recursive exclusion for the package will be
enabled. Additionally, the "Exclude recursively" checkbox of the decompilation dialog will automatically be selected when this option is used.
Once a package has been excluded, you can then control its subpackage exclusion from the exclusion table.
Each exclusion has a flag controlling whether it is enabled. This allows you enable or disable exclusions without having to add or
remove them from the table.


untangled
about us
resources
activities
motivate!
Push yourself today.
Even if you only got out of bed today, feel proud of yourself.
It's okay to take your time and take small steps.
Go Back


Checks for any member that is annotated with @DataPoint but is not public or not static.
New in 13, Powered by InspectionGadgets


Hyperspace
Last Updated: 14/05/2019
Purpose
A code of conduct is a document that establishes expectations for behavior for participants of a community or project.
Like most technical communities as a whole, Our community is made up of a mixture of professionals and volunteers from different backgrounds and specializations, working on every aspect of the mission - including mentorship, teaching, and connecting people.
Diversity is one of our huge strengths, but it can also lead to communication issues and unhappiness. To that end, we have a few ground rules that we ask people to adhere to. This code of conduct applies equally to leaders, mentors, representatives, and learners the same.
This isn’t an exhaustive list of things that you can’t do. Rather, take it in the spirit in which it’s intended - a guide to make it easier to enrich all of us and the technical communities in which we participate.
This code of conduct applies to all Hyperspace activities and events. This includes the mailing lists, the questions asked, supports given from and to fellow learners, and any other forums created by the project team which the community uses for communication. In addition, violations of this code outside these spaces may affect a person's ability to participate within them.
Code of Conduct
- Introductions. When starting a new direct message with someone especially mentors, it is of good etiquette to always introduce yourself, say what you do. It helps smoothen the conversation and serves as an Icebreaker.
- Be welcoming. We are striving to be a community the welcomes and supports each other. This includes and is not limited to ethnicity, gender, economic class, educational level, etc.
- Be patient and friendly - Don’t be a “know it all” . A great number of us are here to learn from one another. If you feel you are above this, please do well to keep this information to yourself and not intimidate others who just started or are trying to carve a path to a new career.
- careful in the words that you choose. We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. This includes, but is not limited to:
Violent threats or language directed against another person.
Discriminatory jokes and language.
Posting sexually explicit or violent material.
Posting (or threatening to post) other people's personally identifying information ("doxing").
Personal insults, especially those using racist, tribalistic/(xenophobic) or sexist terms.
Unwelcome sexual attention and repeated harassment of others.
Advocating for, or encouraging, any of the above behaviors.
- Virtual Spaces. Please adhere to the purpose of the virtual spaces. No posting of irrelevant content or ads or broadcast messages with no correlation to the community’s activities.
- Physical Meetups and Events Although the organizing teams often have everything locked down it's still a kind gesture to help out during the course of community activity. As it helps to reduce the workload for everyone on the team.
- Event Spaces and Equipment Dear friend, please use and handle equipment and event spaces for our community activities carefully, sometimes they are given to us in good faith. It would be unfair to leave them damaged or littered/messed up. So always keep these spaces better than you met them, it speaks well of everyone at the end of the day.
Reporting bad behaviour
If you feel uncomfortable or think there may be a potential violation of the code of conduct, please report it immediately using one of the following methods. All reporters have the right to remain anonymous. All complaints will be reviewed and investigated and will result in a response appropriate to the circumstances. By sending information to the general reporting line, your report will go to any or all of the Hyperspace representatives listed below.


--- layout: post title: Episode 083 | Scott Hanselman - Learn Balance link: http://traffic.libsyn.com/developeronfire/DeveloperOnFire-83-ScottHanselman.mp3 length: 42991616 speaker: Dave Rael duration: '45:23' subtitle: 'Developer On Fire: Scott Hanselman' guest_name: Scott Hanselman image: /assets/images/ScottHanselman.jpg guest_blog: http://www.hanselman.com/ guest_twitter: shanselman disqus_url: http://developeronfire.com/Podcast/Episodes/scott-hanselman-learn-balance episode_number: 83 book_recommendations: - { url: "http://www.amazon.com/dp/0735611319/?tag=devonfir-20", title: "Code: The Hidden Language of Computer Hardware and Software", author: "Charles Petzold"} tags: - { url: "http://www.amazon.com/dp/0735611319/?tag=devonfir-20", title: "Code: The Hidden Language of Computer Hardware and Software", author: "Charles Petzold"} redirect_from: - "/83/" - "/083/" - "/0083/" - "/scott-hanselman-learn-balance/" - "/Scott-Hanselman/" - "/ScottHanselman/" - "/Podcast/Episodes/83/" - "/Podcast/Episodes/083/" - "/Podcast/Episodes/0083/" - "/Podcast/Episodes/scott-hanselman-learn-balance/" - "/Podcast/Episodes/Scott-Hanselman/" - "/Podcast/Episodes/ScottHanselman/" guid: http://developeronfire.com:80/Podcast/Episodes/scott-hanselman-learn-balance ---
Scott Hanselman is a web developer who has been blogging at http://hanselman.com for over a decade. He works in Open Source on ASP.NET and the Azure Cloud for Microsoft out of his home office in Portland, Oregon. Scott has three podcasts, http://hanselminutes.com for tech talk, http://thisdeveloperslife.com on developers' lives and loves, and http://ratchetandthegeek.com for pop culture and tech media. He's written a number of books and spoken in person to almost a half million developers worldwide.
1. Listen more than you do
2. Be kinder than you are
3. Sleep more


Bulk Geocoding
Get your API key at
locationiq.com
Upload a txt file with on each line the address you want to geocode.
Enter you API key:
Number of requests per minute allowed by your plan/key (default 60):
Parse the file
Status:
Result:


GPerf-A Global Performance Measurement Network
这儿放标题
{$vo.title}
{$vo1.title}
Sign In
|
Register
User Center
|
Logout
Welcome to GPerf - A Global Performance Measurement Network.
To share your probes, just click here.
Sign up for new probe!


{% extends 'votings/base.html' %} {% comment %} Copyright 2018 - 2019 Fabian Wenzelmann Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. {% endcomment %} {% load bootstrap4 %} {% block content %}
| Name | Eingetragen |
|---|---|
| {{ voter.name }} | |
| {{ voter.name }} |


Talcahuano is in central Chile, on Concepción Bay. It is the port for the city of Concepción. This harbour is one of the finest along the Pacific coast of South America. It serves large ships as well as being the site of the principal Chilean naval base. It was severly damaged in the tsunami of 2010.
The city is connected by rail to Concepción, Santiago, and Valdivia.
Position 36° 42'S, 73° 05'W.
This is a Port of Entry. See Noonsite/Chile/Formalities for information.
The marina is reported to be operational.
The yacht club was destroyed by the tsunami in 2010 and its current state is not known.
Last updated January 2016.


{% extends "vuln_base.html" %} {% block script %} {% endblock %} {% block style %} {% endblock %} {% block navpath %}
{% endblock %} {% block content %} {% if files %}The following Red Hat CVRF were uploaded:
The Red Hat CVRF library includes thousands of entries.
To save processing time, only those CVRF files which are not already imported are downloaded.
This means that potential revisions are missed. To force a reimport of a particular Red Hat CVRF file, delete the Red Hat CVRF file from the file system.
{{ error_message }}
{% endif %}


--- layout: page ---
Since our certification as a colony on January 26, 2013 and initiation as a chapter on December 13, 2014, the members of the Tau Delta Chapter of Theta Tau have been working diligently to establish our selves as an influential organization - both within Miami University and the community of Oxford, OH. As engineers, our members understand that it is our civic duty to serve and inspire those around us.
Our vision as a fraternity is to create an environment in which our members can exercise their natural skills as students and leaders, while also developing their skills as future employees. With a unique professional emphasis on both the present and the future, we allow for our members to focus on today, but prepare for tomorrow.
Our members pride themselves upon sharing a brotherhood unlike any other - one built around academic achievement, professional preparation, and a mutual desire for success. With all of this brotherhood comes the development of lasting friendships that not only strengthen the achievements of our fraternity, but foster a mindset of social activism, which allows for our brothers to branch out and succeed not only in the classroom and the workplace, but everywhere they go.


Fremont Bridge traffic per hour starting in 2012 including the differences per direction
| Date | Traffic North Bond | Traffic South Bound | Difference |
|---|---|---|---|
| {{bridges.date | date:'short'}} | {{bridges.fremont_bridge_nb}} | {{bridges.fremont_bridge_sb}} | {{(bridges.fremont_bridge_sb - bridges.fremont_bridge_nb)| number:0}} |


The content item currently displayed is used for tagging some other resources. Using this perspective, you can get additional tag related information about the content item, i.e. tagged items, etc. When you switch to "edit" mode, some of this information can also be edited. In particular, you have the option to turn a tag into a "semantic tag" by attaching it to a SKOS thesaurus.
The displayed tag is a so-called semantic tag and currently associated with a SKOS thesaurus. The following broader concepts are the context of the tag. More information is given when you switch to the "concept" perspective.
The displayed tag is a so-called free tag and currently not embedded in a semantic context. To turn it into a semantic tag, click on "edit" and associate it with a SKOS thesaurus.


This page will fetch the name and profile picture from your Facebook account to show that Facebook login works.


Simple templates for GDG Html project
> GitHub repo (all files)
Here's a basic vanilla template for HTML. It has no CSS. (All other pages use Normalize.css. The Normalize file has been minified.)
Here is a simple HTML page that has simple styles applied; these styles work on any size device.
When things don't fit the way you expect, box-sizing can help.
You'll find the viewport meta
element in the head
of every HTML file here. Here's why.
Videos: (1) Intro to CSS flexbox (2) Use CSS flex to style a header and nav (3) Using CSS flex to scale images in a row
Learn more about CSS grid at MDN.


Learn about Komodo Services
Our mission is to provide the Komodo Community a hub of information and tools to improve their overall KMD experience.
Follow us on Twitter for important Komodo updates and news.
You can find this site, as well as our other Komodo tools and services.
xRobeSx
If you're interesting in contributing, submit a PR or message me.


Zotonic is well documented. All documentation can be found on the Zotonic website: http://zotonic.com/documentation
We have two mailing lists. One for people who use Zotonic as editors, and one for people developing with or on Zotonic.


Hello World!
These tutorials teach you CSS.
To begin with tutorial 1...
To begin with tutorial 2...
Each element has a purpose.
Learn more at Pluralsight!| Craig Shoemaker | Building websites with HTML, CSS and Javascript |
| John Papa | Vue: Getting Started |


All data is also available via JSON or JSONP
NOTCIE: The API is subject to change, until a solid format is finished.
/network/json
/network/jsonp?callback=callbackName
/pool/json
/pool/jsonp?callback=callbackName
/asset/json
/asset/jsonp?callback=callbackName
/crowdfund/json
/crowdfund/jsonp?callback=callbackName


@() @main("Orders Manager") { @defining(play.core.PlayVersion.current) { version => Welcome to Orders Manager. Please Sign In or Sign Up you don't have an account yet. Or Log Out } }


Interface INotifyTaskCompletion<TResult>
Watches a task and raises property-changed notifications when the task completes.
Inherited Members
System.ComponentModel.INotifyPropertyChanged.PropertyChanged
Namespace: DelSole.MVVMSpecial.Interfaces
Assembly: DelSole.MVVMSpecial.dll
Syntax
public interface INotifyTaskCompletion<TResult> : INotifyTaskCompletion, INotifyPropertyChanged
Type Parameters
| Name | Description |
|---|---|
| TResult | The type of the task result. |
Properties
| Improve this Doc View SourceResult
Gets the result of the task. Returns the default value of TResult
if the task has not completed successfully. This property raises a notification when the task completes successfully.
Declaration
TResult Result { get; }
Property Value
| Type | Description |
|---|---|
| TResult |
Task
Gets the task being watched. This property never changes and is never null
.
Declaration
Task<TResult> Task { get; }
Property Value
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<TResult> |


3.0.8
- Fixes
@namespace
URL conversion; now the semantics of the URL are preserved
and only the url(foo)
to "foo"
optimisation is performed.
3.0.7
- Fix
main
field in package.json
.
3.0.6
- Now compiled with Babel 6.
3.0.5
- Fixes an issue where base64 encoded OpenType font urls were being erroneously
converted by the module (thanks to @ln-e).
3.0.4
- Fixes incorrect minification of empty non-url functions.
3.0.3
- Updates postcss-value-parser to version 3 (thanks to @TrySound).
3.0.2
- Fixes incorrect minification of chrome-extension urls.
3.0.1
- Bump postcss-value-parser to
2.0.2
.
3.0.0
2.1.3
- Replaces trim space nodes function with a built in method
of postcss-value-parser.
2.1.2
- postcss-normalize-url now uses postcss-value-parser to iterate
url values (thanks to @TrySound).
- Fixed
@namespace
URL reduction behaviour. (thanks to @TrySound).
2.1.1
- Increased performance by using a single call to
eachInside
rather than two.
2.1.0
- Adds
keepWWW
option.
- Compatibility fixes for
<EMAIL_ADDRESS>.
2.0.3
- Fixes an issue where embedded base 64 data was being converted as if it were
a URL.
2.0.2
- Addresses an issue where relative path separators were converted to
backslashes on Windows.
2.0.1
- Documentation/metadata tweaks for plugin guidelines compatibility.
- Bump css-list to 0.1.0, use instead of postcss.list.space for namespace
rule normalization.
2.0.0
- Improved URL detection when using two or more in the same declaration.
- node 0.10 is no longer supported.
1.2.1
- Patch to address incorrect transformation of
@document
rules.
1.2.0
- Fixes an issue where options could not be passed through.
- Support for normalising URLs in
@namespace
rules.
1.1.0
- Now uses the PostCSS
4.1
plugin API.
1.0.2
- Adds a JSHint config, code tidied up.
1.0.1
- Bug fix; does not transform embedded base 64 or svg images.
1.0.0


Sassy Cat
IN SPACE!
Click to Play!
Click the buttons to play or pause the audio.
Play Audio
Pause Audio