GDPR at Lumeer
Privay and security are the foundation of Lumeer's approach to users' data, product development and business. We continuously evaluate all our practices in an effort to safeguard your information as effectively as possible. In that vein, with the arrival of privacy rights regulations - The General Data Protection Regulation ("GDPR") - we have prepared our Terms of Service and Privacy Policy to properly address the new requirements.
What is GDPR
On May 25, 2018, the General Data Protection Regulation (GDPR) will officially take effect. For European individuals, GDPR expands their data privacy rights and gives them more power to control their data. For companies that process the personal data of these European individuals, GDPR requires compliance with a new set of regulations.
GDPR outlines specific requirements that these companies must satisfy, as well as specific rights that European individuals can exercise with these companies. Further information on GDPR is available on the European Union’s official website: ec.europa.eu/info/law/law-topic/data-protection_en.
Data Processing Agreement
We believe that the Data Processing Agreement (DPA) is already covered by our Privacy Policy. See the following table for details. To request a user tailored DPA, please email us at<EMAIL_ADDRESS>How Lumeer meets GDPR
- Coverege of GDPR in our terms and policies
- Lumeer's Terms of Service and Privacy Policy properly address the GDPR requirements.
- Contracts with data processing entities
- We have checked contracts with all data processing entities we work with and they are now obliged to our data processing controller to keep all personal data secret. We have provided a complete list of data processing entities that we work with.
- Duration and type of personal information we keep
- In our Privacy Policy we define how long we keep various types of personal information and for what purpose.
- Restrict of personal information access
- In addition, you can object to the processing of your personal information, ask us to restrict the processing of your personal information, or request portability of your personal information. You can exercise these rights by emailing<EMAIL_ADDRESS>- You have complete control of your data
- If you wish to access, correct, update, or request deletion of your personal information, you can do so at any time by emailing<EMAIL_ADDRESS>- Obligation to sign NDAs
- We have signed Non-disclosure Agreements with all our team members and they are now obliged to maintain confidentiality.
- Technical measures
- All customer data in Lumeer are encrypted by several layers of well-proven encryption algorithms like AES.
- Security breach
- Although we do everything we are reasonably able to do to prevent any security breaches, there still may be such situations. Should there be any security breach we will inform you as soon as possible and will follow the steps necessary to minimize damage and return to normal operation.
- User account security
- All user account data are stored encrypted and we do not keep your passwords in plain text. This means that nobody including us can read your password from our database. At the moment we have only one phase authentication. Therefore we recommend you to create strong passwords for your account.
In case of any querstions or problems, please contact us at www.lumeer.io/contact.html.


I want to give best effort to earn necessary votes
Deleted User16-Feb-19 06:33 PM
So you will present ?
I mean : you ll be a candidate ?
Dr.Terminus16-Feb-19 06:34 PM
I want to. Just decided about a week ago.
I;ll do what's necessary
and I have the tech know-how
Deleted User16-Feb-19 06:34 PM
So next step is to start learning
Dr.Terminus16-Feb-19 06:34 PM
I'm available to maintain
I read first batch of links provided by SHossain
all good reads
Deleted User16-Feb-19 06:35 PM
Then choose the region you want to candidate in and prepare investigations and compare datacenters locations//connectivity//prices
Dr.Terminus16-Feb-19 06:36 PM
Want to give myself best opportunity, seems forwrd looking to figure out where a datacenter could be most benefit
Deleted User16-Feb-19 06:36 PM
They you ll have a base price then a plan. Adjust it till you got the best ratio : you r ready for hw
Dr.Terminus16-Feb-19 06:36 PM
what's lacking / most sensible geographical location?
Deleted User16-Feb-19 06:36 PM
Check stats
Komodostats.com(edited)
You ll see big differences between regions
That s all about connectivity.
You need to have a plan like : ok : there may be like 5 spots in eu but 7 in sh, but sh isn t a stable one and server costs xx% more.
Picking the region is crucial
Some ones are REALLY harder to get in
Then you have the region you want to present and know where you will base yourself : time to get a little vps and start experimenting things. In the same time Prepare your speech and proposal docs to be ready when election starts
To go back to your question :All nodes are on DCs , and some have weaker stats by far. In some cases it s just about server optim and good maintenance, but in other cases it s just because connectivity is not so good. There s no secret looking at stats : you can see day by day that there are patterns identified when you focus on regions
Hardware and in some case even provider being the same
What differs ? Connectivity and geoloc.
It matters
Am sure even if you pop up a monster server on your home connection you won t be able to fight vs top nodes
Dr.Terminus16-Feb-19 06:49 PM
probably right
starting my hunt.
Deleted User16-Feb-19 06:50 PM
But as everything : that s an advice
Dr.Terminus16-Feb-19 06:50 PM
have been able to use vultr for many MN's but dont think it can cut it for KMD NN
Deleted User16-Feb-19 06:50 PM
And is not the "truth"
Just what we experienced. Ask @blackjok3r . He chose to avoid huge DC s to protect decentralization. His node can t fight. And am sure he s the guy that have a ton of tweaks and optim stuff.
Dr.Terminus16-Feb-19 06:53 PM
yep
Deleted User16-Feb-19 06:53 PM
Just the fact that his DC is not on a huge "hub" gives direct "penalties"
Dr.Terminus16-Feb-19 06:53 PM
this is what kept me from charging in
Deleted User16-Feb-19 06:54 PM
Just ask yourself : why will I present for ? Is my goal to be elected and just try, or do I intend to run a node and fight for re election
From then you need to gather every little info that will make your node / setup / proposal the best chance
Dr.Terminus16-Feb-19 06:56 PM
I want to be involved long term
Deleted User16-Feb-19 06:56 PM
So performance matters
Dr.Terminus16-Feb-19 06:56 PM
I wish I had started last year
Deleted User16-Feb-19 06:56 PM
Never too late man
You just need to be sure of it. When you are it s just about preparation
Technical knowledge / finding support / have a plan for region/location
Install a node, go to #kmdlabs or here, ask questions, test stuff and see if you enjoy it first
Dr.Terminus16-Feb-19 07:10 PM
cool. Thanx a bunch. I'll be around, on the search for best hosting / geolocation
blackjok3r16-Feb-19 09:56 PM
My node is also very old hardware, and in very isolated location , those two things don't go too nicly together. Optimization of software gave my node a chance but I chose to share my results with everyone else and lost the advantage gained, as I felt that was better for the network as a whole. I dont mind running election again next year, my node is able to maintain average performance in my region despite its old hardware and bad location. Still have plenty if resources for expansion as I am using 48 core quad CPU older server for the massive amount of ram available for much less upfront cost, although something faster can be rented elsewhere for less per month than I currently pay.
1
Dr.Terminus16-Feb-19 09:58 PM
Good info
I don't want to come off as opportunistic simply electing to go with hosting provider for geolocation which is more advantageous for the server / me rather than selecting host which could be better for the network
blackjok3r16-Feb-19 10:05 PM
I agree with that. For me I started with very little experience in all this, so purchased a cheap server upfront and built many nodes on it at home until I got it right, at the time that was my cheapest option, renting from a host for testnet wasn't something I could afford to do. Its all depends on what u can do. The best nodes are mostly dedicated servers owned by the operator, such as shossains and deckers. I think if mine was on the opposite aide of Australia, where most of the SH nodes are it would be much much better. Even with old hardware. I found disk speed and vast amounts of ram to be the highest requirement then number of CPU cores. The CPU speed per sore is less important, but affects restart times of daemons and as such gets up notarizing faster after updates, or if bad things happen resyncs of chains.(edited)
Dr.Terminus16-Feb-19 10:09 PM
thing is I have hardware pretty close to being able to handle the load, would just need more RAM. It's my local bandwidth that can't cut it by 50%. Sucks. I'm off that though. Maybe in a few years one of my local providers will step it up
blackjok3r16-Feb-19 10:28 PM
My server is using a gigabit local connection at DC but international bandwidth is about 100Mbit which is plenty really apart from the first sync of all the chains.
Dr.Terminus17-Feb-19 12:08 AM
how many notary node applicants were there last year ?
Today I wrote bash code which shells out to Perl which generates bash
code that is executed by the original bash shell, automating a multi
command $KMD notary process that I had been doing manually for months.
The UTXOs must flow. https://t.co/hEMqYwWpGX
Dr.Terminus18-Feb-19 03:43 PM
is there a way to determine which hosting companies the current NN's are utilizing?
Maybe I shouldn't go with DigitalOcean hosting if like 50% of NN's already use the same service..


Inga
Hewett
Hair & Make-up Artist
home
portfolio
about
"To me, beauty, make-up and colour are like the finishing touch on everything."
- Mark Jacobs
a few words
about me
Portfolio
Location
Studio
Featured
Lifestyle
Previous
Next
Previous
Next
Previous
Next
Previous
Next
connect with me


“We are the custodians of our bodies. We must take action to employ healthy lifestyle habits to prevent, reduce, and/or manage disease and illness.”
Take our Corona Virus CheckUp test and get a "Web based accurate" description based on your current symptoms in your body.


scoreSingleSamples.Rd
It is common to assess the activity of a gene set in a given sample. There
are many ways to do that, and this method is analogous to the
multiGSEA()
function in that it enables the user to run a multitude of
single-sample-gene-set-scoring algorithms over a target expression matrix
using a GeneSetDb()
object.
scoreSingleSamples( gdb, y, methods = "ewm", as.matrix = FALSE, drop.sd = 1e-04, verbose = FALSE, recenter = FALSE, rescale = FALSE, ..., as.dt = FALSE )
| gdb | A GeneSetDb |
|---|---|
| y | An expression matrix to score genesets against |
| methods | A character vector that enumerates the scoring methods you want to run over the samples. Please reference the "Single Sample Scoring Methods" section for more information. |
| as.matrix | Return results as a list of matrices instead of a melted
data.frame? Defaults to |
| drop.sd | Genes with a standard deviation across columns in |
| verbose | make some noise? Defaults to |
| recenter, rescale | If |
| ... | these parameters are passed down into the the individual single sample scoring funcitons to customize them further. |
| as.dt | If |
A long data.frame with sample_id,method,score values per row. If
as.matrix=TRUE
, a matrix with as many rows as geneSets(gdb)
and as many columns as ncol(x)
Please refer to the "Generating Single Sample Gene Set Scores" of the multiGSEA vignette for further exposition.
The following methods
are currenly provided.
"ewm"
: The eigenWeightedMean()
calculates the fraction each gene
contributes to a pre-specified principal component. These contributions
act as weights over each gene, which are then used in a simple weighted
mean calculation over all the genes in the geneset per sample. This is
similar, in spirit, to the svd/gsdecon method (ie. `method = "gsd"``)
"gsd"
: This method was first introduced by Jason Hackney in
doi:10.1038/ng.3520. Please refer to
the gsdScore()
function for more information.
"ssgsea"
: Using ssGSEA as implemented in the GSVA package.
"zscore"
: The features in the expression matrix are rowwise z transformed.
The gene set level score is then calculated by adding up the zscores for
the genes in the gene set, then dividing that number by either the the
size (or its sqaure root (default)) of the gene set.
"mean"
: Simply take the mean of the values from the expression matrix
that are in the gene set. Right or wrong, sometimes you just want the mean
without transforming the data.
"gsva"
: The gsva method of GSVA package.
"plage"
: Using "plage" as implemented in the GSVA package
library(reshape2) gdb <- exampleGeneSetDb() vm <- exampleExpressionSet() scores <- scoreSingleSamples(gdb, vm, methods=c('ewm', 'ssgsea', 'zscore'), uncenter=FALSE, unscale=FALSE, ssgsea.norm=TRUE)#> Warning: The current version of scoreSingleSamples produces *minor* differences in GSVA-based single sample gene set scores. #> https://github.com/lianos/multiGSEA/issues/10


| < Day Day Up > |
Hack 74 Consolidate Web Server Logs
Automate log processing on a web farm. As the administrator of multiple web servers, I ran across a few logging problems. The first was the need to collect logs from multiple web servers and move them to one place for processing. The second was the need to do a real-time tail on multiple logs so I could watch for specific patterns, clients, and URLs. As a result, I wrote a series of Perl scripts collectively known as logproc. These scripts send the log line information to a single log host where some other log analysis tool can work on them, solving the first problem. They also multicast the log data, letting you watch live log information from multiple web servers without having to watch individual log files on each host. A primary goal is never to lose log information, so these scripts are very careful about checking exit codes and such. The basic model is to feed logs to a program via a pipe. Apache supports this with its standard logging mechanism, and it is the only web server considered in this hack. It should be possible to make the system work with other web servers—even servers that can only write logs to a file—by using a named pipe. I've used these scripts on production sites at a few different companies, and I've found that they handle high loads quite well. 7.7.1 logproc DescribedDownload logproc from http://www.peterson.ath.cx/~jlp/software/logproc.tar.gz. Then, extract it: % gunzip logproc.tar.gz % tar xvf logproc.tar % ls -F logproc ./ ../ logserver.bin/ webserver.bin/ % ls -F logserver.bin ./ apache_rrd* cleantmp* logwatch* mining/ ../ arclogs* collect* meter* % ls -F webserver.bin ./ ../ batcher* cleantmp* copier* As you can see, there are two parts. One runs on each web server and the other runs on the log server. The logs are fed to a process called batcher that runs on the web server and writes the log lines to a batch file as they are received. The batch file stays small, containing only five minutes' worth of logs. Each completed batch file moves off to a holding area. A second script on each web server, the copier , takes the completed batch files and copies them to the centralized log host. It typically runs from cron. On the log host, the collect process, also run from cron, collects the batches and sorts the log lines into the appropriate daily log files. The system can also monitor log information in real time. Each batcher process dumps the log lines as it receives them out to a multicast group. Listener processes can retrieve those log lines and provide real-time analysis or monitoring. See the sample logwatch script included with logproc for details. 7.7.2 Preparing the Web ServersFirst, create a home directory for the web server user. In this case, we'll call the user www. Make sure that www's home directory in /etc/master.passwd points to that same location, not to /nonexistent. If necessary, use vipw to modify the location in the password file. # mkdir ~www # chown www:www ~www Next, log in as the web server user and create a public/private SSH keypair: # su www % ssh-keygen -t dsa Create the directories used by the log processing tools, and copy the scripts over: % cd ~www % mkdir -p bin logs/{work,save}/0 logs/tmp logs/work/1 % cp $srcdir/logproc/webserver.bin/* bin/ Examine those scripts, and edit the variables listed in Table 7-1 to reflect your situation.
Then, make sure you have satisfied all of the dependencies for these programs: # perl -wc batcher; perl -wc cleantmp; perl -wc copier The only dependency you likely won't have is IO::Socket::Multicast. Install it via the /usr/ports/net/p5-IO-Socket-Multicast port on FreeBSD systems or from the CPAN site (http://www.cpan.org/). Next, configure httpd.conf to log to the batcher in parallel with normal logging. Note that the batcher command line must include the instance (site, virtual, secure) and type (access, error, ssl) of logging: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" "%{User-Agent}i\" \ \"%{Cookie}i\" %v" full CustomLog "|/home/www/bin/batcher site access" full ErrorLog "|/home/www/bin/batcher site error" You can adjust the LogFormat directive as necessary to log the information you or your log summarization software needs. Finally, restart Apache and verify that the batchers are creating batches: # apachectl configtest # apachectl graceful # cd $wwwhome/logs/ # ls tmp Should list error log files for each batcher instance # ls work/0 Should list the working batches for each batcher instance # ls save/0 Verify that batches have moved into the save directory after a five-minute batch interval # ls work/0 and that new batches are currently being created 7.7.3 Preparing the Log HostStart by creating a log user to receive the logs, complete with a home directory. Become the log user and copy the public key from the web server into ~log/.ssh/authorized_keys2. Then, as the log user, create the directories the log collection tools use: # su log % cd ~log % mkdir -p bin web/{work,save}/{0,1} web/tmp web/{current,archive} 7.7.4 Testing the ConfigurationFrom a web server (as the web server's user), ssh to the log host manually to verify the configuration of the authorized_keys2: # su www % ssh loghost -l loguser date
Then, run copier manually to verify that the log files actually make it to the log server. Watch your run output on the web server, then check that save/0 on the log server contains the newly copied logs. Once you're satisfied with these manual tests, schedule a cron job that copies and cleans up log files. These jobs should run as the web server user: # crontab -e -u www ----------------------------- cut here ----------------------------- # copy the log files down to the collector host every 15 minutes 0,15,30,45 * * * * /home/www/bin/copier # clean the tmp directory once an hour 0 * * * * /home/www/bin/cleantmp ----------------------------- cut here ----------------------------- Finally, wait until the next copier run and verify that the batches appear on the log host. 7.7.5 Configuring Scripts on the Log HostYou should now have several batches sitting in save/0 in the log tree. Each batch contains the log lines collected over the batch interval (by default, five minutes) and has a filename indicating the instance (site, virtual, secure), type (access, error, ssl), web server host, timestamp indicating when the batch was originally created, and PID of the batcher process that created each batch. Now, install the log processing scripts into bin/: # cp $srcdir/collector/{arclogs,cleantmp,collect} bin/ Edit them to have valid paths for their new location and any OS dependencies, as shown in Table 7-2.
Again, make sure all dependencies are satisfied: # perl -wc arclogs; perl -wc cleantmp; perl -wc collect If you don't have Time::ParseDate, then install it from the /usr/ports/devel/p5-Time-modules port on FreeBSD or from CPAN. Run collect manually as the log user to verify that the log batches get collected and that log data ends up in the appropriately dated log file. Once you're satisfied, automate these tasks in a cron job for the log user: # crontab -e -u log ----------------------------- cut here ----------------------------- # run the collector once an hour 0 * * * * /home/log/bin/collect # clean the tmp directory once an hour 0 * * * * /home/log/bin/cleantmp ----------------------------- cut here ----------------------------- Wait until the next collect run and verify that the batches are properly collected. Compare the collected log files with the contents of your old logging mechanism's log file on the web servers. Make sure every hit makes it into the collected log files for the day. You might want to run both logging mechanisms for several days to get a good feel that the system is working as expected. 7.7.6 Viewing Live Log DataThe log server programs provide additional tools for monitoring and summarizing live log data. On a traditional single web server environment, you can always tail the log file to see what's going on. This is no longer easy to do, because the logs are now written in small batches. (Of course, if you have multiple web servers, multiple tail processes would have to run on each web server.) The batcher process helps with this by multicasting the logs out to a multicast group. Use the logwatch tool on the log server to view the live log data: % cd ~log/bin % ./logwatch <lines of log data spew out here> On a high-volume web site, there is likely to be too much data to scan manually. logwatch accepts arguments to specify which type of log data you want to see. You can also specify a Perl regular expression to limit the output. The meter script watches the log data on the multicast stream, in real time, and summarizes some information about the log data. It also stores information in an RRDTool (http://www.rrdtool.org/) database. The mining directory contains a checklog script that produces a "top ten clients" and "top ten vhosts" report. Alternatively, you can feed the collected log files to your existing web server log processing tools. 7.7.7 See Also
|
| < Day Day Up > |


I personally want to thank you for subscribing to AmzFlip pre-launching course. We are on the way to building latest course with fresh content which works in 2018 for Amazon India.
I think you already know the required Documents to regiester as a seller in Amazon.
If you have GST, PAN, and Bank Accounts with you it is fine! or else contact any nearby Charted Accountant.
He will guide you to get the GST number on your firm name.


say :
say :
Span Text
What about me?
Another One
Hello
how are
you?
Call remove() on paragraphs
add class


User authentication is easy to handle in Django. Django comes with an inbuilt authentication system which is really efficient and time saving. The basic thing which is required for authentication system is the registration of users and then login for the registered users only. So first of all we need some space(in terms of database, we need tables) to register users.
For that we will import the inbuilt User model from 'django.contrib.auth.models' (in models.py) to create tables in database. After importing these things we just need to sync the db and tables have been created in database. That's the power of Django.
Now after db creation we just need to work on the user forms from which data will be stored in tables . That is just the regular Django stuff,nothing new.
But when we make login form, here we again have to use the power of django. The process that occures during login is quite simple. The user enters the Username and password to login with. With the help of authetication system Django checks that username in the database and then authenticate the user with successful login if the username and password matches in db.
That was more or less verbal talks. But as always implementation is quite arduous. So here is the piece of code that authenticate the registered users through login form
:- from django.contrib.auth import authenticatedef login():
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username = username, password = password)
if user is not None:
auth.login(request,user)
return HttpResponseRedirect('/sucesspage')
else:
return HttpResponseRedirect('/invalid')
return render(request,loginform.html)
This function will authenticate only the registered users only. Hope this will help you.
Cheers!!


--- layout: post title: MMS for content other than pictures? date: 2004-01-16 00:00:00 ---
From "What about MMS Voicemail?" on MMSMemo:
In general, the idea of using MMS to deliver content other than photos hasn't been explored fully yet (though I know that Robert has had some ideas here): audio clips (match reports, extracts from books, music, weather reports) and lengthy pieces of text just aren't deemed as zappy as pictures, I guess...


PlayersData
models
PlayersDataController
controllers
ProfanityController
controllers
playersData
PlayersDataController
ReversePlayersDataController
ReversePlayersDataController
playersdata
html
playersdata_Scope0
playersdata_Scope0
html
prefix
Routes
RoutesPrefix
profanity
ProfanityController
ReverseProfanityController
ReverseProfanityController
html
profanity_Scope0
profanity_Scope0
html
profile
ReverseUsersManagementController
UsersManagementController
ReverseUsersManagementController
html
profile_Scope0
profile_Scope0
html
publishSpreadsheet
GameDataController
ReverseGameDataController
ReverseGameDataController


This page contains 5 links as following: One link the lead back to main page. One link lead to third level link. One link that is broken. two links lead to external page (github)


--- layout: page title: Episodes background: '/img/bg-index.png' ---
Join the UD team as they search for positive pathways to a better world through the climate crisis.
In this series, the team explores why we need to rethink the future, what utopianism means in the 21st century and how we can get there.


|
Dear {{FULL_NAME}}
|
{{LEARNER_NAME}} {{LEARNER_EMAIL}} requested a refund for the following course: {{COURSE_NAME}}.
The reason stated by {{LEARNER_NAME}} for the refund request is:
{{FREE_TEXT}}
Since this course falls Under the 30 days Money Back Guarantee program, we immediately refunded {{LEARNER_NAME}}. The refund amount will be deducted from your upcoming payout.
You might consider contacting {{LEARNER_NAME}} and see if you can yet turn this around.
|
Best Regards,
The LFE team
|
|


WorkSchedule
WorkProcessor
Example:
// for high-end environments
WorkProcessor processor = WorkProcessorFactory.getProcessor("perform", Configuration.PERFORMANCE);
// for low-end environments
WorkProcessor processor = WorkProcessorFactory.getProcessor("echo", Configuration.ECHO);
// user define
Configuration config = Configuration.create()
.setInitThreadWorkerSize(3)
.setMaxThreadWorkerSize(12)
.setThreadPriority(Thread.NORM_PRIORITY)
.lock();
WorkProcessor processor = WorkProcessorFactory.getProcessor("user", config);
WorkEvent
that has parent property information.WorkSession
Work
implement object.WorkSession
WorkEvent
implementation.Copyright © 2018–2019. All rights reserved.


Favorite Novel
To All The Boys I've Loved Before, Jenny Han
"To All the Boys I've Loved Before", gives your classic love keeper, Lara Jean, who never told any crush how felt about them instead she wrote love letter to them, but kept them hidden in a her love box. Her world is turn up side down when all her love letters are mail out to every guy she ever any love towards them. When Josh, Lara Jean former crush and sister's, Margot, ex-boyfriend starts having feeling her after his love letter is mail to him. If things couldn't get worse she in a fake realtionship with her Peter, her frist kiss, to protect herself from falling herself from having feeling for Josh once again. Only to fall in love with Peter.


holehe
Holehe checks if an email is attached to an account on sites like Twitter, Instagram, Imgur and over 120 others.
More information: home page
- Show status across all supported websites for the specified email address:
holehe<EMAIL_ADDRESS>- Show status for only sites where the specified email address is in use:
holehe<EMAIL_ADDRESS>--only-used


Nice to Meet You
How I got started
Machine learning is easy
Six Simple Steps
Get data
Prep data
Pick model
Fit model
Validate model
Deploy
GridSearchCV
Pipelines
Informed machine learning is hard
Anscombe's Quartet
Machine Learning in color?
Follow the Yellow Brick Road
Boxplots
Histograms
Sploms
Jointplots
Radviz
Parallel Coordinates
Choosing the Right Estimator
Cluster Comparison
Classifier Comparison
Models: Families, Forms, Fitted
Classification Heatmap
ROC-AUC Plots
Prediction Error Plots
Residual Plots
Blind Gridsearch
Validation Curves
Visual Gridsearch
Yellowbrick
Visual Transformers
Cultivar


Topic modeling is a method for unsupervised classification of documents, by modeling each document as a mixture of topics and each topic as a mixture of words. Latent Dirichlet allocation is a particularly popular method for fitting a topic model.
We can use tidy text principles, as described in the main vignette, to approach topic modeling using consistent and effective tools. In particular, we’ll be using tidying functions for LDA objects from the topicmodels package.
Suppose a vandal has broken into your study and torn apart four of your books:
This vandal has torn the books into individual chapters, and left them in one large pile. How can we restore these disorganized chapters to their original books?
titles <- c("Twenty Thousand Leagues under the Sea", "The War of the Worlds",
"Pride and Prejudice", "Great Expectations")
books <- gutenberg_works(title %in% titles) %>%
gutenberg_download(meta_fields = "title")
## # A tibble: 51,663 x 3
## gutenberg_id text title
## <int> <chr> <chr>
## 1 36 The War of the Worlds The War of the Worlds
## 2 36 "" The War of the Worlds
## 3 36 by H. G. Wells [1898] The War of the Worlds
## 4 36 "" The War of the Worlds
## 5 36 "" The War of the Worlds
## 6 36 " But who shall dwell in these worlds if they be" The War of the Worlds
## 7 36 " inhabited? . . . Are we or they Lords of the" The War of the Worlds
## 8 36 " World? . . . And how are all things made for man?--" The War of the Worlds
## 9 36 " KEPLER (quoted in The Anatomy of Melancholy)" The War of the Worlds
## 10 36 "" The War of the Worlds
## # ... with 51,653 more rows
As pre-processing, we divide these into chapters, use tidytext’s unnest_tokens
to separate them into words, then remove stop_words
. We’re treating every chapter as a separate “document”, each with a name like Great Expectations_1
or Pride and Prejudice_11
.
library(tidytext)
library(stringr)
library(tidyr)
by_chapter <- books %>%
group_by(title) %>%
mutate(chapter = cumsum(str_detect(text, regex("^chapter ", ignore_case = TRUE)))) %>%
ungroup() %>%
filter(chapter > 0)
by_chapter_word <- by_chapter %>%
unite(title_chapter, title, chapter) %>%
unnest_tokens(word, text)
word_counts <- by_chapter_word %>%
anti_join(stop_words) %>%
count(title_chapter, word, sort = TRUE) %>%
ungroup()
word_counts
## # A tibble: 104,721 x 3
## title_chapter word n
## <chr> <chr> <int>
## 1 Great Expectations_57 joe 88
## 2 Great Expectations_7 joe 70
## 3 Great Expectations_17 biddy 63
## 4 Great Expectations_27 joe 58
## 5 Great Expectations_38 estella 58
## 6 Great Expectations_2 joe 56
## 7 Great Expectations_23 pocket 53
## 8 Great Expectations_15 joe 50
## 9 Great Expectations_18 joe 50
## 10 The War of the Worlds_16 brother 50
## # ... with 104,711 more rows
Right now this data frame is in a tidy form, with one-term-per-document-per-row. However, the topicmodels package requires a DocumentTermMatrix
(from the tm package). As described in this vignette, we can cast a one-token-per-row table into a DocumentTermMatrix
with tidytext’s cast_dtm
:
## <<DocumentTermMatrix (documents: 193, terms: 18215)>>
## Non-/sparse entries: 104721/3410774
## Sparsity : 97%
## Maximal term length: 19
## Weighting : term frequency (tf)
Now we are ready to use the topicmodels package to create a four topic LDA model.
library(topicmodels)
chapters_lda <- LDA(chapters_dtm, k = 4, control = list(seed = 1234))
chapters_lda
## A LDA_VEM topic model with 4 topics.
(In this case we know there are four topics because there are four books; in practice we may need to try a few different values of k
).
Now tidytext gives us the option of returning to a tidy analysis, using the tidy
and augment
verbs borrowed from the broom package. In particular, we start with the tidy
verb.
## # A tibble: 72,860 x 3
## topic term beta
## <int> <chr> <dbl>
## 1 1 joe 0.0000000000000000583
## 2 2 joe 0.00000000000000000000000000000000000000000000000000000000319
## 3 3 joe 0.00000000000000000000000416
## 4 4 joe 0.0145
## 5 1 biddy 0.00000000000000000000000000785
## 6 2 biddy 0.00000000000000000000000000000000000000000000000000000000000000000000467
## 7 3 biddy 0.000000000000000000000000000000000000000000000226
## 8 4 biddy 0.00477
## 9 1 estella 0.00000383
## 10 2 estella 0.0000000000000000000000000000000000000000000000000000000000000000532
## # ... with 72,850 more rows
Notice that this has turned the model into a one-topic-per-term-per-row format. For each combination the model has \(\beta\), the probability of that term being generated from that topic.
We could use dplyr’s top_n
to find the top 5 terms within each topic:
top_terms <- chapters_lda_td %>%
group_by(topic) %>%
top_n(5, beta) %>%
ungroup() %>%
arrange(topic, -beta)
top_terms
## # A tibble: 20 x 3
## topic term beta
## <int> <chr> <dbl>
## 1 1 elizabeth 0.0141
## 2 1 darcy 0.00881
## 3 1 miss 0.00871
## 4 1 bennet 0.00695
## 5 1 jane 0.00650
## 6 2 captain 0.0155
## 7 2 nautilus 0.0131
## 8 2 sea 0.00885
## 9 2 nemo 0.00871
## 10 2 ned 0.00803
## 11 3 people 0.00680
## 12 3 martians 0.00651
## 13 3 time 0.00535
## 14 3 black 0.00528
## 15 3 night 0.00448
## 16 4 joe 0.0145
## 17 4 time 0.00685
## 18 4 pip 0.00682
## 19 4 looked 0.00637
## 20 4 miss 0.00623
This model lends itself to a visualization:
library(ggplot2)
theme_set(theme_bw())
top_terms %>%
mutate(term = reorder(term, beta)) %>%
ggplot(aes(term, beta)) +
geom_bar(stat = "identity") +
facet_wrap(~ topic, scales = "free") +
theme(axis.text.x = element_text(size = 15, angle = 90, hjust = 1))
These topics are pretty clearly associated with the four books! There’s no question that the topic of “nemo”, “sea”, and “nautilus” belongs to Twenty Thousand Leagues Under the Sea, and that “jane”, “darcy”, and “elizabeth” belongs to Pride and Prejudice. We see “pip” and “joe” from Great Expectations and “martians”, “black”, and “night” from The War of the Worlds.
Each chapter was a “document” in this analysis. Thus, we may want to know which topics are associated with each document. Can we put the chapters back together in the correct books?
## # A tibble: 772 x 3
## document topic gamma
## <chr> <int> <dbl>
## 1 Great Expectations_57 1 0.0000135
## 2 Great Expectations_7 1 0.0000147
## 3 Great Expectations_17 1 0.0000212
## 4 Great Expectations_27 1 0.0000192
## 5 Great Expectations_38 1 0.354
## 6 Great Expectations_2 1 0.0000172
## 7 Great Expectations_23 1 0.551
## 8 Great Expectations_15 1 0.0168
## 9 Great Expectations_18 1 0.0000127
## 10 The War of the Worlds_16 1 0.0000108
## # ... with 762 more rows
Setting matrix = "gamma"
returns a tidied version with one-document-per-topic-per-row. Now that we have these document classifications, we can see how well our unsupervised learning did at distinguishing the four books. First we re-separate the document name into title and chapter:
chapters_lda_gamma <- chapters_lda_gamma %>%
separate(document, c("title", "chapter"), sep = "_", convert = TRUE)
chapters_lda_gamma
## # A tibble: 772 x 4
## title chapter topic gamma
## <chr> <int> <int> <dbl>
## 1 Great Expectations 57 1 0.0000135
## 2 Great Expectations 7 1 0.0000147
## 3 Great Expectations 17 1 0.0000212
## 4 Great Expectations 27 1 0.0000192
## 5 Great Expectations 38 1 0.354
## 6 Great Expectations 2 1 0.0000172
## 7 Great Expectations 23 1 0.551
## 8 Great Expectations 15 1 0.0168
## 9 Great Expectations 18 1 0.0000127
## 10 The War of the Worlds 16 1 0.0000108
## # ... with 762 more rows
Then we examine what fraction of chapters we got right for each:
ggplot(chapters_lda_gamma, aes(gamma, fill = factor(topic))) +
geom_histogram() +
facet_wrap(~ title, nrow = 2)
We notice that almost all of the chapters from Pride and Prejudice, War of the Worlds, and Twenty Thousand Leagues Under the Sea were uniquely identified as a single topic each.
chapter_classifications <- chapters_lda_gamma %>%
group_by(title, chapter) %>%
top_n(1, gamma) %>%
ungroup() %>%
arrange(gamma)
chapter_classifications
## # A tibble: 193 x 4
## title chapter topic gamma
## <chr> <int> <int> <dbl>
## 1 Great Expectations 54 3 0.480
## 2 Great Expectations 22 4 0.536
## 3 Great Expectations 31 4 0.546
## 4 Great Expectations 23 1 0.551
## 5 Great Expectations 33 4 0.570
## 6 Great Expectations 47 4 0.580
## 7 Great Expectations 56 4 0.598
## 8 Great Expectations 38 4 0.646
## 9 Great Expectations 11 4 0.669
## 10 Great Expectations 44 4 0.678
## # ... with 183 more rows
We can determine this by finding the consensus book for each, which we note is correct based on our earlier visualization:
book_topics <- chapter_classifications %>%
count(title, topic) %>%
top_n(1, n) %>%
ungroup() %>%
transmute(consensus = title, topic)
book_topics
## # A tibble: 1 x 2
## consensus topic
## <chr> <int>
## 1 Pride and Prejudice 1
Then we see which chapters were misidentified:
## # A tibble: 2 x 3
## title consensus n
## <chr> <chr> <int>
## 1 Great Expectations Pride and Prejudice 1
## 2 Pride and Prejudice Pride and Prejudice 61
We see that only a few chapters from Great Expectations were misclassified. Not bad for unsupervised clustering!
augment
One important step in the topic modeling expectation-maximization algorithm is assigning each word in each document to a topic. The more words in a document are assigned to that topic, generally, the more weight (gamma
) will go on that document-topic classification.
We may want to take the original document-word pairs and find which words in each document were assigned to which topic. This is the job of the augment
verb.
We can combine this with the consensus book titles to find which words were incorrectly classified.
assignments <- assignments %>%
separate(document, c("title", "chapter"), sep = "_", convert = TRUE) %>%
inner_join(book_topics, by = c(".topic" = "topic"))
assignments
## # A tibble: 29,376 x 6
## title chapter term count .topic consensus
## <chr> <int> <chr> <dbl> <dbl> <chr>
## 1 Pride and Prejudice 47 pocket 1.00 1.00 Pride and Prejudice
## 2 Pride and Prejudice 50 pocket 1.00 1.00 Pride and Prejudice
## 3 Pride and Prejudice 49 pocket 1.00 1.00 Pride and Prejudice
## 4 Great Expectations 38 brother 2.00 1.00 Pride and Prejudice
## 5 Pride and Prejudice 43 brother 4.00 1.00 Pride and Prejudice
## 6 Pride and Prejudice 18 brother 1.00 1.00 Pride and Prejudice
## 7 Great Expectations 22 brother 4.00 1.00 Pride and Prejudice
## 8 Pride and Prejudice 45 brother 2.00 1.00 Pride and Prejudice
## 9 Pride and Prejudice 16 brother 1.00 1.00 Pride and Prejudice
## 10 Pride and Prejudice 10 brother 2.00 1.00 Pride and Prejudice
## # ... with 29,366 more rows
We can, for example, create a “confusion matrix” using dplyr’s count
and tidyr’s spread
:
## # A tibble: 3 x 2
## title `Pride and Prejudice`
## <chr> <dbl>
## 1 Great Expectations 3876
## 2 Pride and Prejudice 37229
## 3 Twenty Thousand Leagues under the Sea 5.00
We notice that almost all the words for Pride and Prejudice, Twenty Thousand Leagues Under the Sea, and War of the Worlds were correctly assigned, while Great Expectations had a fair amount of misassignment.
What were the most commonly mistaken words?
## # A tibble: 3,106 x 6
## title chapter term count .topic consensus
## <chr> <int> <chr> <dbl> <dbl> <chr>
## 1 Great Expectations 38 brother 2.00 1.00 Pride and Prejudice
## 2 Great Expectations 22 brother 4.00 1.00 Pride and Prejudice
## 3 Great Expectations 23 miss 2.00 1.00 Pride and Prejudice
## 4 Great Expectations 22 miss 23.0 1.00 Pride and Prejudice
## 5 Twenty Thousand Leagues under the Sea 8 miss 1.00 1.00 Pride and Prejudice
## 6 Great Expectations 31 miss 1.00 1.00 Pride and Prejudice
## 7 Great Expectations 5 sergeant 37.0 1.00 Pride and Prejudice
## 8 Great Expectations 22 people 3.00 1.00 Pride and Prejudice
## 9 Great Expectations 31 people 2.00 1.00 Pride and Prejudice
## 10 Great Expectations 23 dear 10.0 1.00 Pride and Prejudice
## # ... with 3,096 more rows
## # A tibble: 2,272 x 4
## title consensus term n
## <chr> <chr> <chr> <dbl>
## 1 Great Expectations Pride and Prejudice love 44.0
## 2 Great Expectations Pride and Prejudice sergeant 37.0
## 3 Great Expectations Pride and Prejudice lady 32.0
## 4 Great Expectations Pride and Prejudice miss 26.0
## 5 Great Expectations Pride and Prejudice father 19.0
## 6 Great Expectations Pride and Prejudice baby 18.0
## 7 Great Expectations Pride and Prejudice flopson 18.0
## 8 Great Expectations Pride and Prejudice family 16.0
## 9 Great Expectations Pride and Prejudice replied 16.0
## 10 Great Expectations Pride and Prejudice attention 14.0
## # ... with 2,262 more rows
Notice the word “flopson” here; these wrong words do not necessarily appear in the novels they were misassigned to. Indeed, we can confirm “flopson” appears only in Great Expectations:
## # A tibble: 3 x 3
## title_chapter word n
## <chr> <chr> <int>
## 1 Great Expectations_22 flopson 10
## 2 Great Expectations_23 flopson 7
## 3 Great Expectations_33 flopson 1
The algorithm is stochastic and iterative, and it can accidentally land on a topic that spans multiple books.


Methods
addEslintDisable(options)
Entry point to module. Adds eslint disable to a file (srcFilePath) or files (buildDestPath) that meet a specific
filename filter.
Takes the following option object:
{
srcFilePath: the file to add eslint disable to (single file mode)
buildDestPath: the start directory to start searching for any files that match the file filter (*.common.js) to
add eslint disable to (multi file mode)
verbose: output debugging information to stdout
}
Specify either file source path (single file mode) or build destination path (multi file mode).
Parameters:
| Name | Type | Description |
|---|---|---|
options |
Object | See description above |
all(options)
Main entry point to module. Calls all the indivual commands: add-eslint-disable, create-exports and delete-demo-html.
Takes the following option object:
{
buildDestPath: the start directory to start searching for any files that match the file filter (*.common.js) to
add eslint disable to (multi file mode) and create export entries for in index.js that is placed
in the start directory
verbose: output debugging information to stdout
}
Specify either file source path (single file mode) or build destination path (multi file mode).
Parameters:
| Name | Type | Description |
|---|---|---|
options |
Object | See description above |
- Source:
correctPathSeparator(filePath) → {string}
Correct the path separator on Windows from backslash to forward slash.
Parameters:
| Name | Type | Description |
|---|---|---|
filePath |
string | Fully qualified path of the file to correct the path for |
- Source:
Returns:
- Type
- string
createDefaultExport(moduleParts) → {string}
Creates a default export statement.
Parameters:
| Name | Type | Description |
|---|---|---|
moduleParts |
Object | An object with the module parts that are extracted from the filename |
- Source:
Returns:
a default export statement
- Type
- string
createExports(options)
Main entry point to module. Calls all the indivual commands: add-eslint-disable, create-exports and delete-demo-html.
Takes the following option object:
{
buildDestPath: the start directory to start searching for any files that match the file filter (*.common.js) to
add eslint disable to (multi file mode) and create export entries for in index.js that is placed
in the start directory.
if not specified it uses a sane default: dist
verbose: output debugging information to stdout
}
Specify either file source path (single file mode) or build destination path (multi file mode).
Parameters:
| Name | Type | Description |
|---|---|---|
options |
Object | See description above |
- Source:
createNamedExport(moduleParts) → {string}
Creates a named export statement.
Parameters:
| Name | Type | Description |
|---|---|---|
moduleParts |
Object | An object with the module parts that are extracted from the filename |
- Source:
Returns:
a named export statement
- Type
- string
customFilter(file) → {boolean}
Custom filter to filter files by (*.common.js).
Parameters:
| Name | Type | Description |
|---|---|---|
file |
Object | The file object |
Returns:
true if the file meets the filter, otherwise false
- Type
- boolean
customFilter(file) → {boolean}
Custom filter to filter files by (*.common.js).
Parameters:
| Name | Type | Description |
|---|---|---|
file |
Object | The file object |
- Source:
Returns:
true if the file meets the filter, otherwise false
- Type
- boolean
customFilter(file) → {boolean}
Custom filter to filter files by (*.common.js).
Parameters:
| Name | Type | Description |
|---|---|---|
file |
Object | The file object |
- Source:
Returns:
true if the file meets the filter, otherwise false
- Type
- boolean
getFiles(buildDestPath) → {Array}
Retrieve files (buildDestPath) that meet a specific filename filter. It recursively search from this start directory
for any files that match the file filter.
Parameters:
| Name | Type | Description |
|---|---|---|
buildDestPath |
string | A fully qualified path to the directory to start processing from |
- Source:
Returns:
with files to process
- Type
- Array
getFiles(srcFilePath, buildDestPath) → {Array}
Retrieve a file (srcFilePath) or files (buildDestPath) that meet a specific filename filter. Specify either file
source path (single file mode) or build destination path (multi file mode).
If buildDestPath is specified it recursively search from this start directory for any files that match the file
filter.
Parameters:
| Name | Type | Description |
|---|---|---|
srcFilePath |
String | A fully qualified path to the file to process |
buildDestPath |
String | A fully qualified path to the directory to start processing from |
Throws:
exception if both srcFilePath and buildDestPath are specified
Returns:
with files to process
- Type
- Array
getModuleParts(filePath, buildDistPath) → {ModuleParts}
Creates a module parts object that contains the name and relative path to the module based on the file path from
which the base path (buildDestPath) is extracted. It also converts kebab case to capitalized words without spaces,
i.e. hello-world to HelloWorld.
Parameters:
| Name | Type | Description |
|---|---|---|
filePath |
string | Fully qualified name of the file to create the module parts for |
buildDistPath |
string | Fully qualified path to the start directory, which is subtracted from the filePath to get the relative path |
- Source:
Returns:
an object with the module parts
- Type
- ModuleParts
(async) processFile(filePath) → {Promise.<void>}
Add eslint disable to a file.
Parameters:
| Name | Type | Description |
|---|---|---|
filePath |
String | A fully qualified path to the file to process |
Returns:
a promise
- Type
- Promise.<void>
(async) processFiles(files, exportsFilePath, buildDestPath) → {Promise.<void>}
Create named exports in the index.js file places in the start directory.
Parameters:
| Name | Type | Description |
|---|---|---|
files |
Array.<String> | An array with fully qualified paths to the files to process |
exportsFilePath |
string | Fully qualified path to the index.js file in the start directory |
buildDestPath |
string | A fully qualified path to the directory to start processing from |
- Source:
Returns:
a promise
- Type
- Promise.<void>
rmdir(dirPath)
Remove directory even if it contains files or other directories. Comparable to Unix command 'rm -rf'.
Parameters:
| Name | Type | Description |
|---|---|---|
dirPath |
string | Path to directory to remove including any directories or files it contains |
- Source:
stripBuildDest(filePath, buildDistPath) → {string}
Get the relative path to the file by removing the starting directory (buildDestPath) from the file path.
Parameters:
| Name | Type | Description |
|---|---|---|
filePath |
string | Fully qualified path of the file to get the relative path for |
buildDistPath |
string | Fully qualified path to the start directory, which is subtracted from the filePath to get the relative path |
- Source:
Returns:
relative file path to the module
- Type
- string
stripExt(filePath) → {string}
Remove the file extension from the file path.
Parameters:
| Name | Type | Description |
|---|---|---|
filePath |
string | Fully qualified path of the file to remove the file extension from |
- Source:
Returns:
Fully qualified path of the file without the file extension
- Type
- string
stripFilter(filename) → {string}
Remove the filter (*.common.js) from the filename.
Parameters:
| Name | Type | Description |
|---|---|---|
filename |
Object | The filename to remove the filter from |
- Source:
Returns:
The filename without the filter part
- Type
- string
Type Definitions
ModuleParts
Type:
- Object
Properties:
| Name | Type | Description |
|---|---|---|
moduleName |
string | The module name |
modulePath |
string | The relative path starting from the buildDistPath |
- Source:


{% extends "base.html" %} {% block title %} Welcome {% endblock %} {% block stylesheets %}{% endblock stylesheets %} {% block content %}
Read the docs, learn how to create stories.
Choose the data to explore, pick a template, and create a new data story
Have a look at some examples we created for you in the left sidebar or browse the catalogue of users data stories.
Get the source code from the GitHub repository
To save and publish data stories with MELODY, you will need a GitHub account. If you already have a GitHub account, you'll be able to publish your stories on our MELODY data stories website. You will always be able to modify or delete them. If you just want to try out MELODY, you can! You can try our templates and download your web-ready story in a few clicks!


Donate Plasma
Save Life
Did you beat COVID-19?
Congratualtions on your heroic winning.
As you know you can also help others to beat Corona. Donate your
plasma
to others who are fighting to win against Corona.
Become a donor
Donor List
search
| Name | Address | Blood Group | Mobile Number | Availability Status |
|---|---|---|---|---|
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Unavailable |
| balid | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |
| Alvin | Mirpur | A+ |<PHONE_NUMBER>9 | Available |


Create
Connector Selection
Cluster
Please select a cluster
Cluster Name
Connector
Please select a Plugin
Plugin Name


Newsletter
Our weekly newsletter is called the Franciscan. It is given out at Mass on Sunday and is also available here in Microsoft Word format.
- Our Lord Jesus Christ, King of the Universe
- The Thirty-third Sunday in Ordinary Time
- The Thirty-second Sunday in Ordinary Time
- The Feast of All Saints
- The Thirtieth Sunday in Ordinary Time
If you have an item for inclusion in the Franciscan, please complete the form on the right. Any contributions received after Wednesday evening may not appear until the following week.


→ API Docs
The AHOI Open Banking API provides easy access to banks and payment service providers. The API can be used to retrieve account and deposit account information, execute transfers, determine forecasts, and more.
Get more information about the AHOI API and API docs here:
This Node.js module provides easy access to banks via the AHOI Open Banking API. The client module is designed to be used within an existing Node.js application. It extends it with the feature to get accesses to bank data such as account transactions or deposit data.
To simply try out the client or as a starting point for your own application, we recommend our demo application which uses this client:
npm install --save git+ssh://git@github.com:sparkassen-hub/ahoi-nodejs-client.git
Go to AHOI Demo-Account and register for a demo account.
To get account transactions for an user you have to manage five steps:
The following code snippets show how to technical implement the steps from creating a user in AHOI to retrieving account transactions.
A) Include the module in your code
// Typescript
import { AhoiApiFactory } from 'ahoi-api-node';
// JavaScript
const { AhoiApiFactory } = require('ahoi-api-node');
B) Add the configuration to access the AHOI API
// Configuration: see information below
const ahoiConfig = {
clientId: 'SBM_XXqaeX30T2D',
clientSecret: '2e066yXXXLxa3zn',
appSecretIv: 'mP3IdoOKxVzOQzX22IueXg',
appSecretKey: 'dGw6XXtcyryKqXeeHgqPTg',
cryptKey: 'ScL&aFPazDw6S#k3',
baseurl: 'https://banking-sandbox.starfinanz.de/ahoi/api/v2',
};
const ahoiApi = new AhoiApiFactory(ahoiConfig);
C) Create a new user in AHOI
// Get an installationid (and store it in your user management system)
const registrationApi: RegistrationApi = await ahoiApi.getRegistrationApi();
const installationId: RegistrationResponse = await registrationApi.register();
D) Let the use select a bank, get a list of banks before
// Get a list of(banking) providers
const providerApi: ProviderApi = await ahoiApi.getProviderApi(installationId);
const providers: Provider[] = await providerApi.getProviders();
E) Create bank access with PIN and username
The bank access is linked with the installationId
// Grant banking access by a user
const accessApi: AccessApi = await ahoiApi.getAccessApi(installationId);
// To grant banking access the user must provide the pin and username or customernumber. It differs
// from bank to to bank which data additionally to the pin are needed.
const access: Access = {
type: 'BankAccess',
providerId: provider[0].id,
accessFields: {
USERNAME: username,
CUSTOMERNUMBER: customernumber,
PIN: pin,
},
};
const allowedAccess: Access = await accessApi.postAccess(access);
E) Select accounts.
As AHOI initially fetches all accounts from a bank access, the accounts not selected by user must be deleted from AHOI.
// Delete banking accounts from AHOI or show as list
const accountApi: AccountApi = await ahoiApi.getAccountApi(installationId);
// accessid comes from banking access granted before: Access#id
const accounts: Account[] = await accountApi.getAccounts(allowedAccess.id);
await accountApi.deleteAccount(allowedAccess.id, accounts[0].id);
F) Show account transactions
// Show transactions for a bank account
const accessApi: AccessApi = await ahoiApi.getAccessApi(Server.INSTALLATION_ID);
const transactions: Asset[] = accessApi.listAssets(accessId, accountId, 30);
The AHOI access data (clientId, clientSecret, appSecretIv, appSecretKey) can be found in your AHOI (demo) account.
The cryptKey is used to encrypt the installationId internally before it is stored e.g. in a user mangement system. This way it is ensured, that the installationId for an user is always stored encrypted.
You can choose any password as cryptKey, but the recommended length is 32 chars.
To get transactions for a bank account, you have to grant access before. But for sure you don't want to use your real bank access data.
Exactly for this AHOI has (technically) created a demo bank called Sandbank. After registration at AHOI you have automatically two demo accounts at this bank. You'll find your access data (PIN and username) in your AHOI account.
When testing the client you should select as bank the 'Sandbank'. To grant access to the bank use the PIN and username from your AHOI account (see below).
An installationId is needed to fetch account data for an user. In AHOI it is not linked with a user but only with one or more accounts. Therefore the following procedure should be chosen:
# Build
npm run build
# Generate TS doc separate
npm run doc
Licensed under MIT.


Welcome to your Remote Storage provider
Your data in one place — your place.
When logging into a Remote Storage application connect using...
@<%= host %>
... remember, nothing before the "@" — no alias needed.
An app developer?
Check out the simple tutorial on how to leverage this ecosystem.
Focus on your app's value-adds — not user management, nor payment gateway integrations, nor back-end maintenance.


Welcome to Libra
The Libra Mission
A simple global currency and financial infrastructure that empowers billions of people.
Reinvent money. Transform the global economy. So people everywhere can live better lives.
Libra is for everyone
Moving money around the world should be as easy and cheap as sending a text message. No matter where you live, what you do, or how much you earn.


Part of the
Learn to build full-stack apps with serverless and React
Get the
The most popular resource for building serverless apps
Download the FREE 1000 page ebook!
We'll also send you updates when new versions are published.


|
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Typedefs | |
| typedef std::size_t | IndexType |
| typedef std::size_t | SizeType |
| typedef Element::Pointer | ElementPointerType |
Functions | |
| double | CalculatePotentialEnergy (Element &rElement) |
| Assign and compute potential energy*. More... | |
| double | CalculatePotentialEnergy (ModelPart &rModelPart) |
| double | CalculateKineticEnergy (Element &rElement) |
| double | CalculateKineticEnergy (ModelPart &rModelPart) |
| double | CalculateStrainEnergy (Element &rElement) |
| double | CalculateStrainEnergy (ModelPart &rModelPart) |
| double | CalculateTotalEnergy (Element &rElement) |
| Assign and compute total energy. More... | |
| double | CalculateTotalEnergy (ModelPart &rModelPart) |
| double | KRATOS_API (PARTICLE_MECHANICS_APPLICATION) CalculatePotentialEnergy(Element &rElement) |
| typedef Element::Pointer Kratos::MPMEnergyCalculationUtility::ElementPointerType |
| typedef std::size_t Kratos::MPMEnergyCalculationUtility::IndexType |
| typedef std::size_t Kratos::MPMEnergyCalculationUtility::SizeType |
Assign and compute potential energy*.
Assign and compute total energy.
Compute total energy inside particle, summing potential, kinetic and strain energy
| double Kratos::MPMEnergyCalculationUtility::KRATOS_API | ( | PARTICLE_MECHANICS_APPLICATION | ) | & |


Before Change
// lat/lon):
d[d>1.0] = 1.0
d[d<-1.0]=-1.0
return 180.0/np.pi*np.arccos(d)
def euclid3_to_great_circle(euclid3_distance):
Convert euclidean distance between points on a unit sphere to
After Change
c1 = np.cos(lat1)
s1 = np.sin(lat1)
c2 = np.cos(lat2)
s2 = np.sin(lat2)
cd = np.cos(dlon)
// This uses the arctan version of the great-circle distance function
// from en.wikipedia.org/wiki/Great-circle_distance for increased
// numerical stability.
// Formula can be obtained from [2] combining eqns. (14)-(16)
// for spherical geometry (f=0).
return 180.0/np.pi*np.arctan2(
np.sqrt((c2*np.sin(dlon))**2 +
(c1*s2-s1*c2*cd)**2),
s1*s2+c1*c2*cd)
def euclid3_to_great_circle(euclid3_distance):
Convert euclidean distance between points on a unit sphere to


Groups
- Manage and monitor group activity
- Segment members using task groups and topic tags.
- Import and export member lists
Networks
- Aggregate views of groups connected to your network.
- See where you need to allocate more resources or encourage more activity.


Recipe 19.9. Looping Through the Cross-Product of Multiple Iterables
Credit: Attila Vàsàrhelyi, Raymond
Hettinger, Steven Taschuk
Problem
You need to loop through every item of multiple iterables
cross-productwise, meaning that you first want to get the first item
of the first iterable paired with all the others, next, the second
item of the first iterable paired with all the others, and so forth.
Solution
Say you have two iterables (lists, in this case) such as:
a = ['a1', 'a2', 'a3']
b = ['b1', 'b2']
If you want to loop over their cross-product, the simplest approach
is often just a couple of nested for loops:
for x in a:
for y in b:
print x, y
This snippet's output is six lines:
a1 b1
a1 b2
a2 b1
a2 b2
a3 b1
a3 b2
However, in many cases, you'd rather get all items
in the "cross-product" of multiple
iterables as a single, linear sequence, suitable for using in a
single for or for passing onwards to other
sequence manipulation functions, such as those supplied by
itertools. For such needs, you may put the nested
fors in a list comprehension:
for x, y in [(x,y) for x in a for y in b]:
print x, y
Discussion
A list comprehension lets you easily generate (as a single, linear
sequence) all the pairings of several iterables (also known as the
cross-product, product
set, or Cartesian product of these
iterables). However, the number of items in such a cross-product is
the arithmetic product (multiplication) of the lengths of all the
iterables involved, a number that may easily get quite large. A list
comprehension, by definition, builds the entire list at once, which
means that it may consume substantial amounts of memory. Also, you
get to start iterating only when the whole cross-product list is
entirely built.
Python 2.4 offers one obvious way to solve this problem: the newly
introduced construct of generator expressions:
for x, y in ((x,y) for x in a for y in b): print x, y
A generator expression looks just like a list comprehension, except
that it uses parentheses rather than brackets: it returns an
iterator, suitable for looping on, rather than building and returning
a list. Thus, a generator expression can save substantial amounts of
memory, if you are iterating over a very long sequence. Also, you
start executing the loop's body very soon, since
each successive element gets generated iteratively, before each
iteration of the loop's body. If your
loop's body contains conditional
breaks, so that execution terminates as soon as
some conditions are met, using a generator expression rather than a
list comprehension can mean a potentially substantial improvement in
performance.
If you need to support Python 2.3, and yet you want to achieve the
kind of advantages that generator expressions can afford over list
comprehensions, the best approach may be to code your own generator.
This is quite simple if you only need to deal with a known number of
sequences, such as two:
def cross_two(a, b):
for x in a:
for y in b:
yield a, b
Dealing with an arbitrary number of sequences is a bit more
complicated, but not terribly so, particularly if we use recursion to
help:
def cross_loop(*sequences):
if sequences:
for x in sequences[0]:
for y in cross_loop(sequences[1:]):
yield (x,) + y
else:
yield ( )
We can also do it without recursion. It's not hard
if we're willing to build the entire result list in
memory at once before returning it, just as a list comprehension
would:
def cross_list(*sequences):
result = [[ ]]
for seq in sequences:
result = [sublist+[item] for sublist in result for item in seq]
return result
Alternatively, you can return map(tuple, result)
if you need to ensure that each item of the sequence you return is a
tuple, not a list.
Recursion-free iterative (incremental) generation of the
"cross-product" sequence is also
feasible, even though it's nowhere as simple as
either the recursive or the nonincremental versions:
def cross(*sequences):
# visualize an odometer, with "wheels" displaying "digits"...:
wheels = map(iter, sequences)
digits = [it.next( ) for it in wheels]
while True:
yield tuple(digits)
for i in range(len(digits)-1, -1, -1):
try:
digits[i] = wheels[i].next( )
break
except StopIteration:
wheels[i] = iter(sequences[i])
digits[i] = wheels[i].next( )
else:
break
In Python 2.4, you might express the for statement
more clearly as for i in
reversed(range(len(digits))).
To repeat, it is important to remember that all of these solutions
should be considered only if you do have the
problemthat is, if and only if you do need to view all items
in the "cross-product" of multiple
iterables as a single, linear sequence. Many cases have no such
requirement, and simply coding multiple nested for
loops inline is quite acceptable, simpler, and more readable. In many
cases, getting all items in the
"cross-product" as a single
sequence is preferable, so it's worth knowing how to
do that. However, do keep in mind that simplicity is an important
virtue, and do not lose sight of it in pursuit of a cool (but
complicated) solution. All the cool tools, constructs, and library
modules that Python offers exist strictly to serve
you, to let you build and maintain your
applications with minimal effort. Don't go out of
your way to use the new shiny tools if you can solve your
application's problems with less effort in simpler
ways!
See Also
The Library Reference and Python in
a Nutshell docs about built-ins iter,
enumerate, map, and (Python 2.4
only) reversed; the Language
Reference and Python in a Nutshell
docs about list comprehensions and (Python 2.4 only) generator
expressions.
|


In 2154 earth was attacked by aliens coming from a dark dimension.
The war last 50 year and ended with the victory of umanity.
But during the conflict the aliens settled in earthly outposts.
So government created a special military division with the task of purify these places from the remaining enemies.
They were called Aliens Hunter.
Select Level:


You need at least Java 1.2.2 to install the framework.
The Knopflerfish OSGi framework should be installed by simply running the distribution jar file, either by double-clicking on the distribution file, or by the command:> java -jar knopflerfish_osgi_<version>.jarThis will open an installation wizard for selection installation directory. Follow the on-screen instructions.
If you don't need the wizard, installation can also be done in batch mode, by entering the command:
> java -jar knopflerfish_osgi_<version>.jar -batch...or by simply unpacking the jar file manually. (WinZip is also capable of unpacking .jar files)
The framework can then be started either by double-clicking on the framework.jar executable jar file in the knopflerfish.org/osgi directory, or by entering the commands
> cd knopflerfish.org/osgi > java -jar framework.jar
> cd knopflerfish.org/osgi > java -jar framework.jar


girls fashion show help - Extensions
American Girl Fashion Show - HackensackUMC Foundation You Can Help. Donate Now . The new dates for the American Girl Fashion Shows are January 18, 19 and 20. See below for details. . (includes light refreshments and an American Girl Fashion Show goody bag for each child). To purchase . http://www.hackensackumcfoundation.org/site/PageServer?pagename=AGFS2011
You can develop your own extensions
using the catholic church middle ages.
Syntax-Highlighting Addons
Special Olympics New Jersey - American Girl Fashion Show A fun-filled event for young girls, their families and friends and their favorite dolls! Peek into the past to see American Girl historical clothing, and then see what's . http://www.sonj.org/special-olympics-events/fundraising/american-girl-fashion-show/
American Girl |Fashion Show The American Girl Fashion Show is an innovative way to raise funds for children's . To help host organizations succeed, American Girl provides each one with a . http://www.americangirl.com/corp/corporate.php?section=fashion&id=2 in one installer (526 kb).
A simple JavaScript Formatter (47kb)American Girl Fashion Show raises money for children's cancer ... Feb 26, 2013 . Oh, and did we mention that for the 13th straight year Michelle is helping out with the American Girl Fashion Show, an annual University . http://www.cleveland.com/style/index.ssf/2013/02/american_girl_fashion_show_rai.html
American Girl Fashion Show - University of Maryland Medical Center Mar 26, 2013 . The American Girl Fashion Show Benefiting Cool Kids Campaign and UM Children's Hospital. http://www.umm.edu/pediatrics/american-girl/ CertMaker for iOS and Android
Fashion Show Help | cphan3's fantage guide Girls. (Fantage might have taken some of these items out of the shops.) I used clothes/pets that everyone can buy/ get from Orion's Rare Finds, so I hope this . http://cphan3sfantageguide.wordpress.com/fashion-show-help-for-girls/
Windows 8 AppContainer Loopback Utility
Sign up to Volunteer - American Girl Fashion Show Become a Volunteer. We need volunteers for the 2013 American Girl Fashion Show! If you are interested in helping with the American Girl Fashion Show please . http://www.mckinney-marketing.com/volunteers.html Download
Now (60kb) or
rhyms nothin better to do
Traffic Differ
American Girl Fashion Show, Central Indiana - Columbus, IN - Non ... We are receiving a customer list of over 16,000 names of American Girl fans from central Indiana to invite to our upcoming Fashion Show. Help me reach out to . http://www.facebook.com/pages/American-Girl-Fashion-Show-Central-Indiana/194738590557435?sk=notes Download now (47kb).
SAZ Clipboard
American Girl Fashion Show - Junior League of Minneapolis The Junior League of Minneapolis proudly presents the 12th annual American Girl Fashion Show®. The American Girl Fashion Show is a fun-filled event for girls . http://www.jlminneapolis.org/?nd=americangirlfashionshow
Gallery
The Gallery extension (50kb) American Girl Fashion Show - Kosair Children's Hospital Ways to Help . The American Girl Fashion Shows® for Kosair Children's Hospital is a fun, engaging program that will showcase historical and . Tickets for the 2012 American Girl Fashion Show are now sold out, but please join us next year! http://www.kosairchildrens.com/american-girl-fashion-show
American Girl Fashion Show Arizona | Hosted by Ahwatukee ... The American Girl Fashion Show AZ November 3rd, 2012. SHOW . music and decorations help create a memorable experience for girls and their families. http://americangirlfashionshowaz.com/
AnyWHERE (sample)
The AnyWHERE extension (40kb) American Girl Fashion Show The American Girl Fashion Show is a fun-filled event for girls and their . to help out at registration, wadrobe assistants and in our American Girl Marketplace. http://americangirlfashionshow.bpt.me/
RulesTab (sample)
American Girl Fashion Show on the Northside: Junior League of ... Mar 9, 2013 . Proceeds from the American Girl Fashion Show support Junior League . Also in the Daily Planet: "Backpack Buddies helps more kids look . http://www.tcdailyplanet.net/arts/2013/03/09/american-girl-fashion-show-northside-junior-league-minneapolis-rolls-out-red-carpet-
Privacy Scanner
The Privacy Scanner
(41kb) American Girl Fashion Show Tickets | Event Dates & Schedule ... Buy American Girl Fashion Show tickets from the official Ticketmaster.com site. Find American Girl Fashion Show schedule, reviews and photos. . WE'RE HERE TO HELP. Your Account · Print Tickets · Refund Policy · Shipping Options · Help . http://www.ticketmaster.com/American-Girl-Fashion-Show-tickets/artist/1533096
Content-Blocking (sample)
The Content Blocker
sample (11kb) Girls have fun at the Junior League's American Girl Fashion Show ... 3 days ago . Girls have fun at the Junior League's American Girl Fashion Show . Dr. Paula Durlofsky wants to be there if you need help or have any . http://www.mainlinemedianews.com/articles/2013/03/31/people/doc5155ac226a890927493259.txt
Image-Flipper (sample)
The Image
Flipper sample (6kb) American Girl Fashion Show - East Cobber Roswell Dance Theatre American Girl Fashion Show at the DoubleTree Hotel . and decorations help create a memorable experience for girls and their families. http://www.eastcobber.com/event/american-girl-fashion-show
3rd-Party Extensions
Junior League's American Girl Fashion Show Encourages Fun ... Mar 12, 2013 . The American Girl Fashion Show is a new tradition for the Junior League . And it's good because it's for charity and we get to help people who . http://mainlineparent.com/2013/03/junior-leagues-american-girl-fashion-show-encourages-fun-health/
American Girl Fashion Show | Cincinnati, Ohio The American Girl Fashion Show is sponsored by the Aubrey Rose Foundation, Cincinnati Ohio. . Sponsor · Advertise · Help. Advertising & Sponsorship . http://www.mckinney-marketing.com/
neXpert Performance Report Generator
American Girl Fashion Show Helped Raise Money For Sick Kids ... Mar 24, 2013 . The American Girl Fashion Show was back in Baltimore this . by their favorite American Girl character, each raising money to help sick kids. http://foxbaltimore.com/news/features/top-stories/stories/american-girl-fashion-show-helped-raise-money-sick-kids-18584.shtml
StresStimulus
American Girl Fashion Show The American Girl Fashion Show is a fun-filled event for girls and their families, . If I can help in any way, please don't hesitate to set a time to meet or leave your . http://www.institutefordance.org/american-girl-fashion-show-2012/
Watcher - Passive Security Auditor
American Girl Fashion Show at Cincinnati.Com Educational look at how generations of American Girls have used clothing to express their own unique style and . Calendar > American Girl Fashion Show . http://local.cincinnati.com/calendar/event.asp?ProdID=95093
Aubrey Rose Foundation: Helping Families Care for Children with ... Our mission is to help families caring for children with life-threatening . Our 10th Annual Fashion Show fundraiser will take place April 26th 28th at Music Hall . Tickets and Tables are now on sale for the 2013 American Girl Fashion Show. http://www.aubreyrose.org/
Ammonite - Security Scanner
Cool Kids Campaign | American Girl Fashion Show If you are interested in helping at the event with Guest Registration, Marketplace, . American Girl Fashion Show is licensed from American Girl Programs, Inc. All . http://www.coolkidscampaign.org/events/american-girl-fashion-show/
mens height increasing shoes
x5s - Automated XSS Security Testing AssistantPlay Fashion Show Dress Up for free online ... - Girls Go Games Play Fashion Show Dress Up online on GirlsgoGames.com. Every day new Girls Games online! Fashion Show Dress Up is Safe, Cool to play and Free! http://www.girlsgogames.com/game/fashion-show-dress-up.html
- Detecting where safe encodings were not applied to emitted
user-inputs
- Detecting where Unicode character transformations might bypass
security filters
- Detecting where non-shortest UTF-8 encodings might bypass security
filters
van s skateboard shoes
intruder21
2013 American Girl Fashion Show Mar 9, 2013 . How You Can Help · Meal Program . Ticket Price: $35 per person (includes a meal, American Girl goodie bag for children, program book for adult and door prizes) . Celebrate your Birthday at American Girl Fashion Show . http://www.rmhde.org/index.cfm?fuseaction=content.pageDetails&id=4995&typeID=172
trends in government contracts law
HTML Inspector
American Girl Fashion Show | FOX8.com Feb 28, 2013 . The American Girl Fashion Show is a fun and fashionable event for young girls and their dolls and it helps raise money for children's cancer . http://fox8.com/2013/02/28/american-girl-fashion-show/
The American Girl Fashion Show - Eventbrite Thank you for your interest in The American Girl Fashion Show presented by The Circle of Giving - Scott & White. Unfortunately ticket sales are now closed. http://americangirlfs-sw.eventbrite.com/
WCF Binary-Encoded Message Inspector
junior league of minneapolis presents 12th annual american girl ... Jan 31, 2013 . Girl Fashion Show® March 8, 9 and 10 at the legendary Capri Theater, 2027 West . Caroline must help keep the family business running. http://www.jlminneapolis.org/ama/orig/newsannouncements/JLMRelease_AGFashionShow2013FINAL.pdf
Chad Sowald's Request-To-Code
Event - American Girl® Fashion Show : Akron Children's Hospital 3 days ago . Hosted by The Kids' Crew to benefit Akron Children's Hospital Mahoning Valley, The American Girl® Fashion Show is a fun-filled event for girls . https://www.akronchildrens.org/cms/american_girl_fashion_show/index.html
Eyal's Extensions
- 2000 acf eastern region convention has written two extensions:
Thomas Deml's Export WCAT Script extension
American Girl Fashion Show - Literacy Coalition of Palm Beach ... For help with English, Reading, and GED for adults or to volunteer as an Adult . Celebrate the sparkle and spirit of American Girl style at this fun filled event for . A 2 hour American Girl Fashion Show®; Light Beverages and refreshments at . http://www.literacypbc.org/events/1434/
Per-Response Latency Extension
play Spring Fashion Show for free online,more ... - Games for Girls Spring Fashion Show. : The girl will attend the Spring Fashion Show in Paris. You could please help her choose the best dress and accessories for this show. http://www.hotgamesforgirls.com/spring-fashion-show.html
WPAD Server
American Girl Fashion Shows® . agencies in Cumberland County come together to help children and families . The American Girl Fashion Show® is a fun-filled afternoon for girls and their . http://pinterest.com/faycac/american-girl-fashion-shows/
XML Request InspectorAmerican Girl Fashion Show Sponsors | Child Advocacy Center American Girl Fashion Show Sponsors. Posted on March 15, 2013 by Site Admin · American Girl Fashion Show Sponsors. This entry was posted in CAC News. http://www.childadvocacycenter.com/2013/03/american-girl-fashion-show-sponsors/ XML DataSet InspectorAmerican Girl Fashion Show . an organization of women committed volunteerism, helping women & children, . Exclusive souvenirs will be sold at the American Girl Fashion Show, hosted . http://pinterest.com/jlwjc/american-girl-fashion-show/
©2013 Telerik
|


ITS::WICS::FutureNode - Save a single node during DOM transformation.
use ITS::WICS::FutureNodeManager; use ITS; my $f_manager = ITS::WICS::FutureNodeManager->new(); my $ITS = ITS->new('xml', doc => 'myITSfile.xml'); my ($ns) = $ITS->get_root->get_xpath('namespace::*'); my $f_ns = create_future($ns); # change the document around, but don't delete any elements... $f_ns->new_node;
This class saves nodes during DOM transformation so that they will still be in the document later. If you create a FutureNode for an attribute node, for example, it will remember its spot and create an element representing that attribute after you call the new_node
method. This means that you can delete the original attribute without losing information. The document is not changed at all until you call new_node
, so no XPath selectors are broken before then.
This is only guaranteed to work if document elements are not deleted after this object's creation. This is because some FutureNodes remember their location by their original parent, and deleting these will cause dereference errors.
The following function may optionally be exported to the caller's namespace:
new_future
This is a convenience function for constructing an instance of this class (saves some typing, since the class has such a long name). The required arguments are the same as for new
.
new
Create a new FutureNode. The arguments are the FutureNodeManager which will manage this instance, the node to be represented, and the ITS::DOM instance containing it.
replace_el
If this FutureNode represents an element, this method trades out the element represented by this instance. Otherwise it croaks.
creates_element
True if the new_node method of this instance will cause the creation of a new element in the DOM, false otherwise.
type
Returns the type of node being represented (one of the strings returned by ITS::DOM::Node::type
).
new_node
Ensures that the information in the contained node is represented in the HTML DOM. This may cause changes to the owning DOM (see creates_element
). Calling this method multiple times, however, only changes the DOM once and always returns the same node.
Returns an ITS::DOM::Node object corresponding to the original Node (which might or might not be the same Node object).
name
Returns the name of the original node that this FutureNode represents. This is provided for sorting purposes.
new_path
Returns an XPath uniquely identifying the new node returned by new_node
.
Nathan Glenn<EMAIL_ADDRESS>This software is Copyright (c) 2013 by DFKI.
This is free software, licensed under:
The MIT (X11) License


I love coding, new technologies & chocolates. I'm mostly interested in Full Stack Web Development. I love to work with Java Spring, Laravel , Angular & Vue.


| Path: | README |
| Last Update: | Fri Nov 12 13:47:22 CET 2004 |
Ported by Christian Neukirchen<EMAIL_ADDRESS>Copyright (C) 2004 Christian Neukirchen
Incooporates ideas, comments and documentation by Chad Miller
Copyright (C) 2004 Chad Miller
Original SmartyPants by John Gruber
Copyright (C) 2003 John Gruber
RubyPants is a Ruby port of the smart-quotes library SmartyPants.
The original "SmartyPants" is a free web publishing plug-in for Movable Type, Blosxom, and BBEdit that easily translates plain ASCII punctuation characters into "smart" typographic punctuation HTML entities.
See rubypants.rb for more information.
RubyPants uses a different API than SmartyPants; it is compatible to Red- and BlueCloth. Usually, you call RubyPants like this:
nicehtml = RubyPants.new(uglyhtml, options).to_html
where options is an Array of Integers and/or Symbols (if you don’t pass any options, RubyPants will use [2] as default.)
| Note: | This is incompatible to SmartyPants, which uses [1] for default. |
The exact meaning of numbers and symbols is documented at RubyPants#new.
Copyright © 2003 John Gruber (daringfireball.net) All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
Copyright (C) 2004 Christian Neukirchen
RubyPants is a derivative work of SmartyPants and smartypants.py.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
| John Gruber: | daringfireball.net |
| SmartyPants: | daringfireball.net/projects/smartypants |
| Chad Miller: | web.chad.org |
| Christian Neukirchen: | kronavita.de/chris |


HELP
Very little here for the moment...
But you can read a lot of information about the PlantUML language on the website
Diagram types
A few notes on the UI
- New: clears data, prepares for a new document
- Open: pretty obviously really, open a file
- Save: save the file
- SaveAs: opens a dialog to choose file name.


I'm starting to see why you guys like bifs. A - you get awesome beer from a stranger and B - you just get to say stuff like: "target - like this post if you like boobs"
So since i was going through my parent's basement, looking for beer, (4 of target's wants found, lowest was 4.24 based on only 10 or so ratings) I decided I would also look at what was under the stairs, which hasn't been opened for more than 12 years.
So target: like this post if you want some baseball cards from the 80's and 90's in your box from the MLB team located closest to you.
some samples
http://i.imgur.com/QhqvLsM.jpg
http://i.imgur.com/2xGSx8a.jpg
I believe I have some unopened gum packs from back then as well and some, i think, '88 topps multipacks that are also unopened.
hint: there is a MLB baseball team located within 150 miles of you.
Last edited: Mar 29, 2016


Hash APIs.
Functions | |
| bool | qhashmd5 (const void *data, size_t nbytes, void *retbuf) |
| Calculate 128-bit(16-bytes) MD5 hash. | |
| bool | qhashmd5_file (const char *filepath, off_t offset, ssize_t nbytes, void *retbuf) |
| Get 128-bit MD5 hash of a file contents. | |
| uint32_t | qhashfnv1_32 (const void *data, size_t nbytes) |
| Get 32-bit FNV1 hash. | |
| uint64_t | qhashfnv1_64 (const void *data, size_t nbytes) |
| Get 64-bit FNV1 hash integer. | |
| uint32_t | qhashmurmur3_32 (const void *data, size_t nbytes) |
| Get 32-bit Murmur3 hash. | |
| bool | qhashmurmur3_128 (const void *data, size_t nbytes, void *retbuf) |
| Get 128-bit Murmur3 hash. |
| bool qhashmd5 | ( | const void * | data, | |
| size_t | nbytes, | |||
| void * | retbuf | |||
| ) |
Calculate 128-bit(16-bytes) MD5 hash.
| data | source object | |
| nbytes | size of data | |
| retbuf | user buffer. It must be at leat 16-bytes long. |
// get MD5 unsigned char md5hash[16]; qhashmd5((void*)"hello", 5, md5hash); // hex encode char *md5ascii = qhex_encode(md5hash, 16); printf("Hex encoded MD5: %s\n", md5ascii); free(md5ascii);
| bool qhashmd5_file | ( | const char * | filepath, | |
| off_t | offset, | |||
| ssize_t | nbytes, | |||
| void * | retbuf | |||
| ) |
Get 128-bit MD5 hash of a file contents.
| filepath | file path | |
| offset | start offset. Set to 0 to digest from beginning of file. | |
| nbytes | number of bytes to digest. Set to 0 to digest until end of file. | |
| retbuf | user buffer. It must be at leat 16-bytes long. |
unsigned char md5hash[16]; qhashmd5_file("/tmp/test.dat", 0, 0, md5hash);
| uint32_t qhashfnv1_32 | ( | const void * | data, | |
| size_t | nbytes | |||
| ) |
Get 32-bit FNV1 hash.
| data | source data | |
| nbytes | size of data |
uint32_t hashval = qhashfnv1_32((void*)"hello", 5);
Fowler/Noll/Vo hash The basis of this hash algorithm was taken from an idea sent as reviewer comments to the IEEE POSIX P1003.2 committee by: Phong Vo (http://www.research.att.com/info/kpv/) Glenn Fowler (http://www.research.att.com/~gsf/) In a subsequent ballot round: Landon Curt Noll (http://www.isthe.com/chongo/) improved on their algorithm. Some people tried this hash and found that it worked rather well. In an EMail message to Landon, they named it the ``Fowler/Noll/Vo'' or FNV hash. FNV hashes are designed to be fast while maintaining a low collision rate. The FNV speed allows one to quickly hash lots of data while maintaining a reasonable collision rate. See: http://www.isthe.com/chongo/tech/comp/fnv/index.html for more details as well as other forms of the FNV hash.
| uint64_t qhashfnv1_64 | ( | const void * | data, | |
| size_t | nbytes | |||
| ) |
Get 64-bit FNV1 hash integer.
| data | source data | |
| nbytes | size of data |
uint64_t fnv64 = qhashfnv1_64((void*)"hello", 5);
| uint32_t qhashmurmur3_32 | ( | const void * | data, | |
| size_t | nbytes | |||
| ) |
Get 32-bit Murmur3 hash.
| data | source data | |
| nbytes | size of data |
uint32_t hashval = qhashmurmur3_32((void*)"hello", 5);
MurmurHash3 was created by Austin Appleby in 2008. The cannonical implementations are in C++ and placed in the public. https://sites.google.com/site/murmurhash/ Seungyoung Kim has ported it's cannonical implementation to C language in 2012 and published it as a part of qLibc component.
| bool qhashmurmur3_128 | ( | const void * | data, | |
| size_t | nbytes, | |||
| void * | retbuf | |||
| ) |
Get 128-bit Murmur3 hash.
| data | source data | |
| nbytes | size of data | |
| retbuf | user buffer. It must be at leat 16-bytes long. |
// get 128-bit Murmur3 hash. unsigned char hash[16]; qhashmurmur3_128((void*)"hello", 5, hash); // hex encode char *ascii = qhex_encode(hash, 16); printf("Hex encoded Murmur3: %s\n", ascii); free(ascii);


--- layout: page title: NSS Projects subtitle: Projects permalink: /projects/ --- Click the image above to read more about this project.
Click the image above to read more about this project.


Kid Safe Search
Home
History
empire
war
worldwar
stone age
iron age
bronze age
celtic
ancient
fort
mayan
colonical
civilization
gandhi
nehru
nazi
pyramid
horus
anubis
sphinx
egyptian
cleopatra
isis
papyrus
ra
tutankhamun
mummi
castle
knight
king
colonialism
capitalism
neocolonialism
christopher columbus
roman empire
british empire
east india company
mugal
kushan
maurya
ashoka
pataliputra
footage
speech
harappa
mohendjodaro


I am a staff software engineer at Riot Games. I lead the AI Infrastructure and reinforcement learning for gaming frameworks to provide players a better gaming experience with virtual players.
I write code. I build architectures. I shoot recurve bows, playing badminton and bowling. I play Dota 2, and TFT too.


Salmon Cookies
INDEX
Enter some information
Enter cookie stand location
Enter minimum customers per day.
Enter maximum customers per day.
Enter average sales per day.
Send


I am a young entrepreneur looking for opportunities to utilize the skills and assets I’ve attained from college. I’m also a philanthropist who believes that kindness is the greatest quality of being human. I’m a get right into work type of guy who has involved himself and managed various projects. I love to cook and eat delicious food. I love to build relations with people and listen to their life stories and their ideals. I'm still searching for what I really want to do but the statement that I'll always stand by is: "Kindness is the language I speak".


--- layout: base.njk tags: 'components' title: Sample Apps name: Cart Button description: Default button style for shop global # Default date 2018-01-01 required for name sorting date: 0000-00-00 stylesheet: './button.css' --- {% import "macros/collections.njk" as collection %}


« Previous Demo:
Draggable Image Boxes Grid
Images by Andrey & Lili
CC BY-NC 3.0
Back to the Codrops Article
Circle Navigation Effect
Bubble-like thumbnail preview for your navigation with CSS3
Hover over the arrows to see the effect.


You have a new notification
{{ author }} has published a new article Titled - {{ title }}
Login to your account to view the Article.
Click on the link to login
Login To Authors Haven


To Bid on the current item, please hit the numbers from num pad.
999 0
1000 1
2000 2
3000 3
4000 4
5000 5


Shopping Cart
The online shopping store
Home
News
Contact
About us
Registration Form
First Name
Last Name
Gender
Male
Female
Mobile Number
E-mail Address
Address
Choose your DOB
Choose a date
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
:
Choose a Month
01
02
03
04
05
06
07
08
09
10
11
12
:
Choose a Year
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
Password
Re-enter Password
Accept privacy policy and terms.
Footer


It works fast, I'm not sure if it's: the fastest State Management Library alive but ...
Seems fast enough to me.
Bundle size: 12.47 KB
Gzipped size:
3.23 KB
Not bad, uh?
Built with types in mind you will be able to
type your store to create a rock-solid model with type-safe checks.
Yes, that's true.
It's opinionated. Deal with it.
Obvious.
My mom says it is, so it must be true.


|
Mackey
V3.1
A C++ library for computing RO(G) graded homology
|
#include <Morse.hpp>
Public Member Functions | |
| const auto & | original_to_reduced () const |
| Returns vector of "change of basis" matrices from the original to the reduced basis. More... | |
| const auto & | reduced_to_original () const |
| Returns vector of "change of basis" matrices from the reduced to the original basis. More... | |
| double | reduction_ratio () const |
| Returns the average compression ratio as a double in [0,1]. Ideally as close to 0 as possible. More... | |
| AMT (std::vector< diff_t > &A, bool compute_original_to_reduced, bool compute_reduced_to_original) | |
| Constructor that reduces. More... | |
Protected Types | |
| typedef diff_t::StorageIndex | ind |
| The storage type of the differential matrices (eg size_t) More... | |
| typedef diff_t::Scalar | scalar_t |
| The scalar type of the differential matrices (eg int or Z2) More... | |
| typedef Eigen::SparseMatrix< scalar_t, 1, ind > | row_major_t |
| The type of row major of the differential matrices (eg size_t) More... | |
Protected Member Functions | |
| AMT (std::vector< diff_t > &A, bool compute_original_to_reduced, bool compute_reduced_to_original, bool onlyresize) | |
| Constructor that allows only to resize. More... | |
| void | reduce () |
| Performs the reduction and sets the "change of basis" f,g. More... | |
| void | find_Morse_matching (int k, bool normalize) |
| Sets the morse matchiing and normalizes diff if normalize=1 (this speeds up the AMT algorithm) More... | |
| void | normalize (int k) |
| Normalize diff if not done in find_Morse_matching. More... | |
| void | erase_matchings (int k, const std::vector< std::pair< ind, ind >> &toremove) |
| Erase the given morse matchings (eg if they are not equivariant). More... | |
Protected Attributes | |
| std::vector< diff_t > & | diff |
| The reduced differential. More... | |
| std::vector< std::map< ind, ind > > | morse |
| The morse matching. More... | |
| std::vector< std::vector< ind > > | critical |
| The critical basis elements. More... | |
Reduces given chain complex to a homotopy equivalent one but ideally smaller, using Algebraic Morse Theory
The constructor performs the computation and modifies the chain complex in place to avoid copies. If you need the original chain complex please store it before passing it here.
|
protected |
The storage type of the differential matrices (eg size_t)
|
protected |
The scalar type of the differential matrices (eg int or Z2)
|
protected |
The type of row major of the differential matrices (eg size_t)
| AMT | ( | std::vector< diff_t > & | A, |
| bool | compute_original_to_reduced, | ||
| bool | compute_reduced_to_original | ||
| ) |
Constructor that reduces.
|
protected |
Constructor that allows only to resize.
| const auto& original_to_reduced | ( | ) | const |
Returns vector of "change of basis" matrices from the original to the reduced basis.
| const auto& reduced_to_original | ( | ) | const |
Returns vector of "change of basis" matrices from the reduced to the original basis.
| double reduction_ratio | ( | ) | const |
Returns the average compression ratio as a double in [0,1]. Ideally as close to 0 as possible.
|
protected |
Performs the reduction and sets the "change of basis" f,g.
|
protected |
Sets the morse matchiing and normalizes diff if normalize=1 (this speeds up the AMT algorithm)
|
protected |
Normalize diff if not done in find_Morse_matching.
Erase the given morse matchings (eg if they are not equivariant).
|
protected |
The reduced differential.
|
protected |
The critical basis elements.