--- title: AutoTimeSeries keywords: fastai sidebar: home_sidebar summary: "Core implementation of Nixtla SDK, `autotimeseries`." description: "Core implementation of Nixtla SDK, `autotimeseries`." nb_path: "nbs/core.ipynb" ---
autotimeseries = AutoTS(bucket_name=os.environ['BUCKET_NAME'],
api_id=os.environ['API_ID'],
api_key=os.environ['API_KEY'],
aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'])
filename_target = autotimeseries.upload_to_s3('../data/target.parquet')
filename_static = autotimeseries.upload_to_s3('../data/static.parquet')
filename_temporal = autotimeseries.upload_to_s3('../data/temporal.parquet')
print(filename_target, filename_static, filename_temporal, sep='\n')
Each time series of the uploaded datasets is defined by the column item_id
. Meanwhile the time column is defined by timestamp
and the target column by demand
. We need to pass this arguments to each call.
columns = dict(unique_id_column='item_id',
ds_column='timestamp',
y_column='demand')
response_calendar = autotimeseries.calendartsfeatures(filename=filename_temporal,
country='USA',
**columns)
response_calendar
To check the status of your job use the method get_status
:
autotimeseries.get_status(response_calendar['id_job'])
If you want to use the result of your job, you have to wait until its status is Completed
.
response_forecast = autotimeseries.tsforecast(filename_target=filename_target,
freq='D',
horizon=28,
filename_static=filename_static,
filename_temporal='calendar-features.parquet',
objective='tweedie',
metric='rmse',
n_estimators=170,
**columns)
response_forecast
autotimeseries.get_status(response_forecast['id_job'])
autotimeseries.download_from_s3(filename='forecasts.csv', filename_output='../data/forecasts.csv')
response_benchmarks = autotimeseries.tsbenchmarks(filename='forecasts.csv',
dataset='M5')
response_benchmarks
autotimeseries.get_status(response_benchmarks['id_job'])
autotimeseries.download_from_s3(filename='benchmarks.csv', filename_output='../data/benchmarks.csv')


| font_files {sysfonts} | R Documentation |
The two versions of this function are equivalent, but the "underscore" naming is preferred.
This function lists font files in the search path that can be
loaded by font_add()
.
Currently supported formats include TrueType fonts(*.ttf, *.ttc) and OpenType fonts(*.otf).
font_files() font.files()
A data frame containing the following information of the font files:
path |
The directory that the font file is located in. |
file |
File name of the font. |
family |
Family name. |
face |
Font face. |
version |
Version of the font. |
ps_name |
PostScript font name. |
Yixuan Qiu <https://statr.me/>
font_paths()
, font_add()
## Not run: font_files() ## End(Not run)


COM6911 Industrial Team Project
| Summary |
The Industrial Team project provides the opportunity for students to engage in industry inspired research work. It is undertaken in groups. Projects are suggested by industrial problems and supervised by Department of Computer Science staff or industry experts. Students form groups and choose a project which interests them, then refine the scope of the research by conducting a thorough analysis of the topic area and formulating a solution also with the help of their supervisor. The project is developed under strong supervision. The students present their project overview within the first few weeks of the semester and submit a report on the work at the end of semester. |
| Session |
Academic Year 2018/19 |
| Credits |
15 |
| Assessment |
Coursework [100%] |
| Lecturer(s) |
Prof. Thomas Hain |
| Resources |
Unconfirmed practical marks when available |
| Aims |
The aim of the Industrial Team project is to give students at masters level insight into the research process on industrial inspired problems. The objective of the module is for students to learn how to apply scientific research methodology to a small group research project. |
| Objectives |
By the end of this course the students should:
- have a very good understanding of the process of conducting research;
- be able to conduct a complete and concise literature review of the topic area;
- be able to form a research proposal and attempt to solve it based on a thorough understanding of a topic area;
- be able to present a research plan orally;
- understand the process of working within a team
|
| Content |
The content is determined by the research projects. Students have to research the relevant literature, plan the research work, present their plan, implement and experiment, and write reports. |
| Teaching Method |
The course begins with a number of lectures/lab sessions outlining how research projects are conducted and the resources available to students. Soon after the project allocations each group meets frequently with their project supervisor to report on progress so far, and to allow the supervisor to provide feedback on progress. |
| Feedback |
The students will receive immediate feedback during lab sessions and in presentations. Project supervisors will give detailed feedback in supervisory meetings and on submitted reports. |
| Recommended Reading |
Dependent on research projects. |
|


Short Rest Checklist
- Unspent short rest recharge abilities: Timber: Second Wind)
- Airnel's Healer Talent: Heal 1d6+4+level, once per character per short rest, one use of Healer's Kit
- Airnel's Fortifying Treatment Talent: One character can have any Hit Die rolls maximised, one use of Healer's Kit per die.
- Corminar's Song of Rest (heal extra d6 if you are spending hit dice)
- Spend Hit Die: Manually roll, track spent Hit Die on paper or DnDBeyond. Note: Nordan's minimum roll is 4.
- Any healing spells or potions you might want to use.
- Nordan: Natural Recovery
Long Rest Checklist
- Unspent short rest recharge abilities: Timber: Second Wind
- Unspent long rest recharge abilities: Thorin: Lay on Hands, Airnel: Healing Hands, Spellcasters: unspent spell slots
- Airnel's Healer Talent: Heal 1d6+4+level, once per character per short rest, one use of Healer's Kit
- Airnel's Fortifying Treatment Talent: One character can have any Hit Die rolls maximised, one use of Healer's Kit per die.
- Corminar's Song of Rest (heal extra d6 if you are spending hit dice)
- Spend Hit Die: Manually roll, track spent Hit Die on paper or DnDBeyond. Note: Nordan's minimum roll for Hit Die is 4.
- Airnel's Fortifying Treatment Talent: Grant an extra death save for 24h to any number of characters, one use of a Healing Kit per character
- Recover 1/2 your Hit Die, on paper or DnDBeyond.


-
{{ name }}
-
The Discord to E-Mail Bot, powered by Mailgun
-
{{ name }} links your Discord account to E-Mail, opening the usability of Discord to communicate to others unprecedentedly larger than ever before.
-
{{ guilds }} Guilds
{{ users }} Users
{{ outgoing }} sent and {{ incoming }} incoming emails to date
Unique Advantages
Professional Domain
{{ name }} can make your own Discord venture look more professional, with a specific Discord E-Mail address that's sure to impress.
Global
Because {{ name }} is just an ordinary mailbox, you can use your {{ name }} E-Mail address anywhere where you can enter your email. You can even verify your Discord Account with it... But we don't suggest it.
All in one place
{{ name }} sends your E-Mails to your DM inbox, so you can access everything all in one place.
Commands
dmail register
Register for a {{ name }} account.
dmail send<EMAIL_ADDRESS>"subject" [content]
Send an email with the following subject and with the content.
dmail reply Reply-ID [content]
Reply to the email. Requires the message-id, which is found when you recieve an email in {{ name }}.
Create an account today
Invite BotBy registering with DiscordMail, you accept that you have fully read the Terms of Service and Privacy Agreement, and fully agree to the terms.


ABSTRACT
Snizhko L.L., Buzun T.M., Razvodovska V.O. Modeling as a scientific tool for substantiation of management decisions in operational activities of transport enterprises. Visnyk National Transport University. Series «Economic sciences». Scientific and Technical Collection. - Kyiv: National Transport University, 2021. - Issue 2 (49).
On the basis of analysis of existing approaches to the process of decision making, in this article the procedure of taking optimal operational decisions is proposed, which describes in detail all of its aspects and features related to the specifics of the operational activities of transport enterprises. In this procedure the basic steps are those directly related to the modeling: formulation of the problem (formalization of the original problem), construction of the model, its solution, credibility and adequacy check, restoration (or adjustment) of the model.
The object of the research is decision-making process in the operational management of transport enterprises. The purpose of the research is to develop a procedure for the process of making optimal operational decisions based on existing approaches to the decision-making process, using modeling as a scientific tool to substantiate them.
The research method is methods of system analysis and modeling. It has been discovered that the need to reduce the subjectivity of the process of making important decisions in the operational activities of transport enterprises and increase its scientific validity is especially relevant today, in the face of threats and uncertainty about the external environment of the organization. All methods of rational decision-making are based on models, which, in turn, are scientific tools. Modeling creates a serious informational and methodological basis for structural analysis of decisions needed to improve the management process for operational managers and hence - to increase the level of management in general, because it makes them more systematic, and the tools used during this help them be more rational.
The results of the article can be implemented during making complex and important management decisions in the operational activities of both transport enterprises and other business entities of various activities, regardless of the organizational and legal form and ownership.
KEY WORDS: MODELING METHOD, MODELING, MODEL, TRANSPORT ENTERPRISE, OPERATIONAL ACTIVITY, OPERATIONS MANAGER, MANAGEMENT DECISION.
REFERENCES
AUTHOR
Snizhko Larisa L., Candidate of Sciences (Economics), Associate Professor, National Transport University, Associate Professor, Department of Management, e-mail<EMAIL_ADDRESS>tel. +380985201640, Ukraine, 01010, Kyiv, str. M. Omelyanovich-Pavlenko, 1, of. 242, orcid.org/0000-0002- 8623-7185
Buzun ^mila M., Candidate of physical and mathematical Sciences, Associate Professor, National Transport University, Associate Professor, Department of Management, e-mail<EMAIL_ADDRESS>tel. +380664795938, Ukraine, 01010, Kyiv, str. M. Omelyanovich-Pavlenko, 1, of. 241, orcid.org/0000-0003- 4999-0933
Razvodovska Victoria O., National Transport University, Senior Lecturer of the Department of Management, e-mail<EMAIL_ADDRESS>tel. +380503565668, Ukraine, 01010, Kyiv, str. Omelyanovich-Pavlenka, 1, of. 242, orcid.org/ 0000-0003-3164-4346.
REVIEWER
Vyhovska Natalia G., Doctor of Economics, Professor, State University «Zhytomyr Polytechnic», head of the department of finance and credit, Zhytomyr, Ukraine.
Lozhachevska Olena M., Doctor of Economics, Professor, National Transport University, head of the department of management, Kyiv, Ukraine.
Article language: Ukrainian
Open Access:
http://publications.ntu.edu.ua/visnyk/49/162-172.pdf
Print date: 15.03.2021
Online publication date: 05.04.2021


Using webworkers with angular environment, but in an isolated context
{{data.reply1}}
Execute! »
{{data.reply2}}
{{data.reply3}}


1. Load resource with max-age Resource with Cache-Contorl: max-age
2. Resource with Last Modifier Resource with Last Modifier


breeding varieties climate seed change farmers new systems maize varietal developing adaptation years programs yield crop tolerance {border-style genetic improved px;} regions variety #ffffff;} production selection elite rapid wheat critical cropping cultivars rice Africa cycle germplasm need replacement world access companies plant range testing use climate. drought national result selected stress average cultivar different heat highly increased international obsolete parents public used Breeding Rapid commercial dissemination farmers’ needed potential Atlin Change Climate Crop Farmers Food Lobell Sci. deliver environments hybrids key materials px; rapidly regions, release sector temperate time varieties, {font-family Cairns Cooper Corn Nat. Plant South changing countries crops current cycles developed font-size global growing likely lines replace slow systems, target temperature turnover yields Commercial Seed Table age best broad change. competitive develop double; effects ensure fields generation high hybrid old rate reduce season small smallholder tools CGIAR Challinor D.B. G.N. Green However, India J.E. M.A. adaptation. adoption affecting allele border-color border-width conditions continuously cycles, data development disease exchange extreme flowering future gains genes important improvement large off-season populations provide rates response solid; stream sub-Saharan trait using usually variability {font-style {font-weight Africa, Asia Clim. Fig. Galluzi Genetic International J.L. Messina Mexico Revolution Smale Stratonovitch achieved adapt adaptation, adapted based basis benefit bold bred breeders collections conditions. courier; currently degree delivered effective em; expected experiencing face fertility frequency gene genomic increasing information lack landraces like mainly market occur pest program pt;} rapid-cycle reduced reducing resources serve set steady system. temperatures trials turnover. unless varieties. weather world. year


| render {rmarkdown} | R Documentation |
Render the input file to the specified output format using pandoc. If the
input requires knitting then knit
is called prior
to pandoc.
render( input, output_format = NULL, output_file = NULL, output_dir = NULL, output_options = NULL, output_yaml = NULL, intermediates_dir = NULL, knit_root_dir = NULL, runtime = c("auto", "static", "shiny", "shinyrmd", "shiny_prerendered"), clean = TRUE, params = NULL, knit_meta = NULL, envir = parent.frame(), run_pandoc = TRUE, quiet = FALSE, encoding = "UTF-8" )
input |
The input file to be rendered. This can be an R script (.R), an R Markdown document (.Rmd), or a plain markdown document. |
output_format |
The R Markdown output format to convert to. The option
|
output_file |
The name of the output file. If using |
output_dir |
The output directory for the rendered |
output_options |
List of output options that can override the options
specified in metadata (e.g. could be used to force |
output_yaml |
Paths to YAML files specifying output formats and their
configurations. The first existing one is used. If none are found, then
the function searches YAML files specified to the |
intermediates_dir |
Intermediate files directory. If a path is specified
then intermediate files will be written to that path. If |
knit_root_dir |
The working directory in which to knit the document;
uses knitr's |
runtime |
The runtime target for rendering. The |
clean |
Using |
params |
A list of named parameters that override custom params
specified within the YAML front-matter (e.g. specifying a dataset to read or
a date range to confine output to). Pass |
knit_meta |
(This option is reserved for expert use.) Metadata generated by knitr. |
envir |
The environment in which the code chunks are to be evaluated
during knitting (can use |
run_pandoc |
An option for whether to run pandoc to convert Markdown output. |
quiet |
An option to suppress printing of the pandoc command line. |
encoding |
Ignored. The encoding is always assumed to be UTF-8. |
Note that the knitr error
option is set to FALSE
during
rendering (which is different from the knitr default value of
TRUE
).
For additional details on rendering R scripts see Compiling R scripts to a notebook.
If no output_format
parameter is specified then the output format is
read from the YAML front-matter of the input file. For example, the
following YAML would yield a PDF document:
output: pdf_document
Additional format options can also be specified in metadata. For example:
output: pdf_document: toc: true highlight: zenburn
Multiple formats can be specified in metadata. If no output_format
is passed to render
then the first one defined will be used:
output: pdf_document: toc: true highlight: zenburn html_document: toc: true theme: united
Formats specified in metadata can be any one of the built in formats (e.g.
html_document
, pdf_document
) or a format defined
in another package (e.g. pkg::custom_format
).
If there is no format defined in the YAML then
html_document
will be used.
When run_pandoc = TRUE
, the compiled document is written into
the output file, and the path of the output file is returned. When
run_pandoc = FALSE
, the path of the Markdown output file, with
attributes knit_meta
(the knitr meta data collected from code
chunks) and intermediates
(the intermediate files/directories
generated by render()
).
R Markdown supports all of the base pandoc markdown features as well as some
optional features for compatibility with GitHub Flavored Markdown (which
previous versions of R Markdown were based on). See
rmarkdown_format
for details.
knit, output_format, https://pandoc.org
## Not run: library(rmarkdown) # Render the default (first) format defined in the file render("input.Rmd") # Render all formats defined in the file render("input.Rmd", "all") # Render a single format, using parameters for \code{html_document} from # the YAML header parameters. render("input.Rmd", "html_document") # Render a single format, ignoring parameters for \code{html_document} in # the YAML header. Any parameters not passed as arguments to # \code{html_document()} will be assigned to their default values, regardless # of anything in the YAML header render("input.Rmd", html_document(toc = TRUE, toc_depth = 2)) # Render multiple formats render("input.Rmd", c("html_document", "pdf_document")) ## End(Not run)


DELETE
×
Delete user(s)?
*
This action is not reversable, write this word to confirm the deletion : DELETE
The table
Select all
Action
Delete
Action
-
Name
Phone number
Select the number of rows per page
2
5
10


This file is meant to demonstrate an expandable shortest path visualization for a randomly selected file node 4c7d08f1d6fac569c83fa87b42a3a727668da55317954637ce500d59e058fe03 to broker node <IP_ADDRESS> (see analysis). Different symbols are used to distinguish node types. The size is proportional to a node's betweenness value. Expand shortest path by neighbor degree:


| I l@ve RuBoard |
Pipes are a concept available in most modern operating systems. Typically, these are a block of shared memory set up much like a file. Typically, one process writes information to a pipe, and another process reads it. They are often used as a form of interprocess communication or as a simple queue implementation. Windows has two flavors of pipes: anonymous pipes and named pipes. Python supports both via the win32pipe module.
Anonymous pipes are simple and lightweight pipes, designed to use between the process that creates it and its child processes. Since they are unnamed, the only way to use anonymous pipes is to communicate its handle; there's no name for the pipe that processes use to obtain access to the pipe. This typically makes anonymous pipes unsuitable for interprocess communication between unrelated processes (for example, between a client and a server process).
Anonymous pipes are simple to create and use. The function win32pipe.CreatePipe() creates an anonymous pipe and returns two handles: one for reading from the pipe, and one for writing to the pipe. The win32pipe.Create-Pipe() function takes the following parameters:
The security attributes for the pipe or None for the default.
The buffer size or zero for the default.
It then returns a tuple of (readHandle, writeHandle).
A demonstration of anonymous pipes is quite simple. Let's create an anonymous pipe (obtaining the two handles), then write some data to the pipe, and read the same data back:
>>> import win32pipe >>> # Create the pipe >>> readHandle, writeHandle = win32pipe.CreatePipe(None, 0) >>> import win32file # This module contains the ReadFile/WriteFile functions. >>> # Write a string to the pipe >>> win32file.WriteFile(writeHandle, "Hi from the pipe") (0, 16) >>> # Now read data from it >>> win32file.ReadFile(readHandle, 16) (0, 'Hi from the pipe') >>>
Named pipes are similar to anonymous pipes, except they have a unique name. Typically, a server process creates a named pipe with a known name, and other client processes connect to this pipe simply by specifying the name. The key benefit of named pipes is that unrelated processes can use them, even from over the network. All a process needs is the name of the pipe, possibly the name of the host server, and sufficient security to open it. This makes named pipes suitable for simple communication between a server and many clients.
Named pipes can be created only by Windows NT. Windows 95/98 can create a client connection to an existing named pipe, but can't create a new named pipe.
Creating and using named pipes is a complex subject and beyond the scope of this book. However, an example using named pipes can be found in Chapter 18. The win32pipe module supports all pipe operations supported by Windows. For further information on named pipes, please see the Windows SDK documentation or one of the pipe samples that comes with the Python for Windows Extensions.
| I l@ve RuBoard |


My name is Jasmine Franklin, I am a developer looking to enter the financial technology sector. My background is in biological research and business. I possess a B.S in animal science and recently earned a certificate in coding from UC Berkeley Extension, with recently developed skills in Javascript, HTML, CSS, Python, and Node.js. I have worked on several research projects within the USDA, one of which resulted in a publication. I also possess experience in finance, economics, and HR. I have always had a passion for business & finances and have been good with technology. Some facts about me, I am a problem solver, great communicator, collaborative, and hardworking. My hobbies include painting, ceramics, and anime.


Uses of Class
com.jme.opencl.Image
-
Packages that use Image Package Description com.jme.opencl -
-
Uses of Image in com.jme.opencl
Methods in com.jme.opencl that return Image Modifier and Type Method Description abstract Image
Context. bindImage(Image image, Texture.Type textureType, int miplevel, MemoryAccess access)
Creates a shared image object from a jME3-image.Image
Context. bindImage(Texture texture, int miplevel, MemoryAccess access)
Creates a shared image object from a jME3 texture.Image
Context. bindImage(Texture texture, MemoryAccess access)
Alternative version toContext.bindImage(com.jme.texture.Texture, int, com.jme.opencl.MemoryAccess)
, usesmiplevel=0
.protected abstract Image
Context. bindPureRenderBuffer(FrameBuffer.RenderBuffer buffer, MemoryAccess access)
Image
Context. bindRenderBuffer(FrameBuffer.RenderBuffer buffer, MemoryAccess access)
Creates a shared image object from a jME3 render buffer.abstract Image
Context. createImage(MemoryAccess access, Image.ImageFormat format, Image.ImageDescriptor descr)
Creates a new 1D, 2D, 3D image.
ImageFormat
specifies the element type and order, like RGBA of floats.
ImageDescriptor
specifies the dimension of the image.
Furthermore, a ByteBuffer can be specified in the ImageDescriptor together with row and slice pitches.Image
Image. register()
Methods in com.jme.opencl with parameters of type Image Modifier and Type Method Description abstract void
Image. copyTo(CommandQueue queue, Image dest, long[] srcOrigin, long[] destOrigin, long[] region)
Performs a blocking copy operation from one image to another.abstract Event
Image. copyToAsync(CommandQueue queue, Image dest, long[] srcOrigin, long[] destOrigin, long[] region)
Performs an async/non-blocking copy operation from one image to another.abstract Event
Buffer. copyToImageAsync(CommandQueue queue, Image dest, long srcOffset, long[] destOrigin, long[] destRegion)
Copies this buffer to the specified image.abstract void
Kernel. setArg(int index, Image i)
-


Tools for simulating mathematical models of infectious disease dynamics.
Epidemic model classes include deterministic compartmental models, stochastic
individual-contact models, and stochastic network models. Network models use the
robust statistical methods of exponential-family random graph models (ERGMs)
from the Statnet suite of software packages in R. Standard templates for epidemic
modeling include SI, SIR, and SIS disease types. EpiModel features
an API for extending these templates to address novel scientific research aims.
| Version: |
1.7.0 |
| Depends: |
R (≥ 3.2), deSolve (≥ 1.21), networkDynamic (≥ 0.9), tergm (≥ 3.5) |
| Imports: |
graphics, grDevices, stats, utils, doParallel, ergm (≥ 3.9), foreach, network (≥ 1.13), RColorBrewer, ape, lazyeval, ggplot2 |
| Suggests: |
knitr, ndtv, rmarkdown, shiny, testthat |
| Published: |
2018-11-21 |
| Author: |
Samuel Jenness [cre, aut],
Steven M. Goodreau [aut],
Martina Morris [aut],
Emily Beylerian [ctb],
Skye Bender-deMoll [ctb],
Kevin Weiss [ctb] |
| Maintainer: |
Samuel Jenness <samuel.m.jenness at emory.edu> |
| BugReports: |
https://github.com/statnet/EpiModel/issues |
| License: |
GPL-3 |
| URL: |
http://epimodel.org/, http://github.com/statnet/EpiModel |
| NeedsCompilation: |
no |
| Citation: |
EpiModel citation info |
| Materials: |
NEWS |
| CRAN checks: |
EpiModel results |


SegmentPy¶
LEFT NAV¶
- Installation
Linux MacOS Windows (in test)
- Quick Tutorial
Train neural network models Rapid prediction with MPI Track activations of each layer Get(Live)/save/compare learning curves in Dashboard
- Plug-ins:
Compare raw tomograms and segmentation in VolViewer Retrieve IoU/accuracy/aolume aractions… in MetricViewer Visualize local minimum with Loss-Landscape extractor (upcoming)
- For Developpers
Organigram Where to put your customized model Where to put your customized augmentation
- Credits & Contributors
License References Github


Phase-Based Video Motion Processing
Fork me on GitHub.
Many phenomena in real-life occurs at minuscule scales that are not perceptible with bare eyes, for instance, the swinging of skyscrapers due to winds, the pulsing change in skin color due to blood flow, or the wiggling of another person's eyes. The goal of video motion processing is to magnify such barely noticeable motions that are present in recorded videos. In this project, we reproduced the phased-based video motion processing algorithm proposed in the SIGGRAPH 2013 "Phase based video motion processing" paper (Wadhwa et al. 2013).
Results
The following are two results produced with our implementation (not all functionalities introduced in Wadhwa et al. 2013 are implemented).
The processing was done in CIELAB color space on each channel separately. Each frame of the input video was decomposed into a complex steerable half-octave pyramid with 3 levels and 8 orientations. Motions at a specific frequency range are isolated with a band-pass FIR window temporal filter. It took approximately 10 minutes to generate each video using an Intel i9-9900K with 32GB memory.
Complex Steerable Pyramid
The following is a sample result of complex pyramid decomposition from our implementation.
Summary
The motivation for phase-based video motion processing comes from the Fourier shift theorem. Therefore, understanding the motion processing method used in this paper requires knowledge of Fourier analysis (cf. Wadhwa et al. 2013, Sec. 3).
We first represent an image with the Fourier synthesis formula. Let \(f\in\mathbb{R}^{[0,1]}\) denote a 1D image of unit length, where its values can be interpreted as luminance, then it can be written as a trigonometric polynomial using the definition of Fourier series, i.e.
\[f(x) = \sum_{k=-\infty}^\infty c_k \exp\left(i2\pi kx\right), \]
where \(c_k\) is some complex number.
Motion and Phase
The Fourier shift theorem states that
\[f(x+\delta(t)) = \sum_{k=-\infty}^\infty c_k \exp\left(i2\pi k(x+\delta(t))\right),\]
meaning that if the image is translated by \(\delta(t)\) over time, then it will appear as a phase shift on the trigonometric polynomial. If we take the phase component of \(f(x+\delta(t))\), and use a temporal filter with zero DC response to filter out the changing phase that corresponds to the translation, i.e. to extract
\[\Delta\phi(t)=2\pi k \delta(t),\]
then we can directly magnify or attenuate this translation by increasing or decreasing the change in phase via multiplication, i.e.
\[f'(x+\delta(t)) = \sum_{k=-\infty}^\infty c_k \exp\left(i2\pi k(x+\delta(t))\right)\cdot \exp\left(i\alpha\Delta\phi(t)\right),\]
with \(\alpha > 1\) resulting in magnification and \(\alpha < 1\) in attenuation. Refer to docs/examples.ipynb
for toy examples of motion modification.
However, most interesting motions are not just translations. Usually, motions are localized and we have to deal with \(\delta(x,t)\). Also, they would also require multiple frequency bands to represent, meaning that by indexing the motions by \(j\), we need to treat the phases over frequency bands \(k\in A_j\) as a whole. Now the motion is written as
\[f(x+\delta(x,t)) = \sum_j \left(\sum_{k\in A_j} c_k \exp\left(i2\pi kx\right) \right)\cdot \exp \left(i2\pi \sum_{k\in A_j} \delta_j(x,t,k)\right) ,\]
and we process each summand as a whose with temporal filters of appropriate pass-bands to isolate the motion of interest.
Complex Steerable Pyramid
Without further assumption, a simple method to partition the 2D frequency spectrum for motion extraction is the steerable pyramid. Ideally, the pyramid divides the 2D frequency domain into concentric rings and sectors of equal angles (cf. Wadhwa et al. 2013, Fig. 4).
The corners comprise the high-pass residual, and the center part is the low-pass residual. The black conjugate symmetric portion is discarded.
Each partition captures objects of a certain size and orientation, hence motions of a certain scale and direction. The corners not included in the circle is the high-pass residual, and the center part that the pyramid of finite depth left un-partitioned is the low-pass residual.
Since for real-valued images, Fourier coefficients are conjugate symmetric, so we only need to keep half of the 2D frequency spectrum to perform processing on. On the other hand, we have to throw out the other half anyways, because the sum of each partition and its conjugate reflection gives a real-valued time-domain signal without the zero phase. This gives the "complex" nature of this pyramid.
Finally, note that as analyzed in (Wadhwa et al. 2013, Sec. 3.2), there is a trade-off between the amount of motion magnification that can be achieved, which means using a pyramid with more levels and orientations, and the amount of distortion in the output, which is minimized when using a pyramid with fewer levels and orientations.
Implementation Details
First, an overview is provided. As pictorially described in (Wadhwa et al. 2013, Fig. 2):
- Compute the complex steerable pyramid for each frame of the video (processed on \((x,y)\)-planes, where the video sequence lies on \((x,y,t)\)-hyperplane; now the changes in the phase component over time corresponds to motion). [details]
- Perform band-pass temporal filtering on the phase component of each image in the pyramid to isolate motion at specific frequencies (processed on \(t\)-axis, and now the amplitude of the resulting "image" corresponds to the amount of motion). [details]
- Smooth the "images" (omitted).
- Multiply the resulting "images" by \(\alpha\), and add it back to the phase component of the respective frames in the pyramid (positive coefficient gives motion magnification, and negative gives attenuation). [details]
- Reconstruct video by collapsing the pyramid. [details]
Algorithm (Motion Modification).
Input:
- \(I_{1:T}\) is a real-valued video sequence.
- \(D,K,N\) represents the depth, number of orientations and number of filters per octave to be used to construct the complex steerable pyramid.
- \(f_s\) represents the sampling rate of the video sequence, and \(f_l,f_h\) represents the frequency range of the motion to be modified.
- \(\alpha\) is the magnification factor.
- \(B,F\) represent the types of filters to be used to construct the pyramid and for temporal filtering, respectively.
Initialize:
- \(P_{1:T}\), \({R_H}_{1:T}\), \({R_L}_{1:T}\) represent the pyramid sequence.
- \(Q_{1:T}\) represents the pyramid for storing motion magnified frames.
- \(J_{1:T}\) is the output video sequence.
- Filter \(F\) with \(f_s,f_h,f_l\) as described in temporal filtering section.
For \(t=1,\cdots, T\), set \((P_t,{R_H}_t,{R_L}_t) \gets \text{PyramidAnalysis}(I_t,D,K,N,B)\), which is to obtain the complex steerable pyramid representation of each frame, as described in analysis algorithm.
For \(d,n,k=1\) to \(D,N,K\) respectively:
- Collect \(X_{1:T} := (P_1[d,n,k],P_2[d,n,k],\cdots,P_T[d,n,k])\), the evolution of \(I\) in pyramid representation at scale \((D,N)\) and direction \(K\).
- Set \(\Phi_{1:T}\) to be the phase component of \(X_{1:T}\) (e.g. with
numpy.angle
). - Set \(\Delta\Phi_{1:T} \gets \text{TemporalFiltering}(\Phi_{1:T},F)\), which is to perform temporal filtering on the phase, as described in temporal filtering algorithm.
- For \(t=1,\cdots, T\), set \(Q_t[d,n,k]\gets P_t[d,n,k] \circ \exp(i(\alpha-1)\Delta\Phi_t)\), which is to modify motion, as described in motion modification section.
For \(t=1,\cdots, T\), set \(J_t\gets \text{PyramidSynthesis}(Q_t,{R_H}_t,{R_L}_t,D,K,N,B)\), which is to obtain the motion magnified video sequence, as described in synthesis algorithm.
Return \(J_{1:T}\).
Complex Steerable Pyramid
Filters
The result \(Y\) of performing filtering \(F\) to a DFT image \(X\) in the frequency domain is an entry-wise product, \(Y = F\circ X\). If \(F\) is defined in terms of polar frequency coordinates (i.e. its Fourier coefficients are a function of \((r,\theta)\)) and \(X\) is origin-centered with width \(2W\) (i.e. DC component is at \((0,0)\)), (cf. numpy.arctan2
)
\[ Y_{i,j} = X_{i,j} \cdot F\left(\frac{\sqrt{i^2+j^2}}{W} \pi, \text{arctan2}(j,i) \right). \]
The following filters (defined using polar frequency coordinates) are used to construct and collapse the pyramid (Portilla et al. 2000, App. I). \(L,H\) are low and high-pass filters, and \(G_k\) (\(k\in\{1,\cdots,K\}\)) is used to choose the orientation (out of \(K\) directions).
\[ L(r) = \begin{cases} \cos\left(\frac\pi2\log_2\frac{4r}{\pi}\right) & \text{if}\ \frac\pi4 < r <\frac\pi2 \\ 1 & \text{if}\ r\leq\frac\pi4\\ 0 & \text{if}\ r\geq\frac\pi2, \end{cases} \]
\[ H(r) = \begin{cases} \cos\left(\frac\pi2\log_2\frac{2r}{\pi}\right) & \text{if}\ \frac\pi4 < r < \frac\pi2 \\ 0 & \text{if}\ r\leq\frac\pi4\\ 1 & \text{if}\ r\geq\frac\pi2, \end{cases} \]
\[ G_k(\theta) = \begin{cases} \frac{(K-1)!}{\sqrt{K(2(K-1))!}}\left(2\cos\left(\theta-\frac{\pi k}K\right)\right)^{K-1} & \text{if } \left|\theta-\frac{\pi k}K\right| < \frac\pi2\\ 0 & \text{else.} \end{cases} \]
We derive from above the following windowing function (or filter). For \(n \in \{1,\cdots,N\}\),
\[W_n(r) = H(r/2^{(N-n)/N})\cdot L(r/2^{(N-n+1)/N}).\]
Finally, \(B_{n,k}(r,\theta) = W_n(r)G_k(\theta)\) defines the filters used in the pyramid.
Analysis
Given an image \(I\), obtain the complex steerable pyramid as follows.
Algorithm (Pyramid Analysis).
Input:
- \(I\) is a real-valued square image of width \(\ell\) centered at the origin.
- \(D\) is the depth of the pyramid.
- \(K\) is the number of filter orientations.
- \(N\) is the number of filters per octave.
- \(B\) is the filter to use.
Initialize:
- \(P\) is a \(D\times N\times K\) list representing the pyramid.
Compute \(\tilde I \gets \text{DFT}(I)\).
Compute \(R_H \gets \text{IDFT}(\tilde I\circ H(\bullet/2))\), which is the high-pass residual.
Let \(\tilde J := \tilde I\).
For \(d=1,\cdots,D\):
- For \(n=1,\cdots,N\) and \(k=1,\cdots,K\), store \(P[d,n,k] \gets \text{IDFT}(\tilde J \circ B_{n,k}\)).
- Set \(J \gets \text{IDFT}(\tilde J \circ L)\), and downsample by 2 (by keeping every other pixel).
- Set \(\tilde J \gets \text{DFT}(J)\).
Set \(R_L:= \text{IDFT}(\tilde J)\), which is the low-pass residual.
Return \(P, R_H, R_L\).
Synthesis
Given the complex steerabl pyramid representation \(P\) of an image, reconstruct the original image \(I\) as follows. Note that by definition of the filters we use, their complex conjugates are identity, i.e. \(\bar B_{n,k}=B_{n,k}\), \(\bar H = H\), and \(\bar L = L\).
Algorithm (Pyramid Synthesis).
Inputs:
- \(P\) is a \(D\times N\times K\) list representing the pyramid.
- \(R_H\), \(R_L\) are the high and low-pass residuals.
- \(D\) is the depth of the pyramid.
- \(K\) is the number of filter orientations.
- \(N\) is the number of filters per octave.
- \(B\) is the filter to use.
Initialize:
- \(\tilde I\) is a complex-valued image.
Let \(\tilde I \gets \text{DFT}(R_L)\).
For \(d=D,D-1,\cdots,1\):
- Let \(I\gets \text{IDFT}(\tilde I)\), and upsample it by 2 (via bilinear interpolation).
- Set \(\tilde I\gets \text{DFT}(I)\circ \bar L\).
- For \(n,k=1\) to \(N,K\) respectively:
- Let \(\tilde J \gets \text{DFT}(P[d,n,k]) \circ \bar B_{n,k}\)
- Set \(\tilde J_c\) to the complex conjugate of \(\tilde J\), and perform frequency domain reversal (flip horizontally and vertically).
- Set \(\tilde I\gets \tilde I + \tilde J+ \tilde J_c\).
Set \(\tilde I \gets \tilde I + \text{DFT}(R_H) \circ \bar H(\bullet/2)\).
Return \(\text{IDFT}(\tilde I)\).
Temporal Filtering
Let the temporal filter \(F\) be one of:
- FIR Window (
scipy.signal.firwin
), - Butterworth (
scipy.signal.butter
).
Let \(I_{1:T}\) be a sequence of real-valued images (video), and if it is sampled at \(f_s\), i.e. \(f_s\) frames per second, then we can only recover motions that occur at at most \(\frac{f_s}2\) by the Nyquist criterion. Temporal filtering is performed as below.
Algorithm (Temporal Filtering).
Inputs:
- \(I_{1:T}\) a sequence of real-valued images of dimension \(H\times W\).
- \(F\) is the frequency response of the temporal filter (1D) to use.
Initialize:
- \(J_{1:T}\) is the filtered image sequence of the same dimensions as \(I_{1:T}\).
For all pixel locations \(i\in\{1,\cdots,H\}\times\{1,\cdots,W\}\):
- Set \(x:= (I_{1,i},I_{2,i},\cdots,I_{T,i})\), the evolution of the pixel at \(i\).
- Compute \(\tilde x\gets \text{DFT}(x)\).
- Compute \(\tilde y\gets \tilde x \circ F\).
- Set \(J_{1:T,i} = \text{IDFT}(\tilde y)\).
Motion Modification
Given a filtered frame \(I\) in the pyramid (obtained with the analysis algorithm), and an phase image \(\Delta\Phi\) representing the motion present in this frame (i.e. by computing phase difference or with temporal filtering on the phase component), we magnify/attenuate the motion in the filtered frame, with output denoted by \(J\), via
\[J = I \circ \exp(i(\alpha-1)\Delta\Phi),\]
where \(\exp\) is applied entry-wise, and \(\alpha\) is the magnification factor: \(\alpha>1\) is motion magnification, and \(\alpha<1\) is motion attenuation.
References
Neal Wadhwa, Michael Rubinstein, Frédo Durand, and William T. Freeman. Phase-based video motion processing. ACM Transactions on Graphics (TOG), 2013. Harvard
Javier Portilla, and Eero P. Simoncelli. A parametric texture model based on joint statistics of complex wavelet coefficients. International Journal of Computer Vision, 2000.


WOLF A film review by Andrew Hicks Copyright 1996 Andrew Hicks / Fatboy Productions
(1994) *** (out of four)
Jack Nicholson "marks his territory" here with a good (if not a little too subdued) thriller/horror film about a businessman who finds his life changing after being bitten by a wolf.  There's another little side-effect of his newfound wolfdom: Every night he sneakes out of bed and rips someone's throat out with his teeth, only to forget about it by morning (ah yes, the old "sleep-killing" alibi -- OJ's latest defense). [Note: this review written in early 1995. I'm now 18 and O.J. walks free.]
Nicholson's rival, in business and in bed, is a fellow employee who gets Nicholson's job as senior editor at a publishing company, and also gets the job done at home with Nicholson's wife, if you know what I mean. This doesn't make the ol' wolf too happy and, when his wife is discovered in Central Park, throat missing, you know who the Feds point the finger at--Charles Grodin's dog Beethoven. Ah yes, the old canine-framed-for-murder alibi (OJ's next defense), which leaves Nicholson free to cavort freely (because, you know, he's free) with the boss' daughter, the lovely Michelle Pfeiffer (with the not-so-lovely last name). Who would have thought, a wolf and a cat? Ain't that weird?
Nicholson reveals his "hairy" problem to Pfeiffer who, as you'd expect, doesn't take him seriously for a second (a problem I know all too well. What, you think that's a joke? I'm serious, no one takes me seriously. Okay, that was a joke, but at least I'm trying to be serious about this no one taking me seriously issue.  I'm also unfunny games. What does that mean? I seriously don't know).
 Who would have thought, the Joker and Catwoman finally together? I was wondering when she'd dump that no-good Riddler.
--
Visit the Movie Critic at LARGE homepage at http://www.missouri.edu/~c667778/movies.html Serving America For Over 1/50 of a Century!
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Returns the database information of the actor.
Returns the id of the actor.
Adds a buff to the battler for the specified number of turns on the selected parameter.
Adds a debuff to the battler for the specified number of turns on the selected parameter.
Adds a state to the battler given the specified state id.
Returns the armor of the actor.
Returns the first attack animation id.
Returns the second attack animation id.
Returns the attack element ids.
Returns the animation id for a barehanded attack.
Returns the element id of barehanded attacks.
Returns the basic floor damage.
Returns the battler name of the battler; the battler name is associated with the file used as the battler graphic.
Returns the exp rate of actors not in battle; this is set in the database.
Equips the best item in the given slot.
Calculates the equip item performance and returns the sum/difference.
Changes the actor class; if keep is true, the actor will retain their experience points.
Changes the actor equipment in the given slot with the given equip item. Places the original item into the party inventory.
Changes the actor equip with an item based on the equip id.
Change the actor experience points; leveling up the actor if it's above the required exp for the current level. If show is set to true, actor level up with be displayed.
Changes the actor level; if show is set to true, the actor level will be displayed.
Checks the effect of the floor on the actor.
Clears all of the actor's animations.
Clears animations from the battler.
Clear damage pop up from the battler.
Clears effect from the battler.
Clears the actor's equipment; items are returned to the inventory.
Clears motion from the battler.
Clears the battler action result.
Clears all states from the actor.
Clears the battler's tp.
Clear weapon animation from the battler.
Has the battler consume the given item.
Returns the current action of the battler.
Returns the current class of the actor from the database.
Returns the current experience points of the actor.
Returns the current level's experience for the actor.
Discards the given equip item from the actor; item is not return to the party inventory.
Displays the actor level up in a message window, with the learned skills.
Returns the effect type of the battler.
Returns the equip slots of the actor.
Returns the equipment of the actor.
Erase the specified state from the actor.
Has the battler escape from battle; plays a sound on escaping.
Executes the floor dmaage on the actor.
Returns the exp required to level.
Returns the face index of the actor.
Returns the face name of the actor; this is the image of faces for the actor.
Returns the final exp rate of the actor based on if the actor is a reserved party member or an active battle member.
Forces the actor to change equipment in the given slot with the given equip item without placing the item back into the party inventory.
Actor forgets the specified skill given the skill id from the actor's usable skills.
Gives the specified exp to the actor.
Adds the specified amount of hp to the battler.
Adds the specified amount of mp to the battler.
Adds a specified amount of tp to the battler silently.
Adds the specified amount of tp to the battler.
Returns true if the actor has armor.
Returns true if the actor has no weapon.
Returns true if the actor has a weapon.
Returns the index of the battler.
Initialize actor equipment in the given slots.
Initialize exp of the actor.
Initialize images of the actor.
Initialize actor skills.
Initializes the battler's tp; tp is random.
Returns action the actor is inputting.
Returns true if the battler is performing an action in battle.
Returns true if the actor is a member in battle.
Returns true if the battler is chanting in combat.
Returns true if the actor is the specified class from the database.
Returns true if the equip change is okay in the given slot.
Returns true if the actor is equipped with the specific item.
Returns true if the battler is waiting to guard.
Returns true if the battler is inputting commands in battle.
Returns true if the actor has learned the specified skill given the specified skill id.
Returns true if the actor is max level.
Returns true if a motion is requested.
Returns true if the actor sprite is visible.
Returns true if the specified state given the state id is addable.
Returns true if the specified state given the state id restricts.
Returns true if the battler is waiting in battle.
Returns true if a weapon animation is requested.
Returns the last battle skill of the actor.
Returns the last command symbol that the actor used.
Returns the last menu skill of the actor.
Actor learns the specified skill given the skill id.
Level down the actor.
Level up the actor.
Creates the action list for the actor.
Creates the number of times for an action.
Creates the actions for the battler.
Creates the auto battle actions for the game actor.
Calculates the speed of the battler.
Returns the max floor damage.
Returns the maximum level of the actor.
Returns the motion type of the battler.
Returns the actor's name.
String
Returns the experience points for the next level of the actor.
Returns the next required experience points for the actor to level up.
Returns the nickname of the actor.
Returns the number of battler actions.
Handler for when all actions end
Handler for when battle ends
Handler for when battle has started.
Handler for when damage is done
Handler for when the player walks on the map scene.
Handler for when theb attler is restricted.
Handler for when turn ends
Optimize the actor's equipment.
Perform given action motion.
Perform action end motion.
Perform action start motion, given the specified game action.
Performs the attack motion for the actor.
Performs the collapse motion.
Perform counter motion.
Perform damage motion.
Performs the escape motion for the actor.
Perform evasion motion.
Perform magic evasion motion.
Perform damage to the actor on the map scene.
Perform miss motion.
Perform recovery motion.
Performs the reflect motion.
Perform substitute motion with the specified game battler.
Perform the victory motion for the actor.
Returns the actor profile.
Refreshes the actor.
Has the battler regenerate all resources based on their respective regeneration stats.
Has the battler regenerate hp based on their hp regen.
Has the battler regenerate mp based on their mp regen.
Has the battler regenerate tp based on their tp regen.
Returns items the actor can't normally equip to the party inventory.
Removes all buffs from the battler.
Removes the current battler action.
Removes the specified state given the state id.
Request the specified motion on the game battler.
Reset state count of the specified state.
Returns the battler action result.
Sets the action at the specified index for the battler.
Sets the action state
Sets the battler image of the actor; this is the sprite displayed in the side view mode.
Sets the face image of the actor given the face image (from database) and face index within the iamge.
Sets the last command symbol to the given symbol; this is the selected command in the battle menu.
Sets the last target based on the target passed in.
Sets the actor name.
Sets the nickname of the actor.
Sets the actor profile.
Shifts the battler animation.
Returns true if the actor should display level up in a message window.
Shows the added states to the actor.
Shows the removed states from the actor.
Returns the actor's skills; even if the skills are not usable.
Returns the speed of the battler.
Starts the animation on the actor given the specified animation id; if mirror is set to true, the animation will be mirrored. If a delay is enter, the animation will be delayed.
Starts a damage pop up on the battler.
Starts the weapon animation on te battler given a weapon id.
Returns the usable skills of the actor.
Has theb attler use the given item.
Returns the weapon image id.
Returns the weapon of the actor.
Generated using TypeDoc
[read-only]


#include <array.h>
Public Member Functions | |
| iterator | begin () |
| Returns an iterator pointing to the first element. | |
| const_iterator | begin () const |
| Returns a const iterator pointing to the first element. | |
| iterator | end () |
| Returns an iterator pointing past the end of the array. | |
| const_iterator | end () const |
| Returns an const iterator pointing past the end of the array. | |
| size_type | size () const |
| Returns the size of the array. | |
| const_reference | at (size_type n) const |
| Return const reference to n'th element. | |
| reference | at (size_type n) |
| Return reference to n'th element. | |
| const_reference | operator[] (size_type n) const |
| Return const reference to n'th element. | |
| reference | operator[] (size_type n) |
| Return reference to n'th element. | |
| size_type | index_of (const_reference t) const |
| Get index of first element matching t, or end(). | |
| iterator | find (const_reference t) |
| Returns iterator pointing to first element matching t or end(). | |
| const_iterator | find (const_reference t) const |
| Returns const iterator pointing to first element matching t or end(). | |
| template<class X> | |
| self & | operator= (const array< X, N > &src) |
| The assignment operator. | |
| void | swap (self &dst) |
| Swaps the contents with another array. | |
| void | assign (const T &t) |
| Assings value t to every element in the array. | |
Public Attributes | |
| T | elems [N] |
| Array elements. |
| T | array element type. | |
| N | array size. |


{% extends 'contents/_base/events.html' %} {% load static %} {% block title %}PyDay{% endblock %} {% block page_title %}
This year the PyDay will be held in Chengchi University after PyCon.
PyDay is a newbie activities held by the PyCon TW and the top univerisities in Taiwan. All the PyDay’s speakers are mostly from the PyCon keynote speakers and would share their experience throuhout sessions.
2015 NCCU PyDay, invited 4 experts from MIT, Google as kenote speaker and talked about data analysis. Arnaud Bergeron has presented the fundamental of Theano, Steven Johnson introduce a new technical-computing language(Julia), Robert Bradshaw’s talk on Cython, Andy Terrel share the experience on Gallery.
This year Taiwan university and Chengchi university cooperate with PyCon TW and invite the Paul Hildebrandt and Steve Dower. Mr. Hildebrandt is senior engineer at Walt Disney Animation Studios (WDAS) and Mr. Dower works in Microsoft as a software engineer. They will face to face with audience.
Come and join us this event especially for those newbies out there!
{% endblock content %}


OSM ROUTING
POIs
Route
Find POIs around you.
Click into the map.
Select a POI type (key + value) and max. distance.
Click 'Search'.
Route to a POI by clicking on it.
Type Key:
Type Value:
Max. Distance (km):
5
10
20
50
Search
Clear
Create a route by clicking two times into the map.
From
To
Distance (m)
Distance (km)
Duration
Search
Clear
Options
Setup your routing options.
Vehicle:
Car
Pedestrian
Mode:
Fastest
Shortest
TMC hour:


Validation results on {{ entityResults.sheetName }} worksheet, for entity: {{
entityResults.entity }}.
1 or more errors found. Must fix to continue. Click each message for details
Validation results on {{ entityResults.sheetName }} worksheet, for entity: {{
entityResults.entity }}.
1 or more warnings found. Click each message for details
{{$ctrl.results.uploadMessage | trusted_html}}
{{$ctrl.results.validation.exception | trusted_html}}
{{$ctrl.results.successMessage | trusted_html}}


Pizza Order Form
Select Size
small
medium
large
Select topping
Love
Olives
Mayo
Additional Topping
Add Pizza
Submit
Your order will cost $


See how many Dogecoin you own. Such wow!
Version {{data.version}}
By Drake Emko
Support and FAQ page
Your feedback is welcome. Email<EMAIL_ADDRESS>Donations welcome too! DOGE: D7AKf9hN4zXkEyHgCNYPR2UP2rEFb3zjJQ (such generous!)


Version 1.0
Rules to fix problems using AquaSKK with JetBrains IDEs, Terminal, and iTerm2.
More information:


Home
Installation
Running
Input
Output
Theory
Tutorials
Batch Reactor
CSTR
PFR
TPD
Sensitivity Analysis
{{ content }}
{% include mathjax.html %}


|
| def | draw_line (self, data, coordinates, style, label, mplobj=None) |
| |
| def | draw_markers (self, data, coordinates, style, label, mplobj=None) |
| |
| def | draw_path_collection (self, paths, path_coordinates, path_transforms, offsets, offset_coordinates, offset_order, styles, mplobj=None) |
| |
|
def | __init__ (self) |
| |
| def | open_figure (self, fig, props) |
| |
| def | close_figure (self, fig) |
| |
| def | open_axes (self, ax, props) |
| |
| def | close_axes (self, ax) |
| |
| def | open_legend (self, legend, props) |
| |
| def | close_legend (self, legend) |
| |
| def | draw_text (self, text, position, coordinates, style, text_type=None, mplobj=None) |
| |
| def | draw_path (self, data, coordinates, pathcodes, style, offset=None, offset_coordinates="data", mplobj=None) |
| |
| def | draw_image (self, imdata, extent, coordinates, style, mplobj=None) |
| |
|
def | current_ax_zoomable (self) |
| |
|
def | current_ax_has_xgrid (self) |
| |
|
def | current_ax_has_ygrid (self) |
| |
|
def | draw_figure (self, fig, props) |
| |
|
def | draw_axes (self, ax, props) |
| |
|
def | draw_legend (self, legend, props) |
| |
| def | draw_marked_line (self, data, coordinates, linestyle, markerstyle, label, mplobj=None) |
| |
Renderer with the full complement of methods.
When the following are left undefined, they will be implemented via
other methods in the class. They can be defined explicitly for
more efficient or specialized use within the renderer implementation.
| def plotly.matplotlylib.mplexporter.renderers.fake_renderer.FullFakeRenderer.draw_line |
( |
|
self, |
|
|
|
data, |
|
|
|
coordinates, |
|
|
|
style, |
|
|
|
label, |
|
|
|
mplobj = None |
|
) |
| |
Draw a line. By default, draw the line via the draw_path() command.
Some renderers might wish to override this and provide more
fine-grained behavior.
In matplotlib, lines are generally created via the plt.plot() command,
though this command also can create marker collections.
Parameters
----------
data : array_like
A shape (N, 2) array of datapoints.
coordinates : string
A string code, which should be either 'data' for data coordinates,
or 'figure' for figure (pixel) coordinates.
style : dictionary
a dictionary specifying the appearance of the line.
mplobj : matplotlib object
the matplotlib plot element which generated this line
Reimplemented from plotly.matplotlylib.mplexporter.renderers.base.Renderer.
| def plotly.matplotlylib.mplexporter.renderers.fake_renderer.FullFakeRenderer.draw_markers |
( |
|
self, |
|
|
|
data, |
|
|
|
coordinates, |
|
|
|
style, |
|
|
|
label, |
|
|
|
mplobj = None |
|
) |
| |
Draw a set of markers. By default, this is done by repeatedly
calling draw_path(), but renderers should generally overload
this method to provide a more efficient implementation.
In matplotlib, markers are created using the plt.plot() command.
Parameters
----------
data : array_like
A shape (N, 2) array of datapoints.
coordinates : string
A string code, which should be either 'data' for data coordinates,
or 'figure' for figure (pixel) coordinates.
style : dictionary
a dictionary specifying the appearance of the markers.
mplobj : matplotlib object
the matplotlib plot element which generated this marker collection
Reimplemented from plotly.matplotlylib.mplexporter.renderers.base.Renderer.
| def plotly.matplotlylib.mplexporter.renderers.fake_renderer.FullFakeRenderer.draw_path_collection |
( |
|
self, |
|
|
|
paths, |
|
|
|
path_coordinates, |
|
|
|
path_transforms, |
|
|
|
offsets, |
|
|
|
offset_coordinates, |
|
|
|
offset_order, |
|
|
|
styles, |
|
|
|
mplobj = None |
|
) |
| |
Draw a collection of paths. The paths, offsets, and styles are all
iterables, and the number of paths is max(len(paths), len(offsets)).
By default, this is implemented via multiple calls to the draw_path()
function. For efficiency, Renderers may choose to customize this
implementation.
Examples of path collections created by matplotlib are scatter plots,
histograms, contour plots, and many others.
Parameters
----------
paths : list
list of tuples, where each tuple has two elements:
(data, pathcodes). See draw_path() for a description of these.
path_coordinates: string
the coordinates code for the paths, which should be either
'data' for data coordinates, or 'figure' for figure (pixel)
coordinates.
path_transforms: array_like
an array of shape (*, 3, 3), giving a series of 2D Affine
transforms for the paths. These encode translations, rotations,
and scalings in the standard way.
offsets: array_like
An array of offsets of shape (N, 2)
offset_coordinates : string
the coordinates code for the offsets, which should be either
'data' for data coordinates, or 'figure' for figure (pixel)
coordinates.
offset_order : string
either "before" or "after". This specifies whether the offset
is applied before the path transform, or after. The matplotlib
backend equivalent is "before"->"data", "after"->"screen".
styles: dictionary
A dictionary in which each value is a list of length N, containing
the style(s) for the paths.
mplobj : matplotlib object
the matplotlib plot element which generated this collection
Reimplemented from plotly.matplotlylib.mplexporter.renderers.base.Renderer.


account advanced features
account attributes, assigning
account email validation
account ID
account list, save as .csv file
account quota
account status
account, create
account, rename
accounts
accounts, quota
accounts, adding distribution lists
accounts, adding Zimlets to
accounts, last login time
accounts, never logged in
accounts, number used
accounts, view by domain
active directory, password rule
active mode
adding a domain
adding Zimlets to COS
address book
admin console tasks
admin extensions, removing
admin Help pages URL
administration console
administration tasks
administrator account
administrator accounts, search for
advanced features
alias, move
aliases
anti-spam
anti-virus
anti-virus updates
assigning COS
assigning mail server to a new account
attachment settings
auth token
auth token lifetime
authentication mode, how to configure
authentication settings
blackhole lists
blocking attachments
cache, flush
calendar
certificates
Installing Certificates
Creating Certificates
change password
changing domain status
changing password
changing password policy for mobile devices
changing quota settings
changing user passwords
class of service, about
company directory
configuring advanced features
configuring authentication settings
copyright
COS
COS delete
COS, adding Zimlets to
COS, creating
COS, override
COS, server pool
create an account
creating a location
creating accounts
creating COS
creating equipment resources
creating mail aliases
CSR
Installing Certificates
Managing Certificates from the Administration Console
data, status
default account attributes
default COS
default ZWC version to view
delete COS
Creating Classes of Service
Deleting a Class of Service
delete distribution list
deleting mail messages
deleting messages
deletion policy
disable GAL autocomplete
disable junk indexing
disk usage
distribution list, number used
distribution list, sharing
distribution lists
distribution lists, adding to account
DNS checks
documents
domain administrator accounts, search for
domain name, change
domain, adding
domain, default
domain, saving account list to .csv file
domain, search
domain, view accounts in
download search results
dumpster
email forwarding
email retention policy
enforce password history
equipment resources
equipment, remove
Exchange, migrating from
expire session
extensions, rejecting messages by
external active directory
features
filter, anti-virus
filters
find
flush cache
forwarding address, allowing users to
forwarding mail
forwarding, disable
free_busy, checking
free_busy, on 3rd party servers
GAL configuration wizard
GAL search results
GAL, how to configure
GAL, using
generate CSR
Global Access List
global administrator
global attachment settings
global settings
global settings, configuring MTA
group calendars
Help pages URL
ID number
IMAP
IMAP access
IMAP proxy
indexing, junk messages
installing certificates
invalid email address option
invalid email addresses
junk
junk indexing, disable
keyboard shortcuts
kill percent
LDAP
locale, flush cache
location, creating
location, remove
locked account
locked out
locked password
locking passwords
lockout
log on access
login, SSO redirect URL
Lotus Domino, migration
mail filters
mail identities
mail queues
mail report
mail server
mail, purging
mailbox quotas
mailbox, re-indexing
maintenance mode
managing accounts
managing shared items
managing Zimlets
mandatory zimlets
manually expire session
message lifetime
message lifetime, deleting
message type, reject by
messages, reject by message type
migrating from Exchange
migration from Lotus Domino
migration wizard, outlook types imported
mobile device, password policy
mobile device, security policy
monitoring host
monitoring queues
monitoring the server
moving aliases
MTA queues
MTA, configuring for servers
MTA, configuring global settings
navigation
number of accounts used
out of office reply
Outlook types imported
Outlook types not imported
password aging
password configuration
password length
password option
password rules
password, changing
password, changing locked out status
password, forget
password, locked
password, restricting
passwords and Active Directory
passwords, changing
passwords, how to changed locked out status
personal calendar
policies, deletion
policies, retention
POP
POP access
POP account
postmaster
preferences
protocol checks
provision an account
proxy server
purging mail
quarantine mail
queues, description
queues, MTA
quota
quota warning
quota, view individual account
quotas
quotas, changing
>>


It's 7:05 Monday morning.

You lie in bed for a short time as you bring yourself to a state of full conciousness.
Now that you're up and about, you need to start getting ready for the day ahead of you. Do you want to shower now, or would you prefer to wait until later on?


Age
{#each ageOptions as option}
{option}
{/each}
Gender
{#each genderOptions as option}
{option}
{/each}
prefer to self-describe:
Highest Level of Education
{#each educationOptions as option}
{option}
{/each}
Geographic Location
{#each locationOptions as option}
{option}
{/each}
{#if ready}
Proceed
{:else}
Proceed
{/if}


[is page "vote"]
Vote |
[else]
Vote |
[end]
[is page "make"]
Make Your Own |
[else]
Make Your Own |
[end]
[is page "about"]
What is MFK? |
[else]
What is MFK? |
[end]
[if-any nickname]
[is page "mymfks"]
My MFKs (Log out)
[else]
My MFKs
(Log out)
[end]
[else]
Log in
[end]


The Robotics Club is a community of students who derive pleasure in creating robots that may even be capable of working without human intervention. Each member of this family is provided insight into mechanical engineering, basic electronics and informatory aids besides the indispensable guidance of experienced members. The club supports and fosters interest in various aspects related to robotics in particular, mechanical design through workshops and projects. Robo-geeks are provided with a workspace, tools and other amenities to let their imagination loose.


June 8, 2015
Topics:
- What is Stereotype threat?
- How to focus on the good side
- Hit first, hit hardest!
What is Stereotype threat
Stereotype threat refers to being at risk of confirming, as self-characteristic, a negative stereotype about one's group (Steele & Aronson, 1995).
In my own words Stereotype Threat is the negative thoughts we produce when judging people by what they look or seem to us. Lets move tot he next topic I preffer on talking about how to work and do the possitive so this "threat" concept can be evaded.
How to focus on the good side
I like to always take positive vibes. So from now on lets talk positive. When approaching a group of people the mentality I go with is very open for ideas and people no matter what you wear, think or do. This way you can benefit more in general you dont have a "mediocre filter" I call it that could be an opporunitty gone to waste...
Hit first hit hardest!
Always approach people in a nice way. You never know if that guy wearing tattoed sleeves is the one who is going to finance oyur project!
So my recommendation is next time you approach people be more open and nice. Being self aware of the people around you is what makes the difference.
Cheers!
@devgmtech


Porn actress Jessica Jaymes died of seizure, alcohol abuse, coroner says
by ABC7.com staffLOS ANGELES -- Prominent porn industry actress Jessica Jaymes died of a seizure and alcohol abuse, according to the Los Angeles County coroner's office.
Jaymes, whose real name was Jessica Redding, was found dead in her North Hills home on Hayvenhurst Avenue on Sept. 17.
Jaymes broke into the adult film industry in 2002. She got her big break two years later when she became Hustler Video's first contract model. Jaymes appeared in over 200 adult films.
She was also known for cameos in mainstream media, including the cable television show "Weeds," "The Howard Stern Show" and "VH1's Celebrity Rehab Sober House."
The coroner's report listed her causes of death as a seizure and chronic ethanol abuse.
At the time of her death, many public reports listed her age as 43, but the coroner's report says she was 40 years old.


When it comes to walks, your pup will get plenty of sniffs and such along the way. If you also prefer we walk a certain distance, I am happy to set and meet those goals. Don't worry about baggies, I've got you covered!
| Time | Cost per Walk |
|---|---|
| 20 min | $15 |
| 30 min | $20 |
| 45 min | $27 |
| 60 min | $34 |
| Additional Pet Fee: $5 per additional dog. | |
| Puppy Fee: Additional $5 charge |
It's like having your dogs stay at a Bed & Breakfast. Enjoy peace of mind having your dogs stay in our home with access to our yard. We offer daycare services too from 7AM to 7PM on select days. Take comfort knowing your fur-babies will be cared for while you're away. Your loved ones will be treated just like they are part of our family.
| Service | Cost |
|---|---|
| Boarding Per Night | $35 |
| Doggy Day Care | $25 |
| Each Additional Dog | $25 |
| Additional Puppy Fee* | $10 |
Sorry, no un-neutered males.
*Puppies must meet certain requirements for boarding or day care.
For house visits, your loved one will get lots of attention. If instructed, I will feed, give fresh water, scoop litter boxes and do light cleaning around those areas to help keep tidy. I can also administer some medications such as pills or shots.
| Time | Cost per Visit |
|---|---|
| 20 min | $15 |
| 30 min | $20 |
| 45 min | $27 |
| 60 min | $34 |
| Additional Pet Fee: $5 per additional dog. | |
| Puppy Fee: Additional $5 charge |
Will someone be home all day when I board my dog or have them visit for daycare?
What do I need to bring when I board or have my dog over for daycare?
How many dogs do you board at once?
Do you keep the dogs separated when you leave?
How do I receive notification of a house visit or dog walk?
What is your cancellation policy?
My dog has never been around a cat. Is that going to be okay?
How do you handle bad weather?
The queen of the house. Gentle and kind, ready to play or lounge around.
Always wanting to play fetch from sun up to sun down!
The chillest cat around. Always has something to say, and is ready to play or relax.
Always wanting to play and a menace towards a wagging tail. A true puppy-cat!


Welcome to Doyle with the Scores
I'm Doyle, and here are the scores.
AFL
Me, I like football. There's an Array of things around. But when you flatMap() them together, the footy wins hands down...
NRL
Tries, Catches, Conversions, Scrums and Hacking. Rugby League and Computer Science were made for each other!
A-League
The ball is round, the game lasts 90 minutes - everything else is stored in a JSON file.
Super Rugby
I remember being part of a Scrum where the front row collapsed. Last time we ever hold them after lunch, I can assure you!
Coming Soon
College Football
Honestly, does it even matter? These days, computer analysis and College Football are bigger rivals than Stanford and Cal.
NFL
"OK Google: What's the difference between Offside, Encroachment, and a Neutral Zone Infraction?"
Sheffield Shield
Continuing the proud legacy of Kattis Arminaf and Sunil Havaskar.


!= getHtmlContentFromFile('file_picker_prompt_css'); ?>
Select a file or folder from Google Drive to map to the below local path.
You can provide the mapping for any parent folder of the local path too, update the local path accordingly.
The local path to which the selected Drive File/Folder will be mapped


Komodo has recently seen a huge price surge of 75% in two weeks. This crypto is now retracting and is a good buy on dip candidate.
3
reads like a shilled article tbh lol
1
Andersen08-Jul-19 02:51 PM
Better than nothing
p.08-Jul-19 02:59 PM
Smh btc laughing at any alts "main net" or "rebrand" every time without fail. Hopefully KMD establishes itself with this move for realz
Like 15-20 spot jump on cmc
JimD08-Jul-19 03:28 PM
KMD is a troll coin. It will never moon because everyone that owns it sells every pop
2
Malti08-Jul-19 03:30 PM
I tend to agree to a certain extent. People want KMD to be in top 20 soon, but sell whenever it makes an upward movement. Of course this makes sense from a trading POV, but it doesn't help general price movement
but KMD is not a troll coin
JimD08-Jul-19 03:31 PM
Maybe "trolled coin" would be more accurate
its been moving up pretty well for the last couple months though
Malti08-Jul-19 03:31 PM
and maintaining that 50 spot on CMC during a very long time is quite the achievement as jl said
JimD08-Jul-19 03:33 PM
Yup, the tech and approach of KMD is very good so I think as the garbage gets weeded out of the top 100 KMD should rise
The Tron CEO is slammed for misleading investors after he failed to disassociate his platform from a scam that has cost them at least $30m.
jl777c08-Jul-19 04:46 PM
one thing i noticed that is different with this big rise and following "correction" is that the volume is still relatively high. usually when it drops back down, the volume really goes down. not sure what that means
Alecandro08-Jul-19 04:48 PM
Yea that is interesting.... hmmm what’s your speculation @jl777c


Todo
- !!! TESTS !!!
- close the panel when in /buy/
- number of articles in the cart
Form:
- First name
- Last name
- E-mail
- Drop down Payment method
- Toggle Agreement
Validation without obligation
- Material theming
After the validation, the purchase must be saved in the browser local storage and visible in the logs page.
Well, nothing to buy yet...
List of posters to buy:
-
{{ poster.name }}


Preferences of Volunteer
Choose Which Category u would like to Participate:
Logistics
Publicity
Management
Suggestions:


Toggle navigation
Display Density
Home
About
Contact
Login
Settings
Settings
Display Density
Comfortable
Cozy
Compact
Themes
Application built by
@bradsturtevant
using AngularJS.


When I got this sick domain with this sick free shared hosting, I needed to have a site I could paste into an index.html doc on Cpanel.
I began on a journey to build the most complex awesome tool possible to do this.
The end product: an executable that spins up a docker container that runs an elixir executable whose code opens a Port to use the BEAM to run the ruby script that writes out index.html and also get it set to a var for use in the elixir app.
This is utterly reasonable.
Let's start by designing the Ruby portion. We can begin with an html document
class HtmlDocument
attr_reader :body, :nodes
def initialize
start_nodes = ["<!DOCTYPE html>", "", "", "<meta charset=\"UTF-8\">", ""]
start_nodes << html_close
@nodes = start_nodes
@body = @nodes.join("\n")
end
def add_node(new_node)
@nodes.pop # remove html close node
@nodes << new_node
@nodes << html_close
end
def add_nodes(nodes)
nodes.each { |node| add_node(node) }
@body = @nodes.join
end
def html_close
""
end
end
If we break this down the main idea is treating an html document as a list of string elements.
In a perfect world we would check them and parse/validate their form etc but we dont care for this.
We begin with a sane base document and add things by removing our closing html
tag and then re-appending it.
We have a body
which is the string that is the document itself, too.
Now, if we have a basic page, for our sick page + blog we will need an about me blurb. A simple example start:
class BanneredIntroduction
attr_reader :words, :banner_nodes, :colors
def initialize(words)
@words = words.split(" ")
@colors = ["red", "light blue", "orange"]
create_headered_span_words
end
def create_headered_span_words(header_size = 2)
nodes = words.map do |word|
chars = word.split("")
spans = chars.map.with_index { |char, i| span_for_character(char, chars, i) }.join
headered_span = "<h#{header_size}>#{spans}</h#{header_size}>"
end
@banner_nodes = nodes
end
def span_for_character(char, chars, index)
if index == chars.length - 1
"#{char}
\n"
else
"#{char}\n"
end
end
end
Here, we create an <h>
tag of a given side with randomly chosen coloring and break them up per-word in the sentence given in.
Now that we have a great banner, we can move onto a full about me solution.
It was a good excuse to get to know git's innards a bit better, as well as work on something that, while somewhat useless, is technically functional and interesting.
Anyone with a casual knowledge of git shouldn't get too lost and hopefully learns something. Ambitious beginners are more than welcome, and tweet me if something comes up that you think could make it better :)
mkdir git_exploration
cd git_exploration
git init
This gets us a git repo created. Let's check out what we have:
ls -a
. .. .git
And if we check out the .git
subdirectory in our editor:
$ tree .git
.git
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
9 directories, 13 files
A note, you may need to install tree depending on your OS. On Ubuntu, I used
sudo apt-get install tree
I imagine it is about the same on mac with brew
. I Have no idea on Windows as I barely know how to list
a directory in Powershell (sorry).
Okay, so this doesn't look too crazy. Let's open up some of the stuff we have on initialization in here.
.git/info/exclude
```
Okay, so it appears that this opens up with the command that the system would use to govern this
behaviour. Knowing a bit about git, one can reasonably infer that this is going to work in hijinks
with the `.gitignore` file that one can use to ignore certain files.
`.git/config`
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ``` It would appear this is just some general configuration for a boilerplate initialized repo.
.git/description
Unnamed repository; edit this file 'description' to name the repository.
Here it seems we can name our little project
.git/refs/HEAD
ref: refs/heads/master
This seems to be referencing the current HEAD
.
HEAD is a reference to the last commit in the current checked out branch.
echo "# Git Exploration" > README.md
git add README.md
git commit -m 'initial commit'
Once we do this, we can check out a new directory structure:
$ tree .git
.git
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── index
├── info
│ └── exclude
├── logs
│ ├── HEAD
│ └── refs
│ └── heads
│ └── master
├── objects
│ ├── 1b
│ │ └── f567a9cee63cd3036628c1519b818461905b27
│ ├── 9d
│ │ └── aeafb9864cf43055ae93beb0afd6c7d144bfa4
│ ├── c1
│ │ └── 2d7c0ed49ad9c7aa938743ba6fdee54b6b7fe1
│ ├── info
│ └── pack
└── refs
├── heads
│ └── master
└── tags
15 directories, 21 files
It appears we have some simple additions with adding one file. To start, we have expanded our
info directory to now include a logs
directory. We also have several subdirectories inside of our
objects
directory now, each containing a hash. refs subdirectory heads
now includes a
master
file, and we also have added COMMIT_EDITMSG
, and index at the root level of .git
.
The three hashes in our objects
directory represent 3 data structures git utilizes.  We will go into these more in-depth later.
If we examine COMMIT_EDITMSG
we see:
initial commit
Logging our commit message.
Let's create a new branch to further expand this interesting .git
directory.
git checkout -b my_feature_branch
What this does is use the git checkout
command and the -b
flag to create and checkout a new branch
named whatever follows -b
. We have created a branch called my_feature_branch
. The reason I have
called it a feature branch specifically is because this is a common flow for managing an application's
development with multiple authors. Let's see what changed:
$ tree .git
.git
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── index
├── info
│ └── exclude
├── logs
│ ├── HEAD
│ └── refs
│ └── heads
│ ├── master
│ └── my_feature_branch
├── objects
│ ├── 1b
│ │ └── f567a9cee63cd3036628c1519b818461905b27
│ ├── 9d
│ │ └── aeafb9864cf43055ae93beb0afd6c7d144bfa4
│ ├── c1
│ │ └── 2d7c0ed49ad9c7aa938743ba6fdee54b6b7fe1
│ ├── info
│ └── pack
└── refs
├── heads
│ ├── master
│ └── my_feature_branch
└── tags
15 directories, 23 files
Now, if you look at .git/branches/refs/heads/
we can see we have added my_feature_branch
. If we
look at our HEAD
files, we will see an addition to it as well.
.git/logs/refs/HEAD
...<PHONE_NUMBER> -0400 commit (initial): initial commit
...<PHONE_NUMBER> -0400 checkout: moving from master to my_feature_branch
.git/refs/HEAD
bash
ref: refs/heads/my_feature_branch
It has logged our checkout and pointed us at the new branch. Also it is worth noting we have not created
any new objects. This is one of the finer pieces of git, it is differentials rather than copies and
copies as one would have saving my_documentv1
, my_documentv2
, my_documentvN
etc.
Let's add another commit by creating a directory in here and logging its boilerplate.
mkdir test && echo "test" > test/file.txt
cd test
git status
# => ./
Okay, lets add this project and commit. If you don't have Volt installed locally, feel free to substitute it with anything from rails to django to meteor. It doesn't really matter for our studies here.
cd ..
git add test
git commit -m 'add file + dir'
Now, let us further check out our changes in the git file tree:
.git
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── index
├── info
│ └── exclude
├── logs
│ ├── HEAD
│ └── refs
│ └── heads
│ ├── master
│ └── my_feature_branch
├── objects
│ ├── 1b
│ │ └── f567a9cee63cd3036628c1519b818461905b27
│ ├── 2b
│ │ └── 297e643c551e76cfa1f93810c50811382f9117
│ ├── 5e
│ │ └── c1f4ac6015a50b5d8462582d7ae50d7029d012
│ ├── 70
│ │ └── cc10cfcc770f6b0ea11cdd9a876ee1a3184d77
│ ├── 9d
│ │ └── aeafb9864cf43055ae93beb0afd6c7d144bfa4
│ ├── c1
│ │ └── 2d7c0ed49ad9c7aa938743ba6fdee54b6b7fe1
│ ├── info
│ └── pack
└── refs
├── heads
│ ├── master
│ └── my_feature_branch
└── tags
18 directories, 26 files
Now, if we look at COMMIT_EDITMSG
add file + dir
And again it is our latest message. The other major change is we have a ton of new objects. Just to see what happens, let's checkout master and see if anything changes:
git checkout master
and we get the same tree, but we can check out our HEAD item in the .git
directory.
So we have the same thing, but our HEAD
file reads:
ref: refs/heads/master
So we can now see this is our constant anchor as we navigate changes.
$ find .git/objects
.git/objects/pack
.git/objects/info
.git/objects/b7
.git/objects/b7/37ff03e6f22c28bc4786f4b11925f2d864e00
...
.git/objects/4c
.git/objects/4c/2be36223ca4d07cbd7ce8c28419ba1c4144334
Here we see a list of a butt ton of what looks like SHA-1 hashes. So what is git doing with all of these?
Let's create a clean repository and proceed to start an empty git repo in it.
cd .. && mkdir git_testing
Initialize a repository
git init
And now, let's try creating one of these hash objects. We do this with the git command hash-object
.
If we simply use some bash, we can do this without even needing a file. By doing this we will pipe
an echoed statement into the hash-object command through stdin and receive our hash in stdout.
echo 'test content' | git hash-object -w --stdin
d670460b4b4aece5915caf5c68d12f560a9fe3e4
So, it took the string 'test content' and hashed it then spat it back out in SHA-1 form. Cool.
We should examine this further.
echo "test" > test.txt
git hash-object -w test.txt
vim test.txt
txt
test
test 2
If we save this change and run the command again:
git hash-object -w test.txt
6375a2690c50e28c8c351fc552e2fd8a24b01031
And if we check out our objects directory we can now see what git has done:
bobby@bobdawg-devbox:~/code/git_test/test$ find .git/objects/ -type f
.git/objects/9d/aeafb9864cf43055ae93beb0afd6c7d144bfa4
.git/objects/63/75a2690c50e28c8c351fc552e2fd8a24b01031
It has a hash for each of our objects saved. Woo! But wait. We haven't committed anything. How is git tracking all this?
Well it turns out git just keeps some headers with these SHA-1's, and does a bunch of cool stuff so it only has to track changes. Not entire new versions of each document. So each of these objects simply represents a given state of some blob of our data.'
If we dive in to do the reverse of this, we can look up our input using git's cat-file
command, which
intakes a hash.
git cat-file 6375a2690c50e28c8c351fc552e2fd8a24b01031
test
test 2
Now, if we make another change on this, we will be able to see the new version.
vim test.txt
test "one"
If we delete everything and replace it with this line, the do our typical:
git hash-object -w test.txt
We get a new hash, which when called with cat-file
will output a the new value,
while still keeping our old object in history.
What this really is at it's core is a key:value store. Using this, we can leverage a very simple database that only relies on single key/value types (symbol, string) to store any data we need to and look it up. So, let's move on.
In the broadest of terms, git is a directed acyclic graph. This sounds quite fancy and/or scary depending on how hard in the paint you go with mathematica, but it truly isn't that crazy. Let's ignore Wikipedia's terse entry, and instead break it down on our own.
In its most basic state, git functions to make one of these graphs connecting a series of objects. These objects also have a handful of types.
A blob
is a blob of bytes. It usually is a file, but can also be a symlink or a myriad of other things.
It is all simply semantics as long as there is a pointer to the blob
.
Directories are represented by a tree
object. They refer to blobs
and other trees
. When one of these nodes
(a tree
or a blob
, in this case) points to another in the graph, it depends on that node. It is a connection
that cannot be broken. You can garbage collect, filesystem check, and a myriad of other functions
but we do not need to truly know more other than that without a referent of dependence, a node
is essentially useless, as it is disconnected.
A commit
refers to a tree that represents the state of a group of blobs
' state at the time of that given
commit. It refers to a range X
of other commits that are its parents. More than one parent means a merge,
no parent means an initial commit, and a single just means its a regular old commit. As we saw earlier,
the body of a commit is its message.
Refs have two functions: storing HEAD
s, and branches
. They are essentially notes left on a given
node. These notes can be moved around freely and arent stored in history, and arent transferred
between repositories. They are simply a means to namespace 'I am working here'.
As you can see, these nodes form a tree
of functioning between master and a remote with a few merges
thrown in (any of the nodes with 2 parents).
Since the cat-file
and hash_object
pattern functions simply as a key:value store for git, we
can utilize this to our advantage. Normal storing large strings in-memory in Ruby can get quite
taxing, but if we simply store the string of the SHA-1 hash to a given key, we can greatly reduce
the memory footprint of our master dictionary and allow it to grow far larger in size (theoretically).
So, let's code up a pseudo-class for this and fill it in after we get that far.
vim git_database.rb
```ruby
module GitDatabase
class Database
def initialize
# set initliazers and master dictionary
end
def set # set a given key to a value end
def get # get a given key's value end
def hash_object # hash a given input that is coerced to a string end
def cat_file # cat out a given file based on SHA-1 hash end end end ```
We can now tackle this piece by piece.
vim git_database.rb
```ruby
...
class Database
attr_accessor :items
def initialize
@items = {}
git init
end
...
Simple enough. We ensure we have a git repository initialized, and we ensure that we setup our
master dictionary.
#### Hashing
`vim git_database.rb`
... def hash_object(string) # What do we do? end ... ```
Well, to start, lets fire up irb and see what we can do calling git from Ruby.
irb
irb(main):001:0> string = "test"
=> "test"
irb(main):002:0> `echo #{string}`
=> "test\n"
irb(main):003:0> `echo #{string} | git hash-object -w --stdin`
=> "9daeafb9864cf43055ae93beb0afd6c7d144bfa4\n"
irb(main):004:0> `echo #{string} | git hash-object -w --stdin`.strip!
=> "9daeafb9864cf43055ae93beb0afd6c7d144bfa4"
So, it appears we can essentially call exactly what we were prior. We can now reasonable change the function to be:
...
def hash_object(data)
`echo #{data} | git hash-object -w --stdin`.strip!
end
...
And this will get that blob hashed up and stored for us. Now, notice we get the exact hash here, but if we do a
find .git/objects -type f
and look at a sampling of what we get:
.git/objects/e4/ea753518a47496350473b8eb0972ad2985d964
You might notice that objects has subdirectories of seemingly random 2 letter combos. There are the first 2 characters of the hash, but git does this to save on overhead. So, if looking in the git directory for hashes you must account for the parent directory of the longer string to get the entire SHA-1.
Since the prior method returns us a hash directly, we can use the same command as earlier and interpolate.
...
def cat_file(hash)
`git cat-file -p #{hash}`
end
...
And now we just need a way to map keys to the hashes we have saved.
...
def set
# get key, data
# hash data
# save key to SHA-1 hash in @items
end
...
This is a reasonable fleshed out idea of a simple set implementation. So, first we need to take in a key:
...
def set(key, value)
hash = hash_object(value.to_s)
@items[key] = value
end
...
And now, we can move onto a get implementation
To get, we have a little more to do. We will have a key, and that gets us an SHA-1 hash. However,
we still need to decrypt it using our cat_file
function. So, if we pseudocode this out:
...
def get
# find hash by key
# cat-file hash
end
...
So, with our functions already set up we can simply go in and do this:
...
def get(key)
<EMAIL_ADDRESS>end
...
And now, we have a finished class that can function as a reasonable minimal database. Consider it an equally ghetto but more interesting version of the good 'ole CSV store.
Currently we are only returning the latest version of a given item. However, we have already stored it at every state it hash ever been hashed. So, if we were to add in some functionality for grabbing versions, it would be quite simple.
module GitDatabase
class Database
attr_accessor :items
def initialize
`git init`
@items = {}
end
def set(key, value)
unless key in @items.keys
@items[key] = [hash_object(value)]
else
@items[key] << value
end
end
def get(key)
<EMAIL_ADDRESS>end
def get_version(key, version)
# 0 = latest, numbers = older
@items[key][version]
end
def versions(key)
@items[key].count
end
private
def hash_object(data)
`echo #{data.to_s} | git hash-object -w --stdin`.strip!
end
def cat_file(hash)
`git cat-file -p #{hash}`
end
end
end
Now, we can do something like:
db = GitDatabase::Database.new
db.set("Apples", "12")
db.get("Apples")
# => "12"
db.set("Apples", "10")
db.get_version("Apples", 0)
# => "12"
db.get("Apples")
# => "10"
Abd to use this. We can make a very simple sinatra API to take input remotely:
... # below the class
require 'sinatra'
require 'json'
DB = GitDatabase::Database.new
post '/set' do
DB.set(params['key'], params['value']
rescue
{ error: 'please send key and value parameters' }.to_json
end
end
get '/get/:key' do
{ result: DB.get(params['key'] }.to_json
end
This is a very simple wrapper, but if gives the general idea of where you could take this with a toy application.


If you'd like to read more about what bootstrap can do, click the button below to read the documentation.
As you read through the docs, try copying some code that you find there into this codesandbox to see how it works.


Next: progv, Previous: destructuring-bind, Up: Data and Control Flow Dictionary
let
({var | (var [init-form])}*) {declaration}* {form}* ⇒ {result}*
let*
({var | (var [init-form])}*) {declaration}* {form}* ⇒ {result}*
var—a symbol.
init-form—a form.
declaration—a declare expression; not evaluated.
form—a form.
results—the values returned by the forms.
let and let* create new variable bindings and execute a series of forms that use these bindings. let performs the bindings in parallel and let* does them sequentially.
The form
(let ((var1 init-form-1) (var2 init-form-2) ... (varm init-form-m)) declaration1 declaration2 ... declarationp form1 form2 ... formn)
first evaluates the expressions init-form-1, init-form-2, and so on,
in that order, saving the resulting values. Then all of the variables varj are bound to the corresponding values; each binding is lexical unless there is a special declaration to the contrary. The expressions formk are then evaluated in order; the values of all but the last are discarded (that is, the body of a let is an implicit progn).
let* is similar to let, but the bindings of variables are performed sequentially rather than in parallel. The expression for the init-form of a var can refer to vars previously bound in the let*.
The form
(let* ((var1 init-form-1) (var2 init-form-2) ... (varm init-form-m)) declaration1 declaration2 ... declarationp form1 form2 ... formn)
first evaluates the expression init-form-1, then binds the variable var1 to that value; then it evaluates init-form-2 and binds
var2, and so on. The expressions formj are then evaluated in order; the values of all but the last are discarded (that is, the body of let* is an implicit progn).
For both let and let*, if there is not an init-form associated with a var, var is initialized to nil.
The special form let has the property that the scope of the name binding does not include any initial value form. For let*, a variable’s scope also includes the remaining initial value forms for subsequent variable bindings.
(setq a 'top) ⇒ TOP (defun dummy-function () a) ⇒ DUMMY-FUNCTION (let ((a 'inside) (b a)) (format nil "~S ~S ~S" a b (dummy-function))) ⇒ "INSIDE TOP TOP" (let* ((a 'inside) (b a)) (format nil "~S ~S ~S" a b (dummy-function))) ⇒ "INSIDE INSIDE TOP" (let ((a 'inside) (b a)) (declare (special a)) (format nil "~S ~S ~S" a b (dummy-function))) ⇒ "INSIDE TOP INSIDE"
The code
(let (x) (declare (integer x)) (setq x (gcd y z)) ...)
is incorrect; although x is indeed set before it is used, and is set to a value of the declared type integer, nevertheless x initially takes on the value nil in violation of the type declaration.
Next: progv, Previous: destructuring-bind, Up: Data and Control Flow Dictionary


One of our strongest skills is test automation. Web applications, mobile apps, desktop clients have been automated over the years.
How many users are able to login to your site within an hour? Do you want a scalable product? Or better response times?
Nowadays security is becoming ever more important. We have highly skilled penetration testers. They deal with security issues.
Evertest has great training partners. We offers ISTQB trainigs at Foundation and Advanced level too.


RavenLOVE - Coming Soon (TM)
A prototype game I coded. My friend, Nathan Aldrich, drew the bitmap art.
The game was made in the Love2D game engine and made use of the Advanced Tile Loader library. We created
basic levels, enemies, and proof of concept. Game coded in LUA.


Latest Work
Ton Wooning Kantoormeubelen
The challenge for our client Ton Wooning, owner of an office furniture business, was chiefly found in a good content strategy. An entire catalog of products had to digitized and for that we created a clear subdivision of product groups.


AWS::SQS::QueuePolicy
The AWS::SQS::QueuePolicy
type applies a policy to Amazon SQS queues.
For an example snippet, see Declaring an
Amazon SQS policy in the AWS CloudFormation User
Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::SQS::QueuePolicy", "Properties" : { "PolicyDocument" :
Json
, "Queues" :[ String, ... ]
} }
YAML
Type: AWS::SQS::QueuePolicy Properties: PolicyDocument:
Json
Queues:- String
Properties
PolicyDocument
-
A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see Using custom policies with the Amazon SQS access policy language in the Amazon SQS Developer Guide.
Required: Yes
Type: Json
Update requires: No interruption
Queues
-
The URLs of the queues to which you want to add the policy. You can use the
Ref
function to specify anAWS::SQS::Queue
resource.Required: Yes
Type: List of String
Update requires: No interruption
Examples
Amazon SQS Queue Policy
The following sample is a queue policy that allows AWS account<PHONE_NUMBER>33 to send and receive messages on queue queue2. You add the policy to the resources section of your template.
JSON
"SampleSQSPolicy" : { "Type" : "AWS::SQS::QueuePolicy", "Properties" : { "Queues" : ["https://sqs:us-east-2.amazonaws.com/444455556666/queue2"], "PolicyDocument": { "Statement":[{ "Action":["SQS:SendMessage", "SQS:ReceiveMessage"], "Effect":"Allow", "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2", "Principal": { "AWS": [ "111122223333"] } }] } } }
YAML
SampleSQSPolicy: Type: AWS::SQS::QueuePolicy Properties: Queues: - "https://sqs:us-east-2.amazonaws.com/444455556666/queue2" PolicyDocument: Statement: - Action: - "SQS:SendMessage" - "SQS:ReceiveMessage" Effect: "Allow" Resource: "arn:aws:sqs:us-east-2:444455556666:queue2" Principal: AWS: - "111122223333"