Before Change
closest_neighbor = points[index, :]
result = False
for i in range(n_samples):
if gs.allclose(points[i, :], closest_neighbor):
result = True
break
self.assertTrue(result)
def test_sample_von_mises_fisher(self):
After Change
neighbors = points[1:, :]
index = self.metric.closest_neighbor_index(point, neighbors)
closest_neighbor = points[index, :]
test = gs.where((points == closest_neighbor).all(axis=1))
result = test[0].size > 0
self.assertTrue(result)
def test_sample_von_mises_fisher(self):


Ruby
Basics
Ruby is the programming language Ruby on Rails is written in. So most of the time you will be writing Ruby code. Therefore it is good to grasp the basics of Ruby. If you just want to play with Ruby, type irb into your console to start interactive ruby. There you can easily experiment with Ruby. To leave irb, type exit.
This is just a very small selection of concepts. This is especially true later on when we talk about what Arrays, Strings, etc. can do. For more complete information have a look at ruby-doc or search with your favorite search engine!
General
Comment
Usage
# Comment text
Examples
# This text is a comment
some.ruby_code # A comment
# some.ignored_ruby_code
Description
Ruby ignores everything that is marked as a comment. It does not try to execute it. Comments are just there for you as information. Comments are also commonly used to comment out code. That is when you don't want some part of your code to execute but you don't want to delete it just yet, because you are trying different things out.
Variables
Usage
variable = some_value
Examples
name = "Seb"
name # => "Seb"
sum = 18 + 5
sum # => 23
Description
With a variable you tell Ruby that from now on you want to refer to that value by the name you gave it. So for the first example, from now on when you use name, Ruby will know that you meant "Seb".
Console output
Usage
puts something
Examples
puts "Hello World"
puts [1, 5, "mooo"]
Description
Prints its argument to the console. Can be used in Rails apps to print something in the console where the server is running.
Call a method
Usage
object.method(arguments)
Examples
string.length
array.delete_at(2)
string.gsub("ae", "ä")
Description
Calling a method is also often referred to as sending a message in Ruby. Basically we are sending an object some kind of message and are waiting for its response. This message may have no arguments or multiple arguments, depending on the message. So we kindly ask the object to do something or give us some information. When you "call a method" or "send a message" something happens. In the first example we ask a String how long it is (how many characters it consists of). In the last example we substitute all occurrences of "ae" in the string with the German "ä". Different kinds of objects (Strings, Numbers, Arrays...) understand different messages.
Define a method
Usage
def name(parameter)
# method body
end
Examples
def greet(name)
puts "Hi there " + name
end
Description
Methods are basically reusable units of behavior. And you can define them yourself just like this. Methods are small and focused on implementing a specific behavior. Our example method is focused on greeting people. You could call it like this:
greet("Seb")
Equality
Usage
object == other
Examples
true == true # => true
3 == 4 # => false
"Hello" == "Hello" # => true
"Helo" == "Hello" # => false
Description
With two equal signs you can check if two things are the same. If so, true will be returned; otherwise, the result will be false.
Inequality
Usage
object != other
Examples
true != true # => false
3 != 4 # => true
Description
Inequality is the inverse to equality, e.g. it results in true when two values are not the same and it results in false when they are the same.
Decisions with if
Usage
if condition
# happens when true
else
# happens when false
end
Examples
if input == password
grant_access
else
deny_access
end
Description
With if-clauses you can decide based upon a condition what to do. When the condition is considered true, then the code after it is executed. If it is considered false, the code after the "else" is executed. In the example, access is granted based upon the decision if a given input matches the password.
Constants
Usage
CONSTANT = some_value
Examples
PI = 3.1415926535
PI # => 3.1415926535
ADULT_AGE = 18
ADULT_AGE # => 18
Description
Constants look like variables, just in UPCASE. Both hold values and give you a name to refer to those values. However while the value a variable holds may change or might be of an unknown value (if you save user input in a variable) constants are different. They have a known value that should never change. Think of it a bit like mathematical or physical constants. These don't change, they always refer to the same value.
Numbers
Numbers are what you would expect them to be, normal numbers that you use to perform basic math operations.
More information about numbers can be found in the ruby-doc of Numeric.
"normal" Number
Usage
number_of_your_choice
Examples
0
-11
42
Description
Numbers are natural for Ruby, you just have to enter them!
Decimals
Usage
main.decimal
Examples
3.2
-5.0
Description
You can achieve decimal numbers in Ruby simply by adding a point.
Basic Math
Usage
n operator m
Examples
2 + 3 # => 5
5 - 7 # => -2
8 * 7 # => 56
84 / 4 # => 21
Description
In Ruby you can easily use basic math operations. In that sense you may use Ruby as a super-powered calculator.
Comparison
Usage
n operator m
Examples
12 > 3 # => true
12 < 3 # => false
7 >= 7 # => true
Description
Numbers may be compared to determine if a number is bigger or smaller than another number. When you have the age of a person saved in the age variable you can see if that person is considered an adult in Germany:
age >= 18 # true or false
Strings
Strings are used to hold textual information. They may contain single characters, words, sentences or a whole book. However you may just think of them as an ordered collection of characters.
You can find out more about Strings in the ruby-doc of String.
Create
Usage
'A string'
Examples
'Hello World'
'a'
'Just characters 129 _!$%^'
''
Description
A string is created by putting quotation marks around a character sequence. It is recommended to use single quotes for simple strings.
Interpolation
Usage
"A string and an #{expression}"
Examples
"Email: #{user.email}"
"The total is #{2 + 2}"
"A simple string"
Description
You can combine a string with a variable or Ruby expression using double quotation marks. This is called "interpolation". It is okay to use double quotation marks around a simple string, too.
Length
Usage
string.length
Examples
"Hello".length # => 5
"".length # => 0
Description
You can send a string a message, asking it how long it is and it will respond with the number of characters it consists of. You could use this to check if the desired password of a user exceeds the required minimum length. Notice how we add a comment to show the expected result.
Concatenate
Usage
string + string2
Examples
"Hello " + "reader"
# => "Hello reader"
"a" + "b" + "c" # => "abc"
Description
Concatenates two or more strings together and returns the result.
Substitute
Usage
string.gsub(a_string, substitute)
Examples
"Hae".gsub("ae", "ä") # => "Hä"
"Hae".gsub("b", "ä") # => "Hae"
"Greenie".gsub("e", "u") # => "Gruuniu"
Description
gsub stands for "globally substitute". It substitutes all occurrences of a_string within the string with substitute.
Access
Usage
string[position]
Examples
"Hello"[1] # => "e"
Description
Access the character at the given position in the string. Be aware that the first position is actually position 0.
Arrays
An array is an ordered collection of items which is indexed by numbers. So an array contains multiple objects that are mostly related to each other. So what could you do? You could store a collection of the names of your favorite fruits and name it fruits.
This is just a small selection of things an Array can do. For more information have a look in the ruby-doc of Array.
Create
Usage
[contents]
Examples
[]
["Rails", "fun", 5]
Description
Creates an Array, empty or with the specified contents.
Number of elements
Usage
array.size
Examples
[].size # => 0
[1, 2, 3].size # => 3
["foo", "bar"].size # => 2
Description
Returns the number of elements in an Array.
Access
Usage
array[position]
Examples
array = ["hi", "foo", "bar"]
array[0] # => "hi"
array[2] # => "bar"
Description
As an Array is a collection of different elements, you often want to access a single element of the Array. Arrays are indexed by numbers so you can use a number to access an individual element. Be aware that the numbering actually starts with "0" so the first element actually is the 0th. And the last element of a three element array is element number 2.
Adding an element
Usage
array << element
Examples
array = [1, 2, 3]
array << 4
array # => [1, 2, 3, 4]
Description
Adds the element to the end of the array, increasing the size of the array by one.
Assigning
Usage
array[number] = value
Examples
array = ["hi", "foo", "bar"]
array[2] = "new"
array # => ["hi", "foo", "new"]
Description
Assigning new Array Values works a lot like accessing them; use an equals sign to set a new value. Voila! You changed an element of the array! Weehuuuuu!
Delete at index
Usage
array.delete_at(i)
Examples
array = [0, 14, 55, 79]
array.delete_at(2)
array # => [0, 14, 79]
Description
Deletes the element of the array at the specified index. Remember that indexing starts at 0. If you specify an index larger than the number of elements in the array, nothing will happen.
Iterating
Usage
array.each do |e| .. end
Examples
persons.each do |p| puts p.name end
numbers.each do |n| n = n * 2 end
Description
"Iterating" means doing something for each element of the array. Code placed between do and end determines what is done to each element in the array. The first example prints the name of every person in the array to the console. The second example simply doubles every number of a given array.
Hashes
Hashes associate a key to some value. You may then retrieve the value based upon its key. This construct is called a dictionary in other languages, which is appropriate because you use the key to "look up" a value, as you would look up a definition for a word in a dictionary. Each key must be unique for a given hash but values can be repeated.
Hashes can map from anything to anything! You can map from Strings to Numbers, Strings to Strings, Numbers to Booleans... and you can mix all of those! Although it is common that at least all the keys are of the same class. Symbols are especially common as keys. Symbols look like this: :symbol. A symbol is a colon followed by some characters. You can think of them as special strings that stand for (symbolize) something! We often use symbols because Ruby runs faster when we use symbols instead of strings.
Learn more at the ruby-doc of Hash.
Creating
Usage
{key => value}
Examples
{:hobby => "programming"}
{42 => "answer", "score" => 100, :name => "Seb"}
Description
You create a hash by surrounding the key-value pairs with curly braces. The arrow always goes from the key to the value depicting the meaning: "This key points to this value". Key-value pairs are then separated by commas.
Accessing
Usage
hash[key]
Examples
hash = {:key => "value"}
hash[:key] # => "value"
hash[foo] # => nil
Description
Accessing an entry in a hash looks a lot like accessing it in an array. However with a hash the key can be anything, not just numbers. If you try to access a key that does not exist, the value nil is returned, which is Ruby's way of saying "nothing", because if it doesn't recognize the key it can't return a value for it.
Assigning
Usage
hash[key] = value
Examples
hash = {:a => "b"}
hash[:key] = "value"
hash # => {:a=>"b", :key=>"value"}
Description
Assigning values to a hash is similar to assigning values to an array. With a hash, the key can be a number or it can be a symbol, string, number... or anything, really!
Deleting
Usage
hash.delete(key)
Examples
hash = {:a => "b", :b => 10}
hash.delete(:a)
hash # => {:b=>10}
Description
You can delete a specified key from the hash, so that the key and its value can not be accessed.


{% extends '_layouts/layout.html' %} {% block page_title %}NHS 111{% endblock %} {% block content %}
This question is checking for signs of meningitis or other serious conditions.
Change my previous answer
Does it make sense? Do you understand all the words?
We use feedback to make the service better but can't reply to any comments. Don't include any medical or personal information like your name or email.


{% extends "base.html" %} {% block content %}
To view personalized competition information, please authenticate using your Strava account.


Type The Given Word Within 2 Seconds:
Type the given word or phrase within the alotted time given. Any unused time will carry over the future rounds. There are big difficulty spikes every 10th round, but to compensate for it you will be given bonus time. To restart the game after a game over, type the current word. This will reset the difficulty, as well as your score and start the timer for your next run.


Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Teams Formed
Teams Formed
Teams Formed
Teams Formed
Here’s what happens during a Techstars Startup Weekend:
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
SLatin America has always been a fascinating region to me. Its cultural and geographic diversity make it one of the most interesting in the world, and those things that most capture my attention are their ability to adapt to changes and the infinite imagination they have to overcome adversity. It is no surprise, then, that […]
Read More >>>Entrepreneurs from all over Southeast Asia collaborated in Generation Startup Weekend, an effort by Techstars Community Programs and its partners at Magic, YSEALI, and the U.S. State Department.
Read More >>>When the girls were asked, “what did you learn over the weekend?”, their responses were all things I wish I had learned in middle school.
Read More >>>


   They carry over 3500 styles of watches from over 65 manufacturers including Bulova, Invicta, citizens, Orient, Luminox, Seiko, Movado, Omega, Tag Heuer, and others. Discount Watch Store stands much above their competition because they offer the best prices, fast delivery and great customer service. You can check out Discount Watch Store and choose a watch from a wide selection range. Use our discount coupon to get a great price on a great product.
Discount Watch Store is the place to buy high quality, genuine Swiss and other watches. For the most accurate time keepers, find the best watch at Discount Watch Store. Visit online and navigate the user friendly website to find a watch that suits you best. There are many styles and kinds of watches to choose from alarm watches, atomic watches, ceramic watches, diamond, digital, divers, gold, kinetic, eco drive, moon phase, oversized, quartz, perpetual calendar watches and many other watches including skeleton, titanium, Swiss, watches and world timers. Whatever you wish, you will find on Discount Watch Store.
Discount Watch Store carries one of the most attractive watches and very durable, efficient and light weight. They carry watches from all major watch manufacturers and offer an amazing discount on most of their watches. Whether you are buying your first or you 20th watch, you will love the selection available on Discount Watch Store. Watches also make great gifts. Buy somebody you care about a watch today from Discount Watch Store. You both will be happy. You will save money with our discount coupons and the recipient will be happy for such a special present!


{% extends "base.html" %} {% block content %} {% include "navigation.html" %}
Sorry, that's not a valid username and/or password


Antec Performance P120 Crystal Case Now Available
by Peter DonnellAntec has just released the new P120 Crystal PC case. It aims to be a competitive mid-tower for just 99 EUR (MSRP inc VAT). It’s ticking all the right boxes for a PC gaming build too. It features two sides of tempered glass, plentiful radiator and fan mounting space, and room for a massive GPU.
What I really love is that it features a vertical GPU mount with support for a triple-slot card. That means that even the most beastly GPUs on the market today can be mounted on their side.
Users can install VGA cards with a length of up to 450 mm and CPUs with a maximum height of 185 mm as well as PSUs with a maximum length of 294 mm.
P120 Crystal
The new P120 Crystal measures 475 x 232 x 480 mm. Build from 0.8 mm and 1 mm steel and finished with tempered glass front and side panels. It’s a great looking case, and as well made as rival offerings.
The mid-tower model features large interior space for E-ATX, ATX, micro-ATX and ITX motherboards. The isolated power supply chamber and drive cages are positioned on top of the chassis. The sleek tower offers space for two 2.5” or 3.5″ HDDs and two 2.5″ SDDs and seven horizontal and three vertical expansion slots. To keep its cool, the P120 offers space for three 120 mm or two 140mm case fans at the bottom, one 120 or 140 mm fan in the rear as well as up to three 120 mm or two 140mm case fans on the side of the chassis.
What Antec Had to Say
“The new P120 Crystal chassis is engineered to satisfy both performance and silence seekers while ensuring a great building experience – certainly worthy of high-end hardware configurations.”
Price and Availability
The Antec P120 Crystal is available now from Amazon in the UK and many other PC retailers.


JUST IN: Antipas leaves Warriors
Sikhumbuzo Moyo, Senior Sports Reporter
WARRIORS coach Joe Antipas has sensationally announced his departure from the national team, exactly 24 hours after masterminding the downfall of Zambia in a Total Africa Cup of Nations qualifier at the Heroes Stadium in Zambia.
The Warriors, against all odds, shocked the 2012 African champions, beating them 2-1 through a brace by poster boy Khama Billiat, who scored in either side of the half to register Zimbabwe’s first win over Chipolopolo in an Afcon qualifier.
“I take a bow,” said Antipas whose local club Chicken Inn is in the hunt for their second league title in five years.
More to follow. . .


--- layout: post title: "Day 3 - Bar Brothers Workout" subtitle: "This is day three, after the second day routine, I am so excited to check my weight again." date: 2019-10-24 background: '/img/posts/intro-barbrothers.png' ---
On that morning I went to do my business on the toilet, after that I took a shower check my weight on the weight scale, I was able to lose weight again.
I have to admit it's not like what I loss the day before, but it's still a significant weight lost, as I said at the beginning, if I want to reach a 70K target in 30 days, I have to loss at least 0.8kg per day, and if I went for 60 days long then I need to loss at least 0.4kg. At the moment it seems I am progressing at a fast pace, although not uniform but such a fast I am satisfied.
I'm not so sure it's healthy to lose weight so fast, I've read some articles on fast and uneven weight loss, but listen, I eat properly, I don't feel hungry during the day, and I feel really good when I get up in the morning, so right now I'm continuing in the same way.
Cheers!


The derive queries panel takes a query and a field, then runs a terms facet against both and generates a list of terms to query on. For example, you might want to see a histogram of the top 5 requests that return a 404. You should be careful not to select a high cardinality field as Elasticsearch must load all of these values into memory.


{{message.author.fullName}}
{{descriptiveDate(message.posted)}}
{{message.body}}
{#
Since this template can be used alone or inside the discussion frame
it will only need to render it's replies (scan 'messages' for replies)
if is being rendered as part of the frame
#}
{% if messages %}
{{renderMessagesRecursively(message._id+'', !altStyle)|safe}}
{% endif %}


| 程序包 | 说明 |
|---|---|
| org.springframework.messaging.simp.broker |
Provides a "simple" message broker implementation along with an abstract base
class and other supporting types such as a registry for subscriptions.
|
| org.springframework.messaging.simp.config |
Configuration support for WebSocket messaging using higher level messaging protocols.
|
| org.springframework.messaging.simp.stomp |
Generic support for simple messaging protocols (like STOMP).
|
| org.springframework.messaging.simp.user |
Support for handling messages to "user" destinations (i.e. destinations that are
unique to a user's sessions), primarily translating the destinations and then
forwarding the updated message to the broker.
|
| org.springframework.scheduling.commonj |
Convenience classes for scheduling based on the CommonJ WorkManager/TimerManager
facility, as supported by IBM WebSphere 6.0+ and BEA WebLogic 9.0+.
|
| org.springframework.scheduling.concurrent |
Scheduling convenience classes for the
java.util.concurrent
and javax.enterprise.concurrent packages, allowing to set up a
ThreadPoolExecutor or ScheduledThreadPoolExecutor as a bean in a Spring
context. |
| org.springframework.scheduling.config |
Support package for declarative scheduling configuration,
with XML schema being the primary configuration format.
|
| org.springframework.web.socket.config.annotation |
Support for annotation-based WebSocket setup in configuration classes.
|
| org.springframework.web.socket.messaging |
WebSocket integration for Spring's messaging module.
|
| org.springframework.web.socket.sockjs.client |
SockJS client implementation of
WebSocketClient . |
| org.springframework.web.socket.sockjs.support |
Support classes for SockJS including an
AbstractSockJsService
implementation. |
| org.springframework.web.socket.sockjs.transport |
Server-side support for SockJS transports including
TransportHandler implementations
for processing incoming requests, their
session
counterparts for sending messages over the various transports, and
DefaultSockJsService . |
| org.springframework.web.socket.sockjs.transport.handler |
TransportHandler
implementation classes as well as a concrete
SockJsService . |
| 限定符和类型 | 方法和说明 |
|---|---|
TaskScheduler |
SimpleBrokerMessageHandler.getTaskScheduler()
Return the configured TaskScheduler.
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
SimpleBrokerMessageHandler.setTaskScheduler(TaskScheduler taskScheduler)
Configure the
TaskScheduler to
use for providing heartbeat support. |
| 限定符和类型 | 方法和说明 |
|---|---|
SimpleBrokerRegistration |
SimpleBrokerRegistration.setTaskScheduler(TaskScheduler taskScheduler)
Configure the
TaskScheduler to
use for providing heartbeat support. |
| 限定符和类型 | 方法和说明 |
|---|---|
TaskScheduler |
DefaultStompSession.getTaskScheduler()
Return the configured TaskScheduler to use for receipt tracking.
|
TaskScheduler |
StompClientSupport.getTaskScheduler()
The configured TaskScheduler.
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
DefaultStompSession.setTaskScheduler(TaskScheduler taskScheduler)
Configure the TaskScheduler to use for receipt tracking.
|
void |
StompClientSupport.setTaskScheduler(TaskScheduler taskScheduler)
Configure a scheduler to use for heartbeats and for receipt tracking.
|
| 构造器和说明 |
|---|
UserRegistryMessageHandler(MultiServerUserRegistry userRegistry,
SimpMessagingTemplate brokerTemplate,
java.lang.String broadcastDestination,
TaskScheduler scheduler)
Constructor.
|
| 限定符和类型 | 类和说明 |
|---|---|
class |
TimerManagerTaskScheduler
已过时。
as of 5.1, in favor of EE 7's
DefaultManagedTaskScheduler |
| 限定符和类型 | 类和说明 |
|---|---|
class |
ConcurrentTaskScheduler
Adapter that takes a
java.util.concurrent.ScheduledExecutorService and
exposes a Spring TaskScheduler for it. |
class |
DefaultManagedTaskScheduler
JNDI-based variant of
ConcurrentTaskScheduler , performing a default lookup for
JSR-236's "java:comp/DefaultManagedScheduledExecutorService" in a Java EE 7 environment. |
class |
ThreadPoolTaskScheduler
Implementation of Spring's
TaskScheduler interface, wrapping
a native ScheduledThreadPoolExecutor . |
| 限定符和类型 | 方法和说明 |
|---|---|
TaskScheduler |
ScheduledTaskRegistrar.getScheduler()
Return the
TaskScheduler instance for this registrar (may be null ). |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ScheduledTaskRegistrar.setTaskScheduler(TaskScheduler taskScheduler)
Set the
TaskScheduler to register scheduled tasks with. |
| 限定符和类型 | 方法和说明 |
|---|---|
TaskScheduler |
WebSocketConfigurationSupport.defaultSockJsTaskScheduler()
The default TaskScheduler to use if none is registered explicitly via
SockJsServiceRegistration.setTaskScheduler(org.springframework.scheduling.TaskScheduler) :
@Configuration @EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myHandler(), "/echo") .withSockJS() .setTaskScheduler(myScheduler()); } // ... } |
protected TaskScheduler |
SockJsServiceRegistration.getTaskScheduler()
Return the TaskScheduler, if configured.
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
ServletWebSocketHandlerRegistry.setTaskScheduler(TaskScheduler scheduler)
Provide the TaskScheduler to use for SockJS endpoints for which a task
scheduler has not been explicitly registered.
|
SockJsServiceRegistration |
SockJsServiceRegistration.setTaskScheduler(TaskScheduler scheduler)
A scheduler instance to use for scheduling SockJS heart-beats.
|
| 构造器和说明 |
|---|
WebMvcStompEndpointRegistry(WebSocketHandler webSocketHandler,
WebSocketTransportRegistration transportRegistration,
TaskScheduler defaultSockJsTaskScheduler) |
WebMvcStompWebSocketEndpointRegistration(java.lang.String[] paths,
WebSocketHandler webSocketHandler,
TaskScheduler sockJsTaskScheduler) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
WebSocketStompClient.setTaskScheduler(TaskScheduler taskScheduler)
Configure a scheduler to use for heartbeats and for receipt tracking.
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
SockJsClient.setConnectTimeoutScheduler(TaskScheduler connectTimeoutScheduler)
Configure a
TaskScheduler for scheduling a connect timeout task
where the timeout value is calculated based on the duration of the initial
SockJS "Info" request. |
| 限定符和类型 | 方法和说明 |
|---|---|
TaskScheduler |
AbstractSockJsService.getTaskScheduler()
A scheduler instance to use for scheduling heart-beat messages.
|
| 构造器和说明 |
|---|
AbstractSockJsService(TaskScheduler scheduler) |
| 限定符和类型 | 方法和说明 |
|---|---|
TaskScheduler |
SockJsServiceConfig.getTaskScheduler()
A scheduler instance to use for scheduling heart-beat messages.
|
| 构造器和说明 |
|---|
TransportHandlingSockJsService(TaskScheduler scheduler,
java.util.Collection<TransportHandler> handlers)
Create a TransportHandlingSockJsService with given
handler types. |
TransportHandlingSockJsService(TaskScheduler scheduler,
TransportHandler... handlers)
Create a TransportHandlingSockJsService with given
handler types. |
| 构造器和说明 |
|---|
DefaultSockJsService(TaskScheduler scheduler)
Create a DefaultSockJsService with default
handler types. |
DefaultSockJsService(TaskScheduler scheduler,
java.util.Collection<TransportHandler> handlerOverrides)
Create a DefaultSockJsService with overridden
handler types
replacing the corresponding default handler implementation. |
DefaultSockJsService(TaskScheduler scheduler,
TransportHandler... handlerOverrides)
Create a DefaultSockJsService with overridden
handler types
replacing the corresponding default handler implementation. |


Build reports
Report generated by task ':buildDashboard' (html)
Report generated by task ':codenarcMain' (html)
Report generated by task ':codenarcTest' (html)
Report generated by task ':test' (html)
Report generated by task ':test' (junitXml)


#include <LiCE/resources/Strings.h>
#include <Glaziery/resources/Strings.h>
Go to the source code of this file.
Defines | |
| #define | STRING_BOTTOMLEFT_LABEL1 "M&ask mode:" |
| #define | STRING_BOTTOMLEFT_LABEL2 "&Press a key:" |
| #define | STRING_BOTTOMLEFT_LABEL3 "&Drop down selector:" |
| #define | STRING_BOTTOMLEFT_LABEL4 "P&rogress bar:" |
| #define | STRING_BOTTOMLEFT_RADIOBOX1 "&Unmasked" |
| #define | STRING_BOTTOMLEFT_RADIOBOX2 "&Masked" |
| #define | STRING_LICE_APPLICATIONNAME /*LC_ENC*/"\047\014\001\032\011\005\022\031\115\064\005\023\024\005\022" |
| #define | STRING_LICE_CONTACT_ACTIVATION /*LC_ENC*/"\015\001\011\014\040\007\014\001\032\011\005\022\031\116\017\022\007" |
| #define | STRING_LICE_CONTACT_SALES /*LC_ENC*/"\015\001\011\014\040\007\014\001\032\011\005\022\031\116\017\022\007" |
| #define | STRING_LICE_CONTACT_SUPPPORT /*LC_ENC*/"\015\001\011\014\040\007\014\001\032\011\005\022\031\116\017\022\007" |
| #define | STRING_LICE_WEBSITE_LICE /*LC_ENC*/"\010\024\024\020\132\117\117\014\011\003\005\116\024\010\017\015\001\023\012\001\003\017\002\116\004\005" |
| #define | STRING_LICE_WEBSITE_PRODUCT /*LC_ENC*/"\010\024\024\020\132\117\117\027\027\027\116\007\014\001\032\011\005\022\031\116\017\022\007" |
| #define | STRING_LICEFAKE_APPLICATIONNAME "Glaziery-Tester" |
| #define | STRING_LICEFAKE_CONTACT_ACTIVATION<EMAIL_ADDRESS>|
| #define | STRING_LICEFAKE_CONTACT_SALES<EMAIL_ADDRESS>|
| #define | STRING_LICEFAKE_CONTACT_SUPPPORT<EMAIL_ADDRESS>|
| #define | STRING_LICEFAKE_WEBSITE_LICE "http://lice.thomasjacob.de" |
| #define | STRING_LICEFAKE_WEBSITE_PRODUCT "http://www.glaziery.org" |
| #define | STRING_TOPLEFT_BUTTON1 "&Toggle check" |
| #define | STRING_TOPLEFT_BUTTON2 "&New win" |
| #define | STRING_TOPLEFT_BUTTON4 "App" |
| #define | STRING_TOPLEFT_BUTTON5 "Pre" |
| #define | STRING_TOPLEFT_BUTTON6 "Ins" |
| #define | STRING_TOPLEFT_BUTTON7 "Del S" |
| #define | STRING_TOPLEFT_BUTTON8 "Del U" |
| #define | STRING_TOPLEFT_CHECKBOX1 "&Multi select" |
| #define | STRING_TOPLEFT_LABEL1 "Tree and list:" |
| #define | STRING_TOPMIDDLE_CHECKBOX1 "A &check box" |
| #define | STRING_TOPMIDDLE_DIRECTORY "Directory" |
| #define | STRING_TOPMIDDLE_GROUPFIELD1 "Sliders group" |
| #define | STRING_TOPMIDDLE_LABEL1 "This is a label" |
| #define | STRING_TOPMIDDLE_LABEL2 "&Alpha:" |
| #define | STRING_TOPMIDDLE_LABEL3 "&Progress:" |
| #define | STRING_TOPMIDDLE_LABEL4 "Strings slider" |
| #define | STRING_TOPMIDDLE_LOADFILE "Load" |
| #define | STRING_TOPMIDDLE_SAVEFILE "Save" |
| #define | STRING_TOPMIDDLE_STRINGLISTITEM1 "10 sec" |
| #define | STRING_TOPMIDDLE_STRINGLISTITEM2 "30 sec" |
| #define | STRING_TOPMIDDLE_STRINGLISTITEM3 "1 min" |
| #define | STRING_TOPMIDDLE_STRINGLISTITEM4 "3 min" |
| #define | STRING_TOPMIDDLE_STRINGLISTITEM5 "5 min" |
|
|
Definition at line 31 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 32 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 33 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 34 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 35 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 36 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 7 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 8 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 9 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 10 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 11 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 12 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 14 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 15 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 16 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 17 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 18 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 19 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 38 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 39 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 40 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 41 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 42 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 43 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 44 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 45 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 46 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 48 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 56 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 49 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 50 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 51 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 52 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 53 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 54 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 55 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 57 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 58 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 59 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 60 of file apps/tester/build/Debug/fonts/Strings.h. |
|
|
Definition at line 61 of file apps/tester/build/Debug/fonts/Strings.h. |


teaching
Materials for full term courses, short courses and tutorials that I've taught or created.
Graduate Courses
-
MATH 697 - Mathematical Statistics (Fall 2017) Department of Mathematics and Statistics, McGill University. 40 in-class hours, 12 graduate students 2017 [Website]
-
EPIB 607 - Inferential Statistics (Fall 2018, 2019, 2020, 2021) Department of Epidemiology, Biostatistics and Occupational Health, McGill University. 40 in-class hours. [Website]
Short Courses
2021
-
Lasso linear regression Department of Statistical and Actuarial Sciences, Western University. July 12 2021 [PDF]
-
Rao-Cramér lower bound and asymptotic normality of the maximum likelihood estimator Department of Mathematics and Statistics, Memorial University. April 14 2021 [PDF]
-
Best unbiased estimators and sufficiency Department of Mathematics and Statistics, Memorial University. November 15 2021 [PDF]
-
High-dimensional data analysis using penalized regression methods McGill Summer School in Health Data Analytics. June 1 2021 [PDF]
2019
-
Data Organization in Spreadsheets and Tidy Data Environmental Epidemiology Research Group, McGill University. February 27 2019 [PDF]
2018
-
Introduction to Regression Trees MATH 680 - Department of Mathematics and Statistics, McGill University. 28 February 2018 [PDF]
-
Modèles d’arbres de régression Mini-cours - Département de mathématiques et de statistique, Université Laval. 8 février 2018 [PDF]
2017
-
Introduction to the R package casebase for fitting smooth-in-time prognostic risk functions for survival data and visualizing incidence density using population time plots Guest lecturer for BIOS 602 - Epidemiology Regression Models II. Department of Epidemiology, Biostatistics and Occupational Health, McGill University. March 28 2017 [Code] [Website]
2016
-
Fitting smooth-in-time prognostic risk functions for survival data and visualizing incidence density using population time plots Guest lecturer for BIOS 602 - Epidemiology Regression Models II. Department of Epidemiology, Biostatistics and Occupational Health, McGill University. March 23 2016 [Code] [Website]
2015
2013
-
Introduction to LaTeX Department of Mathematics and Statistics, Queen’s University. May 13 2013 [Slides]


FHNW Book Portal
Register Form
Name
Email
Password
Repeat Password
I've read and accept the terms and conditions
Sign up


Task manager
Task details
About TaskManager
This application is an example for the inputEx Library.
Click on a task to expand it and edit its properties.
Right click on a task to add a subtask or delete it.
This example won't save anything, but the code contains an example to save via Ajax.
Click on a task to expand it and edit its properties.
Right click on a task to add a subtask or delete it.
This example won't save anything, but the code contains an example to save via Ajax.


JUST DO IT
Galaxy S10 vs. Galaxy S8: Should you upgrade?
by Joe MaringBest answer: While the Galaxy S8 is still kicking along in 2019, the S10 delivers meaningful upgrades in just about every single way. It has a vastly improved processor, upgraded cameras, and all-new technology like an in-display fingerprint sensor.
Worthy upgrade: Samsung Galaxy S10 (From $900 at Samsung)
The Galaxy S10 is a far superior phone compared to the S8
The Galaxy S8 is now over two years old, and in the smartphone world, that's equivalent to a lifetime. It's still got a great display, reliable cameras, and a good processor, but compared to the S10, it's outdone in just about every single category.
Here's a quick comparison of some of the top spec upgrades to give you a better idea of what we're talking about:
| Category | Galaxy S8 | Galaxy S10 |
|---|---|---|
| Display | 5.8-inch AMOLED 2960x1440 (18.5:9) |
6.1-inch AMOLED 3040x1440 (19:9) |
| Processor | Qualcomm Snapdragon 835 | Qualcomm Snapdragon 855 |
| RAM | 4GB | 8GB |
| Front Camera | 8MP, f/1.7 Auto focus |
10MP Dual Pixel, f/1.9 Auto focus |
| Battery | 3000mAh | 3400mAh |
| Security | One-touch fingerprint sensor Iris scanner |
In-screen fingerprint sensor |
Perhaps even more important for a lot of people, the Galaxy S10 comes equipped with a total of three rear cameras whereas the Galaxy S8 has just one 12-megapixel sensor.
On the S10, your camera package includes the following:
- Rear Camera 1 — 12-megapixel Dual Pixel | f/1.5 - f/2.4 | OIS
- Rear Camera 2 — 16-megapixel | 123-degree wide-angle | f/2.2 | Fixed focus
- Rear Camera 3 — 12-megapixel | 45-degree telephoto | f/2.4 | OIS
Another big change has to do with the display. In addition to being larger size-wise, the bezels have also shrunk quite a bit thanks to Samsung's adoption of a hole-punch screen. This means that the front-facing camera now sits in the display itself, allowing for smaller bezels compared to the S8. It's a unique look that may take some time to get used to, but we think it's a great trade-off.
All of your favorite S8 staples are still here
Unlike some manufacturers that get rid of fan-favorite features with new generations of phones, the Galaxy S10 keeps a lot of what makes the S8 so great.
There's still a microSD card slot for expandable storage (up to 512GB), fast wireless charging, MST and NFC payments via Samsung Pay, and — yes — a 3.5mm headphone jack 🙏.
There's also all-new tech we think you'll really like
On top of spec upgrades and old features making a return, the Galaxy S10 also comes equipped with all-new technology that we haven't seen before.
Most notably, the fingerprint sensor has moved from the back of the phone to underneath the screen on the S10.
Samsung's using ultrasonic sensor technology from Qualcomm that creates a 3D model of your fingerprint — including its various grooves. That may sound complicated, but in day-to-day use, it means you can securely unlock your phone by just placing your finger on the designated part of the display and you're good to go.
Something else that's new is a feature called "Wireless PowerShare." In addition to being able to place the Galaxy S10 on a wireless charger to top it up, you can also place Qi-enabled devices on the back of the S10 to use its battery to charge them.
Worthy upgrade
Samsung Galaxy S10
Samsung's latest doesn't disappoint.
Even if you're still happy with your S8, the Galaxy S10 has so much newness that we think it's well worth the upgrade. Its Snapdragon 855 processor is considerably faster, there are three cameras on the back instead of just one, and you still have things like a headphone jack and expandable storage.
We may earn a commission for purchases using our links. Learn more.


A thirst for knowledge has always been a strong asset for me. I firmly believe that a thirst for knowledge is what will keep me relevant for the entirety of my career.
To date I have learned 6 languages and countless frameworks. All of them having a specific relevance to a project I was working on. Each language or framework allowed me to reaffirm that languages and frameworks are simply tools in an ever growing toolbox. Most importantly these allow me to better choose the right tool for any given job.
An investment in knowledge pays the best interest.- Benjamin Franklin
As a father of 4 I find that a work life balance is a critical part of my life. It is important to me that I find the space for my creative mind time to work.
As a rock climber I am constantly reminded about what attention to detail can mean. A simple mistake rock climbing can lead to a very bad day. The physical strain coupled with this gives me an understanding for how to maintain focus even in the most stressful environments.
As a home brewer I am given a creative outlet to artistically manufacture craft beer. The combination of cooking and chemistry allow me to exercise my creative and analytical mind.
I find that having balance in my life is what lets me perform at the highest levels in a sustainable way.
Burnout is about resentment. Preventing it is about knowing yourself well enough to know what it is you're giving up that makes you resentful.- Marissa Mayer


Manifest
Our Manifest consists of two parts, the first is a set of rules that are enforced for everything in the project. We will not allow any contributions which do not follow this rules. But dont worry, we are not evil and if you think a rule is just stupid, talk with us and we can discuss it! The idea behind this is that we do not need to discuss this type of things during every pull-request but instead have everything listed here.The second Part consists of rules which are accepted but not yet enforced. This means, that new contributions have to follow them, but some of the older stuff does not follow it (yet). The long term goal is to move these rules to the first part.
Basic Rules
- All code needs to be open-source. We will not accept code which is or depends on code which is not open-source.
- Privacy and the protection of the users data is the primary goal.
- Only collect as much data as required.
- Give the users as many choices as possible while still keeping everything simple.
- If you distribute a modified version of Oslo, please make it clear to the users.
more soon...


Write QR Code to SVG
This example shows how to write a QR code to SVG with ZXing javascript library.
See the source code for this example.
This example shows how to write a QR code to SVG with ZXing javascript library.
See the source code for this example.


The WMS and WCS mobile clients use a set of views to show layer and coverages supporting interaction with the user. The user can switch from a view to another following a well defined path, views are hierarchically organized and the user can switch only to the previous view and to the next view, in the view hierarchy, starting from one currently visualized.
The WMS and the WCS mobile client apps were initially developed as standalone mobile applications and then merged into a more effective and strongly integrated WxS mobile client.
WxS Settings window shows a table listing the operations that the user can perform:


Ruby Trello API
This library implements the Trello API.
Trello is an awesome tool for organization. Not just aimed at developers, but everybody. Seriously, check it out.
Full Disclosure: This library is mostly complete, if you do find anything missing or not functioning as you expect it to, please just create an issue.
Requirements
Use the newest version for Ruby 2.5.0 or newer support. Use version 2.2.1 or earlier for Ruby 2.1 ~ 2.4 support. Use version 1.3.0 or earlier for Ruby 1.9.3 support. Use version 1.4.x or earlier for Ruby 2.0.0 support.
Installation
# gem install ruby-trello
Configuration
Basic authorization:
-
Get your API public key from Trello via trello.com/app-key/ or the irb console as follows:
$ gem install ruby-trello
$ irb -rubygems
irb> require 'trello'
irb> Trello.open_public_key_url # copy your public key
irb> Trello.open_authorization_url key: 'yourpublickey' # copy your member token
-
You can now use the public key and member token in your app code:
require 'trello'
Trello.configure do |config|
config.developer_public_key = TRELLO_DEVELOPER_PUBLIC_KEY # The "key" from step 1
config.member_token = TRELLO_MEMBER_TOKEN # The token from step 2.
end
2-legged OAuth authorization
Trello.configure do |config|
config.consumer_key = TRELLO_CONSUMER_KEY
config.consumer_secret = TRELLO_CONSUMER_SECRET
config.oauth_token = TRELLO_OAUTH_TOKEN
config.oauth_token_secret = TRELLO_OAUTH_TOKEN_SECRET
end
3-legged OAuth authorization
Trello.configure do |config|
config.consumer_key = TRELLO_CONSUMER_KEY
config.consumer_secret = TRELLO_CONSUMER_SECRET
config.return_url = "http://your.site.com/path/to/receive/post"
config.callback = lambda { |request_token| DB.save(request_token.key, request_token.secret) }
end
All the calls this library makes to Trello require authentication using these keys. Be sure to protect them.
Usage
So let's say you want to get information about the user bobtester. We can do something like this:
bob = Trello::Member.find("bobtester")
# Print out his name
puts bob.full_name # "Bob Tester"
# Print his bio
puts bob.bio # A wonderfully delightful test user
# How about a list of his boards?
bob.boards
# And then to read the lists of the first board do :
bob.boards.first.lists
Accessing specific items
There is no find by name method in the trello API, to access a specific item, you have to know it's ID. The best way is to pretty print the elements and then find the id of the element you are looking for.
# With bob
pp bob.boards # Will pretty print all boards, allowing us to find our board id
# We can now access it's lists
pp Trello::Board.find( board_id ).lists # will pretty print all lists. Let's get the list id
# We can now access the cards of the list
pp Trello::List.find( list_id ).cards
# We can now access the checklists of the card
pp Trello::Card.find( card_id ).checklists
# and so on ...
Changing a checkbox state
# First get your checklist id
checklist = Trello::Checklist.find( checklist_id )
# At this point, there is no more ids. To get your checklist item,
# you have to know it's position (same as in the trello interface).
# Let's take the first
checklist_item = checklist.items.first
# Then we can read the status
checklist_item.state # return 'complete' or 'incomplete'
# We can update it (note we call update_item_state from checklist, not from checklist_item)
checklist.update_item_state( checklist_item.id, 'complete' ) # or 'incomplete'
# You can also use true or false instead of 'complete' or 'incomplete'
checklist.update_item_state( checklist_item.id, true ) # or false
Multiple Users
Applications that make requests on behalf of multiple Trello users have an alternative to global configuration. For each user's access token/secret pair, instantiate a Trello::Client
:
@client_bob = Trello::Client.new(
:consumer_key => YOUR_CONSUMER_KEY,
:consumer_secret => YOUR_CONSUMER_SECRET,
:oauth_token => "Bob's access token",
:oauth_token_secret => "Bob's access secret"
)
@client_alice = Trello::Client.new(
:consumer_key => YOUR_CONSUMER_KEY,
:consumer_secret => YOUR_CONSUMER_SECRET,
:oauth_token => "Alice's access token",
:oauth_token_secret => "Alice's access secret"
)
You can now make threadsafe requests as the authenticated user:
Thread.new do
@client_bob.find(:members, "bobtester")
@client_bob.find(:boards, "bobs_board_id")
end
Thread.new do
@client_alice.find(:members, "alicetester")
@client_alice.find(:boards, "alices_board_id")
end
Special thanks
A special thanks goes out to Ben Biddington who has contributed a significant amount of refactoring and functionality to be deserving of a beer and this special thanks.
Contributing
Several ways you can contribute. Documentation, code, tests, feature requests, bug reports.
If you submit a pull request that's accepted, you'll be given commit access to this repository.
Please see the CONTRIBUTING.md
file for more information.
Local Development
Init all Gemfile.lock.* files
make init
Bundle install for all Ruby versions
make bundle:all
Run tests for all Ruby versions
make test:all
Run tests for each Ruby versions individual
make test:ruby_2_5
make test:ruby_2_6
make test:ruby_2_7
make test:jruby_9_2
Do development for each Ruby versions individual
make dev:ruby_2_5
make dev:ruby_2_6
make dev:ruby_2_7
make dev:jruby_9_2


Prayer is our thing; we believe that prayer invites healing into hurt and light into darkness. If you too like to pray we’ve added this page as a place to do just that.
If prayer is not your thing, you may like to take time to reflect and hope.
{{ range .Site.Params.footer.like.social }}
{{ end }}
{{ range .Site.Params.footer.contact.networks }}


--- layout: post permalink: chocolate.html Tags: Array NameOfCoupon: Chocolate Cash Back Summary: See our Chocolate Coupon Code, Chocolate Rebate, Chocolate Promo Code, Chocolate Discount, Chocolate Coupon Cash Back Rebate here. MetaKeywords: Chocolate Coupon Code, Chocolate Rebate, Chocolate Promo Code, Chocolate Cash Back Rebate, Chocolate Discount, Chocolate Coupon Image: LinkURL: http://click.linksynergy.com/fs-bin/click?id=6ZrgceZgf7E&offerid=171713.10000041&type=3 affiliate_url_link: http://www.icouponblog.com/jane.php?id=2446 thesis_readmore: See the Chocolate Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=chocolate.com Title: Save 6% - Chocolate Coupon Code for chocolate.com. Chocolate Rebate & Discount thesis_description: Our Chocolate Discount Coupon Code for chocolate.com. We have the best Chocolate Rebate anywhere. thesis_keywords: Chocolate, Chocolate Coupon Code, Chocolate Discount, Chocolate Rebate product_name: Chocolate hop_url: http://www.icouponblog.com/hop.php?id=2446 ---
If you think you have no life without chocolates, you have come to the right website. www.chocolate.com is home to an amazing collection of gourmet chocolates that are out of this world in taste, appearance and presentation. chocolate.com is a place to shop for the best chocolates money can buy. They deliver premium chocolates from a network of chocolate shops. Most are small, family owned shops with a passion for great tasting products. If you love chocolates, you will definitely fall in love with chocolate.com. Check it out and use our discount coupons to get a great deal.
Say it with chocolates. The oldest expression of love, appreciation, thinking of you, thank you, congratulations and anything you want to say. But say it with the best chocolate in town. chocolate.com will get you the best, gourmet, great tasting, delectable chocolates which is not found in regular stores. These chocolates are made by artisans with a passion for gourmet confections. Don’t settle for anything less than chocolates from chocolate.com.
chocolate.com carries the best chocolates money can buy. Get truffles, dark chocolate, white chocolate, milk chocolate, chocolate bars and gourmet chocolates all at a great price. Visit chocolate.com website and order your favorite chocolate today for your favorite person. The website is easy to use. You can order chocolates by occasions like birthdays, anniversaries, by confection or ingredients. Use our discount coupons to get a great deal on a great project.


See: Description
| Package | Description |
|---|---|
| jp.mzw.jsanalyzer.config |
Configures according to user environments
|
| jp.mzw.jsanalyzer.core |
Contains main method in JSAnalyzer
|
| jp.mzw.jsanalyzer.core.cs |
Case study projects
|
| jp.mzw.jsanalyzer.core.examples |
Provides example projects
|
| jp.mzw.jsanalyzer.formulator |
Generates concrete verification formulas based on patterns
|
| jp.mzw.jsanalyzer.formulator.adp |
Provides typical properties to be verified in Ajax applications.
|
| jp.mzw.jsanalyzer.formulator.pp |
Contains property patterns
based on
http://patterns.projects.cis.ksu.edu/documentation/patterns/ltl.shtml
|
| jp.mzw.jsanalyzer.formulator.property |
Definitions of interaction invariants derived from Ajax design patterns
|
| jp.mzw.jsanalyzer.gui |
JSAnalyzer graphical user interface (to be implemented)
JSAnalyzer currently uses Web app interfaces as a substitute for it.
|
| jp.mzw.jsanalyzer.modeler |
JSModeler: an extraction method of finite state machines
from the source code of Ajax applications
|
| jp.mzw.jsanalyzer.modeler.model |
Provides model elements in JSAnalyzer
|
| jp.mzw.jsanalyzer.modeler.model.fsm | |
| jp.mzw.jsanalyzer.modeler.model.graph | |
| jp.mzw.jsanalyzer.modeler.model.interaction | |
| jp.mzw.jsanalyzer.parser |
Contains parsers for HTML, CSS, and JavaScript source code
|
| jp.mzw.jsanalyzer.preventer |
JSPreventer: a preventive maintenance method for revealing erroneous behavior due to potential faults suggested by JSVerifier
|
| jp.mzw.jsanalyzer.preventer.insert_delay_ajax | |
| jp.mzw.jsanalyzer.preventer.test |
Contains test cases for revealing errors due to potential faults in Ajax applications
|
| jp.mzw.jsanalyzer.preventer.test.cs2020m | |
| jp.mzw.jsanalyzer.preventer.test.esa | |
| jp.mzw.jsanalyzer.preventer.test.moodle |
Test cases for moodle.org
|
| jp.mzw.jsanalyzer.preventer.test.ucdchina | |
| jp.mzw.jsanalyzer.revmutator |
Implements reverse mutation technique for Ajax apps
|
| jp.mzw.jsanalyzer.revmutator.runner |
Contains example runners
|
| jp.mzw.jsanalyzer.revmutator.tracer |
Traces execution results
|
| jp.mzw.jsanalyzer.rule |
Provides distinguishing rules
|
| jp.mzw.jsanalyzer.serialize |
Implementations for serializing data
|
| jp.mzw.jsanalyzer.serialize.model |
Defines serializable models
|
| jp.mzw.jsanalyzer.test |
Has implementations under test
|
| jp.mzw.jsanalyzer.util |
Implementations of utility methods
|
| jp.mzw.jsanalyzer.verifier |
JSVerifier: a verification method of extracted finite state machines by using JSModeler
|
| jp.mzw.jsanalyzer.verifier.blp |
Verifying properties in the Bell-LaPadula Access Control model (to be implemented)
|
| jp.mzw.jsanalyzer.verifier.modelchecker |
Contains model checkers
|
| jp.mzw.jsanalyzer.verifier.specification |
Provides APIs for describing specifications
|
| jp.mzw.jsanalyzer.xml |
Notations in XML/HTML
|


“For good ideas and true innovation, you need human interaction, conflict, argument, debate.
Our goal is to provide a platform for developers to come together discuss ideas and create projects in an adjuvant environment. IOSD founding principle was to promote technological innovation among college students. To implement this we conduct events such as mock hackathons, discussion forums, monthly competitions, seminars and workshops all around the year to get students more in touch with the latest technological trends and to provide an industrial environment.
At International Organisation of Software Developers, most of us come from a vibrant Open Source
Community, and that makes us strongly believe in free and open source software.
Each year we guide thousands of students on their journey in software developement and community
building. Over the past four years, we have guided more than thousands of students gain expertise
in Android, Web, Data Science and analytics.
To be able to stay connected with our alumni, and reach out the wider community of budding
software developers, we launched an annual summer programme - OSSI which stands for Open Source
Summer Initiative.
We took inspiration from other such open source summer programmes like Google Summer of Code,
Google Code-In, Summer of KDE, RGSoC and many others to start our own programme to engage all of
you via IOSD Summer Of Code.
In IOSD Summer Of Code 2019, we are continuing where we left off, the same challenge, in a whole new avatar, with
bigger projects and with a more determined and upright resolution to celebrate diversity among
our participants, IOSD Summer Of code 2019 has come up with a unique concept acknowledging and appreciating the
efforts of our girl students. The best performing girl will be recognized with special prizes
and goodies.
Weeks
Participants
Projects
Lines of Code
3 May 2019
20 May 2019
31 May 2019
2 June 2019
5 June 2019
6 June 2019
12 June 2019
30 June 2019
15 July 2019
31 July 2019
18 August 2019
Design an Online Coding Test App with IDE for languages like Python, C++, C, Java.
Web application which will be making CV by filling the corresponding information in the suitable template
Design a machine learning framework with basic support for algorithms
Design a Location sharing app enabling users to share location with friends in real time
Task of this project will be to make a Project Recommendation System
Applying MACHINE LEARNING concepts on object detections for helping DELHI POLICE in detection of criminal activities in its vicinity .
Design mobile app in which user can record music, click picture and is provided with the emotions to the image/music
Make a CMS App like Udacity with admin features like adding course catalog, videos for each course, updating content, etc.
Gathering and analysing data from social media and tracking trends about companies and products
You can shorten URLs to make them easier to share using various URL shorteners
Task is to design a web app to generate personal blog website
Develop a portal where students undertaking the Web Dev or Android course can submit their assignments
Develop a portal where students and companies can be connected with each other for prospective jobs and/or internships


{% extends "layout.html" %} {% load humanize %} {% load static %} {% block title %} Your Stats {% endblock title %} {% block layout-content %}
You have reached Level {{ level_number }}, granting you the title of {{ level_name }}.
Your level is defined as the sum of the four statistics below. Each statistic has value $\left\lfloor \sqrt{\max\left(n,0\right)} \right\rfloor$ where $n$ is the number of points amassed towards that statistic.
{{ level.alttext|linebreaksbr }}
{% endif %}


{% extends "tutorial.html" %}
{% block headauthor %}Jan Kleinert Not many people get excited about forms, but HTML5 brings some big
improvements, both for the developers creating them and for the users
filling them out. New form elements, attributes, input types, browser-based
validation, CSS3 styling techniques, and the FormData object make it easier
and hopefully more enjoyable to create forms. At the time of writing, support for all the new form and input elements,
attributes and types varies widely across browsers. Even among browsers
that support a particular feature, the behavior can be different from one
browser to the next. The state of HTML5 forms support is changing very quickly
though, and continues to improve. At the time of writing, these charts were the most up-to-date I could find, and
they detail the state of browser support for HTML5 forms. HTML5 introduces 5 new elements related to input and forms.
Introduction
Browser support
An overview of what's new
New elements
Element
Purpose
Notes
progress
Represents completion of a task.
The
progress
element could represent the progress of a
file being uploaded.
meter
Represents a scalar measurement within a known range.
The
meter
element could be used to represent something
like a temperature or weight measurement.
datalist
Represents a set of
option
elements that can be used in
combination with the new list
attribute for input to make
dropdown menus.When the input with the associated datalist gets focus, a dropdown
menu appears and contains the values from the
datalist
.
keygen
A control for key-pair generation.
When the form is submitted, the private key gets stored in the local
keystore, and the public key is sent to the server.
output
Displays the results of a calculation.
An example use of the
output
element could be to
display the sum of the values of two input elements.
HTML5 introduces 13 new input types. When viewed in a browser that doesn't support them, these input types fall back to text input.
| Input Type | Purpose | Notes |
|---|---|---|
tel |
For entering a telephone number. | tel does not enforce a particular syntax, so if you
want to ensure a particular format, you can use pattern or
setCustomValidity() to do additional validation. |
search |
To prompt users to enter text that they want to search for. | The difference between search and text is
primarily stylistic. Using an input type of search might
result in the input field being styled in a way that is consistent with
that platform's search fields. |
url |
For entering a single URL. | url is intended for entering a single,
absolute URL, which represents a pretty wide range of values. |
email |
For entering either a single email address or a list of email addresses. | If the multiple attribute is specified, then multiple
email addresses can be entered, separated by commas. |
datetime |
For entering a date and time with the time zone set to UTC. | |
date |
For entering a date with no time zone. | |
month |
For entering a date with a year and a month, but no time zone. | |
week |
For entering a date that consists of a week-year number and a week number, but no time zone. | An example of this format is 2011-W05 for the fifth week of 2011. |
time |
For entering a time value with hour, minute, seconds, and fractional seconds, but no time zone. | |
datetime-local |
For entering a date and time with no time zone. | |
number |
For numerical input. | Valid values are floating point numbers. |
range |
For numerical input, but unlike number , the actual
is not important. |
The implementation of the range control is a slider in most browsers that support it. |
color |
For choosing color through a color well control. | The value must be a valid lowercase simple color such as #ffffff. |
HTML5 also introduces several new attributes for the input and form elements.
| Attribute | Purpose | Notes |
|---|---|---|
autofocus |
Focuses the input on the element when the page is loaded. | autofocus can be applied to input, select, textarea,
and button. |
placeholder |
Gives the user a hint about what sort of data they should enter. | The placeholder value is displayed in light text until the element gets focus and the user enters some data. It can be specified on input and textarea. |
form |
Specifies one or more forms to which the input element belongs. | By using the form attribute, the input elements can be
placed anywhere on the page, not just within the form element. Also, a
single input element can be associated with more than one form. |
required |
A boolean attribute that means the element is required. | The required attribute is helpful for doing
browser-based validation without using custom JavaScript. |
autocomplete |
For specifying that a field should not autocomplete or be pre-filled by the browser based on a user's past entries. | The autocomplete attribute for fields like a credit
card number or one-time password, which you don't want autocomplete. By
default, autocomplete is in the on state, so
if you want to disable it, set it to off . |
pattern |
For validating an element's value against a regular expression. | When using a pattern , you should also specify a
title value to give the user a description of the pattern
that's expected. |
dirname |
For submitting the directionality of the control with the form. | For example, if the user entered text data with right-to-left
directionality and the input element contained the dirname
attribute, then an indication of the right-to-left directionality would
be submitted along with the input value. |
novalidate |
For disabling form submission validation when specified on a form element. | |
formaction |
For overriding the action attribute on the form element. | This attribute is supported on input and
button elements. |
formenctype |
For overriding the enctype attribute on the form element. | This attribute is supported on input and
button elements. |
formmethod |
For overriding the method attribute on the form element. | This attribute is supported on input and
button elements. |
formnovalidate |
For overriding the novalidate attribute on the form element. | This attribute is supported on input and
button elements. |
formtarget |
For overriding the target attribute on the form element. | This attribute is supported on input and
button elements. |
One of the enhancements to XMLHttpRequest
is the introduction of the
FormData
object. With the
FormData
object, you can create and send a set of key/value
pairs and, optionally, files using XMLHttpRequest
. When using
this technique, the data is sent in the same format as if you'd submitted
it via the form's submit()
method with the encoding type of
multipart/form-data
.
FormData
gives you a way to create HTML forms on-the-fly
using JavaScript, and then submit them using XMLHttpRequest.send()
.
Here's a simple example:
var formData = new FormData(); formData.append("part_num", "123ABC"); formData.append("part_price", 7.95); formData.append("part_image", somefile) var xhr = new XMLHttpRequest(); xhr.open("POST", "http://some.url/"); xhr.send(formData);
You can also use FormData
to add additional data to an
existing form before submitting it.
var formElement = document.getElementById("someFormElement"); var formData = new FormData(formElement); formData.append("part_description", "The best part ever!"); var xhr = new XMLHttpRequest(); xhr.open("POST", "http://some.url/"); xhr.send(formData);
Let's be honest. Validating form data is a pretty boring task, but you need to do it anyway. To do client-side form validation today, you probably write some custom JavaScript code or use a library to do things like check for valid inputs or ensure required fields are filled out before the form is submitted.
New input attributes like required
and pattern
used in combination with CSS pseudo-class selectors make it easier to write
the checks and display feedback to the user. There are other advanced
validation techniques that allow you to use JavaScript to set custom validity
rules and messages or to determine if an element is invalid and the reason
why.
If the required
attribute is present, then the field must contain a value
when the form is submitted. Here's an example of an input field for a required
email address that ensures that the field has a value and that the value
is a valid email address, as defined here.
<input type="email" id="email_addr" name="email_addr" required />
The pattern
attribute specified a regular expression used to
validate an input field. This example represents a required text input
field for a part number. For the purpose of the example, let's say a part
number consists of three uppercase letters followed by four digits. The use of
required
and pattern
ensure that the field has a
value and that the value matches the correct format for a part number. If the
user hovers over the field, the message in the title attribute is displayed.
<input type="text" id="part" name="part" required pattern="[A-Z]{3}[0-9]{4}" title="Part numbers consist of 3 uppercase letters followed by 4 digits."/>
Building on the previous example, you can also outline the input field in
red if an invalid part number is entered. To do that, add this CSS to
put a red border around the input field if the value is invalid.
:invalid { border: 2px solid #ff0000; }
The formnovalidate
attribute can be applied to input
or button
elements. If it's present, then form submission
validation is disabled. Here's an example where submitting a form via the
Submit button requires valid input, but submitting via the Save button does
not.
<input type="text" id="part" name="part" required pattern="[A-Z]{3}[0-9]{4}" title="Part numbers consist of 3 uppercase letters followed by 4 digits."/> <input type="submit" formnovalidate value="Save"> <input type="submit" value="Submit">
The constraint validation API gives you powerful tools for
handling custom validation. The API allows you to do things like set a custom
error, check whether an element is valid, and determine the reason that an
element is invalid. Here's an example that displays a custom error if the
values in two fields do not match.
Email: <input type="email" id="email_addr" name="email_addr"> Repeat Email Address: <input type="email" id="email_addr_repeat" name="email_addr_repeat" oninput="check(this)">
Here's an example for a reservation request form that pulls together different input types, form validation, and CSS selectors and styling.
This is the HTML and JavaScript for the form:
<form oninput="total.value = (nights.valueAsNumber * 99) + ((guests.valueAsNumber - 1) * 10)"> Full name: <input type="text" id="full_name" name="full_name" placeholder="Jane Doe" required> Email address: <input type="email" id="email_addr" name="email_addr" required> Repeat email address: <input type="email" id="email_addr_repeat" name="email_addr_repeat" required oninput="check(this)"> Arrival date: <input type="date" id="arrival_dt" name="arrival_dt" required> Number of nights (rooms are $99.00 per night): <input type="number" id="nights" name="nights" value="1" min="1" max="30" required> Number of guests (each additional guest adds $10.00 per night): <input type="number" id="guests" name="guests" value="1" min="1" max="4" required> Estimated total: $<output id="total" name="total">99</output>.00

 Promo code: <input type="text" id="promo" name="promo" pattern="[A-Za-z0-9]{6}" title="Promo codes consist of 6 alphanumeric characters."> <input type="submit" value="Request Reservation" /> </form>
This is the CSS that goes with the form code:
:invalid { border-color: #e88; -webkit-box-shadow: 0 0 5px rgba(255, 0, 0, .8); -moz-box-shadow: 0 0 5px rbba(255, 0, 0, .8); -o-box-shadow: 0 0 5px rbba(255, 0, 0, .8); -ms-box-shadow: 0 0 5px rbba(255, 0, 0, .8); box-shadow:0 0 5px rgba(255, 0, 0, .8); } :required { border-color: #88a; -webkit-box-shadow: 0 0 5px rgba(0, 0, 255, .5); -moz-box-shadow: 0 0 5px rgba(0, 0, 255, .5); -o-box-shadow: 0 0 5px rgba(0, 0, 255, .5); -ms-box-shadow: 0 0 5px rgba(0, 0, 255, .5); box-shadow: 0 0 5px rgba(0, 0, 255, .5); } form { width:300px; margin: 20px auto; } input { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; border:1px solid #ccc; font-size:20px; width:300px; min-height:30px; display:block; margin-bottom:15px; margin-top:5px; outline: none; -webkit-border-radius:5px; -moz-border-radius:5px; -o-border-radius:5px; -ms-border-radius:5px; border-radius:5px; } input[type=submit] { background:none; padding:10px; }


We're sorry but mevn-crud doesn't work properly without JavaScript enabled. Please enable it to continue.


I'm a 3rd-year Mechatronics Engineering student at the University of Waterloo looking for internship
opportunities in the software industry. I am a self-starter and very goal oriented. I hope to learn
as much as I can during my final work term from the company and the software team I work with. I am
passionate about all the work I do and am looking to make an impact in any industry I work in!
Experience
Motorq
Product Management
Miovision
C# - xaml - WPF - AWS
FleetCarma
C# - MS-SQL - Azure - NoSQL
React - JavaScript
Trapeze Group
C# - jQuery - HTML
JavaScript - CSS
RedIron
C# - C++
Projects
Fitness Timer
Swift
Heart Rate Sensore Investigation
Arduino - C++ - C
Reachable Point in Space Calculator
Swift
Robotic Colour Based Sorter
ROBOTC - NXT
Skills
Programming Languages & Tools
Workflow Aspects
MVC
Agile Development & Scrum
Weekly Release Cycles with Feature Flags
Unit & Integration Testing
Incremental Margin Planning
Self Teaching
Swift - Learning
PostgreSQL - Learning
Arduino - Learning
NoSQL using Redis - Coming Soon!
Tools
SQL and NoSQL Databases
Git, GitHub & SVN
Azure Portal & AWS
SQL Server Management Studio
Azure Storage Explorer
Runscope
Octopus Deploy
Interests
Apart from spending my free time working on side projects and learning new programming languages, I can
be found at the CrossFit gym I go to, outdoors playing sports and going to the beach or watching hockey,
basketball, and baseball. All of which I love to do with friends and family. I try my best at everything I
do which gives me new goals I can strive towards daily. I love listening to any music I can work out to
and anything Country. I also enjoy reading books, my mind is open to anything that I might find interesting
whether it be fiction or non-fiction!
Work Term Reports
Analysis of a Database Migration on a Production Level Database
In this report, I analyzed my work regarding updates to FleetCarma's database. My changes allowed for
vehicle trims to be stored along with other vehicle information. This work provided the information
needed to make specific vehicle data more precise (including battery state of health data).
Designing FleetCarma’s Portal Cache Improvements
In this report, I analyzed my improvements for FleetCarma's data pipeline. The report analyzes the
steps I made and proof of concepts I created that aimed to remove the need for a separate analytics
workload that acted as a cache. This NoSQL storage was created to provide users with high-cost data.
The results of my investigation and changes allowed OLTP and analytics workloads to use the same
database resulting in the use of real-time operational analytics.
Designing Requirements for Motorq Geofencing
In this report, I designed product requirements for a geofencing implementation to be used by Motorq.
This required research into geofences, how they work, pre-existing implementations and customer
requirements. Additionally, potential implementations were provided.
Product Management Intern
May 2019 - Aug 2018
Motorq
My final co-op term at Motorq was my first official experience in a product management position.
During this term I worked closely with the CEO and COO to determine goals, prioritize work,
analyze research findings and finalize requirements for specific phase implementations. Additionally,
I communicated with customers through a variety of means to understand existing concerns, desired
products and potential use cases.
I advanced product efforts through the creation of many product requirement documents and worked
closely with the remote engineering team to implement and roll out new features and products. Once
implementations were done, I wrote tests through a variety of means (python/excel/C#) to ensure
exceptional data quality was being provided to the customer.
During the term, I made efforts to improve existing data quality through the analysis of large data
sets. One main example was my developement and implementation of algorithms that detected and filtered
noise in specific vehicle signals. This was done as a proof of concept before the engineering team
implemented the final product. I later improved my proof of concept to be user friendly for colleagues
to use for future testing.
Co-op Spring 2019
Software Developer
Sept 2018 - Dec 2018
Miovision
My co-op at Miovision was one of my favorites due to the volume and complexity of work. Miovision
is a company looking to aid in the rise of smart cities through the use of traffic data and traffic
operations. My team's goal was to improve the tooling and performance of the older products/solutions
provided by the company. These improvements were made to help the company's traffic data counters'
become more efficient and to make the customer experience more enjoyable.
The majority of my work revolved around the company's QAP product, a tool that allows for counters
to record traffic data from videos uploaded by external customers from cameras. The application
also allows admins to accept and publish data for customers. My main goals for QAP were to update
the tool's workflow, improve performance, automate processes and support the data services team as
issues/concerns came up. There are many exciting wins the team made during my short time with them!
One exciting piece of work I did was the creation of algorithms to provide intuitive default key
bindings to counters. The defaults were based on historical data and reduced user setup time. The
defaults were made available for all traffic intersection configurations. I also created processes
that take into account the bindings that a counter has used during their session current session.
The cached data is used in future tasks and helped speed up setup times. During the end of my term,
I designed and started implementing a new task fetcher using an AWS Lambda. The task
fetcher will provide counters with similar tasks, allow users to reserve tasks and implement
safeguards to ensure duplicate tasks aren't assigned to agents. The fetcher also improved the use of
locks resulting in shorter fetch times and reducing possible queue back up. The benefits of this new
task assigner will also highlight the intuitive default and historical default work while increasing
the possible task fetches per minute.
Another huge win was the improvements I made to the company's auto acceptance algorithms. These
algorithms take into account the resultant data from both the counter data and verification data.
Historical data acceptance results were analyzed to determine thresholds for the data acceptance
standards. The findings were then used to create constraints for the new algorithm. The changes to
the original algorithms reduced the number of data comparisons admins performed manually and
prevented tasks from being accepted that didn't meet the standard. Algorithms were also created to
automatically trigger task redo creations on tasks that didn't match the verification data close
enough. This also reduces the amount of manual work required by admins.
Throughout the term, I made huge strides towards mitigating risk during development with the aid
of feature flags, well-rounded unit tests, and fallbacks. This allowed me to schedule weekly
releases with impactful feature improvements and bug fixes. Something that no other team at the
company has been able to achieve before. This was all made possible by working closely with
stakeholders, I ran weekly meetings, analyzed and planned potential work and I took the lead role
on releases.
Co-op Fall 2018
Software Developer
Jan 2018 - Apr 2018
May 2017 - Aug 2017
FleetCarma
I spent two terms at FleetCarma working on the .NET team as a software developer. FleetCarma's
goal is to drive electric vehicle adoption around the world. Their main product is a device
that plugs into a car and records vehicle metrics. Spending 8 months at FleetCarma was amazing,
I was able to touch the vast majority of the company's services and solutions. I was also able
to modify a lot of the legacy projects. The majority of my work was backend development,
however, I did fiddle around with React every now and then.
Some of the tasks I worked on include the creation and improvements of the many microservices,
APIs, Azure Functions, backend services and unit/integration tests. I had the opportunity of
making large contributions to specific company programs/products such as the Fleet Management
Portals, Smart Charge Rewards Program and the Smart Charge Manager Program. I was also able to
work on vital elements of the company's battery state of health calculator/algorithm and VIN
decoder, both of which are key components of their products.
Some of my favorite work focused on database improvements and migrations. I created a multitude
of stored procedures, database migrations (using SQL Server) and tables/table improvements. One
of my larger database migrations involved refactoring related vehicle information tables to
enable the association of trim levels. I also created proof of concepts and the required epic
work to remove the need for an analytics database for the Fleet Management Portals. My plans
allowed for OLTP and analytics workloads to use the same database, resulting in real-time
operational analytics. Query runtimes after my proposed changes (in the proof of concept)
resulted in final runtimes taking 1% of the original querying time with more accurate data.
Co-op Spring 2017 and Winter 2018
Software Developer/Analyst
Sept 2016 - Dec 2016
Trapeze Group
During my time at Trapeze Group, I worked on an ASP.NET Core MVC project which acted as
the company's internal file explorer. This tool allows employees to download solutions
and tools for personal use or for distribution. From the original code, I was able to
reduce app load times by 18x through code and performance analysis.
Other tasks I worked on included improving and adding widgets that the team used in
different web applications. I converted legacy code to follow more modern standards,
such as the use of tag helpers from previous HTML helpers. I created editor and display
templates for various applications. During this term, I worked on both front-end and
backend code.
Co-op Fall 2018
Software Engineering
Jan 2016 - Apr 2016
RedIron
My first co-op opportunity was at RedIron, a company making retail solution innovations.
To get to know some of their products and solutions, my first tasks revolved around
adding features to an application that allows users to create automated scripts for
retail POS solutions. This work involved a lot of learning including how to create well
rounded test cases. While working on this, I was also able to add functionality to older
previously created extensions.
Upon learning how the various applications worked, my next task was to create a new extension.
This extension enabled communication between a VeriFone device (new to the company), and
drivers using web services.
Co-op Fall 2018
Fitness Timer IOS App
Every fitness timer app I have used has had something awesome I found helpful, however, I
have always wanted a timer that includes the best features from various apps. In turn, I
have started to design my own personal IOS application that I can use at the gym. The app
is still in progress, but it will include all the features I have ever found useful!
I have a lot of ideas floating around in my head for the app, however, I started with the
basics. My first goal was to run basic timer types such as For Time, EMOMs, AMRAPs and
Tabata’s. This was done using editable text fields that opened picker views. These picker
views allow for users to select work/rest durations, rounds, and total time to run. I
purposefully made the code for the single timer pickers non-reusable. The first phase of
my app was a fun challenge that familiarized me with Swift.
My next step was to enable users to combine multiple timer types. This involved creating
re-usable code that allows the different timers to use the same pickers and logic blocks.
The app currently has the ability to combine multiple single duration timers implemented.
I am working towards adding the ability for users to join EMOM and Tabata timers with other
timer types.
Further goals for my app include adding rest periods between timers, allowing for EMOMs and
Tabata's to be used in the combinational timers, fixing memory leaks and improving the UI
throughout the app. Furthermore, I would love to allow users to record PRs, track strength
progressions and easily determine weight percentages in an easy to use and visually appealing
form. All of these non-timer features would be located in a new tab of the application.
Optical Heart Rate Sensor Investigation
I'm a serious fitness enthusiast and I am constantly looking for ways to make beneficial
changes to my lifestyle. I'm also a firm believer that wearable devices have the ability
to provide vast insights into our bodies, health, and mindset. For these reasons, I was
instantly captivated while learning how activity trackers and heart rate sensors work.
I bought an optical heart rate sensor and attached it to an Arduino to see what I could
learn from the signals. I started to write algorithms to detect peaks that correlate to
a heartbeat. With enough peaks, I was able to calculate heart rate variability based on
RMSSD calculations. I also translated these calculations to code.
My next goal with this project is to prototype a similar optical heart rate sensor on a
PCB, attach it to a board with Bluetooth capabilities and provide information to either
a phone or computer from said board. This work is all out of personal interest and I am
excited to learn how I can reduce the noise resulting from movement and reduce the size
of the contraption.
I have done a lot of research into the theory behind optical heart rate sensors and the
correlation between heart rate data and health insights. My research includes how devices
track sleep, heart rate, and calories burnt throughout the day.
Reachable Point in Space Calculator
During my second year in University, I took a numerical methods course. My final project
was to address a real-world problem using numerical methods. I decided to analyze a three
joint robotic arm. The joints were simplified to act as hinges and the arm was examined to
determine divergence zones the required angles reach a point in space. I wrote MATLAB
scripts to determine the divergence regions for the system's matrix representation of the
system. I then wrote a C# application capable of determining all possible combinations of
joint angles to reach points in a grid system.
I rewrote my MATLAB code in a C# console application. I created functions to manipulate
matrices and solve systems of equations. After creating my console application, I wrote a
simple web app to display my results for presentation purposes.
The original MATLAB code took more than 24 hours to run. This version accepted a lot amount
of error and took large increments for the step sizes (between points). My C# applications
were able to perform the same calculations with less error and smaller distance increments
between points. This took less than 10 seconds to run and allowed me to run more complicated
scenarios. The program takes the error as a user's input parameter and calculates the angles
to the specified tolerance.
Robotic Colour Based Sorter
During my first year in University, our final project was to make a Lego NXT Robot
that completes a task of any sort. There weren't many specifications for the project,
we had the opportunity to create anything we wanted. My group made a robotic arm that
sorted items of different colours into corresponding boxes. The arm found the ramp
and picked up the next object. Using sensors and motors, the robot determined the
item's colour and placed it into the corresponding bin.


{{ .Title }}
{{ .Summary }}
By the end of this series you will be able to:
-
{{ range $idx, $item := .Params.learning_objectives }}
- {{ $item }} {{ end }}


@(fieldList: List[String]) @main("Search") { } {
You can use this tool to search companies based on their financials. To include a field in your search, check the box next to it and input an operator and a value. Valid operators include <, >, <=, >=, =, and !=. When you are ready to search, click the "Search" button at the bottom of the page.
| Field: | Operator: | Value: |


PM> Install-Package HBD.WinForms.Shell
I would like to share the Winforms Shell application, that provides the core foundation for the Winforms application. With this foundation, it can be load the external modules from the pre-defined folders when it started. So that you can add-in and maintenance the modules easily.
This Shell application had been developed based on HBD.Mef library to loading and executing external modules when it starts. For more information about HBD.Mef you can found in here.
In this Shell there are a few services had been developed and exposed into Mef that helps you to interact with the Shell component.
[HBD.Mef.Core.Modularity.ModuleExport(typeof(StartupDemoModule))]
[PartCreationPolicy(CreationPolicy.Shared)]
public class StartupDemoModule : HBD.Mef.WinForms.Modularity.WinFormModuleBase
{
protected override IEnumerable<IViewInfo> GetStartUpViewTypes()
{
//Return the View1 as Startup View.
//This view will be loaded automatically when application started.
yield return new ViewInfo(typeof(View1));
}
protected override void MenuConfiguration(IMainMenuService menuSet)
{
//Add Main Menu for this module.
menuSet.Menu("Demo")
.WithIcon(Resources.DemoIcon)
.WithToolTip("This is demo menu.")
.Children
//Add Navigation for View1.
.AddNavigation("View 1")
.For(new ViewInfo(typeof(View1)))
//And this navigation for View 2.
.AndNavigation("View 2")
.For(new ViewInfo(typeof(View2)));
}
}
[Export]
public partial class View1: UserControl
{
public override string Text => "View 1";
...
}
[Export]
public partial class View2: UserControl
{
public override string Text => "View 2";
...
}
if not exist "$(SolutionDir)Publish\WinForms.Shell\Modules\$(ProjectName)" mkdir "$(SolutionDir)Publish\WinForms.Shell\Modules\$(ProjectName)"
xcopy "$(TargetDir)*.*" "$(SolutionDir)Publish\WinForms.Shell\Modules\$(ProjectName)" /s /y /r
//this file name convention is Module_[Your project Name]
{
"Name": "Demo Module",
"Description": "This is demo module for WinForms Shell",
"Version": "1.0.0-beta1",
"IsEnabled": true, //or false
//The list of assemblies that you want to be exposed to the EMF.
"AssemplyFiles": [ "Demo.Module.dll" ]
}
From version 1.0.1 a new interface had been added into HBD.Mef.WinForms.Common to provide the communication channel between the views. So that the view and navigate to the other view with the parameters.
If your view wants to be navigated from the other view you need to implement the INavigationAware interface and handle OnNavigatedTo(WinformNavigationContext navigationContext) method, This method will be called when navigating from the other view.
public interface INavigationAware
{
void OnNavigatedTo(WinformNavigationContext navigationContext);
}
[Export]
public partial class View2 : UserControl, INavigationAware
{
public void OnNavigatedTo(WinformNavigationContext navigationContext)
{
this.label2.Text = navigationContext.NavigationParameters.First().Value.ToString();
}
}
The sampble code below will handle the button event and navigate to the other view
[Export]
public partial class View1 : UserControl
{
[Import]
public INavigationManager NavigationManager { protected get; set; }
private void button1_Click(object sender, System.EventArgs e)
{
this.NavigationManager.NavigateTo(typeof(View2),
new Dictionary<string, object> { ["Message"] = "Navigated from View 1" });
}
}
When run the application and click the button. View2 will be open and display the message was passed from View1.
There are 2 base classes had been provided in HBD.Mef.WinForms for your Forms and Views. So that when you create a new Form or View, it can be inherited from this form instead.
public class FormBase: Form
{
[Import]
public IServiceLocator ContainerService { protected get; set; }
[Import]
public ILoggerFacade Logger { protected get; set; }
[Import]
public IMessageBoxService MessageBoxService { protected get; set; }
}
public class ViewBase : UserControl, INotifyPropertyChanged, IActiveAware,INavigationAware
{
[Import(AllowDefault = true,AllowRecomposition = true)]
public IServiceLocator ContainerService { protected get; set; }
[Import(AllowDefault = true, AllowRecomposition = true)]
public ILoggerFacade Logger { protected get; set; }
[Import(AllowDefault = true, AllowRecomposition = true)]
public IShellStatusService StatusService { protected get; set; }
[Import(AllowDefault = true, AllowRecomposition = true)]
public IMessageBoxService MessageBoxService { protected get; set; }
[Import(AllowDefault = true, AllowRecomposition = true)]
public INavigationManager NavigationManager { protected get; set; }
#region IActiveAware
...
#endregion
#region INotifyPropertyChanged
...
#endregion
#region NavigationAware
...
#endregion
}
public class MainForm : FormBase
{
...
}
[Export]
public partial class View1: ViewBase
{
public override string Text => "View 1";
...
}
Hope, this Shell will help you to develop a plugin-able application faster and easier. Your feedback and ideas are much appreciated. Please feel free to drop me an email with your opinion.
Thanks for your reading


brown XRL Explainable reinforcement learning by policy comparison generalization Measuring and characterizing generalization in deep reinforcement learning teaching robots Teaching a robot tasks of arbitrary complexity via human feedback game theory Stackelerg punishment and bully-proofing autonomous vehicles deep coach Deep reinforcement learning from policy-dependent human feedback teleoperation Teleoperation of robot manipulation through goal specification mit Facial Features Facial feature analysis for humanoid robots Huggable Affordable avatar control system for personal robots Smartband Intelligent counting system for repetitive tasks snu&ssm Trialogue Media art project Polymorphes Media art project Ripple of Emotion Media art project Ugrad Projects Various undergraduate projects at SNU


SharpClaw is a library of Fortran routines designed to solve hyperbolic systems of PDEs with arbitrarily high order accuracy. The numerical method used to solve these equations is described in David Ketcheson’s Ph.D. thesis.
To solve a particular hyperbolic system, SharpClaw requires only that the user provide a Riemann solver. The Riemann solver should be written in the same format as that used in Randy LeVeque’s Clawpack sofware (available at http://www.clawpack.org). Like Clawpack, SharpClaw is based on a wave propagation approach: the Riemann solver does not need to provide fluxes, but only the waves and their speeds.
Contents:


CWSS Score :
Vector String
TI :
,
/ AP :
,
/ AL :
,
/ IC :
,
/ FC :
,
/ RP :
,
/ RL :
,
/ AV :
,
/ AS :
,
/ IN :
,
/ SC :
,
/ BI :
,
/ DI :
,
/ EX :
,
/ EC :
,
/ RE :
,
/ P :
,
/
Base Finding
Technical Impact (TI)
Critical
High
Medium
Low
None
Default
Unknown
Not Applicable
Quantified
Acquired Privilege (AP)
Administrator
Partially-Privileged User
Regular User
Limited / Guest
None
Default
Unknown
Not Applicable
Quantified
Acquired Privilege Layer (AL)
Application
System
Network
Enterprise Infrastructure
Default
Unknown
Not Applicable
Quantified
Internal Control Effectiveness (IC)
None
Limited
Moderate
Indirect (Defense-in-Depth)
Best-Available
Complete
Default
Unknown
Not Applicable
Quantified
Finding Confidence (FC)
Proven True
Proven Locally True
Proven False
Default
Unknown
Not Applicable
Quantified
Attack Surface
Required Privilege (RP)
None
Limited / Guest
Regular User
Partially-Privileged User
Administrator
Default
Unknown
Not Applicable
Quantified
Required Privilege Layer (RL)
Application
System
Network
Enterprise Infrastructure
Default
Unknown
Not Applicable
Quantified
Access Vector (AV)
Internet
Intranet
Private Network
Adjacent Network
Local
Physical
Default
Unknown
Not Applicable
Quantified
Authentication Strength (AS)
Strong
Moderate
Weak
None
Default
Unknown
Not Applicable
Quantified
Level of Interaction (IN)
Automated
Typical/Limited
Moderate
Opportunistic
High
No interaction
Default
Unknown
Not Applicable
Quantified
Deployment Scope (SC)
All
Moderate
Rare
Potentially Reachable
Default
Unknown
Not Applicable
Quantified
Environmental
Business Impact (BI)
Critical
High
Medium
Low
None
Default
Unknown
Not Applicable
Quantified
Likelihood of Discovery (DI)
High
Medium
Low
Default
Unknown
Not Applicable
Quantified
Likelihood of Exploit (EX)
High
Medium
Low
None
Default
Unknown
Not Applicable
Quantified
External Control Effectiveness (EC)
None
Limited
Moderate
Indirect (Defense-in-Depth)
Best-Available
Complete
Default
Unknown
Not Applicable
Quantified
Prevalence (P)
Widespread
High
Common
Limited
Default
Unknown
Not Applicable
Quantified


Risk of a global recession remains more limited than suggested – Goldman Sachs
by Dhwani MehtaThe Goldman Sachs analysts, in their latest client note, said that they believe the global economic growth to pick up in response to easier financial conditions and an end to the trade escalation.
Key Quotes:
“Annual-average GDP growth is likely to rise only modestly from 3.1% in 2019 to 3.4% in 2020.
Risk of a global recession remains more limited than suggested.
By the flat yield curve, which partly reflects a structural decline in the term premium and the low unemployment rate, whose predictive value for inflation and aggressive monetary tightening has fallen.
We also take comfort from the absence of significant private sector financial deficits in all but a few advanced economies.
Our confidence that growth will improve sequentially is highest in the US.
And the UK, where we expect the Brexit drag to reverse and fiscal policy to ease.
We look for a more gradual pickup in Europe, where the fiscal boost is likely to remain (too) limited, and Japan, where we are watching carefully for a negative impact from the October consumption tax hike. We expect growth in China to slow modestly from just above 6% to just below, in line with gradually decelerating potential.
In our baseline forecast, most DM central banks stay on hold in 2020.
At least in the early part of the year.
However, the risk is on the side of further easing, especially in the Euro area and Japan.”


--- layout: post title: Shaders date: October 30, 2018 primary-language: C++ framework: OpenGL ide: QT Creator ---
OpenGL Shaders from Dzung Nguyen on Vimeo.
A very fun mid-course project in my introductory computer graphics course. In order to become familiar with how data is passed between the CPU and GPU with OpenGL and the OpenGL graphics pipeline, I wrote a few vertex and fragment shaders to modify the look of 3D models. Vertex shaders allow for manipulation of vertex attributes such as position, normals, etc. On the other hand, fragment shaders determines the look of the vertices. For instance, a vertex shader that makes the image look like it's morphing would be due to vertex shaders. If the colors changes over time, we would look to fragment shader to see what formula was applied to the vertices.


Ask us what we can do for you.
Ask us what we can do for you.
Ask us what we can do for you.
Ask us what we can do for you.
Ask us what we can do for you.
Read up on our latest work.
Clients happy? We are happy.
Misc stuff we could not put anyplace else.