---
layout: post
title: Customizing ZeroConf scripts
categories:
- Pharo
- Software Engineering
tags:
- bash
- bash scripts
- Pharo
- Smalltalk
- zeroconf
status: publish
type: post
published: true
summary: ZeroConf scripts are bash scripts that ease the installation of a Pharo environment. Now, as I am working on my Phd on my own environment, I'd like to show you how I customized them to manage my own software with them.
meta:
geo_public: '0'
_publicize_pending: '1'
_publicize_done_external: a:1:{s:8:"facebook";a:1:{i:1479284455;b:1;}}
_wpas_done_3194664: '1'
_wpas_mess: Customizing ZeroConf scripts http://wp.me/p2tOYl-4v
publicize_twitter_user: GuillePolito
_wpas_done_1260342: '1'
_wpas_done_1260340: '1'
_elasticsearch_indexed_on: '2013-07-30 10:36:55'
---
As you may already know, ZeroConf scripts are bash scripts that ease the installation of a Pharo environment. A funny thing about these ZeroConf scripts is that they are seen as bash scripts by a bash terminal, and as simple and minimal html pages by a web browser. These scripts are extensively used to simplify the configuration of Pharo CI jobs. They allow you to easily download many versions of the Pharo image and VM.
As I'm working for my Phd, and have a custom version of my virtual machine and image, and also want to make use of the advantages our CI server provides, I wanted to build my own ZeroConf scripts specialized for my needs. I also heard recently on the pharo mailing list that there was some work on customizing ZeroConf scripts[1] for Moose[2]. So I wanted to do it as well for my project :).
[1] http://get.moosetechnology.org/
[2] http://www.moosetechnology.org/
Downloading the ZeroConf package
The ZeroConf scripts are generated automatically by the ZeroConf Pharo package. You can find this package in [2]. To download the current version, you just have to execute the following piece of code in a workspace:
[code language="ruby"]
Gofer it
smalltalkhubUser: 'Pharo' project: 'ZeroConf';
package: 'ZeroConf';
loadVersion: '1.0'
[/code]
This code snippet will install in your image the ZeroConf package for the 1.0 version, containing the script generator, and some tests that are not currently working :).
[2] http://www.smalltalkhub.com/#!/~Pharo/ZeroConf
Getting what's inside ZeroConf
The ZeroConf package is pretty small and simple. There is an abstract class AbstractZeroConfBashScript implementing most of the script generation and bash writing utils. Its subclasses will implement the concrete script generation. Current implementation includes three main classes below the AbstractZeroConfBashScript hierarchy, implementing a composite pattern:
- ZeroConfImageScript: Generates scripts in charge of downloading image files.
- ZeroConfVMScript: Generates scripts in charge of downloading Virtual Machine files (and source files).
- ZeroConfCombinedScript: Generates scripts that combine several scripts. It will point to its combined scripts and downloading it means to download them all.
Customizing our ZeroConf scripts
As you can see in the picture, in order to customize the ZeroConf scripts, you have to create your own subclasses and overriding the correct hooks.
Customizing an image script
A custom image script is defined by a subclass of ZeroConfImageScript. ZeroConfImageScript already defines some image common behavior, such as the release number, which we will use in our script.
[code language="ruby"]
ZeroConfImageScript subclass: #OzZeroConfImageScript
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OurZeroConf'
[/code]
Then we override the methods that tell some information about the files to download:
- OzZeroConfImageScript>>imageName: The name of the image and changes files
- OzZeroConfImageScript>>imageUrl: The url of the image zip, instance of ZnUrl
- OzZeroConfImageScript>>defaultBaseName: The baseName of the script
- OzZeroConfImageScript class>>baseUrl: The base url where the scripts are found, instance of ZnUrl
- OzZeroConfImageScript class>>fileBaseUrl: The base url where the files the scripts will download are found, instance of ZnUrl
I implemented them in my class as follows
[code language="ruby"]
OzZeroConfImageScript>>imageName
^'Oz'
OzZeroConfImageScript>>imageUrl
^ self fileBaseUrl / 'image' / self release asString / self imageFileName / 'download'
OzZeroConfImageScript>>imageFileName
^'Oz-image-', self release asString , '.zip'
OzZeroConfImageScript>>defaultBasename
^ self imageName, self release
OzZeroConfImageScript class>>fileBaseUrl
^ 'https://sourceforge.net/projects/ozobjectspaces/files' asZnUrl
OzZeroConfImageScript class>>baseUrl
^ self fileBaseUrl / 'get'
[/code]
I also extended my script so it generates a custom html title and uses my combining script when combining:
[code language="ruby"]
OzZeroConfImageScript>>htmlTitle
^ self imageName, ' Zeroconf Script'
OzZeroConfImageScript>>defaultCombiningScript
^ OzZeroConfCombinedScript
[/code]
Finally, I created a convenience method for creating a script corresponding to the 1.0 version of my custom image.
[code language="ruby"]
OzZeroConfImageScript class>>oz10
^self new
release: '1.0';
yourself
[/code]
Now you can try generating your script in a workspace,
[code language="ruby"]
OzZeroConfImageScript oz10 generate
[/code]
and see the generated results in your working directory!
Customizing a vm script
A custom vm script is defined by a subclass of ZeroConfVMScript. ZeroConfVMScript defines, as its image friend, some vm common behavior, such as the release number and virtual machine type(i.e., if it is a jitted vm or not), which we will use in our script.
[code language="ruby"]
ZeroConfVMScript subclass: #OzZeroConfVMScript
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OurZeroConf'
[/code]
Then we override the methods that tell some information about the files to download:
- OzZeroConfVMScript>>binaryName: The name of the vm binary name
- OzZeroConfVMScript>>binaryNameLinux: The name of the vm binary name in linux, which tends to be different
- OzZeroConfVMScript>>vmUrl: The url of the vm zip, instance of ZnUrl
- OzZeroConfVMScript>>defaultBaseName: The baseName of the script
- OzZeroConfVMScript class>>baseUrl: The base url where the scripts are found, instance of ZnUrl
- OzZeroConfVMScript class>>fileBaseUrl: The base url where the files the scripts will download are found, instance of ZnUrl
I implemented them in my class as follows
[code language="ruby"]
OzZeroConfVMScript>>binaryName
^'ozstack'
OzZeroConfVMScript>>binaryNameLinux
^self binaryName
OzZeroConfVMScript>>vmUrl
^self fileBaseUrl asString, '/vm/', self release asString,'/', self vmFileName, '/download'
OzZeroConfVMScript>>vmFileName
^'OzVm-${OS}-', self release asString , '.zip'
OzZeroConfVMScript class>>fileBaseUrl
^ 'https://sourceforge.net/projects/ozobjectspaces/files' asZnUrl
OzZeroConfVMScript class>>baseUrl
^ self fileBaseUrl / 'get'
[/code]
I also extended my script so it uses my combining script when combining:
[code language="ruby"]
OzZeroConfVMScript>>defaultCombiningScript
^ OzZeroConfCombinedScript
[/code]
Finally, I created a convenience method for creating a script corresponding to the 1.0 version of my custom vm.
[code language="ruby"]
OzZeroConfVMScript class>>ozvm10
^self new
type: 'oz';
release: '1.0';
yourself
[/code]
Now you can try generating your script in a workspace,
[code language="ruby"]
OzZeroConfVMScript ozvm10 generate
[/code]
and see the generated results in your working directory!
Customizing a combined script
A combined script is the one we use to combine several scripts. It is defined by a subclass of ZeroConfCombinedScript.
[code language="ruby"]
ZeroConfCombinedScript subclass: #OzZeroConfCombinedScript
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OurZeroConf'
[/code]
Then we override the methods that tell some information about the files to download:
- OzZeroConfCombinedScript class>>baseUrl: The base url where the scripts are found, instance of ZnUrl
- OzZeroConfCombinedScript class>>fileBaseUrl: The base url where the files the scripts will download are found, instance of ZnUrl
I implemented them in my class as follows
[code language="ruby"]
OzZeroConfCombinedScript class>>fileBaseUrl
^ 'https://sourceforge.net/projects/ozobjectspaces/files' asZnUrl
OzZeroConfCombinedScript class>>baseUrl
^ self fileBaseUrl / 'get'
[/code]
As you can see, my methods baseUrl and fileBaseUrl are always the same in all scripts. I extracted them into another class later, but keep the code here as is for clarity.
I also extended my script so it uses my combining script when combining and the html title:
[code language="ruby"]
OzZeroConfCombinedScript>>defaultCombiningScript
^ OzZeroConfCombinedScript
OzZeroConfCombinedScript>>htmlTitle
^ self scripts first htmlTitle
[/code]
Integrating everything and automating generation
As I already showed you, every script understands the message #generate to generate itself. However, we may want to generate many scripts, and combine them. The ZeroConf infrastructure already provides for that the ZeroConfCommandLineHandler. The ZeroConfCommandLineHandler is a command line handler that knows which are the scripts we want to generate, combines them appropriately and generates them. So we will subclass from ZeroConfCommandLineHandler and specialize it to fulfill our needs.
[code language="ruby"]
ZeroConfCommandLineHandler subclass: #OzZeroConfCommandLineHandler
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'OzZeroConf'
[/code]
Once we have it, we configure it as a command line handler specifying its command name and description:
[code language="ruby"]
OzZeroConfCommandLineHandler class>>commandName
^ 'ozzeroconf'
OzZeroConfCommandLineHandler class>>description
^ 'Generate Oz zeroconf bash scripts'
[/code]
And finally we specialize it to tell it about our scripts:
[code language="ruby"]
OzZeroConfCommandLineHandler>>defaultScript
^ self defaultImage, self defaultVM
OzZeroConfCommandLineHandler>>defaultImage
^ OzZeroConfImageScript oz10
OzZeroConfCommandLineHandler>>defaultVM
^ OzZeroConfVMScript ozvm10
OzZeroConfCommandLineHandler>>imageScripts
^ {
OzZeroConfImageScript oz10.
}
OzZeroConfCommandLineHandler>>vmScripts
^ {
OzZeroConfVMScript ozvm10
}
OzZeroConfCommandLineHandler>>indexScriptExamplesHtml
^ ''
[/code]
Now we have our command line handler, we can test it and make it generate our scripts:
[code language="ruby"]
OzZeroConfCommandLineHandler new
commandLine: CommandLineArguments new;
generateScripts
[/code]
Finally, if you have all this code in your image, you can just activate it through the command line thanks to the command line handler!
[code language="bash"]
./pharo PharoMyZeroConf.image ozzeroconf
[/code]
And look at the results. Upload your files, archive them, and use them :).
Guille


Can you guess each of the brand logos within 30 seconds?
The brand you guessed the fastest is {{fastestBrand}} at {{fastestTime}} second(s).
Current score: {{finalScore}}
Hint
Guess!
Skip
{{itemLeft}}/{{itemCount}}


I love making new stuff everyday
I enjoy data and design.
Be modern: send an email please or use Linked In.


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(form: Form[_], fieldNamespace: String, labelContent: String)(implicit messages: Messages) @defining(form.errors.filter(f => f.key.startsWith(s"$fieldNamespace.") || f.key == fieldNamespace)) { errors =>
}


|
Drake
|
Simple linear system x = b 2 * y(0) = b(0) 2 * y(1) = b(1) More...
#include <drake/solvers/test/optimization_examples.h>
Additional Inherited Members | |
| Protected Member Functions inherited from LinearSystemExample1 | |
| double | tol () const |
Simple linear system x = b 2 * y(0) = b(0) 2 * y(1) = b(1)
|
delete |
|
delete |
|
inlineoverride |
|
overridevirtual |
Reimplemented from LinearSystemExample1.
Reimplemented in LinearSystemExample3.
|
delete |
|
delete |
|
inline |


In late 2001, Squaresoft launched an anime based on the Final Fantasy world. Though without any actual ties to previous games, certain things most definitely pegged it as part of the FF world - Chocobos, summons, music themes like Victory and Prelude, and a general feel that recalled Yoshitaka Amano, the FF illustrator, at his most mysterious.
The story revolves around two children, Ai and Yu, in their travels in the hostile Inner World. There are two distinct "threads"; the early episodes follow them and their companion Lisa as they use the Inner World subway, Elizabeth, to travel from place to place looking for their parents. As the story unfolds, the later episodes feature them in the submarine, Jane, trapped in the Ocean Puzzle and completing task after task to escape. However, interspersed in the generic episodes are more story-driven ones, generally revolving around the evil Earl Tyrant, and the agendas of two mysterious and powerful enemies, Kaze and Shrio Kumo.
FFU was taken off the air after only 25 episodes, leaving a lot of questions unanswered. There are no plans to make any more. See Notes for more details. I used the Chikara fansub for episodes 9, 10, 23, and 25, and the Soldats fansub for the rest. Note that the series has since been licensed and translated into English by ADV, so both I and the fansub groups advocate viewing that version as the "official" one.
Releases:
Buy FF: Unlimited Merchandise at the FFC Store!
Characters
Story / Episode Guide (With Screenshots - Part 1)
Story / Episode Guide (With Screenshots - Part 2)
Story / Episode Guide (No Screenshots)
Glossary - names, places, terms.
Notes - on production, language, story, and the FF game series.
Summons:
Atomos (Storm Blue + Acid Gray + Silent Black)
Bahamut? (2) (Marvelous Orange + Maniac Purple + Ultra Shocking Pink)
"Rainbow Bahamut?" (Tear Rainbow + Endless White + Soul Steel Gray)
Bismarck (Shark Grey + Water Blue + Crusher White)
Chocobo
Ifrit (2) (Cardinal Red + Dark Crimson + Burnt Sienna)
Ixion, (Steel Grey + Heat Crimson + Lightning Yellow) Ixion Type Zero
Meteor Master AKA Tonberry (Horizon Gold + Aero Black + Auto Silver)
Odin (2) (Brit Silver + Destroy Black + Steel Gray)
Phoenix (2) (Mother Black + Fire Red + Burning Gold), Giga-Phoenix
Typhoon (Sky Blue + Grand Brown + Magic Violet)
Shiva (Dark Green + Virgin White + Ice Blue)
Titan (Gaia Brown + Deep Vermillion + Ever Green)
Anima (Silent Black + Pain Blue + Chain Gold) (from FF Unlimited: After 2)
Cid's Inventions:
Cordelia (Draining Pump)
Elizabeth (Inner World Subway)
Genevieve (Electrolytic Healing Machine)
Catherine (Water Sled)
Izabel (Inner World Clock)
Jane (2) (Submarine)
Kaoruko (Battery)
Lamone (Crane)
Marianne (De-humidifier)
Super-Sized Genevieve (onboard Jane)
Sylvia (Airship)
Other Images:
So that's what a Dead Pepper looks like!
Mmmm, Malboro Stew.
Is that PuPu on Jane's bridge?
Soundtracks:
FF: Unlimited: Music Adventure Verse.1 (2001)
FF: Unlimited: Music Adventure Verse.2 (2002)
VIVID (2001)
Over The Fantasy (2001)
Romancing Train (2002)
FF Unlimited: After 2 (2003)


# Suppressing Lint Checks Lint errors can be suppressed in a variety of ways: 1. With a `@SuppressLint` annotation in the Java code 2. With a `tools:ignore` attribute in the XML file 3. With a //noinspection comment in the source code 4. With ignore flags specified in the `build.gradle` file, as explained below 5. With a `lint.xml` configuration file in the project 6. With a `lint.xml` configuration file passed to lint via the --config flag 7. With the --ignoreflag passed to lint 8. With a [baseline](baselines.md.html) To suppress a lint warning with an annotation, add a `@SuppressLint("id")` annotation on the class, method or variable declaration closest to the warning instance you want to disable. The id can be one or more issue id's, such as `"UnusedResources"` or `{"UnusedResources", "UnusedIds"}`, or it can be `"all"` to suppress all lint warnings in the given scope. You can also use `@Suppress` in Kotlin or `@SuppressWarnings` in Java. To suppress a lint warning with a comment, add a `//noinspection id` comment on the line before the statement with the error. To suppress a lint warning in an XML file, add a `tools:ignore="id"` attribute on the element containing the error, or one of its surrounding elements. You also need to define the namespace for the tools prefix on the root element in your document, next to the `xmlns:android` declaration: `xmlns:tools="http://schemas.android.com/tools"` To suppress a lint warning in a `build.gradle` file, add a section like this: ```gradle android { lintOptions { disable 'TypographyFractions','TypographyQuotes' } } ``` Here we specify a comma separated list of issue id's after the disable command. You can also use `warning` or `error` instead of `disable` to change the severity of issues. To suppress lint warnings with a configuration XML file, create a file named `lint.xml`. See the [lint.xml configuration](lintxml.md.html) document for more details. To suppress lint checks from the command line, pass the `--ignore` flag with a comma separated list of ids to be suppressed, such as: ```shell $ lint --ignore UnusedResources,UselessLeaf /my/project/path ``` For more information, see https://developer.android.com/studio/write/lint.html#config


JavaScript Practice Problems - W3Resource - Basic
Problem 5
Reverse a string.
Solution Output
The word 'pineapple' reversed is
.


Summary Report
- On average, each application has
open critical violations
Most Critical Application has
critical violations
Least Critical Application has
critical violations


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/What.20should.20be.20.40.5Bsimp.5D.3F.html ---
I put @[simp]
on my leftpad definition to demonstrate it, but it definitely cannot be applied to everything. Are there any rules to which I can refer?
Rules of thumb: @[simp]
should be applied to
lemma
or theorem
, not to def
foo = bar
or xyzzy = quux
There are exceptions to these rules, and also the rules are maybe not complete. But they give the rough idea.
now to go back and rewrite my proof :upside_down:
You can also add @[simp]
to definitions. This will tell simp
that it can unfold this definition.
:up: Use with caution!
If you're defining a structure, you should use @[simps]
in preference to @[simp]
, as this defines simp
lemmas for each of the structure projections, but doesn't allow unfolding the entire definition.
Last updated: Apr 24 2020 at 19:02 UTC


--- layout: post title: "The Digikey Order Arrived!" date: 2020-01-18 10:45:13 -0400 background: '/img/posts/03-PCB.jpg' ---
Today we have an exciting update for everyone. Our order from Digikey arrived! With all the PCB parts now in our possession, we can move forward with soldering, testing and other exciting embedded systems work!
The process of soldering brings many surprises as it brings our mistakes to light. There were sadly a few, but nothing that can't be fixed with another Digikey order haha.
Below are additional pictures of our soldering adventures. Check them out!
Yours Truly,
Formagine


The API uses OAuth2 for authorization. To access protected parts of the API you need to obtain an access token. Therefor you can use the following endpoints:
/developer/auth
/authorization/token
For the authorization code you have to redirect the resource owner to the
consumer endpoint:/auth?response_type=code&client_id=[app_key]&redirect_uri=[url]&scope=authorization
.
If the authorization was successful the user gets redirected to the redirect_uri
of your app. The redirect_uri
contains a GET parameter code which
can be exchanged for an access token at the Token-Endpoint.
Through the resource owner password credentials grant you can obtain an access token with your app credentials and the username/password of your account. Therefor you can send directly an request to the Token-Endpoint containing the app credentials and you username and password.


public class BaseLexicon extends java.lang.Object implements Lexicon
| Modifier and Type | Field and Description |
|---|---|
protected static boolean |
DEBUG_LEXICON |
protected static boolean |
DEBUG_LEXICON_SCORE |
protected boolean |
flexiTag |
protected static IntTaggedWord |
NULL_ITW |
protected static short |
nullTag |
protected static int |
nullWord |
protected Options |
op |
java.util.List<IntTaggedWord>[] |
rulesWithWord
An array of Lists of rules (IntTaggedWord), indexed by word.
|
ClassicCounter<IntTaggedWord> |
seenCounter
Records the number of times word/tag pair was seen in training data.
|
protected boolean |
smartMutation
Have tags changeable based on statistics on word types having various
taggings.
|
protected int |
smoothInUnknownsThreshold
If a word has been seen more than this many times, then relative
frequencies of tags are used for POS assignment; if not, they are smoothed
with tag priors.
|
protected Index<java.lang.String> |
tagIndex |
protected java.util.Set<IntTaggedWord> |
tags
Set of all tags as IntTaggedWord.
|
protected TestOptions |
testOptions |
protected TrainOptions |
trainOptions |
protected boolean |
useSignatureForKnownSmoothing |
protected UnknownWordModel |
uwModel |
protected UnknownWordModelTrainer |
uwModelTrainer |
protected java.lang.String |
uwModelTrainerClass |
protected Index<java.lang.String> |
wordIndex |
protected java.util.Set<IntTaggedWord> |
words |
BOUNDARY, BOUNDARY_TAG, UNKNOWN_WORD
| Constructor and Description |
|---|
BaseLexicon(Index<java.lang.String> wordIndex,
Index<java.lang.String> tagIndex) |
BaseLexicon(Options op,
Index<java.lang.String> wordIndex,
Index<java.lang.String> tagIndex) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAll(java.util.List<TaggedWord> tagWords)
Not yet implemented.
|
void |
addAll(java.util.List<TaggedWord> taggedWords,
double weight)
Not yet implemented.
|
protected void |
addTagging(boolean seen,
IntTaggedWord itw,
double count)
Adds the tagging with count to the data structures in this Lexicon.
|
double |
evaluateCoverage(java.util.Collection<Tree> trees,
java.util.Set<java.lang.String> missingWords,
java.util.Set<java.lang.String> missingTags,
java.util.Set<IntTaggedWord> missingTW)
Evaluates how many words (= terminals) in a collection of trees are
covered by the lexicon.
|
protected static void |
examineIntersection(java.util.Set<java.lang.String> s1,
java.util.Set<java.lang.String> s2) |
void |
finishTraining()
Done collecting statistics for the lexicon.
|
int |
getBaseTag(int tag,
TreebankLanguagePack tlp) |
UnknownWordModel |
getUnknownWordModel() |
void |
incrementTreesRead(double weight)
If training on a per-word basis instead of on a per-tree basis,
we will want to increment the tree count as this happens.
|
void |
initializeTraining(double numTrees)
Start training this lexicon on the expected number of trees.
|
protected void |
initRulesWithWord() |
boolean |
isKnown(int word)
Checks whether a word is in the lexicon.
|
boolean |
isKnown(java.lang.String word)
Checks whether a word is in the lexicon.
|
protected java.util.List<IntTaggedWord> |
listToEvents(java.util.List<TaggedWord> taggedWords) |
static void |
main(java.lang.String[] args)
Provides some testing and opportunities for exploration of the
probabilities of a BaseLexicon.
|
int |
numRules()
Returns the number of rules (tag rewrites as word) in the Lexicon.
|
void |
printLexStats()
Print some statistics about this lexicon.
|
void |
readData(java.io.BufferedReader in)
Populates data in this Lexicon from the character stream given by the
Reader r.
|
java.util.Iterator<IntTaggedWord> |
ruleIteratorByWord(int word,
int loc,
java.lang.String featureSpec)
Generate the possible taggings for a word at a sentence position.
|
java.util.Iterator<IntTaggedWord> |
ruleIteratorByWord(java.lang.String word,
int loc)
Returns the possible POS taggings for a word.
|
java.util.Iterator<IntTaggedWord> |
ruleIteratorByWord(java.lang.String word,
int loc,
java.lang.String featureSpec)
Same thing, but with a string that needs to be translated by the
lexicon's word index
|
float |
score(IntTaggedWord iTW,
int loc,
java.lang.String word,
java.lang.String featureSpec)
Get the score of this word with this tag (as an IntTaggedWord) at this
location.
|
void |
setUnknownWordModel(UnknownWordModel uwm) |
java.util.Set<java.lang.String> |
tagSet(java.util.function.Function<java.lang.String,java.lang.String> basicCategoryFunction)
Return the Set of tags used by this tagger (available after training the tagger).
|
void |
train(java.util.Collection<Tree> trees)
Trains this lexicon on the Collection of trees.
|
void |
train(java.util.Collection<Tree> trees,
java.util.Collection<Tree> rawTrees) |
void |
train(java.util.Collection<Tree> trees,
double weight)
Trains this lexicon on the Collection of trees.
|
void |
train(java.util.List<TaggedWord> sentence,
double weight)
Not all subclasses support this particular method.
|
void |
train(TaggedWord tw,
int loc,
double weight)
Not all subclasses support this particular method.
|
void |
train(Tree tree,
double weight) |
void |
trainUnannotated(java.util.List<TaggedWord> sentence,
double weight)
Sometimes we might have a sentence of tagged words which we would
like to add to the lexicon, but they weren't part of a binarized,
markovized, or otherwise annotated tree.
|
void |
trainWithExpansion(java.util.Collection<TaggedWord> taggedWords)
Not yet implemented.
|
protected java.util.List<IntTaggedWord> |
treeToEvents(Tree tree) |
void |
tune()
TODO: this used to actually score things based on the original trees
|
void |
writeData(java.io.Writer w)
Writes out data from this Object to the Writer w.
|
protected UnknownWordModel uwModel
protected final java.lang.String uwModelTrainerClass
protected transient UnknownWordModelTrainer uwModelTrainer
protected static final boolean DEBUG_LEXICON
protected static final boolean DEBUG_LEXICON_SCORE
protected static final int nullWord
protected static final short nullTag
protected static final IntTaggedWord NULL_ITW
protected final TrainOptions trainOptions
protected final TestOptions testOptions
protected final Options op
protected int smoothInUnknownsThreshold
protected boolean smartMutation
protected final Index<java.lang.String> wordIndex
protected final Index<java.lang.String> tagIndex
public transient java.util.List<IntTaggedWord>[] rulesWithWord
protected transient java.util.Set<IntTaggedWord> tags
protected transient java.util.Set<IntTaggedWord> words
public ClassicCounter<IntTaggedWord> seenCounter
protected boolean flexiTag
protected boolean useSignatureForKnownSmoothing
public boolean isKnown(int word)
public boolean isKnown(java.lang.String word)
public java.util.Set<java.lang.String> tagSet(java.util.function.Function<java.lang.String,java.lang.String> basicCategoryFunction)
public java.util.Iterator<IntTaggedWord> ruleIteratorByWord(java.lang.String word, int loc)
word
- The word, represented as an integer in wordIndexloc
- The position of the word in the sentence (counting from 0).
Implementation note: The BaseLexicon class doesn't actually
make use of this position information.tag -> word rule.)
public java.util.Iterator<IntTaggedWord> ruleIteratorByWord(int word, int loc, java.lang.String featureSpec)
Implementation note: Expanded sets of possible taggings are calculated dynamically at runtime, so as to reduce the memory used by the lexicon (a space/time tradeoff).
ruleIteratorByWord
in interface Lexicon
word
- The word (as an int)loc
- Its index in the sentence (usually only relevant for unknown words)featureSpec
- Additional word features like morphosyntactic information.public java.util.Iterator<IntTaggedWord> ruleIteratorByWord(java.lang.String word, int loc, java.lang.String featureSpec)
Lexicon
ruleIteratorByWord
in interface Lexicon
protected void initRulesWithWord()
protected java.util.List<IntTaggedWord> treeToEvents(Tree tree)
protected java.util.List<IntTaggedWord> listToEvents(java.util.List<TaggedWord> taggedWords)
public void addAll(java.util.List<TaggedWord> tagWords)
public void addAll(java.util.List<TaggedWord> taggedWords, double weight)
public void trainWithExpansion(java.util.Collection<TaggedWord> taggedWords)
public void initializeTraining(double numTrees)
Lexicon
initializeTraining
in interface Lexicon
public void train(java.util.Collection<Tree> trees)
public void train(java.util.Collection<Tree> trees, double weight)
public final void train(java.util.List<TaggedWord> sentence, double weight)
Lexicon
public final void incrementTreesRead(double weight)
Lexicon
incrementTreesRead
in interface Lexicon
public final void trainUnannotated(java.util.List<TaggedWord> sentence, double weight)
Lexicon
trainUnannotated
in interface Lexicon
public void train(TaggedWord tw, int loc, double weight)
Lexicon
public void finishTraining()
Lexicon
finishTraining
in interface Lexicon
protected void addTagging(boolean seen, IntTaggedWord itw, double count)
public float score(IntTaggedWord iTW, int loc, java.lang.String word, java.lang.String featureSpec)
Implementation documentation: Seen: c_W = count(W) c_TW = count(T,W) c_T = count(T) c_Tunseen = count(T) among new words in 2nd half total = count(seen words) totalUnseen = count("unseen" words) p_T_U = Pmle(T|"unseen") pb_T_W = P(T|W). If (c_W > smoothInUnknownsThreshold) = c_TW/c_W Else (if not smart mutation) pb_T_W = bayes prior smooth[1] with p_T_U p_T= Pmle(T) p_W = Pmle(W) pb_W_T = log(pb_T_W * p_W / p_T) [Bayes rule] Note that this doesn't really properly reserve mass to unknowns. Unseen: c_TS = count(T,Sig|Unseen) c_S = count(Sig) c_T = count(T|Unseen) c_U = totalUnseen above p_T_U = Pmle(T|Unseen) pb_T_S = Bayes smooth of Pmle(T|S) with P(T|Unseen) [smooth[0]] pb_W_T = log(P(W|T)) inverted
score
in interface Lexicon
iTW
- An IntTaggedWord pairing a word and POS tagloc
- The position in the sentence. In the default implementation
this is used only for unknown words to change their probability
distribution when sentence initialword
- The word itself; useful so we don't have to look it
up in an indexfeatureSpec
- TODOpublic final void tune()
public void readData(java.io.BufferedReader in) throws java.io.IOException
public void writeData(java.io.Writer w) throws java.io.IOException
public int numRules()
protected static void examineIntersection(java.util.Set<java.lang.String> s1, java.util.Set<java.lang.String> s2)
public void printLexStats()
public double evaluateCoverage(java.util.Collection<Tree> trees, java.util.Set<java.lang.String> missingWords, java.util.Set<java.lang.String> missingTags, java.util.Set<IntTaggedWord> missingTW)
public int getBaseTag(int tag, TreebankLanguagePack tlp)
public static void main(java.lang.String[] args)
args
- The command line arguments:
java BaseLexicon treebankPath fileRange unknownWordModel words*public UnknownWordModel getUnknownWordModel()
getUnknownWordModel
in interface Lexicon
public final void setUnknownWordModel(UnknownWordModel uwm)
setUnknownWordModel
in interface Lexicon


Creates an array of transformation data blocks representing each polygon of each mesh object.
Each data block will contain:
> x, y, z, rotation
> x, y, z, location
> x, y, z, size
> y, z, unit circle coordinates for x rotation
> x, z, unit circle coordinates for y rotation
> x, y, unit circle coordinates for z rotation
> bounds radius,
This function will use transcendental functions to find how to put a triangle into a normalized state and get transformation data representing its orientation, location, and size.
Uses makeTriTransData() to create an array of transformation data blocks representing each polygon of each quad of each mesh object.
Each data block will contain:
> x, y, z, rotation
> x, y, z, location
> x, y, z, size
> y, z, unit circle coordinates for x rotation
> x, z, unit circle coordinates for y rotation
> x, y, unit circle coordinates for z rotation
> bounds radius,


name: title class: center, middle, inverse # Architecture, Deployment, and Operations ## with OADA/Trellis ----------------------------------- [http://trellisframework.org](http://trellisframework.org) [http://github.com/oada](http://github.com/oada) [http://github.com/trellisfw](http://github.com/trellisfw) .footnote[ created with [remark](http://github.com/gnab/remark) ] --- name: cliffs_notes class: middle, inverse # OADA/Trellis Cliff's Notes * OADA/Trellis defines a data-model-agnostic REST API * API can push/notify/sync asynchronously (websockets, webhooks, OADA sync) * Data models published as graph schemas on top of OADA/Trellis REST API * Reference implementation is [https://github.com/oada/oada-srvc-docker](https://github.comoada/oada-srvc-docker) * Install reference implentation to get OADA/Trellis API in your domain --- class: middle, inverse
--- class: middle, inverse
--- class: middle, inverse # Key Concept: `services-enabled` system is controlled/configured by docker-compose files * `oada-core/` * main services that implement OADA API * has docker-compose.yml * `services-available/` * place plugins/overrides here. * merges each docker-compose.yml w/ core * any service can augment or override core by merging docker-compose.yml * `services-enabled/` * symlink to services-available to enable, can use 000-<name> for priority * `oada` script: * run docker-compose with merge of all docker-compose files * `oada up -d` --- class: center, middle, inverse # Deploying a new OADA/Trellis instance --- name: system class: middle, inverse # Deploying a new OADA/Trellis instance ## System Requirements: * RAM >= 4 GB * Docker >= 19 * docker-compose > 1.24 ## System Recommendations: * Recent Linux/Mac (Windows+Docker = tenuous relationship) --- name: decisions class: middle, inverse # Deploying a new OADA/Trellis instance ## Decisions to make: * Where to host `/.well-known/oada-configuration` * Domain(s)/subdomain(s) for OADA/Trellis API base ## Recommended: * same domain for all, simple to remember (like trellis.ourcompany.com) --- name: install class: middle, inverse # Deploying a new OADA/Trellis Instance ## Get the code: ```bash git clone git@github.com:OADA/oada-srvc-docker.git ``` ## Install `oada` script, install npm libraries: ```bash cd oada-srvc-docker oada --install-self ``` The `oada` script passes its arguments to `docker-compose`, so whatever works with docker-compose works with `oada`. --- name: setup class: middle, inverse # Deploying a new OADA/Trellis Instance - Setup Domains 1. In `domains-available/`, copy the localhost folder to a new folder named the same as your domain ```bash cd domains-available && cp -rf localhost api.example.com ``` 2. Edit config.js and unsigned_software_statement.js to replace `localhost` with your domain ```bash cd api.example.com # Replace localhost with your domain in config.js and unsigned_software_statement.js ``` 3. Create new signing keys for your domain, and then use them to sign the unsigned_software_statement.js: ```bash # Create the keys: oada run --rm admin cd /domains-available/<your_domain> && oada-certs --create-keys --force # Sign the unsigned_software_statement.js: oada run --rm admin cd /domains-available/<your_domain> && oada-certs ``` 4. Enable your domain and restart oada to take effect: ```bash cd domains-enabled && ln -s ../domains-available/<your_domain> . oada restart ``` --- name: setup class: middle, inverse ## https certs * Use script in admin container to request a letsencrypt certificate on all domains in `domains-enabled` ```bash oada run --rm admin initiate-letsencrypt-alldomains.sh # You have to restart proxy to get nginx to see the new certificate: oada restart proxy ``` * you can renew manually every 90 days w/ admin, or make a cron container to do it for you ```bash oada run --rm admin certbot renew ``` * If you have a manually-generated certificate, you can put it in your domain folder under `certs`. Be sure to name the CA certificate `fullchain.pem` and the private key `privkey.pem` because that's what the default `sites-enabled` for nginx looks for. You can also override the sites-enabled if you want to name them something else. --- name: users class: middle, inverse # Deploying a new OADA/Trellis Instance - Setup admin user * Use script in admin container create first admin user * only admin users can add other users via API ```bash oada run --rm admin ./useradd -a Username:
Password:
Domain:
``` * Once initial admin user is created, you can create other users via API ```http POST /users { username: 'username', password: 'password' } ``` * add `scope: [ 'oada.admin.users' ]` to make this user an admin user --- name: starting class: inverse # Starting/Running OADA/Trellis ## Starting (will build or re-build containers as needed): ```bash oada up -d ``` ## Restarting any given service: ```bash oada restart <service_name> ``` Docker will automatically restart failed services, and will restart all on host boot. --- class: inverse # Debugging, Monitoring ## Check up status: (restarts that service w/ terse logs) ```bash oada ps ``` ## Container logs: ```bash oada logs --tail=1000 -f <service_name> ``` ## Enable all debugging messages (restarts that service w/ verbose logs) ```bash DEBUG="*" oada up -d <service_name> ``` `DEBUG="*info*,*warn*,*error*"` for normal logs Better monitoring+notifications are on roadmap --- class: inverse # Backups * no enforced backup scheme * can map docker data volumes to cloud block storage w/ `services-enabled` override * https://github.com/oada/oada-backups can be dropped in services-available to dump rolling arangodb nightly to a volume # Failover * no existing enforced failover scheme * future may use Kubernetes to coordinate hosts * option is to map docker data volumes to cloud block storage, then failover to new VM # Updates Rolling updates are on roadmap ```bash git pull && oada run yarn && oada up -d && oada restart ``` Near-term roadmap could include `oada --upgrade` option to intelligently restart/rebuild only those containers affected by update --- class: inverse # Using custom internal identity service Do this as `services-enabled` plugin 1. Override default OADA login template 2. Add proxy route to your plugin 3. Set userid in session upon identity discovery 4. Redirect back to OADA default login to complete OAuth2 token handout --- class: inverse, middle # Simple "up and running" test: ```bash curl https://<domain>/.well-known/oada-configuration ``` You may need to allow an untrusted HTTPS certificate if on localhost or otherwise developing without a valid SSL cert.


GitHub Issue Tracker¶
-
class
importers.issue_tracker.github.issue2db_extract_main.
GitHubIssue2DbMain
(db_name, project_name, repo_name, type, issue_tracker_name, url, before_date, tokens, config, log_root_path)[source]¶ This class handles the import of GitHub issue data
-
class
importers.issue_tracker.github.issue2db_update.
GitHubIssue2DbUpdate
(db_name, project_name, repo_name, issue_tracker_name, url, tokens, config, log_root_path)[source]¶ This class handles the update of GitHub issue tracker data
-
class
importers.issue_tracker.github.issue2db_extract_issue.
GitHubIssue2Db
(db_name, repo_id, issue_tracker_id, url, interval, token, config, log_root_path)[source]¶ This class handles the import of GitHub issues
-
class
importers.issue_tracker.github.issue2db_extract_issue_dependency.
GitHubIssueDependency2Db
(db_name, repo_id, issue_tracker_id, url, interval, token, config, log_root_path)[source]¶ This class inserts the dependencies between GitHub issues
-
class
importers.issue_tracker.github.github_dao.
GitHubDao
(config, logger)[source]¶ This class handles the persistence and retrieval of GitHub issue tracker data
-
get_already_imported_issue_ids
(issue_tracker_id, repo_id)[source]¶ gets issues already stored in DB
Parameters:
-
get_issue_dependency_type_id
(name)[source]¶ get id of the issue dependency type
Parameters: name (str) – name of the dependency type
-
get_message_type_id
(message_type)[source]¶ gets message type id
Parameters: message_type (str) – message type
-
insert_attachment
(attachment_id, issue_comment_id, name, url)[source]¶ inserts attachment
Parameters:
-
insert_issue
(issue_own_id, issue_tracker_id, summary, component, version, hardware, priority, severity, reference_id, user_id, created_at, last_change_at)[source]¶ inserts an issue
Parameters: - issue_own_id (int) – data source issue id
- issue_tracker_id (int) – issue tracker id
- summary (str) – new issue description
- component (str) – component where the issue was found
- version (str) – version where the issue was found
- hardware (str) – hardware where the issue was found
- priority (str) – priority of the issue
- severity (str) – severity of the issue
- reference_id (int) – id of the Git reference where the issue was found
- user_id (int) – issue creator id
- created_at (str) – creation date of the issue
- last_change_at (str) – last change date of the issue
-
insert_issue_comment
(own_id, position, type, issue_id, body, votes, author_id, created_at)[source]¶ inserts issue comment
Parameters:
-
insert_issue_commit_dependency
(issue_id, commit_id)[source]¶ inserts dependency between commit and issue
Parameters:
-
insert_issue_dependency
(issue_source_id, issue_target_id, type)[source]¶ inserts dependency between issues
Parameters:
-
insert_issue_event
(issue_id, event_type_id, detail, creator_id, created_at, target_user_id)[source]¶ inserts issue event
Parameters:
-
select_event_type
(name)[source]¶ selects event type id by its name
Parameters: name (str) – name of the event
-
select_issue_comment_id
(own_id, issue_id, created_at)[source]¶ selects the id of an issue comment
Parameters:
-
select_issue_own_id
(issue_id, issue_tracker_id, repo_id)[source]¶ selects data source issue id
Parameters:
-
select_issue_tracker_id
(repo_id, issue_tracker_name)[source]¶ gets DB issue tracker id by its name
Parameters:
-
select_label_id
(name)[source]¶ selects the label id by its name
Parameters: name (str) – the name of the label
-
select_last_change_issue
(issue_id, issue_tracker_id, repo_id)[source]¶ retrieves last change date of an issue
Parameters:
-
select_project_id
(project_name)[source]¶ selects project id by its name
Parameters: project_name (str) – name of a project
-
update_issue
(issue_id, issue_tracker_id, summary, component, version, hardware, priority, severity, reference_id, last_change_at)[source]¶ updates an issue
Parameters: - issue_id (int) – data source issue id
- issue_tracker_id (int) – issue tracker id
- summary (str) – new issue description
- component (str) – component where the issue was found
- version (str) – version where the issue was found
- hardware (str) – hardware where the issue was found
- priority (str) – priority of the issue
- severity (str) – severity of the issue
- reference_id (int) – id of the Git reference where the issue was found
- last_change_at (str) – last change date of the issue
-
-
class
importers.issue_tracker.github.querier_github.
GitHubQuerier
(url, token, logger)[source]¶ This class collects the data available on the GitHub issue tracker via its API
-
get_attachment_name
(text)[source]¶ gets the name of the attachement
Parameters: text (str) – content of the comment
-
get_attachment_url
(text)[source]¶ gets the URL of the attachement
Parameters: text (str) – content of the comment
-
get_attachments
(comment)[source]¶ gets the attachements within a comment
Parameters: comment (str) – content of the comment
-
get_commit_dependencies
(history)[source]¶ gets dependencies between an issue and commits
Parameters: history (Object) – the Object representing the events of an issue
-
get_event_actor
(event)[source]¶ gets the actor of an event
Parameters: event (Object) – the Object representing the event
-
get_event_creation_time
(event)[source]¶ gets the creation time of an event
Parameters: event (Object) – the Object representing the event
-
get_issue_assignees
(history)[source]¶ gets assignees of an issue
Parameters: history (Object) – the Object representing the events of an issue
-
get_issue_body
(issue)[source]¶ gets body of the issue
Parameters: issue (Object) – the Object representing the issue
gets the author of the issue comment
Parameters: issue_comment (Object) – the Object representing the issue comment
-
get_issue_comment_body
(issue_comment)[source]¶ gets the body of the issue comment
Parameters: issue_comment (Object) – the Object representing the issue comment
-
get_issue_comment_creation_time
(issue_comment)[source]¶ gets the creation time of the issue comment
Parameters: issue_comment (Object) – the Object representing the issue comment
-
get_issue_comment_id
(issue_comment)[source]¶ gets the id of the issue comment
Parameters: issue_comment (Object) – the Object representing the issue comment
-
get_issue_comments
(issue)[source]¶ gets the comments of the issue
Parameters: issue (Object) – the Object representing the issue
-
get_issue_creation_time
(issue)[source]¶ gets creation time of the issue
Parameters: issue (Object) – the Object representing the issue
-
get_issue_creator
(issue)[source]¶ gets creator of the issue
Parameters: issue (Object) – the Object representing the issue
-
get_issue_history
(issue)[source]¶ gets the event history of an issue
Parameters: issue (Object) – the Object representing the issue
-
get_issue_ids
(before_date)[source]¶ gets data source issue ids
Parameters: before_date (str) – selects issues with creation date before a given date (YYYY-mm-dd)
-
get_issue_last_change_time
(issue)[source]¶ gets last change date of the issue
Parameters: issue (Object) – the Object representing the issue
-
get_issue_subscribers
(history)[source]¶ gets subscribers of an issue
Parameters: history (Object) – the Object representing the events of an issue
-
get_issue_summary
(issue)[source]¶ gets summary of the issue
Parameters: issue (Object) – the Object representing the issue
gets labels of the issue
Parameters: issue (Object) – the Object representing the issue
-
get_issue_version
(issue)[source]¶ gets version of the issue
Parameters: issue (Object) – the Object representing the issue
-
get_referenced_issues
(comment)[source]¶ gets the referenced issues within a comment
Parameters: comment (str) – content of the comment
-
get_user_email
(user)[source]¶ gets the email of the issue creator
Parameters: user (Object) – the Object representing the user
-


"Great old castles full of dreams,
Transcending all the mystical sins,
Buried deep under meadows green,
It was defeat never seen."
- Srijanak De
Academic achievements:
Obtained an overall 93.8% and 95.66% in science subjects in class 10 boards examination.
Obtained 91.4% marks in class 12 boards examination.
Obtained 95.7 percentile in Mathematics of ASSET Talent Search Examination conducted by Duke University in Summer of 2012 and cleared both the levels.
Trained in Information Technology and Computer Science certified by South Point School.
Extra-curricular achievements:
Gold medalist at Inter-house throwball and basket competitions in school.
Captain of Inter-house football in school, winners of Inter-regional Football Championship held locally, and winners of Freshers Football Tournament IIT Kharagpur.
Obtained first prize in Inter-regional Debate Competetion as well as in Inter-regional Quiz Competetion in 2016.
Obtained first prize and trophy in Inter-regional Drawing Competition in 2017.
Completed first and second years with distinction in Rabindrasangeetfrom Pracheen Kala Kendra, Chandigarh Board.
Trained in Yoga for two years till 2014 under World Yoga Society.
Obtained Orange belt and certificate of honor in Karate from the Indian Chapter of World Karate Organization, Shinkyokushinkai, Tokyo, Japan
Completed 1st year of Fine Arts in painting with distinction.


The advantages and disadvantages of Luis Enrique's return
by BeSoccerRobert Moreno's stage as the head of the Spanish national team is already in the past. Now, Luis Enrique starts his second spell in charge there and we ask ourselves: which players come out winning and losing (in minutes) with the change?
Now that the drama has passed regarding the coach of the Spanish national team, the moment has arrived to analyse the different consequences that he could have on Spain.
Luis Enrique's return brings with him a series of changes in regards to what we saw with Robert Moreno. At least, that's what the minutes given out by the Asturian during his first spell in charge makes us think.
It is true that he must consider the different moments that each player is having at their respective clubs. Players on form and in a great state of mind, injuries and other aspects that may have influenced both coaches choices in that precise moment.
Luis Enrique based his starting XI for the Spanish national team, on players who Robert Moreno hardly gave protagonism to. De Gea, Inigo Martinez, Ceballos, Isco and Morata formed the back bone of Enrique's team, that disappeared with Moreno.
Featured links
- BREAKING NEWS: Mourinho replaces Pochettino at Tottenham
- The latest football transfers news and rumours
- Wales, golf, Madrid... in that order
- Luis Enrique returns to Spain national team
The former coach trusted more in Kepa, Albiol, Saul, Fabian and Gerard Moreno, although the Villarreal forward has been involved in this start of the season as he has played a few games.
Under Robert Moreno's orders, Bernat also went ahead of Gaya in left-back, just like Jesus Navas did with Sergi Roberto. In midfield, Rodri was also called to attention instead of Busquets.
Rodrigo Moreno has remained with minutes similar to those that he had in Luis Enrique's first stage in charge, who also bet on a Marco Asensio who, being injured, has seen how Mikel Oyarzabal has gained prominence in the Spanish attack.


We are very sorry for the inconveniences. It looks like you're trying to access a page that either has been deleted or has never existed


Thank you for stopping by to my personal website!
"Ask the right questions, and nature will open the doors to her secrets."
C.V. Raman
I am currently a PhD student in the Department of Physics at the Aristotle University of Thessaloniki. My research interests are Raman Spectroscopy, Fullerides and PAHs. In particular, I focus on the changes of the properties, of these close and open structures of carbon, induced by external stimuli such as high pressure. I am a member of the Optics and Spectroscopy Laboratory of the Physics Department, AUTh.
Master thesis research under the supervision of Prof. Dr. Zaspalis.
Project: Ferrite Nanoparticles in Bentonite Nanofluids: Synthesis and Physicochemical Analysis
PhD thesis research under the supervision of Prof. Dr. Arvanitidis.
Project: Spectroscopic study of new electronic phenomena in molecular systems with π-electrons
Acting supervisor of 3 BSc and 2 MSc theses under the supervision of Prof. Dr. Arvanitidis.
Nanosciences & Nanotechnologies
Stream : Nanomaterials
Physics
Stream : Materials Science


Press 'c' to toggle code style
Press 's' for speaker notes
https://en.wikipedia.org/wiki/Rule_of_least_power In programming, the rule of least power is a design principle that "suggests choosing the least powerful [computer] language suitable for a given purpose".[1] Stated alternatively, given a choice among computer languages, classes of which range from descriptive (or declarative) to procedural, the less procedural, more descriptive the language one chooses, the more one can do with the data stored in that language.
Being a programmer is mostly:
"No wireless. Less space than a Nomad. Lame."
Rob Malda (founder of slashdot), on the iPod at its release in 2001.
Press 'c' to toggle code style
Press 's' for speaker notes
https://en.wikipedia.org/wiki/Rule_of_least_power In programming, the rule of least power is a design principle that "suggests choosing the least powerful [computer] language suitable for a given purpose".[1] Stated alternatively, given a choice among computer languages, classes of which range from descriptive (or declarative) to procedural, the less procedural, more descriptive the language one chooses, the more one can do with the data stored in that language.
Being a programmer is mostly:
"No wireless. Less space than a Nomad. Lame."
Rob Malda (founder of slashdot), on the iPod at its release in 2001.
haystack, needle or needle, haystack
self::$foo vs $this->foo
"i before e except after c when the sound is e?"
And pronunciation: cholmondeley => chummed-ly
Yes, English can be weird.
It can be understood through tough thorough thought, though.
Not having this feature in English makes communication simpler.
r = 4/3 # => 1
r.class # => Fixnum
require 'mathn'
r = 4/3 # => (4/3)
r.class # => Rational
“For years there has been a theory that millions of monkeys typing at random on millions of typewriters would reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”
haystack, needle or needle, haystack
self::$foo vs $this->foo
"i before e except after c when the sound is e?"
And pronunciation: cholmondeley => chummed-ly
Yes, English can be weird.
It can be understood through tough thorough thought, though.
Not having this feature in English makes communication simpler.
r = 4/3 # => 1
r.class # => Fixnum
require 'mathn'
r = 4/3 # => (4/3)
r.class # => Rational
“For years there has been a theory that millions of monkeys typing at random on millions of typewriters would reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.”


Jordan Stuckman
About
Portfolio
Contact
Portfolio
Project Name: Inbox Playlist
Project Repository
Deployed Project
Project Name: Get Da Burger
Project Repository
Deployed Project
Project Name: Covid Tracker
Project Repository
Deployed Project
Project Name: Work Day Scheduler
Project Repository
Deployed Project
Project Name: Weather Dashboard
Project Repository
Deployed Project
Project Name: Password Generator
Project Repository
Deployed Project


Demo
In this example the words 'Apples', 'Oranges', 'Pears' and 'Bananas' will be suggested, although you may also enter your own text.
In this example, we are showing groups of foods
Here you may only choose one of the suggested cars, and nothing else. Vocabulary as list.
An example with pre-filled words:
An example with pre-filled words in JSON format:
An example with pre-filled words in JSON format. Only one pick allowed:
An example with ajax allowing one:
An example with ajax allowing more than one:
If no placeholder is given, don't add one automatically


FROUKJE SLEESWIJK VISSER, PIETER JAN STAPPERS, REMKO VAN DER
LUGT
Credited elsewhere for the phrase "experts of their experiences" although it doesn't seem to actually be in the paper. Similar phrases appear, though.
"In this paper we share our insights, based on several projects from research and many years of industrial practice, of conducting user studies with generative techniques."
"The definition of context as ‘the environment of human-computer interaction’ indicates where context begins, but does not indicate where it ends. It just states it is what is outside the product. The term ‘context’ is a slippery notion. Context has many components besides time and space. We use the term context to refer to ‘all factors that influence the experience of a product use’."
"A basic mechanism in generative techniques is to let people construct a view on the context, by calling up their memories of
the past and by eliciting their dreams of the future."
"Conventional user study techniques, such as interviews, observations and focus groups (Preece et al., 2002), uncover explicit and observable knowledge about contexts. The main limitation of conventional techniques, as far as designers of future products are concerned, is that they only offer a view on people’s current and past experiences, but provide little hold on the future. For learning about potential future experiences, we need to include peoples’ dreams and fears, their aspirations and ideas."
"The basic principle behind generative techniques is to let people make designerly artefacts and then tell a story about what they have made. Examples of such artefacts are the collages on the table shown in figure 1 and the map shown in figure 7. The process of making artefacts such as drawings, collages and models, enables people to access and express their experiences. People reflect on, re-live and to some degree re-feel their experiences when they express themselves in these ways."
"A contextmapping study typically involves a sequence of research steps including preparation, sensitizing participants, group sessions, analysis and communication"
"Generative research appears less formal than more traditional forms of research but its successful application rests on carefully selecting the main directions of exploration"
"Sensitizing is a process where participants are triggered, encouraged and motivated to think, reflect, wonder and explore aspects of their personal context in their own time and environment."
collages
Contextmapping, generative techniques


--- layout: home ---
The project aims at being a generic solution for the chargeback and rating of a cloud. Historically, it was only possible to operate it inside of an OpenStack context, but it is now possible to run CloudKitty in standalone mode.
CloudKitty allows to do metric-based rating: it polls endpoints in order to retrieve measures and metadata about specific metrics, applies rating rules to the collected data and pushes the rated data to its storage backend.
CloudKitty is highly modular, which makes it easy to add new features.
Check out the documentation !


SELECTED HYMNS FIRST LINES
|
PRAISES |
|
|
Lo, all the nations assemble |
001 |
|
O Lord, our Lord, how excellent |
003 |
|
The Lord is the portion of my inheritance |
004 |
|
Thou hast turned my mourning into dancing for me |
005 |
|
Oh, taste and see that the Lord is good |
006 |
|
Our hearts are overflowing |
007 |
|
Great is the Lord, and greatly to be praised |
009 |
|
The mighty God, even the Lord |
010 |
|
God shall rise, His foes be scattered |
011 |
|
I will sing the mercies of the Lord |
012 |
|
O come, let us sing unto the Lord |
013 |
|
O sing unto the Lord a new song |
014 |
|
Make a joyful noise unto the Lord |
015 |
|
Praise ye the Lord |
016 |
|
Therefore with joy shall ye draw water |
017 |
|
We will sing praise to the Lord |
018 |
|
I stand amazed in the presence of Jesus |
019 |
|
My heart has such great joy |
020 |
|
All my sins are gone |
021 |
|
There's a new song in my heart |
022 |
|
I am saved; Hallelujah! I belong to Him |
023 |
|
Christ for me |
024 |
|
He is Lord, He is Lord |
026 |
|
In the name of Jesus |
027 |
|
Down with Satan |
028 |
|
O victory in Jesus, my Savior forever |
029 |
|
On the vict'ry side |
030 |
|
Lo, the kingdom of the world |
031 |
|
Sing His praise, the King of Glory |
033 |
|
I'm so glad! Jesus is the Lord |
034 |
|
O let us rejoice! |
036 |
|
Everybody sing praises to the Lord! |
039 |
|
It's my Lord, Lord, Lord |
041 |
|
I'm gonna praise God unceasingly |
042 |
|
And that's enough to make me sing |
043 |
|
Joy, joy, joy in my heart is ringing |
045 |
|
Happy, happy, happy |
046 |
|
We want ev'rybody to be happy |
047 |
|
Glory to God, glory |
048 |
|
My heart was distressed |
051 |
|
Contents Main Page | |
|
SPIRIT AND LIFE |
|
|
The age has turned |
102 |
|
Th' anointing's here! |
105 |
|
In the Word of God I found it |
106 |
|
By the anointing, Jesus breaks the yoke |
107 |
|
From my spirit, when I'm sensing the supply |
108 |
|
Burn, oh burn, oh burn, Lord |
109 |
|
Fire up! Fire up! Brothers, fire up! |
110 |
|
God has not giv'n us a spirit of fear— |
111 |
|
Bury that old time religion |
112 |
|
We are freed from the system |
113 |
|
In spirit, we feast on the Lord |
114 |
|
Turn to your spirit, where the Spirit of Jesus is |
115 |
|
Have you found your human spirit? |
117 |
|
We have decided to walk in spirit |
118 |
|
Now Christ is the life-giving Spirit |
119 |
|
I love my dear Lord Jesus |
120 |
|
Everybody ought to know |
121 |
|
Oh, strengthen my spirit, Lord Jesus |
122 |
|
We can sense the Spirit pleading |
123 |
|
Jesus our Lord is the Spirit of Life |
124 |
|
Keep me walking in the spirit, Lord, I pray |
125 |
|
O Hallelujah, Christ is life |
126 |
|
Christ the real life-giver |
127 |
|
Going onward, going onward |
128 |
|
I've got Christ as a seed in me |
132 |
|
O my God, within Thee, there is eternal life |
133 |
|
The kingdom is just Christ as man's life |
135 |
|
Lord, cause us to see, that Your heart's desire |
136 |
|
Jesus, my sunshine |
138 |
|
The Lord, the seed of life |
139 |
|
Christ, Christ, He's in us today |
140 |
|
Hallelujah! Hallelujah! Jesus is now living |
141 |
|
In my heart there dwells the Son of Man |
142 |
|
How wonderful He's my person |
143 |
|
Lord, to know Thee as our Person |
144 |
|
Life of glory, oh how glorious! |
146 |
|
Contents Main Page | |
|
ENJOYING CHRIST |
|
|
O let's enjoy Christ's riches together |
204 |
|
We enjoy our Jesus in such a living way |
205 |
|
We want more of Jesus |
206 |
|
Taste and see the Lord is good |
207 |
|
Let's enjoy, let's enjoy |
208 |
|
The joy of the Lord is thy strength |
209 |
|
Oh, come all ye brothers |
210 |
|
Eating in the morning |
211 |
|
Calling O Lord Jesus, He'll save to the end |
213 |
|
Just taste and see that the Lord is good |
214 |
|
Wholly, wholly, wholly back to the beginning |
216 |
|
Man shall not live by bread alone |
218 |
|
We're feeding on the living bread |
224 |
|
Water of life (Flowing! Flowing!) |
225 |
|
Of Him whence grace and truth did spring |
227 |
|
Now Christ is the life-giving Spirit |
228 |
|
Breathing in the Lord, is how we live today |
229 |
|
Breath by breath we breathe the Lord |
230 |
|
Life, life, life! In Jesus we obtain it |
231 |
|
We've got the "O Lord, Amen, Hallelujah!" |
232 |
|
O how nigh the Lord is unto all who call! |
233 |
|
O Lord Jesus, O Lord Jesus |
235 |
|
We have found a simple way for us to really touch the Lord |
236 |
|
Whene'er I call Lord Jesus |
237 |
|
When you say "Lord!" |
238 |
|
Calling "O Lord Jesus!" |
239 |
|
"O Lord Jesus" is the way |
240 |
|
I just keep calling O Lord as I walk along |
241 |
|
Say O Lord Jesus early in the morning |
242 |
|
Do you know what time it is? |
243 |
|
O let us call together, Lord Jesus! Lord Jesus! |
244 |
|
You can smile when you can say, "O Lord," |
245 |
|
Christ is the good land, whom God has promised |
246 |
|
What a good land, what a rich land |
247 |
|
This land is ours, God gave this land to us |
248 |
|
Walking in the Good Land |
251 |
|
Lab'ring on the Good Land, lab'ring in the morning |
252 |
|
Yes, we are the people — together enjoying |
253 |
|
Therefore they shall come |
254 |
|
Contents Main Page | |
|
LOVING JESUS |
|
|
Many times by night on my bed |
303 |
|
Jesus Lord, Jesus Lord |
305 |
|
Jesus, Jesus, Can I tell You how I feel? |
306 |
|
Lord, there's always been one person |
308 |
|
Oh, my Lord, I give myself to you— |
309 |
|
I belong to Jesus; He sets me free |
310 |
|
Wonderful, wonderful, Jesus is to us— |
311 |
|
What a happy day |
312 |
|
I have often called on the Lord before |
313 |
|
Till I went into the sanctuary of God |
314 |
|
It's a lovely, lovely name |
315 |
|
All anxiety and seeking gone |
316 |
|
I simply open my heart to Thee |
317 |
|
I'd rather have Jesus than silver or gold |
318 |
|
Simply loving everyday |
319 |
|
Immerse me in Thy love |
320 |
|
Jesus Lord, You're our first love |
321 |
|
The first time I met You, O Lord |
322 |
|
You, You, You're always in my heart |
323 |
|
'Tis because Thou draweth me |
324 |
|
How can I leave my Lord |
325 |
|
More time to be with Thee, Lord Jesus |
326 |
|
Turn, turn my heart to You |
327 |
|
If you're feeling lonely 'cause nobody cares |
328 |
|
From my heart comes a melody |
329 |
|
He's the one I love in the morning |
330 |
|
Oh, Thy love that has come to meet us |
331 |
|
Jesus, we love You that You are the vine tree |
332 |
|
I asked the Lord to comfort me |
333 |
|
Jesus, Jesus, Dearer than all to me |
334 |
|
Oh, I love to hear His voice |
335 |
|
He loves, He saves, He keeps |
336 |
|
Whene'er to me Thou open Thy heart |
337 |
|
The way that He loves is as fair as the day |
338 |
|
I love You, Jesus, all through the day |
339 |
|
Lord, I am continually with Thee |
340 |
|
The law of God is perfect |
341 |
|
Let the beauty of Jesus be seen in me |
342 |
|
My desire — to be like Jesus |
343 |
|
I have a friend so precious |
344 |
|
I keep in touch with Jesus |
345 |
|
Oh, who's like our Jesus? |
346 |
|
What length, breadth, depth and height |
348 |
|
The God of love, my Shepherd is |
349 |
|
Jesus, Jesus, is our song today |
350 |
|
O Jesus Lord, I love You |
351 |
|
Abide in Thee, Lord, Oh what blessedness! |
352 |
|
I am here fighting for the Lord |
354 |
|
God shines Himself within my soul |
355 |
|
If Thou wouldst take what I desire |
356 |
|
He is my dearest One |
357 |
|
Appoint my way, O Jesus, my Lord, appoint for me |
358 |
|
I trust in God wherever I may be |
359 |
|
Search me, O God, and know my heart today |
360 |
|
I am weak, but Thou art strong |
361 |
|
Though shadows deepen and my heart bleeds |
362 |
|
Though angels have often beheld of His face |
363 |
|
Jesus my Lord will love me forever |
364 |
|
Since I started for the kingdom |
365 |
|
Contents Main Page | |
|
PURSUANCE AND GROWTH |
|
|
O Lord of Life breathe upon me |
401 |
|
Draw us, Lord Jesus, draw our hearts closer to Thee |
402 |
|
Set your mind on the things that are above |
403 |
|
Whenever the heart shall turn to the Lord |
404 |
|
Let us leave behind all the things of yesterday |
406 |
|
Dig away, dig away, dig away |
407 |
|
There's a life that's deeper than our mind |
408 |
|
Satan says, "Ha! Wait till the meeting comes" |
409 |
|
"Amen, Lord Jesus! Amen, Lord" |
410 |
|
We'll say "Amen", we'll say "Amen" |
412 |
|
I'm just a little flower |
413 |
|
Trusting in the Lord thy God |
414 |
|
The race before us we can run |
415 |
|
On your mark, get set, run the race of life |
416 |
|
The Lord has shown us the way |
418 |
|
Let's march forward with God! |
419 |
|
Young people, rise up forward! |
421 |
|
We to the throne of grace boldly come |
422 |
|
Following Jesus, ever, day by day |
423 |
|
Forward, forward stretching forth we go |
424 |
|
Sometimes the road is dark and dreary |
425 |
|
I don't know about tomorrow |
426 |
|
Jesus said to us, He is the True Vine |
427 |
|
How long has it been since you talked with the Lord? |
429 |
|
Though often we waver and move |
430 |
|
Could I my way preserve |
431 |
|
Contents Main Page | |
|
VISION OF THE CHURCH |
|
|
We from the law to Christ have turned |
501 |
|
When God turned the captivity of Zion |
502 |
|
Down in Babylon, in captivity |
503 |
|
This is My rest forever |
504 |
|
Therefore the redeemed of the Lord shall return |
505 |
|
O walk about, walk about Zion |
507 |
|
In Revelation two and three |
509 |
|
In spirit, in spirit |
510 |
|
In this age of Revelation |
511 |
|
Lo, in these dark ages |
512 |
|
Ride on, O King Lord Jesus |
517 |
|
Jesus is the Lord in the local church |
518 |
|
The local church, my beloved church |
519 |
|
Behold! To the mount nations flow |
520 |
|
Away, away from all background |
521 |
|
We saw a river flowing and we jumped right in |
522 |
|
God has saved me from the world |
523 |
|
Our whole life has been determined |
524 |
|
God redeemed His children from the sons of men |
526 |
|
We're in one accord for God's recov'ry |
527 |
|
These are the days, my friend |
528 |
|
In the age of Revelation |
529 |
|
We're in the flow, we're in the flow |
530 |
|
For the Lord's recovery, church life in reality |
531 |
|
If you know the Lord |
533 |
|
We were in the wilderness |
534 |
|
Again "Amen", "Amen" the church |
535 |
|
Oh, what wondrous fact is this |
536 |
|
We give ourselves to follow the churches |
537 |
|
In this age of Revelation |
538 |
|
Christ and Church, Christ and Church |
539 |
|
Go, tell, tell it to the nation |
541 |
|
Contents Main Page | |
|
BUILDING AND ONENESS |
|
|
God's desire — life for man |
601 |
|
We praise Thee, Lord, we've seen Thy purpose |
602 |
|
Behold, the serene earth |
604 |
|
Chosen ere the world began |
605 |
|
This is the time for building the temple of the Lord |
606 |
|
O Hallelujah, I'm a stone |
607 |
|
Come ye! All the living stones now |
608 |
|
Mingle in one, mingle in spirit one |
609 |
|
By Jesus' blood we had been all redeemed |
610 |
|
Oh, we have seen the church as one |
612 |
|
We are one in the Spirit |
613 |
|
When we believe into the Son |
614 |
|
Do you know God has a need, together been called |
615 |
|
In God's house now are we |
618 |
|
Lord, burn in us as a consuming fire |
619 |
|
All our lives have been transformed |
620 |
|
The grinding process has begun |
621 |
|
Jesus, this generation |
622 |
|
It's a wrong way to be religious |
623 |
|
The Lord has put me in the Body |
624 |
|
Far from world and all its charms |
625 |
|
Contents Main Page | |
|
CHURCH LIFE |
|
|
Oh, listen to the wanderer |
701 |
|
In solitude lived I in time past |
702 |
|
Aren't you glad, you're now in the church |
703 |
|
The Lord is my greatest love |
704 |
|
Happy days when we are home |
705 |
|
We have a joyful song to sing |
706 |
|
O Lord, everybody's home |
708 |
|
O what joy! we are all at home |
709 |
|
Splendid church life! His green garden! |
711 |
|
Ah! The church life is so lovely! |
712 |
|
Some, these days, would tell us |
713 |
|
Come arise early to feast on the Lord |
714 |
|
How we long to go to the feast together |
716 |
|
We're a group of people with ambition |
717 |
|
O what joy and rest |
719 |
|
Since I'm in the "Church Life" |
720 |
|
It's a new, living meeting |
722 |
|
We have nothing hence to do with idols |
723 |
|
Christ the Spirit has set me free |
724 |
|
Hallelujah! What mystery! |
725 |
|
"Amen" in unison |
726 |
|
Now let us come together to enjoy the Christ |
727 |
|
We're so glad in receiving the saints |
728 |
|
Various vessels in a great house |
729 |
|
Outflow, outflow, all His riches outflow |
730 |
|
When my Savior I experience in His love and wealth entire |
731 |
|
In the church appreciate Thy loveliness |
732 |
|
Bring your tithes into the store-house |
733 |
|
Lord, I commit myself into Thy gracious hand |
734 |
|
Who is on the Lord's side? |
735 |
|
For the Lord, for the Lord |
736 |
|
This world is not my home |
737 |
|
The economy of God is Christ with the church |
738 |
|
I'm in touch, I'm in touch with Christ |
739 |
|
Utterly abandoned to the Church I'll boast |
740 |
|
I only want God's will to be done through me |
741 |
|
Gracious Lord, we're here together |
742 |
|
Lord, I'm willing to spend myself |
743 |
|
Jesus, I my cross have taken |
744 |
|
It's not worth the trouble to seek |
745 |
|
Beloved, let us love one another |
746 |
|
Lord, Thou hast been our dwelling place in all generations |
747 |
|
The allurement of riches, the tinsel of fame |
748 |
|
All the meetings Christ appointed |
749 |
|
In the Lord's recovery |
750 |
|
Propagate, propagate |
751 |
|
O God of glory, you've changed my destiny |
753 |
|
Contents Main Page | |
|
SERVICE, HOPE, AND PREPARATION |
|
|
Into the flow of recov'ry |
801 |
|
We have such a glorious King |
802 |
|
I've never been sorry |
803 |
|
A new day has dawned |
804 |
|
Marching on, marching on |
805 |
|
From the local church in Manila |
806 |
|
Be strong in the Lord! |
807 |
|
Fight, saints, for Jesus our Lord! |
808 |
|
O, praise the Lord, in Jesus Christ |
809 |
|
I dare not be defeated |
810 |
|
All the signs point to the end |
813 |
|
The Lord soon will come |
814 |
|
Rejoice, Rejoice, Our Bridegroom's coming! |
815 |
|
The Lord may come back any moment |
816 |
|
Wake up, brothers! |
817 |
|
Dear Lord, my heart's delight |
818 |
|
Behold the fig tree has shooted forth |
819 |
|
Farewell, farewell to all the world |
820 |
|
We admired how Thy disciples on the mountain |
821 |
|
The time is drawing near |
822 |
|
Wait for Bridegroom — virgins were ten |
824 |
|
The kingdom of God is at hand |
825 |
|
'Twas a day in early springtime |
826 |
|
When I've run the race before me and have fought to victory |
827 |
|
Never fear, never fear, never fear |
828 |
|
If from the right path I'd depart |
829 |
|
I have to serve the Lord, not belly nor health |
830 |
|
We want to serve the Lord |
831 |
|
Bring forth your talent |
832 |
|
A call for loyal soldiers |
833 |
|
Let's serve our Lord together |
834 |
|
We're saved, saved to tell others of the Man of Galilee |
835 |
|
When Jesus comes to reward His servants |
836 |
|
Do you ever search your heart as you watch the day depart? |
837 |
|
You who have tread the right way |
838 |
|
Bugle calls are ringing out |
839 |
|
When mine eyes behold the King in His glory |
840 |
|
Jesus Lord, I'm waiting here |
841 |
|
In that bright and golden moment |
842 |
|
Contents Main Page | |
|
GOSPEL |
|
|
O, vanity, vanity, all things are vanity |
902 |
|
Do you know what you were made for? |
903 |
|
Do you know what you were saved for? |
904 |
|
We have searched all o'er the mountain and the ridges |
906 |
|
Oh, friend, where are you now? |
907 |
|
Once I was an empty man |
908 |
|
If you are empty |
909 |
|
Life begins when Jesus comes in |
910 |
|
My life was full of grief and pain |
911 |
|
God's love is on each sinner gone astray |
912 |
|
God's love is wonderful |
913 |
|
Neither's there salvation in any other |
914 |
|
Having things — having what there is to have of things |
915 |
|
Jesus is a wonderful Savior, He will carry you through |
917 |
|
If you wish to find the Lord, do not seek Him in the world |
918 |
|
Jesus is the Lord, and He lives in me |
919 |
|
Call upon the name |
920 |
|
O dear friend listen to His calling |
921 |
|
There is a bright new life that's so exciting |
923 |
|
One sat alone beside the highway begging |
926 |
|
There's a Man Who died to set us free |
927 |
|
I once gave my life to a big corporation |
928 |
|
Now this was once my situation |
929 |
|
I'm saved, saved, saved |
930 |
|
I always knew deep down in me |
931 |
|
Therefore being justified by faith |
932 |
|
Praise the Lord, God sent His Son |
933 |
|
I've got a home in glory land that outshines the sun |
934 |
|
I would love to tell you what I think of Jesus |
936 |
|
All throughout the darkest night |
937 |
|
Hear the voice of love, O sinner |
938 |
|
Let me love and not be requited |
939 |
|
Contents Main Page |


Hi, I hope you're having a wonderful day! :D
My name is Pedro Jose Jimenez Perez, I'm a Software Developer focused mostly on backend and DevOps.
I have a Bachelor degree in Systems Engineering and Telecommunications from the University of Cordoba - Colombia.
I've been writing code since 2012 and I've been working for a couple of companies since 2015.
Currently, I'm working as a Software Developer Cartagena - Colombia in a company called Condorlabs.io, I'm part of a team responsible for rewriting legacy products into new ones with the latest web technologies.
When I write code, I not only focus on create solutions that fix the problem but scale and performs well under unusual circumstances with well-known standards.
I love to talk about code or tech in general, if you want to contact me you can find me on:


xxx has 2 attr: `a`="1><span id=" and `foo"` with no value unfinished attribute #1
has 2 attr: `a`="1><span id=" and `foo"` with no value
unfinished attribute #1


"BETH-AVEN "house of nothingness; i.e., “of idols”, a place in the mountains of Benjamin, east of Bethel (Joshua 7:2; 18:12; 1 Samuel 13:5). In Hos. 4:15; 5:8; 10:5 it stands for “Bethel” (q.v.), and it is so called because it was no longer the “house of God,” but “the house of idols,” referring to the calves there worshipped.
"BETH-AVEN "house of nothingness; i.e., “of idols”, a place in the mountains of Benjamin, east of Bethel (Joshua 7:2; 18:12; 1 Samuel 13:5).
In Hos. 4:15; 5:8; 10:5 it stands for “Bethel” (q.v.), and it is so called because it was no longer the “house of God,” but “the house of idols,” referring to the calves there worshipped.


36 Likes, 3 Comments - PirateChain (@piratechain) on Instagram: “Get ready... it's coming... We thought we had one, but there is two! . . . (Credit: @coltonzy)…”
1
2
ALL INNNNN
LocoMB23-May-19 03:58 PM
crimini!
poor fuckers:
https://twitter.com/hashtag/WeChooseSV?src=hash
..
1GB blocks?! these dorks are seriously deluded, and it is tragic that they won't even deserve pity when it all comes cashing down
CSW is an AAA grade psychopath and intelligent people should know that all out general disaster and destruction is guaranteed by this brand of pathogen .. (edited)
my link works though , eventhough it looks the same to yours @jeezy(edited)
mobipoi23-May-19 05:54 PM
If DEX is only 10% of binance given it the most practical dex out there that will be a few hundreds of millions dont forget that with no KYC there is no limit so add in there OTC volume(edited)
Which apparently it more than the cmc vol
Barterdex is coinbase and binance combined
Oh and there is no limit on your location
More market participants large or small
So a billion valuation in less than2.5 year is possible
2
That my take
jeezy23-May-19 06:08 PM
@Gordon Komodo does it work?
jorian23-May-19 06:13 PM
@mobipoi keep in mind that a DEX is different from a Binance-style exchange. There will always be a need for a centralised solution, since no DEX can match the speed in which a CEX operates.
a DEX is an addition, a much needed one, and will probably take away some volume from CEXs(edited)
mobipoi23-May-19 06:17 PM
That assuming barterdex doesn't come with a Cex solution which I think it will in tandem
FishyGuts23-May-19 06:48 PM
Ok so 250 Crypto for 2250 KMD
and 250 DEX for 4000 KMD
DM me to execute. We can use Barterlly if you wish.
1
In fact, I will put them up there later today.
crumb23-May-19 07:18 PM
https://imgur.com/UJd9YOC
this tweet has really gotten a life on its own. after 4 days about 150k views and now 9 days after posting 300k views. one of my top tweets ever!
i only have like 87 followers, so i don't know how this reach got so wide. people sharing a lot i guess... but this shows interest in
2
Deleted User23-May-19 07:24 PM
the app uses a 30min timeout so either you need to relog or try with cache ckeaning
don t hesitate to go to barterlly support chan
:)
Cryptoon23-May-19 07:27 PM
Verus pump?
FishyGuts23-May-19 07:31 PM
I did decide to use Barterlly DWY.
dan.23-May-19 07:36 PM
@FishyGuts check DMs
jcity23-May-19 07:46 PM
@FishyGuts is your Barterlly offer public?
hastrup23-May-19 08:05 PM
@jcity i think the dex trade is taken
Hollowman900023-May-19 08:12 PM
@Cryptoon someone definitely went full retard on verus for a bit
jcity23-May-19 08:15 PM
@hastrup whys that?
siu - Chainmakers23-May-19 08:15 PM
nice pump Verus
hastrup23-May-19 08:16 PM
@jcity it's not there but the crypto is
jcity23-May-19 08:16 PM
ah
Alecandro23-May-19 08:19 PM
So when is ARRR halving?
jl777c23-May-19 08:21 PM
next wed/th
Alecandro23-May-19 08:23 PM
coolio
Cryptoon23-May-19 08:30 PM
@Hollowman9000 well deserved tbh
Hollowman900023-May-19 08:31 PM
Agreed
Cryptoon23-May-19 08:31 PM
Probably binance incoming
What other reason can it be
Hollowman900023-May-19 08:31 PM
Doubt
Cryptoon23-May-19 08:31 PM
Hollowman900023-May-19 08:32 PM
There’s typically less than 1 BTC volume on it lately
Someone probably saw the triple digit gains on the other DP coins and tried to kick off a runaway pump(edited)
jcity23-May-19 08:34 PM
Btw for anyone wondering... I just completed a swap on Barterlly and it worked perfectly! Thank you to the creators


mIDGenes - Measuring IDea GENeration EffectivenesS
This software was developed by the Design Methodologies and Life Cycle Engineering group of the CIB - Centre for Industrial Management / Traffic and Infrastructure at the Katholieke University Leuven in Belgium. It's primary focus is supporting the development of metrics to evaluate an idea space, in turn this can be used to evaluate idea generation methods (like brainstorming, ...).Documentation on tree format
Format
The base format builds upon the JSON tree format used in the JavaScript InfoVis Toolkit. Instead of formalizing its the structure, you can study the example below. You can also peek into the other online examples trees by first loading the tree in the software and saving the it to your local drive. The coloring of a node (currently) reflects the amount of children a node has.Example JSON source and corresponding visual representation
{ "id": "root", "data": { "user": { "nr_ideas" : 0, "name": "Transport" } }, "children": [ { "id": "ph 1", "data": { "user": { "name": "Combustion", "nr_ideas" : 0 } }, "children": [ { "id": "wo 1.1", "data": { "user": { "name": "CombusEngine", "nr_ideas" : 0 } }, "children": [ { "id": "wo 1.1.1", "data": { "user": { "name": "Rotational", "nr_ideas" : 2 } }, "children": [] } ,{ "id": "wo 1.1.2", "data": { "user": { "name": "Standard", "nr_ideas" : 5 } }, "children": [] } ] } ] }, { "id": "ph 2", "data": { "user": { "name": "Electrical", "nr_ideas" : 0 } }, "children": [ { "id": "wo 2.1", "data": { "user": { "nr_ideas" : 1, "name": "ElecEngine", "Participant": [2,3], "feasibility_rating": 5 } }, "children": [ { "id": "em 2.1.1", "data": { "user": { "nr_ideas" : 1, "name": "BatPower", "Participant": [2,3], "feasibility_rating": 5 } }, "children": [] }, { "id": "em 2.1.2", "data": { "user": { "nr_ideas" : 1, "name": "SolarPower", "Participant": [2,8], "feasibility_rating": 5 } }, "children": [] } ] }, { "id": "wo 2.2", "data": { "user": { "name": "Electrostatic", "nr_ideas" : 1 } }, "children": [] } ] } ] } | Visual representation of the example JSON Tree |
Documentation on idea space metrics
Variety
Can be understood as a measure indicating how "broad" your idea space has been searched. A low variety is interpreted as a narrow range of generated ideas, while a high flexibility is indicative of a broadly searched idea space. Shah et al. (2000) propose the variety as a more formal measure of the explored concept space during idea generation. In later research, Nelson et al. (2009) and Srinivasan & Chakrabarti (2010) propose refinements to the variety metric.References
Shah, J. J., Kulkarni, S. V., & Vargas-Hernandez, N. (2000). Evaluation of idea generation methods for conceptual design: Effectiveness metrics and design of experiments. Journal of Mechanical Design, 122 , 377-384.Nelson, B. A., Wilson, J. O., Rosen, D., & Yen, J. (2009). Refined metrics for measuring ideation effectiveness. Design Studies, 30 , 737-743.
Srinivasan, V., & Chakrabarti, A. (2010). Investigating Novelty-Outcome relationships in engineering design. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 24 , 161-178. Verhaegen P.-A. , Vandevenne D., Peeters j., Duflou J.R., Refinements to the variety metric for idea evaluation, Design Studies, Available online 8 September 2012, ISSN 0142-694X, 10.1016/j.destud.2012.08.003. (http://www.sciencedirect.com/science/article/pii/S0142694X12000580)
Novelty
Novelty can be subdivided in originality and paradigm relatedness (Dean et al., 2006). Originality expresses how rare an idea is (rarity), but also how ingenious, imaginative, or surprising the idea is. Paradigm relatedness expresses the degree to which an idea is radical or transformational. Since rarity can be quantified, other research has used this measure separately (Connolly et al., 1990), as substitute for originality (Jansson & Smith, 1991), or as substitute for the novelty metric as a whole (Shah et al., 2000; Linsey, 2007). Peeters et al. (2010) propose to calculate the novelty for each abstraction level leading to a more fine-grained analysis of the effectiveness of the applied idea generation method.References
Dean, D. L., Hender, J. M., Rodgers, T. L., & Santanen, E. L. (2006). Identifying quality, novel, and creative ideas: Constructs and scales for idea evaluation. Journal of the Association for Information Systems, 7 , 646-698.Connolly, T., Jessup, L. M., & Valacich, J. S. (1990). Effects of anonymity and evaluative tone on idea generation in computer-mediated groups. Management Science, 36 , 689-703.
Jansson, D. G., & Smith, S. M. (1991). Design fixation. Design Studies, 12 , 3-11.
Shah, J. J., Kulkarni, S. V., & Vargas-Hernandez, N. (2000). Evaluation of idea generation methods for conceptual design: Effectiveness metrics and design of experiments. Journal of Mechanical Design, 122 , 377-384.
Linsey, J. S. (2007). Design-by-Analogy and Representation in Innovative Engineering Concept Generation. Ph.D. thesis The University of Texas Austin, Texas.
Peeters, J., Verhaegen, P.-A., Vandevenne, D., & Duflou, J. (2010). Refined metrics for measuring novelty in ideation. Bordeaux.


Preparation time
overnight
Cooking time
10 to 30 mins
Serves
Serves 4
A blend of Japanese ingredients flavour this risotto served with fried red mullet and an easy, yet cheffy, lime foam.
To make the lime foam, place the lime leaves and 180ml/6fl oz water in a blender and pulse, leave to stand for 30 minutes to infuse and then strain the liquid. Chill the liquid in the fridge overnight.
Add the lecithin to the chilled liquid and, using a stick blender, mix the liquid until a light foam forms.
To make the risotto, heat a large saucepan and add the butter. Once melted, add the shallots and cook for a minute. Add the garlic and continue to cook for a further minute, then add the mushrooms.
Add the rice and stir to coat the rice in the butter. Pour in the wine and cook until the volume of liquid has reduced by half.
Gradually add the stock, allowing it to be absorbed between additions, until the rice is cooked.
For the teriyaki sauce, heat a frying pan and add the rice wine, sake, mirin, soy sauce and sugar and bring to the boil. Simmer for 2-3 minutes, or until it has thickened.
Once the rice is cooked stir through the teriyaki sauce and keep warm until ready to serve.
To cook the red mullet, heat a medium frying pan and add the oil and butter. Once hot add the fish skin-side down and cook for a couple of minutes, then turn over and cook for another minute.
To serve, spoon the risotto into a serving bowl and place the fillet on top and garnish with the mushrooms, seaweed, micro coriander and cress. Spoon over the lime foam.


-
Trouble signing in?
-
Please email your last name, your student's ID number and your student's date of birth to<EMAIL_ADDRESS>Typically, we can address this issue within two business days.
-
Experiencing long delays when refreshing?
-
People can occasionally experience long delays in seeing where a bus is. This is usually due to the quality of internet connectivity at that time. Please try refreshing later or finding a better internet connection.
-
View not formatting correctly?
-
Where's My School Bus works on most web browsers, but not on all. If you feel it is not formatting properly for you, please email the name of the web browser you are using to<EMAIL_ADDRESS>In the short term you can try using a different web browser such as Chrome, Internet Explorer 9, Firefox or Safari. In the long term, we will explore adjusting the app to work on more browsers.
-
Bus appearing in the Atlantic Ocean?
-
If the GPS device on a bus is not working, the app may show the bus someplace that it is certainly not. For example, a bus may appear in the Atlantic Ocean off of the west coast of Africa. (For those interested, it appears there because that is zero latitude and zero longitude, which is the default location provided when there is not a GPS signal.)
If this happens to you, please email the bus number to<EMAIL_ADDRESS>BPS will work with the bus company to make this fix.


Entry - 6, Date - 18-Sep-2016
Downloading SVG image into PNG, JPEG & SVG
SVG
PNG
JPEG
Javascript
Javascript can convert an SVG image into PNG/JPEG format and allow the user to download the SVG image in SVG, PNG and JPEG format.
See the demo here and the source code below.


Expand and Collapse with different icons
Hierarchy_Tree
Parent1
Child1
Child2
Parent2
Move To
Add New
Delete
Parent1
Child1
Child2
Parent2
×
Enter New Node Name


- Fractal
- A complex geometric pattern exhibiting self-similarity in that
small details of its structure viewed at any scale repeat
elements of the overall pattern.
Fractal curves are generated from an initial curve
(often a regular polygon) and one or more replacement
curves. Repeatedly, each line is replaced by a properly
scaled copy of one of the replacement curves.
Let's draw a Lévy C curve
Begin with drawing a simple line.
function offsetPoint(start, angle, distance) {
return p5.Vector
.fromAngle(radians(angle), distance)
.add(start);
}
function drawCurve(start, angle, distance) {
var endPt = offsetPoint(start, angle, distance);
line(start.x, start.y, endPt.x, endPt.y);
}
Replace the line with the right angle pattern.
var d2 = d1 * someScale; // <-- what's this number?
var midPt = offsetPoint(start, angle + 45, d2);
var endPt = offsetPoint(midPt, angle - 45, d2);
line(start.x, start.y, midPt.x, midPt.y);
line(midPt.x, midPt.y, endPt.x, endPt.y);
someScale = 0.7071069;
- Recursive
- Relating to or involving the repeated
application of a rule, definition, or
procedure to successive results.
function someFn(param) {
//...
someFn(newParam);
//...
}
function drawCurve(start, angle, d1, replacements) {
if (replacements == 0) {
// draw the line
} else {
// call draw curve for each line in
// the pattern.
drawCurve(..., replacements - 1);
}
}
Let's look at some other curves.


The Sunfish is the latest drone purchased by the University of Idaho’s Coeur d’Alene Computer Science Department. Its primary feature is a PixHawk drone controller paired with Mavlink,a popular software for aerial drones. This performs all the thruster management and stabilization. It also enables control through a ground control station, either manually via an Xbox controller or with ArduPilot Mission Planner,a specialized waypoint-based navigation system designed for aerial drones.
This software is designed to bridge the gap between the Mavlink software and a Python program,bypassing the ground control station and creating a link directly between a Python script and the Mavlink software. This allows for simple, direct control of the drone, a uniform way to retrieve navigational and sensor data, as well as control of the waypoint-based navigation system used in the ground control software with a valid location system. It is also designed to be easily expanded, so new features can easily be added and used.
This enables development of software to make the Sunfish and other drones with a similar architecture able to autonomously collect water data, including places previously unsafe or difficult to access. It also allows the drone to be run without a tether, preventing issues caused by the tether getting tangled, and allowing a greater free range of motion.
Team Member/Leader
Amanda was in charge underwater data collection using the drone, and is the preson who uses the interface the most.
Mentor
Prof. Shovic was the primary Staff member in charge of the over-arching drone project. He was in charge of the oversight of the project.


Move the syringe to the desired zero and click continue
Settings saved successfully! You can start printing


Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Contact UsLorem Ipsum is simply dummy text of the printing and typesetting industry.
Contact UsLorem Ipsum is simply dummy text of the printing and typesetting industry.
Contact UsLorem Ipsum is simply dummy text of the printing and typesetting industry.
Contact UsLorem Ipsum is simply dummy text of the printing and typesetting industry.
+00.123.456.789
+00.123.456.789
Email<EMAIL_ADDRESS>Email : name2@example2.com


Team bonding exercise for u-19 players
The World Cup-bound squad spend time at Nagarhole National Park
by PTITeam-bonding activities have been in vogue ever since Rahul Dravid started mentoring India’s junior teams and continuing the tradition, the World Cup-bound under-19 squad is spending a couple of days at the Kabini Forest Safari at the Nagarhole National Park as part of that exercise.
BCCI GM (Cricket Operations) Saba Karim and National Cricket Academy (NCA) COO Tufan Ghosh said the entire exercise has been designed in consultation with NCA director Dravid, who mentors the India-A and U-19 squads.
“It’s a two-day team bonding exercise and not a boot camp or anything. If I remember, earlier an India-A team had also gone to the Nagarhole National Park.
“We keep having these activities for u-19 and A teams,” Karim said on Monday.
The Nagarhole National Park is in Mysore district of Karnataka.
Ghosh said the BCCI has engaged with a company which organises these team-bonding activities, including tiger safaris.
“The boys in the India U-19 team come from various parts of the country.
“This kind of team bonding exercise helps them build relationships, grow trust which is required in team environment.
“Also certain activities are designed which can test how they react to different situations,” Ghosh said.
“The boys enjoyed a tiger safari today. In fact, I am told they spotted a couple of tigers at various points. A company which designs these kind of programmes consulted the coaches as well as (NCA head) Mr. Dravid to formulate a set of activities,” he said.
Asked if the players will have boot-camp like activities, which are physically strenuous, Ghosh answered in the negative.
“Boot camp has an army connotation but this is not like a boot camp.”
The U-19 World Cup will be held in South Africa in January.


For the spatchcock chicken, place the chicken, breast-side down, onto a chopping board. Using strong kitchen scissors cut through the flesh and bone along both sides of the backbone from the tail end to the head end and completely remove the backbone. Place the chicken, breast-side down, onto a roasting tray and press it down as flat as possible. Once the chicken is flattened out, place the red onions at the bottom of the roasting tray. Turn the chicken breast-side up in the roasting tray.
Spread the Dijon mustard over the chicken and dot with the butter all over.
Heat a medium frying pan and once hot add the oil. Add the onion and cook for a couple of minutes, then add the sage, lemon zest and juice and cook for a further minute. Remove from the heat and stir in the dried onion flakes.
Pour the onion mix over the chicken and roast the chicken for 40-45 minutes, or until crisp, golden-brown and cooked through. (The chicken is cooked through when the juices run clear when a skewer is inserted into the thickest part of the chicken.) Remove the spatchcock chicken from the oven and rest for 5-10 minutes before serving.
For the slow-roasted tomatoes, preheat the oven to 150C/300F/Gas 1.
Place the tomatoes, cut-side up, onto a roasting tray.
Sprinkle with the thyme, salt and freshly ground black pepper, to taste, and olive oil.
Place in the oven and cook for 1-2 hours until the moisture has mainly evaporated and the tomatoes have dried out.
Remove the tomatoes from the oven and leave to cool.
Increase the oven temperature to 220C/450F/Gas 8.
Place the ciabatta pieces onto a baking sheet and drizzle over two tablespoons of the olive oil. Season, to taste, with salt and freshly ground black pepper.
Cook in the oven for 5-7 minutes, or until crisp and golden-brown.
Heat the remaining tablespoon of oil in a frying pan over a medium heat. Add the shallot and fry for 2-3 minutes, or until softened.
Blend two-thirds of the roasted tomatoes with the red wine vinegar and the extra virgin olive oil in a food processor to a fine purée.
In a bowl, add half of the purée mixture to the crisp ciabatta croutons and set aside to soak for five minutes.
Into the other half of the purée, stir in the remaining roasted tomatoes, fried shallots, capers, piquillo peppers, cheese and basil leaves. Set aside.
To serve, carve the chicken into pieces and divide among 4-6 plates. Place the salad on the side.


Welcome to Prime Video
Join Prime to watch the latest movies, TV shows and award winning Amazon Originals
Join Prime to watch the latest movies, TV shows and award winning Amazon Originals
With your Prime membership, you have access to exclusive Amazon Originals, blockbuster Bollywood movies, regional movies and more.
Your Prime membership now also includes ad-free music along with unlimited free, fast delivery on eligible items, exclusive access to deals & more.
*Go to amazon.in/prime for more informationThe biggest movies and TV shows are always better on a big screen. Simply plug in your Amazon Fire TV Stick and stream on any HDTV. Press the voice button on the remote and say the name of the title you want to watch to find it in seconds.
Enjoy from the web or with the Prime Video app on your phone, tablet, or select Smart TVs — on up to 3 devices at once.
Watch offline on the Prime Video app when you download titles to your iPhone, iPad, Tablet, or Android device.
Control data usage while downloading and watching videos on select phones or tablets.
With easy to use Parental Controls and a dedicated kids page, enjoy secure, ad-free kids entertainment. Kids can enjoy popular TV shows like Peppa Pig, Powerpuff Girls, and Chhota Bheem.