Menu box
By default, the menu box contains the 8 items shown in this figure.
Some or all of these items may be missing if they were specifically excluded
by using the 'Options' argument in the calling sequence.
The name of each menu box items are chosen to identify the action when you left
click on the item. The action corresponding to a right click are less obvious, but
a quick look at the plt menu (see below) will remind you what these actions are.
See pltquiv.m for an example of how you can change one of the
menu box items to perform an alternate function.
Details about each menu box item follows:
Help
On Windows systems when you left or right click on the the
Help tag, plt will display the file
plt.chm. On Unix and other systems the browser
will be opened to display the file
plt.htm (since these systems don't support the
chm file format). The left click behavior may be modified by including the
'HelpFile' parameter on the command line and
the right click behavior may be modified by including the
'HelpFileR' parameter. Those parameters are described
here.
LinX
Left-clicking this tag changes the x-axis scale from linear to logarithmic.
The name of the tag itself also toggles between LinX
and LogX so that it the tag name always matches the
current x-axis scaling type. Left-clicking again toggles it back to
LinX.
Right-clicking this tag swaps the x and y data for all the traces which has the
effect of displaying the inverse function of the original display. This swapping
works best when only a single axis is being used. For multiple axes (i.e. with
a right hand axis or with subplots) the effect might not quite what you expect.
LinY
The y-axis scale changes from linear to logarithmic. This tag also changes to
LogY so that it always matches the current scaling of
the y-axis. Clicking again toggles it back to LinY.
Right-clicking on this tag opens the plt HardCopy dialog box. See the description
of the HardCopy dialog box below (under the Print menu item).
Grid
Left-clicking on the Grid tag alternates between no grids (tick marks only)
and full grids on both x and y axes. By default, the grids are solid dim grey lines.
(This may be modified by the GRIDc and GridStyle parameters.)
Grid lines with high contrast colors and brightness (such as what you get with the
native Matlab plot command) makes it more difficult to observe the main data traces.
Assuming the grid style has not been modified with the GRIDc or GridStyle parameters,
right-clicking on the Grid tag will alternate between the following two grid modes:
- Color = [.13 .13 .13], LineStyle = '-'
- Color = [.26 .26 .26], LineStyle = ':'
Zout
Each left click of the Zout (Zoom out) tag expands the
x and y axes by 40% (20% at each end). This approximately doubles the area of
the Cartesian plane displayed within the axis limits. (1.42 = 1.96).
Right-clicking on the Zout reverses the effect of a
left click (i.e. zooms in).
XY↔
Each click on the XY↔
(XYrotate) tag cycles the x and y axis limits to the next
display expansion stored in a history list. (The axis limits from the last four
zooms or pans are saved in this list). After all the display limits in the
history list are used, the next click autoscales both axes so that all the data
is displayed. The next click again uses the first display expansion in the
history list. Right-clicking on this tag skips the rotation through the history
list and directly autoscales the axes to show the full x and y extent of the
trace data.
Print
Note that the Print tag does not appear in the
menu box by default. It will only appear if enabled by an 'Options'
argument in the calling sequence. This is done to reduce clutter and is justified since
this is not a commonly used dialog and because you may also access this by right-clicking
on the LinY tag (mentioned above) as well a from the Hardcopy selection in the plt menu of
the menu bar. (If you don't see the menu bar, click on the Menu
tag in the menu box to make the menu bar visible.)
This is what the hardcopy dialog looks like when opened.
The primary use of this dialog box is to create BMP bitmapped images of the plt window.
You will see from the popup menu, that you can select other graphics formats as well,
although not all of them are well tested. (This image shows the dialog setup for making
a windows meta file format.) For all file types except BMP, the colors are inverted if
the background is dark. On most printers this makes the copy far more readable and saves
large amounts of toner.
You can also print directly to the default windows printing device from the HardCopy
dialog, although an easier (and possibly more reliable) way of doing this
is to select "print" from the File menu. And for a bitmapped image,
yet another method is to use the screen capture facility (via the PrintScreen key
on Windows based systems). Before capturing your bit map you may want to right-click
on the y-axis label to hide the menu box and cursor objects so these objects won't
distract from the basic plot data. Right-clicking on the y-axis label a second time
re-enables the cursor objects.
Mark
When you left-click on the Mark tag, a square marker is placed at the current
cursor location and a marker string is added to the plot containing the x and y
coordinates of the cursor location. The text string will be the same color as
the active trace. If the text label is not positioned where you
want it, click on the label and drag it to the location you want.
If you right-click on the marker string (which is (7.675, 2.95902)
in this example), a new dialog box will appear which
allows you to change any or all of the properties of both the trace marker (with the
left popup and edit box) and the marker string (with the right popup and edit box).
The two pictures below show the Marker and String properties
respectively that you can edit.
Note that you can have many of these Edit Marker dialog
boxes open at same time - as many as one per text string (or even more, although
there is probably little benefit to that). All these dialog boxes will be
deleted automatically if the main plot window is deleted.
Once you select one of the 8 marker properties, or one of the 10 string
properties, the current value of the property appears in the respective edit
box. To change the property value, click in the edit box, and type in a new
value.
Note that both the Marker and the String popups
have delete as one of the options. This is useful if
you want to add a marker without a string or a string without a marker. You may
delete all the markers you have added this way by selecting
delete and then typing all into the edit box
below the popup. The same trick works for deleting all the strings added to the
figure via the Mark tag. If you want to delete all the markers and all the strings
at once choose the "Delete cursor annotations" selection in the plt menu of the
menu bar. (See below, and also note the mouse shortcut for this function.)
Note that when you select the color property, the
property value is a set of three numbers corresponding to red, green, and blue
respectively. Each number is an intensity value and must range from zero (off)
to 1.0 (full intensity). You may change the color by entering the desired rgb
values. When you press <Enter> the new value will be accepted and you will see
the marker or string change to the new color. However since it is often
difficult to predict exactly what these colors look like, plt provides an easier
way to select new colors. Instead of left-clicking on the rgb triple, use a
right click. A new color selection box will appear. The use of the color selection
box (also called a ColorPick pseudo object) appears below.
Menu
Left-clicking on this tag toggles the menu bar on or off. (See the description
of the menu bar below). Note that the initial state of the menu bar is off
unless the (unless 'options','Menu' appears in the
argument list).
Right-clicking on the Menu tag opens up a new window similar to this one shown called
the Cursor Data Window . This window shows the
x and y values of all visible plot traces. The down arrows
(vvvvvv) highlighted in the middle of this window indicate
that the cursor is currently pointing to the 200th data element of the trace
whose trace ID is "Line 1". As you move the cursor around (by any of the many methods)
the cursor data window will automatically be updated so that arrows always point to
the current cursor location. The cursor index will always be shown near the middle
of the window but you can use the scrollbar on the right side of the figure to view
any of the data values that appear on the plot.
The first column heading is always "index" and the index column will contain all the
integers between 1 and n, where n is the data length of the longest visible trace.
The second column heading is always "X" which indicates that this column contains the
Xdata values of the first visible trace. The 3rd column will contain the y values
of the first visible trace and the column heading will be the traceID. The 4th column
will again have a heading of "X" and will contain the x data for the 2nd visible trace
except (as in this example) when the x values are the same as for the previous trace
in which case the X column is omitted. In this example all 3 traces had the same x vector
so only one column is needed for it. However if the 3 traces each had different x vectors
then the column headings would have been "index,X,Line1,X,Line2,X,Line3".
If the characters are two big or small for your taste you can adjust the size with the
fontsize popup. Click the save button to create a text file that contains the exact text
that appears in the list box (from index 1 all the way to the end of each plotted
array). The column headings will appear at the very top of the text file.
Note that if you are using subplots, some of the column headings may be blank since
the subplot traces do not use TraceIDs. However if a subplot has a y-axis label
then that label will be used as column heading for the trace inside the subplot.
Menu Bar
Usually you will select the desired menu with the mouse. However you may also use the
keyboard. The underlines shown in this figure and in the drop down menus below only
appear when you press the ALT key. When you press the ALT key followed by one of the
underlined characters, the respective dropdown menu will appear. You can then select
one of the dropdown menu items with the mouse or by pressing one of the underlined
characters in the dropdown menu.
One of the most useful functions of the menu bar is
Print (the last item under the
File menu). This is probably the easiest and most
reliable way to make a hardcopy of the plt window.
As you can see from the figure to the right, plt adds the
following two items to the File menu:
- plt save
saves the current figure so that that it can be opened later
(see plt open below). A dialog box opens allowing you to choose the name of
the file. A .plt extension is used for these files although in fact they are
ordinary .mat files. This menu item is equivalent to typing
plt save at the Matlab command prompt.
Also at the command prompt, you may type
plt save filename which avoids the file
dialog box by specifying the file directly and of course the functional form
plt('save','filename') works also.
- plt open opens a dialog box that allows
you to select a .plt figure file that was saved with the plt save menu.
The new window should look and behave the same as the original plt window.
(Note that if the original plt window was created with a function that provided
additional plotting features to the plt window, those features will not be
available after opening the figure.) This menu item is equivalent to typing
plt open at the Matlab command prompt.
Also at the command prompt, you may type
plt open filename which avoids the file
dialog box by specifying the file directly. A new window is opened containing
the data that was saved.
The last menu item (plt) is unique to plt.
When you click on this menu item you will see these twelve submenus.
The accelerator keys for selecting one of these submenus are shown in parentheses.
For example to select the "Save figure colors" submenu using the keyboard, you
would first press ALT key followed by the p key (to select the plt menu) and
finally press the s key to select the "Save figure colors" submenu. (You don't have
to release the ALT key before the p key is pressed if you prefer.)
Note that all but three of these submenus have some blue text after them.
These are directions for selecting the submenu action without using the
menu bar (which may be easier, especially when the menu bar is hidden).
For example, the first submenu (Edit line) contains the string
Rclick Mark. This means that you can invoke the
Edit line function by right-clicking on the Mark tag inside the menubox.
The next submenu (Edit all lines) contains the string
Delta+Rclick Mark. What this means is that you
can invoke this menu by first left-clicking on the Delta (∆) button and then
right-clicking on the Mark button. The third submenu (Edit figure colors) contains
the string Rclick Properties in Ypopup. This
means that you should right-click on the Properties selection that appears in the
Yedit popup (that opens when you right-click on the Ycursor edit box). Of course
you won't remember these shortcuts unless you use them often, but you can always
use this menu as a reminder.
These twelve submenus are described in order below:
1.) Edit line Rclick Mark
or Lclick Properties in Yedit popup
To change the color or other property of a trace or of its associated cursor,
first click on the trace that you want to modify (i.e. make the trace active)
and then click on the Edit line submenu. You
will see a new figure similar to the this one.
The left side of the Edit Line dialog box
controls the properties of the active trace and the right side controls the properties
of the cursor attached to that trace. The properties that appear in both these popups
are the same as those under "Marker properties" in the Edit Marker dialog box
shown above. Note that
one can edit the data plotted by selecting and editing the Xdata or Ydata line properties. This works
well for simple traces with less than a few dozen data elements. For longer
sequences you will be better off using the data editing technique described in
the data editing section. Note that (for
example) if you modify the Ydata property by removing or adding data elements
that the line will disappear until you also modify the Xdata property by
removing or adding the same number of points. This is because the line object
can't be rendered unless the lengths of the Xdata and Ydata properties are the
same.
2.) Edit all lines Delta+Rclick Mark
When you select the Edit all lines submenu
a dialog box such as this will appear. When you change the popup
menu to select a new property, the edit box will be updated to show the current
value of that property for the active trace just as before. However if you then
change the property value in the edit box, this property will get changed for
all the traces on the plot, not just the active trace. This is probably not
appropriate for the color property, but it may be useful for some of the other
trace properties, such as linewidth. You can also use this dialog box to make
all the cursors larger or a different shape for instance.
3.) Edit figure colors
Rclick Properties in Yedit popup
When you select this submenu this dialog box will appear which allows
you to change all of the figure colors which are not accessible from the
edit lines dialog boxes described above.
This shows the eight items that you can modify from this dialog box.
After selecting one of these items, the current color of that
item appears in the edit box below the popup as a set of three
intensity numbers corresponding to red, green, and blue respectively. You may
change the color by left-clicking the edit box and entering the desired rgb
values or by right-clicking the edit box which will bring up the color selection
box described at the bottom of this page.
Note that the three property editing windows shown above for the first three
submenus may also be opened from the "Properties" selection that appears
when you right-click on the Yedit cursor.
(See Data editing.)
4. Save figure colors
Changing colors inside the plt figure using the color selection box is not
permanent (i.e. those colors will be forgotten once the application is closed).
However you can make the changes permanent by selecting this submenu which
will save the current colors to the file (which we call a "color selection file").
You will find the rules that plt uses to determine the color file name in the
description of the 'ColorFile' parameter
here.
When plt starts, the color for each screen element is determined as follows:
- If a color file is found, the color for all screen elements will be
determined by the file contents.
- If no color file exists, the colors for particular screen elements are
determined by the color parameters included in the plt function call. These
parameters are described in the Colors section.
- If such a parameter is not included in the function call, then the color
for that particular screen element will be specified by the plt default color
scheme.
These color selection files are in a consistent format so a color file generated in one
application can be used in another application by renaming the color file, or by
using the name of the desired color file explicitly with the
'ColorFile' parameter. More detailed instructions about
how to modify a color selection file are given in the
Default colors section.
5.) Cursor Data Window Rclick Menu
This submenu opens a cursor data window which is described above under the right click
action of the Menubox Menu tag.
6.) Swap X/Y axes Rclick LinX
This submenu performs the action described above under the right click
action of the Menubox LinX tag.
7.) Hardcopy Rclick LinY
This submenu menu opens a dialog box used for printing and creating screen captures
of plt figures. The use of this dialog box is described above in the description of
the menubox Print tag.
8.) Toggle line smoothing Rclick "o"
This submenu toggles the line smoothing property of all plot traces from off to on or
visa versa. This is described in more detail here:
The Cursor button group
9.) Delete cursor annotations Delta+Rclick "o"
If you have added many plot annotations (with the menubox Mark tag) you can delete
them one by one by selecting delete for the string and/or marker from the
Edit Marker window. However this would be tedious if you have had many annotations.
This submenu provides a way to delete all of them with one simple action.
10.) Set dual cursor
The dual cursor mode allows you to simultaneously cursor two traces on the same plot. Usually
this is set up using the 'DualCur' parameter.
(see Dual Cursor). However you may
also use this menu to set the dual cursor interactively. Simply put the cursor on the trace
that you want as the dual cursor (by clicking on it) and then select this submenu. After that
the Dual Cursor will become active on the selected trace. This submenu acts
as a toggle, which means that if the dual cursor was already enabled, it will be disabled.
11.) Toggle Reposition mode Rclick Delta
The reposition mode a key feature of plt's GUI building tool set which allows you to move and resize
screen objects with the mouse. This submenu toggles between the normal GUI mode and the reposition mode
and back. The reposition mode is described in more detail here:
GUI building with plt
12.) Reposition Grid size Delta+Rclick Delta
This submenu brings up a small auxiliary figure titled SnapTo
containing two sliders, one for controlling the x step size and the other controlling the y step size of the
GUI object repositioning mode. An example of what this figure looks like and what the values mean can be found here:
GUI building with plt
The Color Selection box
When using the "Edit Marker", "Edit line",
"Edit all lines", or "Edit figure colors"
dialog boxes described above, if you right-click on an edit box
containing an rgb triple, the color selection box will appear.
As with the rgb triples, the three sliders represent the intensity values
(except in percent) and will initially be set to the same values that were in
the edit box. You can move the sliders (or type in new values) to give the
proportion of each color that you want. Only integer values between 0 and 100
are accepted giving you more than a million different colors (101 cubed). As you
move the sliders, the color of the marker, line, or figure element selected is
continually adjusted to reflect the slider settings. The color of the large
rectangular patch to the right of the red slider (called the "current color
patch") is also adjusted at the same
time which makes it easier especially for the smaller screen elements.
To make it easier to find the most pleasing color, the 11 by 11 grid of
colors is also updated every time a slider is moved. What this grid shows you
are the colors that result when the intensity value of the active slider is
mixed with 1 of 11 different intensity values of the two inactive sliders. The
active slider (i.e. the slider that was last moved) is shown highlighted in
yellow.
So for example, in the figure above, the bottom slider (blue) is active and
happens to be set to 0%. This means that all 121 squares of the grid are made up
of colors containing no blue. Each row of the grid contains a different
intensity percentage of red (0% for the bottom row, 10% for the next row, and
100% for the top row). Likewise each column of the grid contains a different
intensity percentage of green (0% for the left column and 100% for the right
column). Thus, the upper right square in this example then would be yellow (rgb = [1 1 0]).
When you see a color in the grid that you like, just click on it. The screen
element selected as well as the current color patch will instantly change to
be the same as the color you clicked on. Of course the two inactive sliders move
to show the intensity values of the color you just selected. If you can't find a
better color, you can revert to the color in effect when you right-clicked on
the rgb triple by clicking on the current color patch.
All this may sound somewhat complicated, however it is far easier to do than
to explain. Generally you can pick any of the three sliders, move it around a
bit, and you will quickly see the color you want in the grid. By the way,
clicking on the slider trough area moves the slider by 10%, so if you want to
limit yourself to the 1,331 colors formed with the intensities
0,10,20,30,...100%, then you can see all such colors after just 10 clicks of the
mouse.


Dec 11th Update. I have continued to learn the software.
Dec 20th Update. I finished working on learning the script softwaare and wrote a meta teach back incorporating the software. Now I am on winter break.
Jan 6th Update. Now that I have finished my teachback, I am continuing to refine my knowledge of the software and play around with it more. I am writing a script within it for fun.
Jan 15th Update. I have finished learning the screenwriting software and have moved on to my next project. I am currently taking the lead on my Enviornmental history classes website. I am working on the backend of squarespace with both html and the built in webstie customizer.
I began this semester by learning the script writing software Final Draft. It is the industry standard software and is extremely helpful in not only learning the craft of screenwriting, but also accessing your creativity. It allows you to map out your story across virtual note cards, story boards, and take a step back and look scene by scene. I had a lot of fun learning this software and was actually able to use it to write some of my college supplements. In addition to learning this software, I have taken the lead on my Environmental History class’s website about rivers. It is a Wordpress site that I am working on both the back and front end of and am collaborating with Mr. Golanka as well. I have done some html work as well as learning the Wordpress interface and plugins. I have had a really great time during this first semester.
I began this semester by learning the script writing software Final Draft. It is the industry standard software and is extremely helpful in not only learning the craft of screenwriting, but also accessing your creativity. It allows you to map out your story across virtual note cards, story boards, and take a step back and look scene by scene. I had a lot of fun learning this software and was actually able to use it to write some of my college supplements. In addition to learning this software, I have taken the lead on my Environmental History class’s website about rivers. It is a Wordpress site that I am working on both the back and front end of and am collaborating with Mr. Golanka as well. I have done some html work as well as learning the Wordpress interface and plugins. I have had a really great time during this first semester.
For the second semester I am continuing to work on my Enviornmental History classes website. I will be working on both the backend and front end of the website utilizing wordpress gui as well as html. March 2nd Update. As I am soon going on bridge, I have been writing up a plan for the continued improvment of the website. I am meeting this week sometime with Mr. Golanka and Dr. Rosenblatt. March 13th Update. I have made good progress on the document set to instruct the next student/Ms. Rosenblatt on how to edit the website. March 17th Update. I am making my final project updaate. I have completed the document for Dr. Rosenblatt that instructs the next individual on how to oeprate the website.


<EMAIL_ADDRESS>952-686-3386
I'm an undergraduate student at CMU fascinated by types and programming languages. I'm particularly interested in using modern programming language research and functional languages to tackle real and significant problems. I love type theory, math, and juggling.
Research Assistant at Carnegie Mellon (Sept. 2014 -)
I am currently working under Karl Crary in programming languages and type theory.
Camp Counselor at The Works Science Museum (June 2014 - August 2014)
I taught elementary school children to program using Python and Minecraft. I ended up rewriting a lot of the curriculum and instruction materials for future camps and instructors.
Summer Intern at CSAIL at MIT (May 2013 - Sept. 2013)
I worked Adam Chlipala building and verifying a compiler for a simple functional language to a variant of C. I both built and verified this compiler using Coq. This was part of the Bedrock project which aims to provide a full platform from assembly up amenable to formal verification.
Research Assistant at the University of Minnesota (Sept. 2013 - May 2013)
I worked under John Riedl and Michael Ekstrand on Lenskit, a hotbed for building and testing recommendation algorithms. I integrated the set of algorithms built for GraphChi with Lenskit in lenskit-graphchi as well as making several changes to Lenskit proper.
I have a lot of open source projects. Most of these can be found at http://bitbucket.org/jozefg and http://github.com/jozefg. Some highlights include
Additionally, I run a blog about Haskell and programming languages at http://jozefg.bitbucket.org.


{% extends "base.html" %} {% block content %}
Hosts are registered with Opsgrid automatically once metrics are received. There are two steps involved: installing Telegraf and configuring it.
Telegraf provides instructions for installation via package manager, from source, and with Docker. In a typical server monitoring setup you'll install it on every host you'd like to monitor.
Once Telegraf is installed, you need to configure it to send metrics to Opsgrid.
Below is an example Opsgrid-compatible Telegraf config that can be copied and pasted into /etc/telegraf/telegraf.conf
.
Google Account (token):
{% include 'telegraf.config' %}
For a complete reference of Telegraf configuration options see their docs. Their GitHub page also has a nice reference of plugins.
Once your first metrics have been received you'll see an opsgrid folder in your Google Drive containing your spreadsheet. You may want to visit your dashboard next to add some alerts.
{% comment %}
You can easily test from a live system at the Telegraf playground.
Just paste this config into /etc/telegraf/telegraf.conf
then run telegraf
and wait a minute.
You can also send a simple static test with curl:
curl -d '{"fields": {"field_1": 1, "field_2": 2}, "name": "metric", "tags": {"host": "example"}, "timestamp": 123 }' -H "Content-Type: application/json" -H "X-Opsgrid-IngestToken: {{ ingesttokens.0.value }}" -X POST https://ingest.opsgrid.net/telegraf
For more details on setting up, visit the documentation.
{% endcomment %}
{% endblock content %}


Question
Given a matrix where every element is either ‘O’ or ‘X’, find the largest sub-square surrounded by ‘X’. (meaning that the 4 edges are filled with ‘X’)
Example Input:
{'X', 'O', 'X', 'X', 'X'},
{'X', 'X', 'X', 'X', 'X'},
{'X', 'X', 'O', 'X', 'O'},
{'X', 'X', 'X', 'X', 'X'},
{'X', 'X', 'X', 'O', 'O'},
Output: 3. The square submatrix starting at (1, 1) is the largest sub-squre.
Example Input:
{'X', 'O', 'X', 'X', 'X', 'X'},
{'X', 'O', 'X', 'X', 'O', 'X'},
{'X', 'X', 'X', 'O', 'O', 'X'},
{'X', 'X', 'X', 'X', 'X', 'X'},
{'X', 'X', 'X', 'O', 'X', 'O'},
Output: 4. The square submatrix starting at (0, 2) is the largest
Solution
Read a very similar question - [Question] Maximum Square Sub-matrix With All 1s
Typical DP question. Now the solution is to build 2 arrays to cache info.  For every mat[i][j], we compare hor[i][j] with ver[i][j] and pick the smaller one.
All we need to do next, is to check the other 2 edges. This solution is O(n3).
Code
C++ code provided by G4G:
int findSubSquare(int mat[][N])
{
int max = 1; // Initialize result
// Initialize the left-top value in hor[][] and ver[][]
int hor[N][N], ver[N][N];
hor[0][0] = ver[0][0] = (mat[0][0] == 'X');
// Fill values in hor[][] and ver[][]
for (int i=0; i<N; i++)
{
for (int j=0; j<N; j++)
{
if (mat[i][j] == 'O')
ver[i][j] = hor[i][j] = 0;
else
{
hor[i][j] = (j==0)? 1: hor[i][j-1] + 1;
ver[i][j] = (i==0)? 1: ver[i-1][j] + 1;
}
}
}
// Start from the rightmost-bottommost corner element and find
// the largest ssubsquare with the help of hor[][] and ver[][]
for (int i = N-1; i>=1; i--)
{
for (int j = N-1; j>=1; j--)
{
// Find smaller of values in hor[][] and ver[][]
// A Square can only be made by taking smaller
// value
int small = getMin(hor[i][j], ver[i][j]);
// At this point, we are sure that there is a right
// vertical line and bottom horizontal line of length
// at least 'small'.
// We found a bigger square if following conditions
// are met:
// 1)If side of square is greater than max.
// 2)There is a left vertical line of length >= 'small'
// 3)There is a top horizontal line of length >= 'small'
while (small > max)
{
if (ver[i][j-small+1] >= small &&
hor[i-small+1][j] >= small)
{
max = small;
}
small--;
}
}
}
return max;
}


Home
About TED/About TEDx
About Us
Contact Us
Who Are We?
We are students from Surrey passionate about sharing ideas with the youth around us.


lftp
Sophisticated file transfer program.
More information: home page
- Connect to an FTP server:
lftp --user username ftp.example.com
- Download multiple files (glob expression):
mget path/to/*.png
- Upload multiple files (glob expression):
mput path/to/*.zip
- Delete multiple files on the remote server:
mrm path/to/*.txt
- Rename a file on the remote server:
mv original_filename new_filename
- Download or update an entire directory:
mirror path/to/remote_dir path/to/local_output_dir
- Upload or update an entire directory:
mirror -R path/to/local_dir path/to/remote_output_dir


Welcome to the Twin Peaks Mall Points Information Page!
Home
Enter Code
Help
INFO GOES HERE
Store codes go here
this is a filler


This is where it all started. Samarthya for the last 3 years has been working directly with SMC members of 12 Department of Education Schools in the North East district. This district is among the lowest performing districts in Delhi. In Delhi Samarthya is empanelled with the Delhi Commission For Protection of Child Rights. In 2018 Samarthya also conducted a campaign across Delhi


Grocer
Cart
Sections
Produce
Deli
Frozen
Groceries
Produce
Strawberries
$4.00
Add to Cart
Mango
$6.00
Add to Cart
Banana
$3.00
Add to Cart
Deli
Turkey
$7.00
Add to Cart
Ham
$8.00
Add to Cart
Pork
$2.00
Add to Cart
Frozen
Eggos
$9.00
Add to Cart
TV Dinner
$5.00
Add to Cart
Ice Cream
$1.00
Add to Cart


She sells seashells by the seashore.
Click me to output to the console!
Click me to output to the browser!


labor
Sim
Export
Import
Generate
From Specs
From Library
Settings
Guide
About
Network
---
Employed
---
Unemployed
---
Tech. inn.
Add Firm
Firm
Employed
100
Unemployed
100
Hiring
Separation
Unemployment rate
Unemployment volatility
Beveridge Curve
Create network from a specification
Your net specification:
Specification is not valid JSON!
Not a valid spec!
Cancel
Import
Specification of the current network
Press CTRL+C (Cmd+C) to copy to clipboard
Close


JavaScript, JQuery, HTML, HTML5, CSS, CSS3, Web Programming Skills, E-Commerce, Teamwork, Verbal Communication, cross-browser compatibility, Web User Interface Design (UI), Security Principles, Object-Oriented Design, Web Services (REST/SOAP), Multimedia Content Development, API's
BACHELOR in computer superior university (campus) depalpur
Fresh
Online games,Bedminton,reading,Problem Solving
Will be provided on demand


Interleukin 6-induced differentiation of a human B cell line into IgM-secreting plasma cells is mediated by c-fos.
Abstract
The role of the protooncogene c-fos in interleukin (IL) 6 -induced B cell differentiation was assessed. Treatment of SKW 6.4 cells with IL 6 induced a transient and early stimulation of c-fos sense mRNA expression. The effect appeared within 30 min and returned to basal levels after 2 h. The addition of antisense oligonucleotides to c-fos significantly inhibited IL 6 -induced IgM production by SKW 6.4 cells (p less than 0.001), whereas control oligonucleotides had no inhibitory effect. These results indicate that activation of c-fos is involved in IL 6 -induced differentiation of SKW 6.4 cells into IgM-secreting cells.


Inspection detects usages of pseudo-functional code if Java Stream API is available.
Consider cases when monad behaviour is emulated by static method call:
List<String> transformedIterable = Iterables.transform(someList, someTransformFunction);
This inspection only reports if the project
or module is configured to use a language level
of 8 or higher.


Construct an array of the given type and size, filling it with the supplied contents. The type must be an array type. The array's contents must be single-word (that is, no arrays of long or double). The constructed instance is stored as a "result" in the same way that the method invocation instructions store their results, so the constructed instance must be moved to a register with a subsequent move-result-object instruction (if it is to be used).
| Op & Format | Mnemonic / Syntax | Arguments |
|---|---|---|
| 24 35c | filled-new-array {vD, vE, vF, vG, vA}, type@CCCC | B: array size and argument word count (4 bits)C: type index (16 bits)D..G, A: argument registers (4 bits each) |


Multi-size Ad Requests with DoubleClick Examples
Resize denied (above fold) - Creative should be centered
Secondary sizes > primary size (above fold) - Should see 'fallback'
fallback
Secondary sizes == primary size - Should render
fallback
Invalid multi-size attribute (above fold) - Should see 'fallback'
fallback
Resize granted (beneath fold) - Creative should be closely wrapped by parent div
Invalid multi-size attribute (beneath fold) - Should be empty
One invalid and one valid multi-size attribute - Should render
Multi-size less than 2/3rds primary size & size-validation == false - Should render
Multi-size less than 2/3rds primary size - Should be empty
Multiple secondary sizes (all valid) - Should render
Responsive - Should render
Size overrides - Should render with primary dimensions
Secondary sizes > primary size (below fold) - Should be empty


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


Forget password.
Please enter your email address below and we will send you a link to reset your password.
Email
{{usernameErrorMsg}}
Send mail


Everything looks good to go. Thanks!
This has been imported to prod.
closed
by None at 2023-01-11 19:19:42.@mzelesky pulled the latest alma info on these items and we still have about 200 items in CDL in temp locations. We are looking into just ending this cataloging practice.
mentioned
by None at 2023-01-11 16:15:50.subscribed
by None at 2023-01-11 16:15:50.closed
by Kate Lynch at 2023-01-11 16:30:14.referenced
by Esmé Cowles at 2023-01-11 16:34:16.merged
by Esmé Cowles at 2023-01-11 16:34:16.closed
by Esmé Cowles at 2023-01-11 16:34:16.head_ref_deleted
by Esmé Cowles at 2023-01-11 16:34:21.referenced
by Robert-Anthony Lee-Faison at 2023-01-11 15:15:18.merged
by Robert-Anthony Lee-Faison at 2023-01-11 15:15:18.closed
by Robert-Anthony Lee-Faison at 2023-01-11 15:15:19.head_ref_deleted
by Robert-Anthony Lee-Faison at 2023-01-11 15:15:25.assigned
by Eliot Jordan at 2023-01-11 20:22:04.labeled
by Kim Leaman at 2023-01-11 16:00:03.labeled
by Kim Leaman at 2023-01-11 16:00:03.The following Groups also needed the users to be added:
Administrator COLLECTION1846ADMIN COLLECTION3372SUBMIT COLLECTION3372ADMIN COLLECTION3206SUBMIT COLLECTION3384SUBMIT COLLECTION3387SUBMIT COLLECTION3387WORKFLOWSTEP2 COLLECTION3387ADMIN COLLECTION361DEFAULTITEMREAD COLLECTION362DEFAULTITEMREAD COLLECTION363DEFAULTITEMREAD COLLECTION364DEFAULTITEMREAD COLLECTION365DEFAULTITEMREAD COLLECTION366DEFAULTITEMREAD COLLECTION367DEFAULTITEMREAD COLLECTION368DEFAULTITEMREAD COLLECTION369DEFAULTITEMREAD COLLECTION370DEFAULTITEMREAD COLLECTION371DEFAULTITEMREAD COLLECTION372DEFAULTITEMREAD COLLECTION373DEFAULTITEMREAD COLLECTION374DEFAULTITEMREAD COLLECTION375DEFAULTITEMREAD COLLECTION376DEFAULTITEMREAD COLLECTION377DEFAULTITEMREAD COLLECTION378DEFAULTITEMREAD COLLECTION379DEFAULTITEMREAD COLLECTION380DEFAULTITEMREAD COLLECTION381DEFAULTITEMREAD COLLECTION382DEFAULTITEMREAD COLLECTION383DEFAULTITEMREAD COLLECTION384DEFAULTITEMREAD COLLECTION385DEFAULTITEMREAD COLLECTION386DEFAULTITEMREAD COLLECTION387DEFAULTITEMREAD COLLECTION388DEFAULTITEMREAD COLLECTION3326SUBMIT COLLECTION3326WORKFLOWSTEP2 COLLECTION389DEFAULTITEMREAD COLLECTION3326ADMIN COLLECTION390DEFAULTITEMREAD COLLECTION391DEFAULTITEMREAD COLLECTION392DEFAULTITEMREAD COLLECTION393DEFAULTITEMREAD COLLECTION394DEFAULTITEMREAD COLLECTION395DEFAULTITEMREAD COLLECTION396DEFAULTITEMREAD COLLECTION397DEFAULTITEMREAD COLLECTION398DEFAULTITEMREAD COLLECTION399DEFAULTITEMREAD COLLECTION400DEFAULTITEMREAD COLLECTION401DEFAULTITEMREAD COLLECTION402DEFAULTITEMREAD COLLECTION403DEFAULTITEMREAD COLLECTION404DEFAULTITEMREAD COLLECTION405DEFAULTITEMREAD COLLECTION406DEFAULTITEMREAD SrThesesBitstreamReadMudd COLLECTION407DEFAULTITEMREAD COLLECTION3346WORKFLOWSTEP2 COLLECTION3347WORKFLOWSTEP2 COLLECTION981ADMIN SrThesesBitstreamReadPrinceton
Only the following Groups should lie outside of the roles of research data curators:
Administrator COLLECTION361DEFAULTITEMREAD COLLECTION362DEFAULTITEMREAD COLLECTION363DEFAULTITEMREAD COLLECTION364DEFAULTITEMREAD COLLECTION365DEFAULTITEMREAD COLLECTION366DEFAULTITEMREAD COLLECTION367DEFAULTITEMREAD COLLECTION368DEFAULTITEMREAD COLLECTION369DEFAULTITEMREAD COLLECTION370DEFAULTITEMREAD COLLECTION371DEFAULTITEMREAD COLLECTION372DEFAULTITEMREAD COLLECTION373DEFAULTITEMREAD COLLECTION374DEFAULTITEMREAD COLLECTION375DEFAULTITEMREAD COLLECTION376DEFAULTITEMREAD COLLECTION377DEFAULTITEMREAD COLLECTION378DEFAULTITEMREAD COLLECTION379DEFAULTITEMREAD COLLECTION380DEFAULTITEMREAD COLLECTION381DEFAULTITEMREAD COLLECTION382DEFAULTITEMREAD COLLECTION383DEFAULTITEMREAD COLLECTION384DEFAULTITEMREAD COLLECTION385DEFAULTITEMREAD COLLECTION386DEFAULTITEMREAD COLLECTION387DEFAULTITEMREAD COLLECTION388DEFAULTITEMREAD COLLECTION389DEFAULTITEMREAD COLLECTION390DEFAULTITEMREAD COLLECTION391DEFAULTITEMREAD COLLECTION392DEFAULTITEMREAD COLLECTION393DEFAULTITEMREAD COLLECTION394DEFAULTITEMREAD COLLECTION395DEFAULTITEMREAD COLLECTION396DEFAULTITEMREAD COLLECTION397DEFAULTITEMREAD COLLECTION398DEFAULTITEMREAD COLLECTION399DEFAULTITEMREAD COLLECTION400DEFAULTITEMREAD COLLECTION401DEFAULTITEMREAD COLLECTION402DEFAULTITEMREAD COLLECTION403DEFAULTITEMREAD COLLECTION404DEFAULTITEMREAD COLLECTION405DEFAULTITEMREAD COLLECTION406DEFAULTITEMREAD COLLECTION407DEFAULTITEMREAD
This is awaiting pricing estimates from Digital Science for the hosted e-mail service.
labeled
by James R. Griffin III at 2023-01-11 15:20:57.Manually updating the proper authorizations seems to have resolved this. I have requested that this be tested by the reporting user.
The Princeton_IPs
Group needed to be set for the PDF bundles and bitstreams in order to properly authorize access.
closed
by James R. Griffin III at 2023-01-11 16:03:15.closed
by James R. Griffin III at 2023-01-11 16:16:03.closed
by Kate Lynch at 2023-01-11 16:30:34.This was indeed resolved.
closed
by James R. Griffin III at 2023-01-11 16:39:30.ready_for_review
by Eliot Jordan at 2023-01-10 22:11:11.referenced
by Eliot Jordan at 2023-01-10 22:11:16.merged
by Eliot Jordan at 2023-01-10 22:11:16.closed
by Eliot Jordan at 2023-01-10 22:11:16.head_ref_deleted
by Eliot Jordan at 2023-01-10 22:11:17.closed
by Eliot Jordan at 2023-01-10 22:11:18.assigned
by Eliot Jordan at 2023-01-11 20:20:59.@kevinreiss write IRWG to find out what they want the new queue to be called.
Hey team! Please add your planning poker estimate with Zenhub @regineheberlein @rladdusaw @sandbergja
mentioned
by Kevin Reiss at 2023-01-11 16:40:09.subscribed
by Kevin Reiss at 2023-01-11 16:40:09.mentioned
by None at 2023-01-11 16:41:29.subscribed
by None at 2023-01-11 16:41:29.mentioned
by Jane Sandberg at 2023-01-11 16:41:29.subscribed
by Jane Sandberg at 2023-01-11 16:41:29.mentioned
by None at 2023-01-11 16:41:29.subscribed
by None at 2023-01-11 16:41:29.Hey team! Please add your planning poker estimate with Zenhub @maxkadel @rladdusaw @sandbergja
mentioned
by Jane Sandberg at 2023-01-11 16:44:38.subscribed
by Jane Sandberg at 2023-01-11 16:44:38.mentioned
by None at 2023-01-11 16:44:38.subscribed
by None at 2023-01-11 16:44:38.mentioned
by Max Kadel at 2023-01-11 16:44:38.subscribed
by Max Kadel at 2023-01-11 16:44:38.Hey team! Please add your planning poker estimate with Zenhub @maxkadel @rladdusaw @sandbergja
Think this is the line to add the mms id and barcode https://github.com/pulibrary/orangelight/blob/main/app/models/requests/submissions/clancy_edd.rb#L27
mentioned
by Jane Sandberg at 2023-01-11 16:48:30.subscribed
by Jane Sandberg at 2023-01-11 16:48:30.mentioned
by None at 2023-01-11 16:48:30.subscribed
by None at 2023-01-11 16:48:30.mentioned
by Max Kadel at 2023-01-11 16:48:30.subscribed
by Max Kadel at 2023-01-11 16:48:30.Hey team! Please add your planning poker estimate with Zenhub @maxkadel @rladdusaw @sandbergja
mentioned
by Jane Sandberg at 2023-01-11 16:52:09.subscribed
by Jane Sandberg at 2023-01-11 16:52:09.mentioned
by None at 2023-01-11 16:52:09.subscribed
by None at 2023-01-11 16:52:09.mentioned
by Max Kadel at 2023-01-11 16:52:09.subscribed
by Max Kadel at 2023-01-11 16:52:09.The viewer loads very slowly (at times) and we don't necessarily know if one exists until we query figgy (we think). We have concerns about more prominently displaying the item when it renders after page load and will push down other content on the page abruptly.
I think we would want to have the proposed digital inventory feature working so we would know ahead of time if we needed to display the viewer or not. Though the slow loading time would be a UX challenge either way.
Another thing to consider when implementing this ticket: should we also remove the thumbnail from the show page for items with a viewer?
Coverage: 94.514%. Remained the same when pulling efb25c56d457b596332fc0a565d6f7ca16d17a1b on more_deprecation into ac78d93e0a553e79ea37f6ae4cdad40e04c17be0 on main.
referenced
by Bess Sadler at 2023-01-10 22:04:27.merged
by Bess Sadler at 2023-01-10 22:04:27.closed
by Bess Sadler at 2023-01-10 22:04:28.head_ref_deleted
by Bess Sadler at 2023-01-10 22:04:29.assigned
by Tyler Wade at 2023-01-11 14:30:33.referenced
by Chuck McCallum at 2023-01-11 16:04:55.merged
by Chuck McCallum at 2023-01-11 16:04:55.closed
by Chuck McCallum at 2023-01-11 16:04:56.head_ref_deleted
by Chuck McCallum at 2023-01-11 16:04:57.labeled
by Hector Correa at 2023-01-11 16:29:55.Talking just now: We'll just need to stop delegating to_json
entirely to the resource: Instead, work will have to_json
, and it will use the data from resource, but also the information it has that the resource doesn't.
closing this, since we will not be attaching this right now. We can get back to it later...
head_ref_force_pushed
by None at 2023-01-11 12:58:52.head_ref_force_pushed
by None at 2023-01-11 13:17:05.closed
by None at 2023-01-11 19:45:36.assigned
by None at 2023-01-11 19:47:03.closed
by Chuck McCallum at 2023-01-11 21:43:14.head_ref_deleted
by Chuck McCallum at 2023-01-11 21:43:18.convert_to_draft
by Chuck McCallum at 2023-01-11 21:40:57.ready_for_review
by Chuck McCallum at 2023-01-11 21:58:51.@bess added the tests, see spec/lib/describe_indexer_spec.rb
mentioned
by Bess Sadler at 2023-01-11 21:26:43.subscribed
by Bess Sadler at 2023-01-11 21:26:43.review_requested
by Hector Correa at 2023-01-11 21:26:53.assigned
by Hector Correa at 2023-01-11 21:52:34.referenced
by Francis Kayiwa at 2023-01-11 18:46:37.merged
by Francis Kayiwa at 2023-01-11 18:46:37.closed
by Francis Kayiwa at 2023-01-11 18:46:37.head_ref_deleted
by Francis Kayiwa at 2023-01-11 18:46:38.The test email is not working - it gives an "internal server error"
review_requested
by Francis Kayiwa at 2023-01-10 22:13:22.head_ref_force_pushed
by Francis Kayiwa at 2023-01-11 20:42:06.referenced
by Jane Sandberg at 2023-01-11 21:06:52.merged
by Jane Sandberg at 2023-01-11 21:06:52.closed
by Jane Sandberg at 2023-01-11 21:06:52.head_ref_deleted
by Jane Sandberg at 2023-01-11 21:06:53.review_requested
by Francis Kayiwa at 2023-01-10 22:13:02.referenced
by Francis Kayiwa at 2023-01-12 00:17:45.merged
by Francis Kayiwa at 2023-01-12 00:17:45.closed
by Francis Kayiwa at 2023-01-12 00:17:46.head_ref_deleted
by Francis Kayiwa at 2023-01-12 00:17:46.labeled
by None at 2023-01-10 22:17:46.labeled
by None at 2023-01-11 21:42:38.Notes from some digging today:
/var/log/redis/redis-server.log
on lib-redis, not even a line about the error.lua-time-limit
for the Redis server (default 5,000 ms). There's no current entry for this config setting in /etc/redis/redis.conf
on lib-redis.lua-time-limit
as the amount of time Redis rejects client commands to allow a script to complete. After this limit is reached, if the script continues to execute, Redis accepts client commands but returns the BUSY
error. So updating the lua-time-limit
won't fix the problem we're seeing.Redis.new timeout: 30
.renamed
by Eliot Jordan at 2023-01-10 22:06:20.referenced
by Trey Pendragon at 2023-01-10 22:52:04.merged
by Trey Pendragon at 2023-01-10 22:52:04.closed
by Trey Pendragon at 2023-01-10 22:52:05.head_ref_deleted
by Trey Pendragon at 2023-01-10 22:52:06.closed
by Trey Pendragon at 2023-01-10 22:52:06.labeled
by None at 2023-01-11 00:52:45.labeled
by None at 2023-01-11 00:52:45.labeled
by None at 2023-01-12 02:50:16.labeled
by None at 2023-01-12 02:50:16.January 11, 2023 meeting: Matt indicated there would be more roles. Up to us how this is implemented behind the scenes, but I'm inclined to take the more general approach outlined here.
Rotated.
closed
by Eliot Jordan at 2023-01-11 21:58:29.


A summary of some new news related to CUNY's and CSI's response to the COVID-19 pandemic. See https://csi-covid19.github.io/ for the archive.
To add/suggest news, please email John Verzani
link The PSC Chapter Chair emailed about meetings with management
link Workshops to keep Collaborate secure were announced after an email about issues.
link We were warned about phishing attempts related to COVID-19
This 4/7 article says:
The CSI field hospital was initially supposed to have 1,000 hospital beds, but the Army Corps of Engineers told the Advance Friday the facility would now contain 1,030 beds.
The Corps said last week it completed a preliminary design for a “150 bed alternate care facility” at CSI, which it hoped to award a contract to “soon.”
Asked last week when the state’s new downstate field hospitals would open, Cuomo could not provide a clear timeline either.
Instead, the governor said the additional field hospitals would open “when we need them,” describing them as the “last of the last resort” sites which you would still need equipment and staff.


Submission Guidelines
The deadline for submissions of technical papers is February 18, 2005. No extensions will be given. Papers must be formatted according the ACM proceedings format and should be no longer than 10 pages in this format. This 10 pages includes everything. The page limit will be strictly enforced. Templates for ACM format are available for Word Perfect, Microsoft Word, and Latex at http://www.acm.org/sigs/pubs/proceed/template.html. Submissions should be in PDF (preferably) or Postscript that is interpretable by Ghostscript and printable on US Letter and A4 sized paper.
Submission is closed
Submitted papers must describe work unpublished in refereed venues, and not submitted for publication elsewhere (including journals and formal proceedings of conferences and workshops). See the SIGPLAN republication policy for more details http://www.acm.org/sigs/sigplan/republicationpolicy.htm
Authors will be notified by March 28, 2005. Authors of accepted papers will be required to sign ACM copyright release forms. Proceedings will be published by ACM Press.
Paper Evaluation
The program committee will evaluate the technical contribution of each submission as well as its general accessibility to the VEE audience. Papers will be judged on significance, originality, relevance, correctness, and clarity. The paper must be organized so that it is easily understood by an audience with varied expertise. The paper should clearly identify what has been accomplished, why it is significant, and how it compares with previous work. Papers that introduce new ideas or approaches are especially encouraged. Suggestiions on how to prepare a good submission can be found at http://www.acm.org/sigs/sigplan/conferences/author-info/.


say('Hello world')
Alain Vagner
@biou
functional procrastination
Vincent Lark
@allyouneedisgnu
function is undefined
Introduction
- Discover functional programming
- Basic concepts and concrete examples
- Ask questions!
Warning
- Modern specs provide new syntax, but...
- We'll use here ES5 / JS 1.8
- Check compatibilty with MDN or caniuse.com!
Definition
A programming method that prefers using functions to state changes.
Goals?
- Less side effects
- More maintainable
- More modular
- More reliable
Getting started
Functions as first class citizen
Higher order functions
Functions as parameters or return value
of other functions
Collections
Pure functions
&
Side effects
Pure functions
A pure function is a determinist function
without any state change.
It uses only its parameters and local variables.
What for?
By keeping functions pure,
we avoid mutations and thus side effects.
Are OOP and func. prog. not compatible?
Composition
Partial function application
Advanced concepts
Ecosystem
Libs
The future


404
page not found
Unfortunately we're having trouble loading the page you are looking for. Please wait a moment and try again.


Find a Doctor In the Seattle Metro Area
Search for a specific Doctor:
Search by specialty:
Search
First Name
Last Name
Address
Phone Number
Currently Accepting New Patients


Man Utd and PSG planning huge January bids for Roma midfielder Nicolo Zaniolo
Manchester United are considering a January move for Roma and Italy midfielder Nicolo Zaniolo, but will face stiff competition from Paris Saint-Germain if they decide to make a move.
The 20-year-old has fast become one of the most sought-after talents in Europe after becoming a fixture in the Roma team and bursting onto the international scene as well.
The youngster made his Italy debut in March and scored his first two goals for his country in the 9-1 battering of Armenia last week.
Previously linked with Tottenham, Zaniolo has regularly been talked up as a target for Premier League clubs in recent months, with Manchester United now leading the chasing pack.
However, the Express report that PSG are also keen on the Italian, which means that he will become very expensive, very quickly.
If United or PSG are going to prise the midfielder away from the Italian capital, they will have to come up with at least £50m.
Advertisement Advertisement
The club are under no pressure to sell as he only signed a new deal at Roma, keeping him there until 2024, however, they could still be tempted to sell with a big offer on the table.
The Red Devils may have an advantage over PSG in discussions, though, as they plan to involve Zaniolo in a deal to make Chris Smalling’s loan to Roma permanent.
The England international is currently on a short-term deal with Roma but has impressed and the club are thought to be interested in extending his stay.
Zaniolo has been made aware of the interest from England, but has only spoken of his desire to continue his career at Roma.
‘Interest from England? It would be easy to say ‘Yes, why not’, but it wouldn’t be me,’ said the Italy international.
‘I tell you the truth, I recently kissed the Roma shirt and I want to kiss it anytime I score a goal.
‘I’m very happy, Roma have given me so much confidence, now I’ll repay it on the pitch. I’m proud to represent these fans, I feel very good here.’


{%- extends "base.html" %} {% block title %}home{% endblock %} {% block content %} {% if get_slip() is none %}
An anonymous imageboard for the 21st century
If you're not sure what an imageboard is, or why you'd want to use one, check out the FAQ. If you already know what an imageboard is, but aren't quite aware of what Maniwani brings to the table, there's another FAQ entry that should help you out. If you want to dive right in, you can see the most recently-updated threads on the site below.


@shaggytools/template-typescript-npm
A boilerplate/starter template to get you started:
-
coding in Typescript,
-
unit testing with Jest,
-
generating documentation with JSDoc,
-
building a universal package with Rollup,
-
and publishing your package to NPM / Yarn for use anywhere (CommonJs, UMD, AMD, IIFE, ESModule, CDN, browser script, etc.)
INFO: This template was developed and tested on
Node v12.14.0
,NPM v6.11.3
, andYarn v1.21.1
Table of Contents
-
Expand to see all development scripts available in ./package.json.
Purpose
I wrote this starter template because I wanted an easy way to quickly publish NPM packages that could then be used in both node and the browser. What you've stumbled upon is the result of a two week rabbit hole of learning and evolving this package into how you find it in it's current form. I tried to document here extensively so that it's easier to use and also because my markdown skills needed some improvement and practice. I hope that it helps you. Anyone is welcome to contribute, submit bug fixes or improvements, etc.
-- @ShaggyTech
Setup
Prerequisites
-
[ ] Install Node
-
[ ] Install Yarn - an alternative to NPM and used in this template's scripts.
-
[ ] Optional - Install NVM - to switch between different node versions.
-
[ ] It is recommended to use the Visual Studio Code editor to develop your package.
-
[ ] It is also recommended to install the Live Server - Extension for VS Code to be able to test live versions of your modules locally in the browser before publishing to NPM and Yarn.
1 Clone this template and install dev dependencies
// Clone this repository:
git clone https://github.com/ShaggyTech/template-typescript-npm.git
// Change into the template directory
cd template-typescript-npm
//Install all of the development dependencies listed in the package.json with:
yarn install
2 Setup your remote git repository
Follow this Tutorial to get your remote repository setup and ready for the next steps.
3 Edit the root package dot json file
-
Change the
"name"
field to what you want your NPM / Yarn package name to be.- This package uses an NPM organization as the first part of the name (@shaggytools/) but not all packages do.
-
Change the
"libraryName"
to the global variable name you want to use when importing and using the package in a browser script. Ex:myModuleName.function()
.- The
rollup.config.ts
file uses this field to determine the library name output in the various bundles. - You might also want to change the various .html and .ts files in the
/tests/
folder to use this new name in the script imports. These html files are simply there to show you how the various modules can be imported and used in the browser.
- The
-
Customize the following fields to your desired values:
"version"
: start at 1.0.0 or 0.0.1, etc."description"
: short description of your package"repository.url"
: your git remote repository"author"
: your name, email, etc."bugs.url"
: where users can report bugs and issues"homepage"
: can be documentation homepage (gh-pages) or GitHub link, etc."keywords"
: an array of keywords to help find your package in searches
4 Edit this root README file
The root template README.md
file, that you are currently reading this from, will serve as the index.html
of the documentation, as well as the npmjs.com, yarnpkg.com, and source code homepages. Therefore, you must complete the following steps:
1) Bookmark the live documentation version of this README for future reference as you are about to heavily edit or delete the contents of this file and may need it in the future. You can also rename or move the file if you prefer to save a local copy.
2)
- EITHER Heavily edit and modify this README file to suit your package needs.
- OR Delete the contents of this file and start over with your package info.
- OR Rename this file to something else so you can still reference it later, and create a new root
./README.md
file with your desired package info.
3. Optional
You can change the homepage of the documentation by changing module.exports.opts.readme
in the JSDoc config file: ./jsdoc.js
5 Add NPM and Yarn credentials
-
Ensure you've setup your
package.json
as described above. -
Follow the steps listed HERE to get setup for publishing your package.
Configuration Files
Some files at the root project level are configuration files for various packages used in this template. I encourage you to open these up and at least skim through them. Play around and see how the process and build is affected when changing or adding config options.
| Package | Config File | Description | Prod | Dev |
|---|---|---|---|---|
| Rollup | rollup.config.ts | Uses process.env.ROLLUP_WATCH = 'true' or 'false' to switch output location and other options | X | x |
| Typescript | tsconfig.json | Used for production builds | x | |
| Typescript | tsconfig.dev.json | Used for development builds | x | |
| JSDoc | jsdoc.js | Uses process.env.JSDOC_ENV = 'development' or 'production' to switch output location and other options | x | x |
| Jest | jest.config.js | Testing during development | x | |
| Babel | .babelrc | Used to transpile code in production and development | x | x |
| ESLint | .eslintrc.js | Used by our code editor to enforce code standards and styling | x | |
| Prettier | .prettierrc | Used by our code editor (VS Code) for styling our code | x |
Development scripts
There are more scripts in the ./package.json
file than are listed here but these are the frequently used ones. Add your own or modify the existing ones if needed.
All of these commands are to be run in the terminal from the root project directory, and can be found in the ./package.json
file. You can also substitute npm add
for yarn
in the commands if you prefer to use NPM.
yarn build
Builds the production Rollup build and outputs to the ./dist
folder.
-
Removes the contents of the
./dist
folder before each run -
This script is run automatically before every
yarn release
yarn build-docs
This will build the production documentation via JSDoc.
-
Cleans all files from the
./docs
folder before each run. -
Outputs JSDoc build files to
./docs/
. -
See the
./jsdoc.js
config file to adjust the documentation options, output, plugins, templates, etc.
yarn build-dev
Concurrently runs all of the development yarn-dev-*
scripts.
yarn build-dev-dist
Builds the development Rollup outputs to the ./dev/dist
folder.
-
Removes the contents of the
./dev/dist
folder before each run -
This script will run automatically before each run of
yarn release
yarn build-dev-docs
Builds the development version of the documentation via JSDoc
See Documentation during Development
-
Cleans all files from the
./dev/docs
folder before each run. -
Outputs JSDoc build files to
./dev/docs/
-
See
./jsdoc.js
config file to adjust the documentation options, output, plugins, template, etc.
yarn build-dev-ts
An alternative to yarn watch-tsc
This script will run the Typescript compiler tsc -p tsconfig.dev.json --module commonjs
and will output files to ./dist/lib
. Change the outDir
option in ./tsconfig.dev.json
if you want it going to another folder.
Also, you can run the tsc
command with no -p
(configuration path) flag if you would like to use the default path to the production ./tsconfig.json
Typescript config file. This will instead output Typescript build files to ./dist/lib/
. Remember that everything inside the ./dist
folder will be included as part of your NPM package. It's typically not necessary to include this lib
folder in your final package so we only use tsc
for debug purposes in development.
yarn clean
Delete everything from the ./dev/
and ./dist/
folders.
yarn clean-dev
Delete everything from the ./dev/
folder.
yarn clean-dist
Delete everything from the ./dist/
folder.
yarn clean-docs
Delete everything from the ./docs
folder
yarn clean-dev-dist
This script will delete everything inside the ./dev/dist
folder.
yarn clean-dev-docs
Delete everything from the ./dev/docs
folder.
yarn clean-dev-packageJson
Delete the package.json copy from ./dev/package.json
.
yarn clean-dev-tests
This script will clean all files from the ./dev/coverage
folder and clear the Jest testing cache.
yarn cleanup
Deletes the copied ./dev/package.json
.
Completely removes the ./dist
and ./dist
folders.
yarn cleanup-everything
Runs yarn cleanup
and completely removes the ./node_modules/
folder and all contents of that folder.
yarn copy-packageJsonToDev
First deletes ./dev/package.json
to start with a fresh file.
Then copies the root package.json
into the ./dev
folder. Directly importing your package from the ./dev
folder will use the main
, module
, or browser
keys from the ./dev/package.json
to better simulate a production package on NPM.
yarn release
- will do the following, in listed order, to publish your package:
- clean the
/dist/
folder - run
yarn build
script - run
yarn publish
script - ask for a new version number
- publish the contents of the
./dist/
folder to both NPM and Yarn, using the value ofpackage.json.name
and the new version number - run
git push --tags
to update your repository with a commit tagged with the newest version
- clean the
yarn test
Runs jest
command. This will run all tests in your project a single time.
yarn test-clearCache
Runs ./node_modules/.bin/jest --clearCache"
command. This will clear the Jest cache. Useful if you've made changes that aren't being reflected in the most recent tests, or possible random testing bugs.
yarn watch
This script will run the watchAll.js
script located in the root bin
directory and allow you to more easily watch all portions of the development process, reloading with file changes each time.
- Outputs development files to relevant sub-directories of the
./dev/
directory. - will simultaneously run TSC, Rollup, JSDoc, and Jest in watch modes, watching for changes in the
./src
,./docs
,./docsSrc
and/tests
folders, with all outputs going to the./dev
folder. - Under the hood this command runs the
watchAll.js
file found in the/bin
folder. Feel free to modify that file if you want to adjust/add/remove any of the commands that are run concurrently.
NOTE: This command is resource intensive and may be slow on older PCs. You may be better off either removing a few of the commands from the
bin/watchAll.js
script which this script implements, or running the individual watch scripts (watch-docs
watch-test
watch-rollup
watch-tsc
) themselves, in separate windows as needed.NOTE: You won't be able to use Jest keyboard commands in this main watch mode, use
watch-test
if you need finer control in Jest watch mode.
yarn watch-docs
Continuously rebuilds the documentation using JSDoc and Nodemon, and outputs files to ./dev/docs/
.
Watches the ./src
and ./docSrc
folders and rebuilds on changes.
Related configuration file: ./jsdoc.js
yarn watch-tsc
Continuously type checks your Typescript source code with tsc --watch
.
Compiles the Typescript code and outputs the files to ./dev/lib/
.
Watches the ./src
folder and rebuilds on changes.
Related configuration file: ./tsconfig.dev.json
yarn watch-test
Continuously tests your code with jest --watch --onlyChanged
.
Watches the./src
and ./tests
folders for changes.
Outputs code coverage report files to ./dev/coverage
Because it uses the --onlyChanged
flag in the jest command, only tests with changes or added tests since the most recent commit will be ran.
Related configuration files: jest.config.js
and jest.setup.js
.
yarn watch-rollup
Continuously compiles the development version of the Rollup build.
Outputs files to ./dev/dist/
. Watch mode is based on changes you make to the ./src
folder.
Relevant configuration file: rollup.config.ts
Project Structure
!
- denotes a folder + sub-folders ignored by git (see .gitignore
file) and not included when committing and pushing to a remote repository. You can safely delete or clear these folders before committing and pushing to a remote repository.
*
- denotes a folder + sub-folders ignored when publishing to NPM/Yarn with yarn release
. You can safely delete or clear these folders before publishing your package.
Structure Overview
## Folder Structure Overview ##
bin/
<!*>
dev/
coverage/
- code coverage output files from Jest
dist/
- development rollup build, mirrors root /dist folder structure
docs/
- production documentation build with JSDoc, considered part of source code.
package.json
- copy of the root package.json file,
- simulates a final package so you can import directly from the ./dev folder
<!>
dist/
- browser/
- IIFE
- minified
- single file
- cjs/
- CommonJs/Node)
- code-split
- module
- module/
- ESM Module
- ES2015+
- code-split
- module
- types/
- Typescript `.d.ts` type definition files
- auto populated from your ./src code
- bundle.min.js
- UMD (universal bundle)
- browser and node
- minified
- single file
- bundle.min.js.gz
- UMD
- Universal Bundle, browser and node
- minified
- gzipped
docs/
docsSrc/
- static/
- tutorials/
src/
- __tests__/ (test files ending with .test.ts)
- index.ts (main entry)
- ... more source code
tests/
- browser/
- simulated browser imports in .html files
- node/
- simulated CommonJs imports in .ts files
README.md
- home page of the documentation page and npmjs.com package
package.json
- scripts and package settings
+ various package configuration files []()
Directories
bin
A directory containing node helper scripts used in package.json
scripts.
dev
A directory which contains all of the output when running any of the development scripts in package.json
-
Directory will not be created until the first time you run a development script that outputs here.
-
Not included in the source code repository nor in the published package code
-
Clear all folder contents via
yarn cleanDev
dist
A directory which contains all of the output from yarn build
script in package.json
.
This is also the directory that will be uploaded to NPM/Yarn when you publish your package with yarn publish
.
-
Directory will not be created until the first time you run the
build
script. -
Not included in the source code repository.
-
Clear folder contents via
yarn clean-dist
docs
A directory containing the output from yarn build-docs
GitHub can automatically update your documentation site every time you push changes to this folder to your remote repository. Set this folder as the gh-pages source in your repository settings:
See this GitHub help article for more information
- Clear folder contents via
yarn docs-clean
docsSrc
A directory containing static assets, tutorials, and anything else you would like to include when building the documentation files.
src
A directory containing all source code typescript files as well as Jest unit tests located in __tests__
sub directories and with each test file's name ending in .test.ts
or .spec.ts
.
tests
A directory containing tests that check various ways of importing the module. Add more or modify the existing ones to fit your needs.
Documenting Your Code
See HERE for an example of the live documentation for this template package.
This template utilizes the NPM module JSDoc in order to document your code.
It is recommended to read through the JSDoc documentation if you're not familiar with how to document your code.
NOTE: Best practice is to always make changes with the development version of the documentation first before building the production version.
Although the builds will be exact copies if ran at the same time at any point in development, it was thought to be a better practice if we separate development and production versions of the documentation builds. The
./docs/
folder is part of the source code and is even used bygh-pages
for the live website version of your documentation. You only want to rebuild docs in that folder once, after making changes and before committing and pushing your new./docs
build to your GitHub repository.
Documentation During Development
Using VS Code and the Live-Server plugin to see documentation output live during the development stage
- Uses
process.env.JSDOC_ENV = 'development'
to denote this is a development build. - Edit
./jsdoc.js
to adjust the options, output, plugins, templates, etc.
Using Visual Studio Code and the associated LiveServer plugin you can utilize the following scripts to setup live documentation changes.
-
Install Visual Studio Code and it's LiveServer plugin if you have not already done so.
-
Use
yarn watch-docs
to only watch JSDoc -
Use
yarn watch
to watch JSDoc along with all other development watch- scripts at the same time.
This will output documentation build files to the ./dev/docs/
directory.
If you then right click on the ./dev/docs/index.html
file and select Open With Live Server
, this will open a new browser window.
Any changes you make to files located in the ./src/
and ./docsSrc/
directories will trigger the docs to get rebuilt and the changes reflected live in the browser window that was opened with Live Server.
You can also use other plugins or ways of live reloading your changes in the browser if you prefer something else.
Once you are satisfied with your changes, continue to the next section below to see how you can use GitHub Pages (gh-pages) to automatically create a live version of your documentation.
Production Documentation
-
Uses
process.env.JSDOC_ENV = 'production'
to denote this is a production build. -
Edit
./jsdoc.js
to adjust the options, output, plugins, templates, etc.
IMPORTANT! - If you haven't moved, modified, or renamed this ./readme.md file and it is located in your project root directory, this means YOU HAVE NOT COMPLETED the Setup part of this template. You should do so now before proceeding with the following steps.
Setup gh-pages to serve your live documentation from remote repository:
GitHub can use the docs
folder in your remote GitHub repository to serve a live version of the JSDoc build files in that folder, via gh-pages
.
This means you can update the "production" documentation by simply building new documentation files in the local ./docs
folder and pushing the changes to your remote repository, Shortly thereafter, the live 'production' documentation website should be updated with your changes within several minutes. Follow these steps to make it happen:
-
Make sure you have followed all steps in the SETUP section at the top of this file. It's important that your
./package.json
and./README.md
files have been modified for your specific package/project. -
Set the
docs
folder as the gh-pages source in your repository settings. -
Make changes to your documentation, in either the
./README.md
file, or the./src
or./docsSrc
folders. -
Run
yarn build-docs
to generate new documentation in the./docs
folder. -
Run
git commit -m "commit message here"
-
Run
git push
to update the remote repository, and new changes to documentation will be live within several minutes.
It is recommended to commit any changes to the
./docs
folder in a commit separate from any other source code changes, usually after building and committing production builds. The reason for this is that your commits will end up cluttered with numerous file changes within the./docs
folder whenever building new docs withbuild-docs
. This is more of a preference but tends to keep your commits nice and tidy.
Testing Your Code
This template utilizes the NPM module Jest in order to test the code you write.
You are strongly encouraged to read through the Jest Documentation if you're not familiar with how to test your code.
The configuration file that jest uses is ./jest.config.js
. Open it up and take a look at the configuration settings before reading on.
By default, Jest looks for files ending in either .test.ts
, .spec.ts
, or .js|.jsx
equivalents of the former two. These files must be located in __tests__
sub directories anywhere within the root src/
directory.
Code coverage collection will only include the ./src/
folder by default.
Typescript files (.test.ts
) are processed by NPM package ts-jest
.
The Typescript configuration used for ts-jest is: ./tsconfig.dev.json
.
Testing scripts included in this template
yarn watch-test
Runs Jest in watch mode with the --onlyChanged option flag, this will limit tests to only files that have changed since the most recent git commit.
yarn test
Runs all tests once.
yarn watch
Runs Jest in watch mode with the --onlyChanged option flag, concurrently with other watch scripts. Note that you won't be able to enter any commands to control jest, use yarn watch-test
if you want the ability to enter Jest commands during watch mode.
Build Your Package
This template utilizes the NPM module Rollup and various associated plugins in order to package your module into multiple formats (the 'universal' part of this template).
I encourage you to read through the Rollup Documentation if you're not familiar with how to bundle your code.
The build outputs to ./dist/
and is controlled via the rollup.config.ts
config file.
By default this template is setup to output the following formats: Default:UMD(Universal
- CJS(CommonJS/Node)
ESM(ES Module)
IIFE(Browser)
. This and other options can be changed in the rollup config file.
A types
folder is also output into ./dist/
, which will contain all of the Typescript type definition files (.d.ts) for your package. Change the output location in the tsconfig.json
and/or tsconfig.dev.json
Typescript config files.
Development build
yarn build-dev
or yarn watch
or yarn watch-rollup
Will build the package with Rollup and output everything to ./dev/dist/
. A copy of the ./package.json
file will also be placed in the root of ./dev/
folder.
Production build
yarn build
Will build the package with Rollup and output everything to ./dist/
. The contents of that folder are what gets uploaded to NPM and Yarn when you publish your package.
Publish Your Package
Prepare for release
IMPORTANT: Make sure you have followed all of the steps in the Setup section of this document before proceeding!
Follow the steps listed HERE to get setup and ready to publish your package. You will need to be logged in to NPM with your credentials to be able to publish a package.
-
Make sure you've setup your root
package.json
file -
Make sure you've setup your root
README.md
file
Release a new package version
It is advised that you commit and push all of your source code to your remote repository before running the release
script. If done correctly, the last 2 commits in your remote repo, after publishing, should be <vX.X.X>
and then <new source code commit>
.
This is a final step and the version number you choose is permanent, once published it cannot be changed. If you mess up or need to change something after publishing, you will have to bump the version (x.x.+1) by running yarn release
again.
We recommend using the yarn pack or yarn link commands to test local development before publishing.
You can also use the files found in the root tests/
folder to test your Rollup output is correctly imported in various different scenarios before publishing.
yarn pack
creates gzipped NPM package file
- creates a gzipped file identical to what will be uploaded to NPM as the final package contents. Use this to ensure you're uploading what you think you are to NPM, upon release.
yarn release
to publish your package.
- This script will run
yarn build
before attempting to publish your package. - You will be prompted to enter a new version number before publishing is completed. Once entered, the package.json "version" field will be changed to reflect the new version, saved, and git committed.
- After successfully publishing the package,
git push --tags
is run to push a commit to remote source with the new version as the commit name.


and the with respiratory for are patients viral infection HCT transplant RSV tract immunocompromised lower been ribavirin influenza virus cell not may {background associated have has hematopoietic infections recipients children disease The after human viruses detection from PIV clinical treatment margin was pediatric {border-style Infect px;} •Isolation #ffffff;} Dis available can risk HMPV although care months most including should syncytial use were PIV- Transplant also oral recipients, severe therapy vaccination adults all but common detected more other patients. RSV, SOT adult against antiviral influenza, patients, recommended that aerosolized organ progression studies allogeneic control high mortality oseltamivir outcomes recipients. recipients: such than HMPV, HRV PIV, Respiratory data factors multicenter retrospective similar solid used vaccine who zanamivir Influenza Marrow during hospitalized less lung nasal parainfluenza potential prolonged px; those under {font-family Not Pediatric among antibody children. demonstrated efficacy font-size guidelines hematologic include intensive large molecular peramivir present procedures severely shedding significant stem study symptoms this young HCT, HCoV, Oncology United antibodies availability both chemotherapy community considered contact days decreased double; evaluated evidence fever hosts however, infection. likely oncology outbreaks sensitive strains upper virus, well •Infection •Supportive Blood Elsevier Infections Infectious Limited Other asymptomatic before border-color border-width bronchoalveolar caused diagnosis disease, drug effect even first generally high-dose hospital immune immunosuppressed inpatient its leukemia metapneumovirus need outbreak outpatient oxygen pneumonia prophylaxis randomized rates receiving recent recommend regarding relatively remains resistance review rhinovirus solid; these time transmission transplant, trial trials virus; viruses, when {font-style {font-weight •Consider •Vaccination Available COVID- Clinical For HCoVs HRV, New Nosocomial Ribavirin any because bold cancer centre close comparing concern consider courier; currently death. diagnostic em; epidemiology fatal followed had health healthy high-risk impact infected infection, inhaled intravenous levels malignancy monoclonal morbidity mortality. novel now often older one onset outcome particularly prevention prospective protein, pt;} quality reported require resource result results setting shedding, starting through undergoing vaccines via weeks within without younger


My project portfolio
PulseBox
Embedded system, lead programmer
A modern disco "ball" that tracks musical beats live. The Pulse Box was presented at ICASSP 2017, IEEE's international signal processing conference.
Multitask
Flash game, creator
Multitask involves playing multiple minigames at the same time. Together, Multitask 1 and 2 have been played over 20 million times. Click to play
Chessify
Android app, developer
Use your phone camera to automatically track and analyze chess games! Basic piece tracking works, but development is still underway. Click for more info
PicTune
How well can you see sounds? In this synesthetic game, you hear mystery shapes and guess what they are. Click to play
Omino
Not an ordinary tetris clone. Instead of getting faster, the blocks grow bigger in size as you progress. Click to play
Avoidster
The first game I made that I was proud of. Avoid stuff. Very difficult. Click to play
Mindivision
iOS game, contributor
This game was made by Monocle Society, modeled after my game Multitask. They consulted with me through its development.
This page
HTML5 website, creator
Not much to say. You're already here. Click to view the source on GitHub


Reports methods that have too many statements. Methods that have too many statements
may be confusing, and are a good sign that refactoring is necessary.
Empty statements and comments are not counted. Only the contents of block statements are counted.
The initialization and update statements of a for loop are not counted.
Use the field below to specify the maximum number of non-comment source statements a method is allowed to have.


When you run Ocamlyacc, you give it a Ocamlyacc grammar file as input. The output is a Ocaml source file that parses the language described by the grammar. This file is called a Ocamlyacc parser. Keep in mind that the Ocamlyacc utility and the Ocamlyacc parser are two distinct programs: the Ocamlyacc utility is a program whose output is the Ocamlyacc parser that becomes part of your program.
The job of the Ocamlyacc parser is to group tokens into groupings according to the grammar rules---for example, to build identifiers and operators into expressions. As it does this, it runs the actions for the grammar rules it uses.
The tokens come from a function called the lexical analyzer that you must supply in some fashion. The Ocamlyacc parser calls the lexical analyzer each time it wants a new token. It doesn't know what is ``inside'' the tokens (though their semantic values may reflect this). Typically the lexical analyzer makes the tokens by parsing characters of text, but Ocamlyacc does not depend on this. See The Lexical Analyzer Function.
The Ocamlyacc parser file is Ocaml code which defines functions which implements that grammar. Entry functions of the generated Ocaml code are named after the start symbols in grammar file. These functions do not make a complete Ocaml program: you must supply some additional functions. One is the lexical analyzer which should be given as an argument of the parser entry function. Another is an error-reporting function which the parser calls to report an error. In addition, a complete Ocaml program must has to call one (or more) of the generated entry functions or the parser will never run. See Parser Interface.


--- layout: data_model title: CandidateIndicatorType this_version: 4.1 ---
The CandidateIndicatorType provides a way of defining a MAEC entity-based Candidate Indicator, which specifies the particular components that may signify the presence of the malware instance on a host system or network.
| Field Name | Type | Description |
|---|---|---|
| @idrequired | QName |
The id field specifies a unique ID for this Candidate Indicator. |
| @creation_datetimeoptional | dateTime |
The creation_datetime field specifies the date/time that the Candidate Indicator was created. |
| @lastupdate_datetimeoptional | dateTime |
The lastupdate_datetime field specifies the last date/time that the Candidate Indicator was updated. |
| @versionoptional | string |
The version field specifies the version of the Candidate Indicator. |
| Importance0..1 | ControlledVocabularyStringType |
The Importance field specifies the relative importance of the Candidate Indicator. This field is implemented through the xsi:type controlled vocabulary extension Capability. The default vocabulary type is ImportanceTypeVocab-1.0 in the http://maec.mitre.org/default_vocabularies-1 namespace. This type is defined in the maec_default_vocabularies.xsd file or at the URL http://maec.mitre.org/XMLSchema/default_vocabularies/1.0.0/maec_default_vocabularies.xsd. |
| Numeric_Importance0..1 | positiveInteger |
The Numeric_Importance field specifies the specific numeric importance of the Candidate Indicator. |
| Author0..1 | string |
The Author field specifies the author of the Candidate Indicator. |
| Description0..1 | string |
The Description field provides a brief description of the Candidate Indicator. |
| Malware_Entity0..1 | MalwareEntityType |
The Malware_Entity field specifies the particular malware entity that the Candidate Indicator is written against, whether it be a malware instance, family, etc. |
| Composition0..1 | CandidateIndicatorCompositionType |
The Composition field specifies the actual observables that the Candidate Indicator is composed of, via a reference to a one or more MAEC entities contained in the Bundle. |


Hello, and welcome to my site. This is my personal site that I use to link to some of my other sites. As a web developer most of what I do is web related. I create websites and web applications, I also provide consulting for any web based projects.


About me
I'm a web developer based in Buenos Aires, Argentina.
I do web stuff using
Laravel,
WordPress,
Vue and other great open-source software.
Where to find me
<EMAIL_ADDRESS>(psss, I got a PGP Key)
Other than email, I'm on Twitter,
GitHub or Keybase.


Odoo Web Login Screen v13 - Xao Xao Digital
Xao Xao Digital - a Vietnam based Odoo provider. We got over 6 years in Odoo ERP framework. Our main point is become an Odoo provider with customization solutions. We can help you to setup the server on AWS, GG cloud, implement the modules, customize the flows. Our portfolios also have a few projects on IoT, AI, and Third Party Integration. Feel free to reach us at:


Web developer experienced with all stages of application development cycle. Developed web and desktop applications that deemed
to be thought provoking and logic oriented. Well immersed in web technologies and frameworks. Experience in managing
development teams using different software development methodologies. Combining the academic and real world technical
experience.
For more projects and applications check my GitHub page
Professional Skills
Top Skills
Local League
Local-League allows users to post a soccer game and everyone who is registered in this application and lives in the same area where the game's poster lives, will get notification text message about the game. In addition, you can check to join other games that have been posted by some other people, check the weather, add your favorite team, check game history, and soccer news.
Project Live Link |
Project GitHub Page
Face Affect
Using the Spotify and Face++ API's, users will submit their name and a selfie image for a recommended playlist based on their emotion. Enter your name and a selfie in .jpg, .jpeg, or .png format, and based on your associated emotion determined by the Face++ API, receive a personalized music playlist from the Spotify API. The Face++ API distinguishes emotion as a percentage and the associated emotion and percentage will be displayed to the user, as well as their uploaded image and playlist recommendation upon form submission.
Project Live Link |
Project GitHub Page
Facebook Event Poster
Facebook event poster app is a web app for users to sign in and create event listings. Events will be stored in a database by user submission. Event listings can then be posted to facebook through the Facebook API.
To be able to use the App, you need to sign up first.
Project Live Link |
Project GitHub Page
Dev Connector
MERN application: Social network for developers to connect. They can create account, profile, add experience, add education, add post, GitHub account info, and comment on posts.
Project Live Link |
Project GitHub Page
Story Book
Full stack web application to share public or write private stories. For authentication, we use Google OAuth authentication.
Project Live Link |
Project GitHub Page
Video Ideas
Full Stack web application to add ideas for Youtube videos. You can sign up and add, edit, or delete an idea that has been posted in your account. For authentication, we use local - Passport authentication.


{% extends "base.html" %} {% load static %} {% block html_head %} {% endblock %} {% block content %}
Since 2012, Michelle had been working as a Cantor (AKA Professional Jew who also sings) in Westfield NJ, while living in Jersey City. Her hobbies included long bike rides listening to sad early 00s alternative, telling it like it is, and genre television. She probably couldn't find Tasmania on a map.
At the beginning of 2016, Michael was unhappily working as a lawyer in Tasmania, Australia. His solution was to quit his job and move 10,000 miles to New York to play with computers. As soon as he tried a real New York bagel he was hooked, and he now works as a software engineer for Etsy in Brooklyn.
Michelle and Michael met on OKCupid in late 2016. Our first date was lunch at a diner (Michael had french toast, Michelle had an omelette and rye toast), after which we saw Rogue One. We both left the date feeling pretty great; and three days later Michael left the country for a month.
We stayed in touch while Michael was in Australia, and were both impatient to spend more time together. Together we visited diners, gardens, art galleries, museums, beaches and a pinball arcade, before moving in together in August of 2017.
After managing to keep the ring hidden for nearly a month, Michael finally proposed on 29 March 2018. To everyone's great relief, Michelle said yes.


Intermittent Fasting
I had read about the benefits of fasting several years back. I attempted fasting a day a week to see if I could benefit as well. I had no specific goal in mind but a few months after into this routine I ultimately gave up. I was getting hangry, dizzy at times and seeing no obvious value.
Then a year later, I had blood tests. The lipid panel showed elevated bad cholestrol and triglycerides. I met Dr Ronesh Sinha who specializes in South Asian health at the Palo Alto Medical Foundation. After analyzing my diet and daily regimen, he recommended I do intermittent fasting. No food for a period of 16 hours in a day. Dinner at 8pm, followed by lunch at noon. No snacking in between. He had other recommendations like cutting excessive carbohydrates, eating food with more fiber+proteins and gaining more muscle mass. See: Dr Sinha’s Blog
I followed his instructions meticulously especially regarding intermittent fasting. Although I wasn’t able to exercise much at all and ate more carbs due to my snacking (only after lunch and before dinner). After a couple of months, I took the blood tests again. This time the results were fantastic. Triglycerides had fallen to levels from 15 years ago. In two months, I lost 15 pounds and about an inch of waist size.


What is "Enumerable" anyway? Enumerable is a type of Ruby class that contains methods that sort, search, and traverse over each element of a collection of data in an array. The Enumerable Ruby Docs lists all these handy methods for your viewing pleasure. In this post I'll specificially expound upon the #map method and why you may want to use it in your code.
The Enumerable method #map(synonymous with #collect) is used to create a transformed copy of an array without altering the original one. For instance in the code snippet below, I want to create a new array filled each individual element of the original in its own array. By calling #map
on each element of the array, converting each to a string, and calling the method #split
, I am able to save my desired result as new_array
. To prove that the original array is intact, I print both the old and the new.
array = ["cat","rabbit","lynx",2,"alligator"] => ["cat", "rabbit", "lynx", 2, "alligator"] new_array=array.map{|word|word.to_s.split} => [["cat"], ["rabbit"], ["lynx"], ["2"], ["alligator"]] array => ["cat", "rabbit", "lynx", 2, "alligator"] new_array => [["cat"], ["rabbit"], ["lynx"], ["2"], ["alligator"]]Simply put #map is an efficient way to transform elements of an array without altering the original.
However map does have a destructive brother that will alter the original array. You may speak to him by calling #map! on your array. In the example below, #map! literally changes the array. This destructive version of #map adds 2 to each element of the array. When we check the contents of the array again, the original values have been replaced with larger numbers.
array = [1,2,3,4,5] => [1, 2, 3, 4, 5] array.map!{|num|num+2} => [3, 4, 5, 6, 7]
Some of you may be asking how this is different from the #each method. #map is actually closely related to it; the main difference is that #map actually returns the modified values in an new array. Calling #each to transform an array doesn't do the trick. Below I invoke #each on an array and add 2 to each element. The issue is that the #each method not change the actual element; it just executes the command it is given then returns the original array.
array = [1,2,3,4,5] => [1, 2, 3, 4, 5] array.each {|num| num + 2} => [1, 2, 3, 4, 5] puts array.join(",") =>1,2,3,4,5Overall we've learned that Enumerable methods are fantastic for condensing several lines of code into a beautiful solution and can be great for refactoring confusing or inelegant code. Additionally I hope I've illuminated how #map works and why it's useful. Again please consult the Enumerable Ruby Docs for more awesome methods.


| I l@ve RuBoard |
1.12 The copy ModuleThe copy module contains two functions that are used to copy objects, as shown in Example 1-64. copy(object) => object creates a "shallow" copy of the given object. In this context, shallow means that the object itself is copied, but if the object is a container, the members will still refer to the original member objects. Example 1-64. Using the copy Module to Copy ObjectsFile: copy-example-1.py import copy a = [[1],[2],[3]] b = copy.copy(a) print "before", "=>" print a print b # modify original a[0][0] = 0 a[1] = None print "after", "=>" print a print b before => [[1], [2], [3]] [[1], [2], [3]] after => [[0], None, [3]] [[0], [2], [3]] You can also make shallow copies of lists using the [:] syntax (full slice), and you can make copies of dictionaries using the copy method. In contrast, deepcopy(object) => object creates a "deep" copy of the given object, as shown in Example 1-65. If the object is a container, all members are copied as well, recursively. Example 1-65. Using the copy Module to Copy CollectionsFile: copy-example-2.py import copy a = [[1],[2],[3]] b = copy.deepcopy(a) print "before", "=>" print a print b # modify original a[0][0] = 0 a[1] = None print "after", "=>" print a print b before => [[1], [2], [3]] [[1], [2], [3]] after => [[0], None, [3]] [[1], [2], [3]] |
| I l@ve RuBoard |


Home
About
Work
uWork
CGM Solicitors
James Falconer
ackee
•
•
•
•
uWork
Design | Branding | UX | UI
ackee
Web Design | Branding
James Falconer
Web Design
CGM
Web Design | Branding
“
want to make
something beautiful?
Name
Email
Message
Submit


--- layout: post title: 'Englisch: Simple Present' categories: [] tags: [] status: draft type: post published: false meta: _edit_last: '1' _sd_is_markdown: '1' ---
I/we/you/they play football.
He/she/it plays football.
He/she/it does not play football.
I/we/you/they do not play football.
Do I/we/you/they play football?
Does he/she/it play football?


I am a Ph.D. student in machine learning and statistics at Analyse Geométrie Modelisation (CREST) in Cergy-Pontoise University under the supervision of Paul Doukhan and Joseph Rynkiewicz. My Ph.D. thesis is a collaboration between the laboratory AGM and a French E-commerce retailer, CDiscount, based in Bordeaux.
The goal of the thesis is to develop methods to predict the sales of different products at CDiscount. More generally, I am interested in a method to forecast multiple time series at once in presence of multiple possible sources of data. Current methods of interest include :
2019 P. Alquier , K. Bertin, P. Doukhan, R. Garnier, High dimensional VAR with low rank transition in Statistics and Computing. Pdf.
2020 R. Garnier Concurrent Neural Network : A model of competition between times series under review in Annals of Operational Research Preprint .
2020 R. Garnier, R. Langhendries Concentration inequalities for non-causal random fields under review in Electronic Journal of Statistics Preprint .
2021 R. Garnier, R. Langhendries, J.Rynkiewicz Oracle inequalities for hold-out estimates of Markov processes under review in ESAIM-PS .
2019 R. Garnier , A. Belletoile A multi-series framework for demand forecasts in E-commerce at APIA 2019. Preprint


Research and analysis
Getting to good: new 14-16 school partnerships
Ofsted good practice example showing how Bicton College improved by adopting new approaches with younger students.
Documents
MS Word Document
,
184KB
This file may not be suitable for users of assistive technology.
Request an accessible format.
If you use assistive technology (such as a screen reader) and need a
version of this document in a more accessible format, please email
<EMAIL_ADDRESS>.
Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF
,
259KB
,
6 pages
This file may not be suitable for users of assistive technology.
Request an accessible format.
If you use assistive technology (such as a screen reader) and need a
version of this document in a more accessible format, please email
<EMAIL_ADDRESS>.
Please tell us what format you need. It will help us if you say what assistive technology you use.
Details
This example explains some of the new approaches the college adopted for the changes to the 14–16 curriculum that have helped raise its game. Successful links with schools, employers and the local community have helped to adapt the curriculum to reflect modern day rural life and help more people progress to land-based careers.