Helping you with Spring Framework since August 2017
You can suggest an improvement if you got the time.


I’ve been playing around with Gophercloud over the past few days. While it’s nowhere near as complete as openstacksdk (which, coincidentally, recently hit the big 1.0.0 milestone 🎉) or legacy Python-based service clients yet, it is clearly a great tool to have in your arsenal and is the library underlying the Terraform OpenStack Provider, OpenStack platform support in openshift-install, and various OpenStack-specific Kubernetes components, among others.
In the interests of easing ramp-up for anyone else trying to get started with Gophercloud, here’s an simple “hello, world” example - listing servers - using both Gophercloud and openstacksdk.
Gophercloud (Go)
Create a new directory containing a single file, main.go
, and add the following to it.
package main
import (
"fmt"
"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
"github.com/gophercloud/utils/openstack/clientconfig"
)
func main() {
opts := new(clientconfig.ClientOpts)
// We could configure the cloud manually but we don't. Instead we'll leave it unset causing gophercloud to load the
// cloud from the 'OS_CLOUD' environment variable. We could also simplify this further and pass 'nil' below instead
// of generating and passing a 'ClientOpts' object but this shows how you _could_ configure things if you so chose.
// opts.Cloud = "devstack-admin"
client, err := clientconfig.NewServiceClient("compute", opts)
if err != nil {
fmt.Println(err)
return
}
pager, err := servers.List(client, nil).AllPages()
if err != nil {
fmt.Println(err)
return
}
servers, err := servers.ExtractServers(pager)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("servers:")
for i, server := range servers {
fmt.Printf(" server %d: id=%s\n", i, server.ID)
}
}
Now generate the go.mod
file.
❯ go mod init gophercloud-hello-world
❯ go mod tidy
Finally, you can run the command.
❯ export OS_CLOUD=devstack-admin # or another entry from your local 'clouds.yaml'
❯ go run .
This should dump something like the following.
servers:
server 0: id=395b60b4-73be-4ba4-a8a8-fdaa3fce57d5
openstacksdk (Python)
Create a new directory containing a single file, main.py
, and add the following to it.
import openstack
def main():
# We could configure the cloud manually but we don't. Instead we'll leave it unset causing openstacksdk to load the
# cloud from the 'OS_CLOUD' environment variable.
# conn = openstack.connect(cloud='devstack-admin')
conn = openstack.connect()
servers = conn.compute.servers()
print('servers:')
for i, server in enumerate(servers):
print(f' server {i}: id={server.id}')
if __name__ == '__main__':
main()
Now create a virtual environment and install the dependencies.
❯ virtualenv .venv
❯ source .venv/bin/activate
❯ pip install openstacksdk
Finally, you can run the command.
❯ export OS_CLOUD=devstack-admin # or another entry from your local 'clouds.yaml'
❯ python main.py
This should dump identical output to the Go-based script.
servers:
server 0: id=395b60b4-73be-4ba4-a8a8-fdaa3fce57d5


Foundations of Cognitive and Affective Neuroscience Rick O. Gilmore, Ph.D. Associate Professor of Psychology
A. What is the wedge made of? B. What happened to the mouse recently? C. The mouse’s sex or age? D. The mouse’s state (hungry, horny, asleep) E. Mouse’s genetic strain
http://rlv.zcache.com/blame_my_neurotransmitters_if_not_paying_attention_mousepad-p144383961261005279trak_400.jpg
Master fundamentals of neuroscientific concepts and facts Prepare to read primary source literature in behavioral, cognitive, affective, and clinical neuroscience
What do animals (and people) do? Have to Choose to What’s the information required? Input Computation/processing Output
Brain architecture (neuroanatomy) Brain function (neurophysiology) Brain communication (neurochemistry) Changes over evolutionary and developmental time
The study of the nervous system And the behavior it makes possible Questions What are the parts of the nervous system? How do the parts work? What do they do? Where did they come from?
 Describe the main Inputs Outputs Computations
Sustenance Eating & drinking Protection Act or rest Fight, flee, hide, freeze Reproduction Mate seeking Territory protection, nest-building Mating Caregiving
What is the question? What are we measuring? Structure Activity Strengths & Weaknesses Cost Invasiveness Spatial/temporal resolution
Cell/axon stains Golgi stain – whole cells Cellular distribution, concentration, microanatomy http://connectomethebook.com/wp-content/uploads/2011/11/Brainforest17_1119.jpg Retrograde vs. anterograde tracers What connects where http://openi.nlm.nih.gov/imgs/512/348/3176268/3176268_1471-2105-12-351-2.png
Magnetic resonance Protons have spin (magnetic dipole) Align with strong magnetic field When perturbed, speed of realignment varies by tissue Realignment gives off radio frequency signals
What does neuron X respond to? Great temporal (ms), spatial resolution (um) Invasive Rarely suitable for humans, but…
Radioactive tracers (glucose, oxygen) Positron decay Experimental condition - control Average across individuals
Temporal (~ s) and spatial (mm-cm) resolution worse than fMRI Radioactive exposures + mildly invasive Dose < airline crew exposure in 1 yr
Neural activity -> local O2 consumption increase Blood Oxygen Level Dependent (BOLD) response Oxygenated vs. deoxygenated hemoglobin Do regional blood O2 levels (and flow) vary with behavior X? Non-invasive, but expensive Moderate but improving (mm) spatial, temporal (~sec) resolution Hemodynamic Response Function 1s delay plus 3-6 s ramp-up
How does it work? Electrodes on scalp or brain surface What do we measure? Combined activity of huge # of neurons
High temporal, poor spatial resolution Analyze frequency bands LOW: deep sleep MIDDLE: Quiet, alert state HIGH:“Binding” information across senses
Like EEG, but measuring magnetic fields High temporal resolution Magnetic field propagates w/o distortion
Logic: damage impairs performance = region critical for behavior Poor spatial/temporal resolution, limited control
Electrical (Direct Current Stimulation - DCS) Pharmacological Magnetic (Transcranial magnetic stimulation-TMS)
http://www.nimh.nih.gov/images/health-and-outreach/mental-health-topic-brain-stimulation-therapies/dbs_60715_3.jpg which
Computer/mathematical models of brain function Example: neural networks Cheap, noninvasive, can be stimulated or “lesioned”


GoBusiness connects businesses to
the right government services
Guidance for local businesses
Official information for
starting a business,
growing its presence
, and navigating through
Covid-19
Find the right resources with e-Advisers
Get recommendations for
licences
,
events
,
government assistance
,
and more
, tailored to your business needs.
Your business transactions in one place
Apply for licences, keep track of them, and more with your personal dashboard.
Log in
to try it!
Partner with GoBusiness
Do you help local businesses set up and operate? Get in touch with us, and your business could be featured on our portal.
Contact us with your proposal
Help GoBusiness Improve
If you're a current or upcoming business owner, or have transacted with the government for business purposes, we want you (to provide feedback)!
Participate in our research


Welcome!
We work at CRUK Cambridge Institute.
2017 science week
2016 science week @ Morley Memorial Primary school
Contributors
- Johanna Barbieri, Genomics Core, CRUK Cambridge Institute
- Fatimah Bowater, Genomics Core, CRUK Cambridge Institute
- Mark Dunning, Bioinformatics Core, CRUK Cambridge Institute
- Anne Pajon, Bioinformatics Core, CRUK Cambridge Institute


Pyjamas is a Rich Internet Application (RIA) Development Platform for both Web and Desktop.
It contains a Python-to-Javascript compiler, an AJAX framework and a Widget Set API. Pyjamas started life as a Python port of Google Web Toolkit, the Java-to-Javascript compiler. Read the FAQ and the list of features.
Pyjamas Desktop is the Desktop version of Pyjamas
Pyjamas Desktop allows the exact same python web application source code to be executed as a standalone desktop application (running under Python) instead of being stuck in a Web browser.
For Free Software platforms, most Linux Distributions now come with Pyjamas and Pyjamas Desktop pre-packaged: Debian/Testing, FC13, ArchLinux and Gentoo.
For Windows, Pyjamas Desktop uses MSHTML. Since MSHTML comes pre-installed on Windows (as part of IE), there is very little extra to download (other than Python itself).
You can write web applications in python - a readable programming language - instead of in HTML and Javascript, both of which become quickly unreadable for even medium-sized applications. Your application's design can benefit from encapsulating high level concepts into classes and modules (instead of trying to fit as much HTML as you can stand into one page); you can reuse - and import - classes and modules.
Also, the AJAX library takes care of all the browser interoperability issues on your behalf, leaving you free to focus on application development instead of learning all the "usual" browser incompatibilities.
Fear not - you are not alone: the true purpose and nature of Pyjamas is blissfully opaque to many. Will and Abe come to the rescue, with their Guide to Pyjamas. On mature reflection, however, it's probably best to read the FAQ and then contact the people on the mailing list.
The code for the Pyjamas Web Site, which is itself a Pyjamas application, was written by Luke Leighton. It has some pretty cool features, none of which "stand out", which is as it should be. Technology is not there to "dazzle" people or get in the way by promoting itself and its own "glory": it's there to make peoples' lives simpler and easier.


--- layout: post title: "Warping Brien - Image Reprojection with Python OpenCV" date: 2014-10-26 07:14:02 categories: python image-processing opencv ---
My friend Brien is a bit of an artist and a bit of a tech nerd so he thought it would be a great idea to make a timelapse video of him drawing. So he put the CHDK firmware on his Canon S90 camera and set it up to take an exposure every 2-3 seconds. He reprojected the drawing portion of the image back into a rectangle and made a video out of it. He managed to do the original video using only ImageMagick command line tools. You can watch his Timelapse Drawing 1 on YouTube.
That worked out pretty well, but we thought it would also be cool to make a video with both the original image containing Brien and the extracted drawing image shown side by side. This would allow one to see the drawing progress and the artist at work.
I thought this would be a good chance for me to do a little image manipulation in Python, so I fired up my IPython notebook and make use of OpenCV.
I started the process off by working through and validating each step I wanted to perform, beginning with standard imports and reading in the sample image.
import numpy as np
from scipy import ndimage
import matplotlib.pyplot as plt
import cv2
from cvutil import url_to_array, color_flip
from pylab import rcParams
%matplotlib inline
# set the figsize and dpi globally for all images
rcParams['figure.figsize'] = (16, 16)
rcParams['figure.dpi'] = 300
# color_flip converts cv2 BGR image to numpy RGB image
brien_drawing = color_flip(cv2.imread('IMG_1482.JPG'))
Now that I have read in the sample image, I want to see what it looks like. Note that below I place a ;
at the end of my call to imshow()
, this supresses the return value that the IPython Notebook automatically prints out for every cell. We only care to see the image itself. I'll do this every time I use imshow()
.
plt.imshow(brien_drawing);
We are interested in extracting the region of this image that contains the drawing. To do that I need to identify the corner coordinates of the drawing. I was able to roughly pick them out from the image above but actually I wanted to get slightly more accurate points. So I opened the image separately on the IPython command line and showed the image with plt.imshow()
so I could zoom in and get more accurate coordinates for the corners. Recent versions of IPython have much improved interactive widgets but I am unaware of anything that works as easily as Matplotlib's imshow()
.
I use the coordinates found above to define a NumPy float32 array that contains the original coordinates of the image corners: orig_pts
. Then I define the coordinates I want the original points to be mapped to: dest_pts
. The ordering here doesn't matter except that the orders must match in both arrays. The transformation we define later will use both the orignal and destination coordinates as the basis of the transformation, so the first element of orig_pts
will be transformed to the first element of dest_pts
, the second element of orig_pts
will be transformed to the second element of dest_pts
and so on.
We will want the order of these coordinates for visualizing the region extracted later, so the order is: top left corner, top right corner, bottom left corner and bottom right corner.
orig_pts = np.float32([[1184.91, 532.945], [1984.19, 725.804], [2089.56, 2079.8],
[2757.61, 1857.11]])
dest_pts = np.float32([[0, 0], [1520, 0], [0, 2000], [1520, 2000]])
Now, lets verify that the region we've defined by corner coordinates is actually the region we are interested in. Below, I make a copy of the drawing, then use cv2.line()
to draw the box defined by the coordinates.
brien_drawing_lines = brien_drawing.copy()
cv2.line(brien_drawing_lines, tuple(orig_pts[0]), tuple(orig_pts[1]), (255,0,0), 2)
cv2.line(brien_drawing_lines, tuple(orig_pts[1]), tuple(orig_pts[3]), (255,0,0), 2)
cv2.line(brien_drawing_lines, tuple(orig_pts[3]), tuple(orig_pts[2]), (255,0,0), 2)
cv2.line(brien_drawing_lines, tuple(orig_pts[2]), tuple(orig_pts[0]), (255,0,0), 2)
plt.imshow(brien_drawing_lines);
The box above looks good, so I proceed with defining the transform using cv2.getPerspectiveTransform()
and then use that transform with cv2.warpPerspective
to project and extract an image of just the drawing.
# Get perspective transform M
M = cv2.getPerspectiveTransform(orig_pts, dest_pts)
# warp image with M
drawing = cv2.warpPerspective(brien_drawing, M, (1520, 2000))
# show the image
plt.imshow(drawing);
That turned out to look pretty good. The left hand side is well defined but I was off a bit on the top right corner and the right hand edge appears to not be straight anyway. Also, since this is just one of 3000 images, I am not going to fine tune anything based on this single image selection. I think I will call this good enough.
Since we want to put these two images back together and side by side, they have to have the same height. So, below I resize the original image with cv2.resize()
, to be 2000 pixels high and 2667 pixels wide to preserve the aspect ratio.
brien_drawing_smaller = cv2.resize(brien_drawing, (2667, 2000),
interpolation=cv2.INTER_AREA)
plt.imshow(brien_drawing_smaller);
At this point, we have the extracted drawing
and the resized original image brien_drawing_smaller
, we just need to put them together and check out the result. Since these are both just NumPy arrays, I will use np.hstack()
to place them side by side. Then I view the result below.
combined_image = np.hstack((brien_drawing_smaller, drawing))
plt.imshow(combined_image);
The resultant image looks great, but the aspect ratio is suboptimal for generating a video. Below we use the shape of the combined image and the desired aspect ratio, 16:10, to compute then generate the final_image
. I am going to crop out the left hand side of this image since there is little action on that edge, so first off, I will compute the left hand starting point of our final_image
.
h, w, d = combined_image.shape
starting_column = w - h * 16/10
print starting_column
Now, with the starting_column
identified, I will display the cropped image.
plt.imshow(combined_image[:,starting_column:,:]);
So the image above is an example of what we'd like a single frame to look like. The next step is to clean this code up, and wrap it up in a function and then run that on all the input images. I'll do this work later and it might result in a future blog post.
If you're wondering about how I drafted this blog post inline with my Python code then you should check out the IPython notebook. Its great for exactly this type of thing. For a broader sense of what it does you can check out the IPython presentation I gave to DesertPy in the spring of 2014.


| Name: SUNAYANA | Reg No: 09-1SMHC19 |
|---|---|
| Age / Sex:25 | Contact No:8296347248 |
| Marital Status:SINGLE | Date:15/1/19 |
| Occupation:IT btech csc | Dr. PJF |
| Address:AADUGUDI | DIAGNOSIS- |
1.RT.SIDE PAIN, BURNING, <COLD, AC,
HAD ICE CREAMS THIS SEASON. NOW EXTENDING TO LEFT ALSO. FEVERISH. NOSE FEELS MORE HOT . HEADACHE. ABOVE THE EYES.
IN CHILDHOOD DIGESTION PBM EVERY WINTER VOMITINGS MORE.
SUPPURATIVE TONSILLITIS.
RX:
MERC IOD FLAVUM 200 – 2 DRAM PILLS – 4 PILLS EVERY 15 MIN FOR 1 HOUR THEN 2 HOURLY. FOR 3 DAYS.
TONSIL AID 2-2-2-2
NAT SULPH 6X /CALC PHOS 6X-/FERR PHOS 6X – 4-4-4-4-4.
BELL 1M – FEVR SOS – 4 PILLS.
23/3/19:tonsils are still swollen but better.
Rx:
Merc iod flavum 200 – 4-4-4-4 2 dram pills.
30/3/19: cough cold and sneezing. Cough is less in deep sleep. Ac aggravation. Sneezing is more in ac environment. Gets pain in nose. Burning in nose also then. Phlegm is yellowish cough. Irregular teeth. If meal delays by 10-15 min also will get gastritis. Water melon and coconut water also causes her allergy. Native of assam. In blore since july 2017. During childhood use to get throat pain and fever frequently. Started putting on weight from 18 years after eating fast foods. Prior very lean and thin. Prefers spicy outside food. Gets loose motions smtimes. New place definitely gets. Hometown never gets.
Family h/o:
Mom 54 yrs: asthma.
Dad 64 yrs: dm
Mgm: high bp,
Fathers side most are having dm.
Rx:
Calc phos 1m 4-4-4-4.
Rub 15 – 1 tab night b/food.
Sulpur 1m – 1 dose stat. and tomorrow morning another dose. Frm next day start other medicines.
4-0-4 disc. b/food.
20/4/19: 60% better. Wt: 63.9kg. if has spicy fod has stomach related problems like loose motion and mucus motions. I feel separated. I miss my mom.
Rx:
Sulphur 200 – 4-4-4-4 -1st week
Calc carb 200 – 4-4-4-4 2nd week.
Rubrum 21 – 1 tab night b/food
Calc phos 12x 4-4-4.
16/5/19: since yesterday throat pain cough and cold then fever midnight onwards. Lesser than prev attack tho. Had coconut water and coconut. After taking med frm here till now din get affected but after coconut got and also many has got in her area. Yellowish mucus while coughing. Lmp: 16/5/19.
Rx:
Fp/ks/ns 6x – 4-4-4-4
Bell200/acon200/gels 200 – 4-4-4-4-4
Hepar sulph 200 – 4 pills sos.
12/6/19: ac and strong ac will get long sneezing and irrittionin throat about 5-10min.
Rx:
Causticum 200–disc 4-0-4 b/food.
Silicea 200 – 4-4-4-4 .1 dram pills.
Rubrum 21 – 1 tab night b/food
Calc phos 12x 4-4-4.


This application converts stellar parameters, such as Right Ascension, Declination, distance, etc.
to Cartesian XYZ coordinates centered on the Sun.
Velocities are returned as UVW velocities along the same axes with X/U positive
towards the Galactic center, Y/V positive in the direction of the
Sun's motion around the Galaxy, and Z/W positive out of the plane of the Galaxy.
You can resolve objects with Simbad to grab input parameters to use. In the absence of distance or
radial velocity information, this application can generate XYZUVW for a range.
Note that information entered in this application is not stored on our server.
This application displays the locations of nearby stellar moving groups from Malo et al. (2013). These groups contain stars with ages of ~10-100 million years and distances within ~150 parsecs of Earth.
This application runs on Python and has been created by
David R. Rodriguez.
You can grab a copy of the code on GitHub.
We welcome feedback in order to improve this application.
Publications that benefit from this should cite this
Zenodo record.
Created by David R. Rodriguez for the Brown Dwarfs in New York City (BDNYC) research team.


| No | {{i}} | Code | {{ row.code }} | Date | {{ row.date }} | Status |
approved Rejected |
Actions |
|
|---|
| No | {{i}} | Code | {{ row.code }} | Date | {{ row.date }} | Status |
approved Rejected |
Actions |
|
|---|


---
layout: archive
title: Lean Prover Zulip Chat Archive
permalink: 113488general/58228Rieszextensionthm.html
---
The archive URL format has changed. Please find this page at:
https://leanprover-community.github.io/archive/stream/113488-general/topic/Riesz.20extension.20thm.html


MPOST(1) MPOST(1) NAME mpost - MetaPost, a system for creating graphics SYNOPSIS mpost [options] [commands] mpost --dvitomp dvifile[.dvi] [mpxfile[.mpx]] DESCRIPTION MetaPost interprets the MetaPost language and produces PostScript (EPS) or Scalable Vector Graphics (SVG) pictures. The MetaPost language is similar to Knuth's Metafont with additional features for including tex(1) or troff(1) commands and accessing features of PostScript not found in Metafont. MetaPost is normally used with some preloaded macros, and it will use its executable name as the name of the preload file to use. For example, when called as mpost the mpost.mp file is used, which is identical to plain.mp. When the --ini option is given, preloading does not happen. The commands given on the command line to the MetaPost program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since UNIX shells tend to gobble up or misinterpret MetaPost's favorite symbols, like semicolons, unless you quote them.) The normal usage is to say mpost figs to process the file figs.mp. The basename of figs becomes the ``jobname'', and is used in forming output file names. If no file is named, the jobname becomes mpout. The default extension, .mp, can be overridden by specifying an extension explicitly. When the --dvitomp option is given, MetaPost acts as DVI-to-MPX converter only. See dvitomp (1) for details. This manual page is not meant to be exhaustive. The complete documenta‐ tion for this version of MetaPost can be found in the User Manual that should have been installed along with the program and is also available from http://tug.org/metapost. See the FILES section below. The MetaPost language is similar to Metafont, but the manual assumes no knowledge of Metafont. MetaPost does not have bitmap output commands or Metafont's online display mechanism. FILES plain.mp The standard preload file. mfplain.mp The Metafont-compatible preload file. $TEXMFMAIN/metapost/base/*.mp The standard MetaPost macros included in the original distribu‐ tion. $TEXMFMAIN/metapost/support/* Various tables for handling included tex and troff. $TEXMFMAIN/metapost/support/trfonts.map Table of corresponding font names for troff and PostScript. psfonts.map Table of corresponding font names for tex and PostScript. $TEXMFMAIN/doc/metapost/* The MetaPost manual and tutorial source, also including sample figures SUGGESTED READING Donald E. Knuth, The Metafontbook (Volume C of Computers and Typeset‐ ting), Addison-Wesley, 1986, ISBN 0-201-13445-4. TUGboat (the journal of the TeX Users Group). SEE ALSO dvitomp(1), epstopdf(1), mf(1), mptopdf(1), tex(1), MetaPost source code ⟨http://foundry.supelec.fr/gf/project/metapost/⟩. MetaPost home page ⟨http://tug.org/metapost/⟩. AUTHORS MetaPost was designed by John D. Hobby, incorporating algorithms from Metafont by Donald E. Knuth. It was originally implemented on Unix, incorporating system-dependent routines from web2c, while not relying on it except for the actual Web-to-C translator. Ulrik Vieth adapted MetaPost to take advantage of the advanced path searching features in more recent versions of web2c and worked towards fully integrating MetaPost into the canonical Unix TeX distribution. The current, CWEB based version of MetaPost is maintained by Taco Hoekwa‐ ter. The manual and tutorial are maintained by Stephan Hennig and Troy Hender‐ son. BUGS Email bug reports to<EMAIL_ADDRESS>MetaPost 1.504 5 April 2011 MPOST(1)


Please save a copy of this application for your records. Remember to send a $50 deposit for each applicant to the NAMI Washington office (1107 NE 45th St, Suite 330, Seattle, WA 98109). These checks will be returned within three (3) weeks of completion of the training, unless the applicant fails to attend the training without prior notice (at least a week before), or if they do not graduate from the training.


File FtpAgApp.lua
Functions
| FtpAgApp:endOfJob (srvcName, jobNum, taskNum, jobDir, index) | End job distinguished by directory. |
| FtpAgApp:getPresence (tmo, fromName) | Returns lower case string indicative of whether app is responding to "hello" message. |
| FtpAgApp:new (t) | Constructor for new instance. |
| FtpAgApp:newClass (t) | Constructor for extending class. |
| FtpAgApp:processMessage (msg) | Processor for incoming (unsolicited) messages. |
| FtpAgApp:purgeFile (srvcName, file, jobNum, taskNum, jobDir, index) | Purge a file as part of job distinguished by directory. |
| FtpAgApp:purgeFolder (srvcName, file, jobNum, taskNum, jobDir, index) | Purge a folder as part of job distinguished by directory. |
| FtpAgApp:setMessageCallback (callbackFuncOrMeth, callbackObj) | Set custom callback for unsolicited messages. |
| FtpAgApp:uploadFile (srvcName, file, jobNum, taskNum, jobDir, index) | Upload a file as part of job distinguished by directory. |
Functions
- FtpAgApp:endOfJob (srvcName, jobNum, taskNum, jobDir, index)
-
End job distinguished by directory.
Parameters:
-
srvcName
: -
jobNum
: -
taskNum
: -
jobDir
: (string, required) path to jobdir to place "ref" file. -
index
: (number, required) command sequence number.
-
- FtpAgApp:getPresence (tmo, fromName)
-
Returns lower case string indicative of whether app is responding to "hello" message.
Parameters:
-
tmo
: -
fromName
:
Return values:
- query-status
- app-status
- more-info
-
- FtpAgApp:new (t)
-
Constructor for new instance.
Parameters:
-
t
:
Usage:
pass pref-name, win-exe-name, or mac-pathed-name, if desired, else rely on defaults (but know what they are - see code).
-
- FtpAgApp:newClass (t)
-
Constructor for extending class.
Parameters:
-
t
:
-
- FtpAgApp:processMessage (msg)
-
Processor for incoming (unsolicited) messages.
Parameters:
-
msg
: message
Usage:
simply logs received comment unless error - which gets alert/log treatment.
calling context can set it's own callback
-
- FtpAgApp:purgeFile (srvcName, file, jobNum, taskNum, jobDir, index)
-
Purge a file as part of job distinguished by directory.
Parameters:
-
srvcName
: -
file
: (string, required) path to local file to upload. -
jobNum
: -
taskNum
: -
jobDir
: (string, required) path to jobdir to place "ref" file. -
index
: (number, required) command sequence number.
-
- FtpAgApp:purgeFolder (srvcName, file, jobNum, taskNum, jobDir, index)
-
Purge a folder as part of job distinguished by directory.
Parameters:
-
srvcName
: -
file
: (string, required) path to local file to upload. -
jobNum
: -
taskNum
: -
jobDir
: (string, required) path to jobdir to place "ref" file. -
index
: (number, required) command sequence number.
-
- FtpAgApp:setMessageCallback (callbackFuncOrMeth, callbackObj)
-
Set custom callback for unsolicited messages.
Parameters:
-
callbackFuncOrMeth
: -- function (or method) to call (required) - passing message object as only parameter. -
callbackObj
: -- object (optional) in which case the previously mentioned will be called as object method.
Usage:
Be careful to handl all possbilities, and try not to stomp on other callbacks..
Return values:
- previous callback func-or-meth (nil if none).
- previous callback obj(ect) (nil if none).
-
- FtpAgApp:uploadFile (srvcName, file, jobNum, taskNum, jobDir, index)
-
Upload a file as part of job distinguished by directory.
Parameters:
-
srvcName
: -
file
: (string, required) path to local file to upload. -
jobNum
: -
taskNum
: -
jobDir
: (string, required) path to jobdir to place "ref" file. -
index
: (number, required) command sequence number.
-


{% extends "base.html" %} {% block title %}Software Engineering as a pasion{% endblock %} {% block body %}


<%--[[
-
R. Maia, R. Cerqueira, and N. Rodriguez.
Using a Dynamic Language to Provide a Simple, Portable and Lightweight Middleware.
In Proc. 9th International Middleware Conference, Leuven, Belgium, December 2008.
-
R. Maia and R. Cerqueira.
Beyond Prototyping: Building a Middleware for Real Applications Using a Scripting Language.
In Proc. 4th Dynamic Language Symposium (DSL2008), co-located with 22nd European Conference on Object-Oriented Programming (ECOOP2008), Paphos, Cyprus, July 2008.
--]]%>
-
R. Maia, R. Cerqueira, and R. Cosme.
OiL: An Object Request Broker in The Lua Language.
In Proc. 5th Tools Session of the Brazilian Simposium on Computer Networks (SBRC2006), Curitiba, Brazil, June 2006.
-
R. Maia, R. Cerqueira, and F. Kon.
A Middleware for Experimentation on Dynamic Adaptation.
In Proc. 4th Workshop on Adaptive and Reflective Middleware (ARM2005), co-located with 6th International Middleware Conference, Grenoble, France, November 2005.


You can create a new project or edit an existing project (if connected to Luntbuild 1.3 or newer). Just click on button to start Create Project Wizard and fill appropriate project data.
To edit and existing project, click on button.
Here is an example of Create, Edit Project wizard:


[Title]
[edit]
Load body html (no <script>)
Exclude ids:
seperate by space or comma or semicolon or vertical bar: [ ,;|]
Add/Remove library
Script id:
Path:
Load library
Blackboard
Tab title:
Console
Add/Remove panel
Panel title:
Load any tab to blackboard


Toggle navigation
Team Phoenix: BlackRock vs American Funds
John Smith
Yesterday at 4:32 PM
Lorem ipsum dolor sit amet, consectetur...
John Smith
Yesterday at 4:32 PM
Lorem ipsum dolor sit amet, consectetur...
John Smith
Yesterday at 4:32 PM
Lorem ipsum dolor sit amet, consectetur...
Read All New Messages
Alert Name
Alert Badge
Alert Name
Alert Badge
Alert Name
Alert Badge
Alert Name
Alert Badge
Alert Name
Alert Badge
Alert Name
Alert Badge
View All
John Smith
Profile
Inbox
Settings
Log Out
Who We Are
Agenda
American Funds Video
Company Overviews
The Problem Statements
Competitive Adv
Consistency
Reliability
Target Market
Target Audience Tool
Guiding Principles
Looking Forward
BlackRock Video
Gratitude
Target Audience Tool
TAT
Dashboard
Blank Page
Action
Action
Another action
Something else here
Separated link
Action
Action
Another action
Something else here
Separated link
Go
45% Complete
Age
Impression
American Funds
age
44.9
average
American Funds
Sentiment Ratio of Positive to Negative Mentions
3:1
Chance of Being Repeatedly Mentioned
21%
BlackRock
age
33.5
average
BlackRock
Sentiment Ratio of Positive to Negative Mentions
10:1
Chance of Being Repeatedly Mentioned
30%
Target Market Age


-
Facebook Is Partnering With Stripe to Power "Buy" Button
recode.net
Stripe adds Facebook to its list of impressive partnership deals.
-
Hootsuite Reaches $1 Billion Valuation in Latest Funding Round
recode.net
And more international expansion is on the horizon.
-
A look inside the rapidly-expanding world of New York's new-media stars
gigaom.com
New-media companies like BuzzFeed, Gawker, VICE Media and Tumblr are all expanding rapidly both in New York itself and around the world — almost all ...
-
Apple’s IPhone Software Snafu Has Links to Flawed Maps - Bloomberg
www.bloomberg.com
Apple’s IPhone Software Snafu Has Links to Flawed Maps
-
Podcasts are back — and making money
www.washingtonpost.com
The short-form audio files, around for more than a decade, are enjoying a resurgence of popularity and profit.
-
What does SELinux do to contain the the bash exploit?
danwalsh.livejournal.com
Do you have SELinux enabled on your Web Server? Lots of people are asking me about SELinux and the Bash Exploit. I did a quick analysis on one ...
-
Designing a URL structure for BBC programmes | Smethurst
smethur.st
This is a post I’ve been meaning to write for the last 7 years. In the circumstances it might be more of a eulogy than a birth announcement but since ...
-
Ex-Tesla and NASA Engineers Make a Light Bulb That's Smarter Than You | ...
www.wired.com
The Alba bulbs are designed to work autonomously, both by adjusting light output based on sunlight and by learning and adapting to its owners ...
-
Venture Capitalist Sounds Alarm on Startup Investing
online.wsj.com
Silicon Valley may have taken on more risk than it can handle, according to prominent venture capitalist Bill Gurley, who cited potential cracks in ...
-
Bringing Tablets To Restaurant Tables Nationwide Nets E la Carte $35 ...
techcrunch.com
On the heels of a nationwide rollout with Applebee's, E la Carte has raised $35 million to bring its tablet technology to more restaurant tables ...
-
Digital Business Technologies Dominate Gartner 2014 Emerging Technologies ...
www.forbes.com
By Hung LeHong and Jackie Fenn Gartner, Inc. Imagine this: As you leave for work in the morning, your house automatically turns down the heat and ...
-
Kevin Mitnick, Once the World's Most Wanted Hacker, Is Now Selling ...
www.wired.com
As a young man, Kevin Mitnick became the world’s most notorious black hat hacker, breaking into the networks of companies like IBM, Nokia, Motorola, ...
-
Robinhood Raises $13M To Democratize Stock Market With Zero-Commission ...
techcrunch.com
Half a million people have already signed up for Robinhood's unlaunched zero-fee stock trading service. Now the startup has raised $13 million to ...
-
Richmond restaurant encourages bad Yelp reviews
insidescoopsf.sfgate.com
Botto Bistro in Richmond is not very concerned about its Yelp rating. In fact, in an effort to undermine the reliability of its Yelp page, the ...
-
Apple Shows Love for HTML5 with iOS 8 | Blog | Sencha
www.sencha.com
September 16, 2014 | Ross Gerbasi
-
ZATAZ Magazine » Le FBI va-t-il pouvoir s’infiltrer légalement partout ...
www.zataz.com
Le Ministère de la Justice de l’Oncle Sam vient de prendre une décision intéressante, du moins sur l’aspect sécurité et vie privée. Il propose que le ...
-
Telegram Messenger Down!!! Hit by large Scale DDoS attack
www.techworm.net
Telegram messenger down, faces a series of DDoS attack, twice in a row for two days, causing network issues to its users around the globe.
-
Is big data dead? The rise of smart data | Information Age
www.information-age.com
Data asks as many questions as it answers
-
How One CEO Is Reinventing The Startup Incubator
www.theatlantic.com
What running Myspace, selling candles and building a shaving razor subscription service have in common, according to former Myspace CEO Mike Jones.
-
Pop-ups in London - 26th September - 3rd October
www.londonpopups.com
The best pop-up restaurants, pop-up bars, pop-up shops and more in London, 26th September - 3rd October, including The 'Pork Life' Two Day Festival ...
-
The Brands' Ryder Cup - PeerIndex
blog.peerindex.com
There’s always been something about Twitter and Golf. #RyderCup has been one of the top trending topics in our Sports community on PiQ for the last ...
-
AngularJS Multi-Step Form Using UI Router
scotch.io
Today we will be using AngularJS and the great UI Router and the Angular ngAnimate module to create an animated multi-step form. This technique can ...
-
FAU gets $600,000 to create Big Data lab
www.sun-sentinel.com
Florida Atlantic University is looking to step into the big leagues of Big Data.
-
How Formula E can accelerate the adoption of wireless charging | News | ...
www.motorsport.com
Can you imagine a world where we are all driving electric cars and you don’t ever have to physically plug in your vehicle to charge? - 2014-08-15
-
Google Analytics Embed API Highlights | Analytics & Optimization
online-behavior.com
The Embed API isn't just a javascript library mashed up with Google Charts, or is it? It might be, but what really grabbed my attention is that it is ...
-
andydavies/WPT-Bulk-Tester
github.com
WPT-Bulk-Tester - Google App Script for spreadsheet that uses the WPT API to bulk test URLs
-
Amazon Begins Contacting Developers For Secret Smart Home Projects
www.forbes.com
Amazon is getting into the smart home game and could come face-to-face with Google and Apple.
-
Publicis Worldwide gets in on the startup incubator game - Digiday
digiday.com
Publicis wants to attract startups to its new incubator program to give clients access to innovation, but it faces a challenge motivating both ...
-
Coke reaps rewards after putting names on cans and bottles - Telegraph
www.telegraph.co.uk
Sales of Coke climb significantly after Coca-Cola start putting people's names on cans and bottles


- saveData(String) - Method in class padsof.Application
-
Function that saves all the data of the application in a file
- search(ArrayList<Offer>, ArrayList<Filter>) - Method in class padsof.Application
-
Function that filters the given offers using the given filters
- searchButton - Variable in class View.SearchPanel
-
- searchButton - Variable in class View.StartPanel
-
- SearchController - Class in Controllers
-
- SearchController(Container, HashMap<String, JPanel>, HashMap<String, ActionListener>, Application) - Constructor for class Controllers.SearchController
-
This constructor creates a new SearchController.
- searchPanel - Variable in class View.WindowApp
-
- SearchPanel - Class in View
-
- SearchPanel() - Constructor for class View.SearchPanel
-
This constructor creates a new SearchPanel.
- SeeCommentController - Class in Controllers
-
- SeeCommentController(Container, HashMap<String, JPanel>, HashMap<String, ActionListener>, Application) - Constructor for class Controllers.SeeCommentController
-
This constructor creates a new SeeCommentController.
- seeCommentPanel - Variable in class View.WindowApp
-
- SeeCommentPanel - Class in View
-
- SeeCommentPanel() - Constructor for class View.SeeCommentPanel
-
This constructor creates a new SeeCommentPanel.
- seeCommentsButton - Variable in class View.OfferPanel
-
- seeCommentsButton - Variable in class View.SeeCommentPanel
-
- SeeOfferController - Class in Controllers
-
- SeeOfferController(Container, HashMap<String, JPanel>, HashMap<String, ActionListener>, Application) - Constructor for class Controllers.SeeOfferController
-
This constructor creates a new SeeOfferController.
- SeeOfferPanel - Class in View
-
- SeeOfferPanel() - Constructor for class View.SeeOfferPanel
-
This constructor creates a new SeeOfferPanel.
- seeOffPanel - Variable in class View.WindowApp
-
- selected - Variable in class Controllers.CreateLongController
-
- selected - Variable in class Controllers.CreateShortController
-
- selectedComment - Variable in class Controllers.SeeCommentController
-
- selectedOffer - Variable in class Controllers.BookedOfferController
-
- selectedOffer - Variable in class Controllers.ManagerListOffersController
-
- selectedOffer - Static variable in class Controllers.OwnOfferController
-
- selectedOffer - Variable in class Controllers.RentedOfferController
-
- selectedUser - Variable in class Controllers.ManagerListUsersController
-
- setBlocked() - Method in class padsof.RegisteredUser
-
This function blocks the user
- setCommentary(Commentary) - Method in class Controllers.SeeCommentController
-
Sets the selected comment
- setController(ActionListener) - Method in class View.BlockedUserPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.BookedOfferPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.CommentCommentaryPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.CommentOfferPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.CreateLongPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.CreateShortPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.EditPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.LoginPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.ManagerListOffersPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.ManagerListUsersPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.ManagerOfferPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.ManagerStartPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.ManagerUserPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.OfferPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.OwnOfferPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.PropertyPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.RegisterPropertyPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.RentedOfferPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.SeeCommentPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.SeeOfferPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener) - Method in class View.StartPanel
-
Sets the controller to the buttons of this panel
- setController(ActionListener, ItemListener) - Method in class View.SearchPanel
-
Sets the controller to the buttons of this panel
- setCreditCard(String) - Method in class padsof.RegisteredUser
-
This setter allows to set a new credit card number
- setDemander(RegisteredUser) - Method in class padsof.Offer
-
This setter allows to set the Renter who is going to rent or book the offer
- setFinalDate(GregorianCalendar) - Method in class padsof.Short
-
This setter modifies the final date of the range of dates
- setInitialDate(GregorianCalendar) - Method in class padsof.Long
-
This setter modifies the initial date of the range of dates
- setInitialDate(GregorianCalendar) - Method in class padsof.Short
-
This setter modifies the initial date of the range of dates
- setLoggedUser(RegisteredUser) - Method in class padsof.Application
-
Sets the logged user
- setMinimumPeriod(int, int, int) - Method in class padsof.Long
-
This setter modifies the mimimum period of the contract
- setOffer(Offer) - Static method in class Controllers.OfferController
-
Sets the selected offer
- setPreviousPanel(String) - Method in class View.SeeOfferPanel
-
Sets the previous panel and saves it to come back if the user presses "Go Back"
- setPrice(float) - Method in class padsof.Offer
-
This setter allows to set a new price
- setSelectedOffer(Offer) - Static method in class Controllers.OwnOfferController
-
Sets the selected offer
- setStatus(Status) - Method in class padsof.Offer
-
This setter allows to set the status of the offer (free, rented, booked...)
- setUnBlocked() - Method in class padsof.RegisteredUser
-
This function unblocks the user
- setUp() - Method in class Testing.ApartmentTest
-
- setUp() - Method in class Testing.ApplicationTest
-
- setUp() - Method in class Testing.CommentaryTest
-
- setUp() - Method in class Testing.LongTest
-
- setUp() - Method in class Testing.OfferTest
-
- setUp() - Method in class Testing.RatingTest
-
- setUp() - Method in class Testing.RegisteredUserTest
-
- setUp() - Method in class Testing.ShortTest
-
- setUp() - Method in class Testing.TextualTest
-
- SetUp() - Method in class Testing.FilterTest
-
- Short - Class in padsof
-
- Short(float, Apartment, RegisteredUser, GregorianCalendar, GregorianCalendar) - Constructor for class padsof.Short
-
This constructor allows to create a new Short offer.
- SHORT - padsof.OfferType
-
- ShortTest - Class in Testing
-
- ShortTest() - Constructor for class Testing.ShortTest
-
- ShortTimeFilter - Class in Filters
-
- ShortTimeFilter(GregorianCalendar, GregorianCalendar) - Constructor for class Filters.ShortTimeFilter
-
* This constructor allows to create a new LongTimeFilter
- showBookedOffers(ArrayList<Offer>, ListSelectionListener) - Method in class View.BookedOfferPanel
-
It sets up the shown offers deppending on the user
- showCommentaries(ArrayList<Commentary>, ListSelectionListener) - Method in class View.SeeCommentPanel
-
Sets up all the commentaries
- showOffers(ArrayList<Offer>, ListSelectionListener) - Method in class View.ManagerListOffersPanel
-
Sets up the offers that the administrator has to manage
- showOffers(ArrayList<Offer>, ListSelectionListener) - Method in class View.StartPanel
-
Sets up the list of offers
- showOwnOffers(ArrayList<Offer>, ListSelectionListener) - Method in class View.OwnOfferPanel
-
Sets up the list of offers
- showProperties(ArrayList<Apartment>, ListSelectionListener) - Method in class View.PropertyPanel
-
Sets up the list of properties
- showRentedOffers(ArrayList<Offer>, ListSelectionListener) - Method in class View.RentedOfferPanel
-
Sets up the list of the logged user rented offers
- showUsers(Set<String>, ListSelectionListener) - Method in class View.ManagerListUsersPanel
-
Sets up the users that the administrator has to manage
- shr - Variable in class Testing.ApplicationTest
-
- shr - Variable in class Testing.ShortTest
-
- shr1 - Variable in class Testing.FilterTest
-
- shr2 - Variable in class Testing.FilterTest
-
- StartController - Class in Controllers
-
- StartController(Container, HashMap<String, JPanel>, HashMap<String, ActionListener>, String, Application) - Constructor for class Controllers.StartController
-
This constructor creates a new StartController.
- startPanel - Variable in class View.WindowApp
-
- StartPanel - Class in View
-
- StartPanel() - Constructor for class View.StartPanel
-
This constructor creates a new StartPanel.
- status - Variable in class Controllers.SearchController
-
- status - Variable in class GUI.initialTry
-
- status - Variable in class padsof.Offer
-
- status - Variable in class View.OfferPanel
-
- status - Variable in class View.SearchPanel
-
- Status - Enum in padsof
-
- Status() - Constructor for enum padsof.Status
-
- statusArray - Variable in class Filters.StatusFilter
-
- statusArray - Variable in class Testing.FilterTest
-
- StatusFilter - Class in Filters
-
- StatusFilter(Set<Status>) - Constructor for class Filters.StatusFilter
-
This constructor allows to create a new PostalCodeFilter


Identify and resolve issues from user-experience, application and network performance analysis through a single lens.
Is it the network, data center or the app? Automatically detect and isolate performance issues with cutting-edge analytics.
Automatically detect and monitor all application workloads; including SAP, Citrix, Oracle EBS, Database, MQ, VoIP and more…
Prioritize IT problems by quantifying affected users, down to individual user names
Capture network trace files with transactional and user context, both on demand and retrospectively
Gain end-to-end visibility through VDI, Citrix XenApp, WAN Optimization and other application delivery channels
Understand the impact of Web 2.0, mobile, public cloud and third-party services with dynaTrace UEM and Synthetic integration.
Proactively monitor any enterprise application for availability and SLA monitoring and reporting.
Analyze performance from the network perspective and drill-down into application, server, transaction and user details.
Business applications and networks are intertwined. This makes it crucial to get a correlated view of the health of your enterprise applications and the network from a single dashboard. See the contribution of network performance to application performance and availability, in context of end user experience.
Automatically recognize users and transactions across your application delivery chain, including custom and packaged applications, load balancers, web servers, middleware, databases, network services and much more. Correlate user experience monitoring measurements to the network, infrastructure components, apps, transactions, user groups and geographic regions-
Back to Features
Limiting the impact of performance issues on the business is the most important challenge faced by your IT team. Automated analysis determines normal versus abnormal application performance, and helps you get a step ahead. Benefit from the industry’s broadest range of application analysis modules to quickly identify the fault domain across all infrastructure tiers. Then dive deep into issues and fix them in record time.
Back to Features
Manage your entire enterprise application portfolio for performance, availability and usage. Wide coverage of data center databases, middleware applications and services, with deep transactional analysis of performance, enables you to track user-experience performance issues to specific application tier or integrated services within data center.
Perform deep transactional analysis across a wide range of databases, middleware applications and services, including IBM MQ, XML/SOAP, Oracle, DB2, Sybase, MSSQL, LDAP, SMB/CIFS, web servers, Exchange, and more. Use Transactional analysis to see how individual SQL queries or MQ transactions perform within the data center, and whether server-side slowness experienced by users can be attributed to specific applications or services.
Back to Features
Understand who your users are and how, when and where they use your applications. Only with this information can you tell whether performance problems are global application issues or isolated to specific sub-groups, like location, browser or client software version. Because it captures complete performance information without sampling, you get fast answers to critical questions. How many users are using particular applications and transactions? How many are experiencing problems? Are today’s usage patterns typical or is usage higher than normal? Is a problem enterprise-wide or isolated to specific remote locations? DC RUM characterizes each user’s experience and then builds an aggregate picture.
Back to Features
Capture network trace files with transactional and user context, both on demand and retrospectively. DCRUM provides not only near real time performance monitoring, but also convenient and efficient access to historical packet level data so that when a subtle or intermittent problem occurs, you can quickly go back in time to discover the root cause. Understand why the network is slow for a particular user, What is causing high RTT, or the reason for packet drop by checking end user's recent network activity.
Back to Features
See all network interactions on the wire, in real time and through deep-dive post-capture analysis, across data centers and remote locations. Understand user activities by transactions and user names for HTTP/S, SAP, Oracle, Exchange, SOAP/XML, Citrix, VoIP, MQ, and many more. Identify hotspots, performance limitations, visualize server and network bottlenecks, and understand WAN usage and optimization efficiency - for all transactions, across all tiers, down to the user
Back to Features
Understand the impact of Web 2.0, mobile, public cloud and third-party services with dynaTrace UEM and Synthetic integration. Single Click to Root Cause provides you with full application detail down to the method level to pinpoint performance and functional problems. See what happened within application server code when User Activity report showed long server time or server error for a specific page load
Back to Features
Proactively monitor any enterprise application for availability, SLA monitoring and reporting to reduce application downtime significantly. Expedite the resolution of an application performance problem at the time it initially occurs. Troubleshoot problems pro-actively using actionable alerts, detailed metrics and comprehensive diagnostics. Long-term trending shows changes over time and provides continuous measurements of application availability.
Back to Features
Quickly find and fix performance issues hidden within server-side components. With DC RUM reporting you can analyze performance from the network perspective and drill down into application, server, transaction and user details. Trace transaction execution from front-end web servers through all application tiers, down to mainframe CICS programs.
Back to Features
“Dole Fresh Fruit Company was able to cut our operational costs through an improved approach to application performance management (APM) using Dynatrace’s Data Center Real-User Monitoring.”
"Instead of manually correlating across different network and application tools, Compuware APM provides a single solution and workflow. Not only does Compuware DC RUM automatically identify the bottleneck, it provides the user and transaction context required to solve the problem with packet-level visibility.”


Before the inclusion of glfw3native.h, you may define exactly one window system API macro and zero or more context creation API macros.
The chosen backends must match those the library was compiled for. Failure to do this will cause a link-time error.
The available window API macros are: * `GLFW_EXPOSE_NATIVE_WIN32` * `GLFW_EXPOSE_NATIVE_COCOA` * `GLFW_EXPOSE_NATIVE_X11` * `GLFW_EXPOSE_NATIVE_WAYLAND` * `GLFW_EXPOSE_NATIVE_MIR`
The available context API macros are: * `GLFW_EXPOSE_NATIVE_WGL` * `GLFW_EXPOSE_NATIVE_NSGL` * `GLFW_EXPOSE_NATIVE_GLX` * `GLFW_EXPOSE_NATIVE_EGL`
These macros select which of the native access functions that are declared and which platform-specific headers to include. It is then up your (by definition platform-specific) code to handle which of these should be defined.


AWS IoT Analytics Dataset ResourceConfiguration
The
ResourceConfiguration
property type specifies the configuration of the resource
which executes the 'containerAction' for an AWS IoT Analytics dataset.
ResourceConfiguration
is a property of the ContainerAction property type.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "ComputeType" :
String
, "VolumeSizeInGB" :Integer
}
YAML
ComputeType:
String
VolumeSizeInGB:Integer
Properties
ComputeType
-
The type of the compute resource used to execute the 'containerAction' (ACU_1|ACU_2).
Required: Yes
Type: String
Update requires: No interruption
VolumeSizeInGB
-
The size of the persistent storage available to the resource instance used to execute the 'containerAction'.
Required: Yes
Type: Integer
Update requires: No interruption
See Also
-
CreateDataset in the IoT Analytics User Guide


Today,
Scoped Functionality Issues or Ticks
"Caring is not in scope, but we do it anyway"
- David Droga
Use Engineering Standards
Use Libraries for Themes/Plugins
Test with a LOT of Real Content
Individualized, singular test on every piece of functionality
Prove with every push that code still works
Because We all get Tunnel Vision
Your Personal QA Intern: Scrutinizer
Finds issues, runs tests, applies stylistic patches


Passage HackTheBox Writeup
Passage HackTheBox Writeup
First Stage : Enumeration
As usual we start with nmap scan.
# Nmap 7.91 scan initiated Wed Mar 3 20:20:14 2021 as: nmap -sC -sV -T4 -vv -p- -oN nmapscan <IP_ADDRESS>
Nmap scan report for <IP_ADDRESS>
Host is up, received syn-ack (0.23s latency).
Scanned at 2021-03-03 20:20:16 IST for 771s
Not shown: 65533 closed ports
Reason: 65533 conn-refused
PORT STATE SERVICE REASON VERSION
22/tcp open ssh syn-ack OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 17:eb:9e:23:ea:23:b6:b1:bc:c6:4f:db:98:d3:d4:a1 (RSA)
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVnCUEEK8NK4naCBGc9im6v6c67d5w/z/i72QIXW9JPJ6bv/rdc45FOdiOSovmWW6onhKbdUje+8NKX1LvHIiotFhc66Jih+AW8aeK6pIsywDxtoUwBcKcaPkVFIiFUZ3UWOsWMi+qYTFGg2DEi3OHHWSMSPzVTh+YIsCzkRCHwcecTBNipHK645LwdaBLESJBUieIwuIh8icoESGaNcirD/DkJjjQ3xKSc4nbMnD7D6C1tIgF9TGZadvQNqMgSmJJRFk/hVeA/PReo4Z+WrWTvPuFiTFr8RW+yY/nHWrG6LfldCUwpz0jj/kDFGUDYHLBEN7nsFZx4boP8+p52D8F
| 256 71:64:51:50:c3:7f:18:47:03:98:3e:5e:b8:10:19:fc (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCdB2wKcMmurynbHuHifOk3OGwNcZ1/7kTJM67u+Cm/6np9tRhyFrjnhcsmydEtLwGiiY5+tUjr2qeTLsrgvzsY=
| 256 fd:56:2a:f8:d0:60:a7:f1:a0:a1:47:a4:38:d6:a8:a1 (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGRIhMr/zUartoStYphvYD6kVzr7TDo+gIQfS2WwhSBd
80/tcp open http syn-ack Apache httpd 2.4.18 ((Ubuntu))
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Passage News
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
So the open ports are
- 80
- 22
Hence I visited port 80.
So in the first post we can see that they have implemented Fail2Ban which blocks IP addresses if the server recieves repeated or malicious requests. Hence I know that gobuster wont work. But in the bottom of the page was something interesting.
Hence I searched for exploits using searchsploit.
The RCE exploit caught my eye. Hence I copied the exploit to current directory and analysed the code . So the code registers with a random username and password . And then tries to upload a php reverse shell in place of the avatar image. And executes the php file and gives you a shell in the box as www-data.
Second Stage : Initial Access as www-data
Hence if we run the exploit.py and enter url.
So using this I got a netcat shell in my local machine becuase it is comfortable than this one.
Third Stage : www-data to paul
Linpeas didn’t gave anything useful , so while searching manually I found this file .
/var/www/html/CuteNews/cdata/users/lines
Which had base64 encoded hashes . Upon using CyberChef we can get the hashes.
So cracking the SHA-256 hash we get the password and we can su as paul
Fourth Stage : paul to nadav
After getting the private key of paul we can ssh into the machine as paul. After running linpeas I got nothing.
I tried searching for privesc manually , then I found nadav’s public key in authorized_keys.
Hence I thought maybe paul’s public key is stored in nadav’s authorized keys.
So I tried this.
ssh -i id_rsa nadav@passage
Fourth Stage : nadav to root
After learning that nadav is in sudo group and adm group I started trying privlege escalation using those methods.
But after many rabbit holes , I ran ps aux
Hence when I searched for the exploit using the usb-creator I found this article.
Article Link : https://unit42.paloaltonetworks.com/usbcreator-d-bus-privilege-escalation-in-ubuntu-desktop/
Please read this article to understand how does this exploit work.
gdbus call –system –dest com.ubuntu.USBCreator –object-path /com/ubuntu/USBCreator –method com.ubuntu.USBCreator.Image /root/root.txt /dev/shm/.flag.txt true
Hence we get the root flag.


Exam 2 Study Guide
Logistics
Date:
Thursday, October 24, 2019
Time: 8:45pm-10:15pm ET - (it is a 1.5 hour exam)
Location: Your exam location is posted on UBlearns.
What to Bring: You should bring multiple pens / pencils, your approved calculator, and a photo ID.
Calculator: You are allowed to use only the Texas Instruments TI-30XIIS calculator on the exam. All other calculators are prohibited. See the Calculator and Reference Policy in the syllabus for more details.
Photo ID: You must bring a photo ID with you to your test site (either a UB student ID or a state-issued ID like a driver's licencse).
What Not to Bring: Do not bring any bags, books, notes, formula sheets, or other loose items.
- No Formula Sheets: You are not allowed any outside references (e.g., cheat sheets, formula sheets, note cards, or textbooks). See the Calculator and Reference Policy in the syllabus for more details.
Material
Learning Outcomes Being Tested
Below is the list of potential exam questions for each section covered in lecture.
Exam 1 Review
While concepts from exam 1 will not be explicitly tested on this exam, we do rely heavily on many of the concepts first introduced there. In particular, it may be a good idea to review:
- Section 0.4 How To Solve Equations - Factoring and Quadratic Formula
- Section 1.6 Basic Derivative Rules
Section 2.1
Additional Practice 2.1 #1, 3, 17, 25, 27, 29, 33, 35 (textbook)
- Given the graph of a function:
- Find the intervals of increase and decrease.
- Find the relative extreme points.
- Find the absolute extreme points.
- Find the intervals of concavity.
- Find the inflection points.
- Sketch the graph of a function, given the:
- Intervals of increase and decrease
- Relative extreme points.
- Absolute extreme points.
- Intervals of concavity.
- Inflection points.
Section 2.2
Additional Practice 2.2 #5, 7, 9, 13, 15, 25, 27 (textbook)
- Given the graph of \(f(x)\):
- Find the intervals where \(f'(x)\) is positive or negative.
- Find the intervals where \(f''(x)\) is positive or negative.
- Given the graph of \(f'(x)\):
- Find the intervals where \(f(x)\) is increasing or decreasing.
- Find the intervals where \(f(x)\) is concave up or concave down.
- Find the \(x\)-values where \(f(x)\) has a relative maximum or minimum
- Find the \(x\)-values where \(f(x)\) has an inflection point.
- Sketch the graph of \(f(x)\), given:
- The intervals where \(f'(x)\) is positive and negative
- The \(x\)-values where \(f'(x)=0\)
- The intervals where \(f''(x)\) is positive and negative
- The \(x\)-values where \(f';(x)=0\)
Section 2.3
Additional Practice 2.3 #1, 3, 5, 7, 9, 17, 19, 25, 27, 29, 35, 37 (textbook)
- For all of the following problems, you may be given:
- the derivatives, \(f'(x)\) or \(f''(x)\), already calculated for you.
- only the function \(f(x)\), and need to calculate the derivatives for yourself.
- Find the critical numbers of a function.
- Classify the critical numbers of a function using:
- the 1st Derivative Test (relative max, relative min, or neither)
- the 2nd Derivative Test (relative max, relative min, or inconclusive)
- Use \(f'(x)\) to find the following about \(f(x)\):
- Intervals of increase / decrease.
- Local extreme points.
- Use \(f''(x)\) to find the following about \(f(x)\):
- Intervals of concave up / concave down.
- Inflection points.
- Sketch the graph of a function by determining the:
- Intervals of increase / decrease.
- Local extreme points.
- Intervals of concave up / concave down.
- Inflection points.
Section 2.4
Additional Practice 2.4 #1, 3, 7, 9, 25, 27 (textbook)
- Find the \(x\) and \(y\) intercepts of a function, if any exist.
- Sketch the graph of a function by determining the:
- Intervals of increase / decrease.
- Local extreme points.
- Intervals of concave up / concave down.
- Inflection points.
- \(x\) and \(y\) intercepts
- Sketch the graph of a function of the form \(f(x)=mx+b + \frac{1}{x}\) by determining the:
- Intervals of increase / decrease.
- Local extreme points.
- Intervals of concave up / concave down.
- Inflection points.
- Vertical Asymptote at \(x=0\)
- Oblique (Slant) Asymptote at \(y=mx+b\)
Section 2.5
Additional Practice 2.5 #5, 7, 9, 11, 13, 15, 17, 19, 27 (textbook)
- Find the absolute maximum (or minimum) of a function:
- that has only one critical number.
- on an interval of the form \([a,\infty)\) or \([a,b]\).
- Given a function that describes the motion of a ball thrown straight
up into the air:
- Determine how long it takes to reach its maximum height.
- Determine the maximum height.
- Solve an optimization problem where the objective and constraint equations are given for you.
- Solve the constraint equation for one of the variables.
- Substitute this result into the objective equation.
- Optimize the objective equation (that now only has one variable)
- Justify your answer by using either the First Derivative or Second Derivative Test to show that there is a maximum / minimum there.
- Determine the Objective and Constraint Equations for an optimization
word problem.
- Solve an optimization word problem by constructing the objective and constraint equations for yourself - and then going through the optimization process as described above. It will involve one of the following:
- Cost / perimeter and area of a rectangle.
- Surface Area and Volume of a 3-dimensional box.
- State the final answer using units, if necessary.
Section 2.6
Additional Practice 2.6 #1, 3, 5, 25 (textbook)
- Find the Objective and Constraint Equations for an Inventory Control problem.
- Solve an Inventory Control problem using the same Optimization techniques from section 2.5.
Section 3.1
Additional Practice 3.1 #1, 3, 7, 9, 13, 15, 19 23 25 29 31 37 (textbook)
- Differentiate a function using the Product Rule.
- Differentiate a function using the Quotient Rule.
Section 3.2
Additional Practice 3.2 #11-21(odd), 25, 29, 31, 33, 37, 39, 41, 43, 53, 55 (textbook)
- Use the General Power Rule to differentiate \((g(x))^n\).
- Use the Chain Rule to differentiate a function of the form \(f(g(x))\).
- You may be given separate formulas for \(f(x)\) and \(g(x)\).
- Use the Chain Rule to calculate \(\frac{dy}{dx}\).
- You may be given separate formulas for \(y=f(u)\) and \(u=g(x)\).
- Evaluate a derivative at a given \(x\)-value.
- Use the Chain Rule to solve problems involving the rate of change with respect to time. (See 14 and 15 from the homework)
Section 3.3
Additional Practice 3.3 #1, 3, 11, 13, 19, 21, 23, 25, 29, 31, 33, 39, 42, 43, 45 (textbook)
- Use implicit differentiation to calculate \(\frac{dy}{dx}\) in terms of \(x\) and \(y\).
- The differentiation may require use of the Product, Quotient, or General Power Rules.
- Use implicit differentiation to find the slope of the curve at a designated point.
- Determine the Related Rates Equation for a given equation.
- Solve a Related Rates Equation for either \(\frac{dy}{dt}\) or \(\frac{dx}{dt}\)
- Evaluate a Related Rates Equation given a specified point and derivative. Use this to solve for the unknown derivative value.
- Solve a Related Rates Problem (like 14-17 from the homework)
- You may need to know the Pythagorean Theoerm.


SensorBreiten Station Settings
Station Settings
Station API key
Save
Local Wifi Settings
Local Wifi SSID
Local Wifi password
Save & restart
Wifi Settings
Wifi SSID
Wifi password
Save & connect
Made by
Bastiaan van der Plaat


Connect R with MOA (Massive Online Analysis - <http://moa.cms.waikato.ac.nz>) to build classification models and regression models on streaming data or out-of-RAM data. Also streaming recommendation models are made available.
| Version: | 1.0.1 |
| Depends: | RMOAjars (≥ 1.0), rJava (≥ 0.6-3), methods |
| Suggests: | ff, recommenderlab |
| Published: | 2018-09-22 |
| Author: | Jan Wijffels [aut, cre], BNOSAC [cph] |
| Maintainer: | Jan Wijffels <jwijffels at bnosac.be> |
| License: | GPL-3 |
| Copyright: | Code is Copyright (C) Jan Wijffels and BNOSAC |
| URL: | http://www.bnosac.be, https://github.com/jwijffels/RMOA, http://moa.cms.waikato.ac.nz/ |
| NeedsCompilation: | no |
| SystemRequirements: | Java (>= 5.0) |
| Citation: | RMOA citation info |
| Materials: | NEWS |
| CRAN checks: | RMOA results |
| Reference manual: | RMOA.pdf |
| Vignettes: |
R interface to MOA for data stream mining |
| Package source: | RMOA_1.0.1.tar.gz |
| Windows binaries: | r-devel: RMOA_1.0.1.zip, r-release: RMOA_1.0.1.zip, r-oldrel: RMOA_1.0.1.zip |
| OS X binaries: | r-release: RMOA_1.0.1.tgz, r-oldrel: RMOA_1.0.1.tgz |
| Old sources: | RMOA archive |
Please use the canonical form https://CRAN.R-project.org/package=RMOA to link to this page.


CancerMine is a literature-mined database of drivers, oncogenes and tumor suppressors in cancer. It is a valuable resource for cancer researchers and clinicians to understand the genetic underpinnings of different cancer types. The largest bottleneck in precision oncology is interpreting the myriad of mutations found in individual patient tumors. Knowledge of the role of those genes in cancer is essential. This resource provides information on genes that are drivers (frequently harbor cancer-promoting mutations), oncogenes (cancer-promoting) and tumor suppressors (protective against cancer) in a large number of different cancers. Context is key as some genes (e.g. NOTCH1) are oncogenes in one cancer and tumor suppressive in another. All data has been text-mined from articles and the source sentence and links are provided.
Download: The complete dataset is stored in the Zenodo repository for perpetuity and will be updated regularly. Alternatively browse the dataset using the tabs above and use the Download buttons to download all the data you need.
The charts below show the most frequently cited genes and cancer types. Click on one of the genes or cancers in the barchart or use the tabs above to navigate the dataset. Use the Help tab to see more detailed information.


Typeclass that enables for aggregations certain contain
syntax in the ScalaTest matchers DSL.
Supertrait for typeclasses that enable loneElement
and inspectors syntax
for collections.
Supertrait for typeclasses that enable certain contain
matcher syntax for containers.
Supertrait for typeclasses that enable the be defined
matcher syntax.
Supertrait for typeclasses that enable be empty
matcher syntax.
Supertrait for typeclasses that enable the exist
matcher syntax.
Supertrait for typeclasses that enable contain key
matcher syntax.
Supertrait for Length
typeclasses.
Supertrait for Messaging
typeclasses.
Supertrait for typeclasses that enable the be readable
matcher syntax.
Typeclass that enables for sequencing certain contain
syntax in the ScalaTest matchers DSL.
Supertrait for Size
typeclasses.
Supertrait for typeclasses that enable the be
sorted
matcher syntax.
Supertrait for typeclasses that enable contain value
matcher syntax.
Supertrait for typeclasses that enable the be
writable
matcher syntax.
Companion object for Aggregating
that provides implicit implementations for the following types:
Companion object for Collecting
that provides implicit implementations for the following types:
Companion object for Containing
that provides implicit implementations for the following types:
Companion object for Definition
that provides implicit implementations for the following types:
Companion object for Emptiness
that provides implicit implementations for the following types:
Companion object for Existence
that provides implicit implementations for java.io.File
.
Companion object for KeyMapping
that provides implicit implementations for scala.collection.GenMap
and java.util.Map
.
Companion object for Length
that provides implicit implementations for the following types:
Companion object for Messaging
that provides implicit implementations for the following types:
Companion object for Readability
that provides implicit implementations for the following types:
Companion object for Sequencing
that provides implicit implementations for the following types:
Companion object for Length
that provides implicit implementations for the following types:
Companion object for Sortable
that provides implicit implementations for the following types:
Companion object for ValueMapping
that provides implicit implementations for scala.collection.GenMap
and java.util.Map
.
Companion object for Writability
that provides implicit implementations for the following types:


Collector Marsha:
Player :
Paper
Collector Marsha:
Rock
Well, you certainly got lucky that time! Take all the orbs we put up as a bet. Come on! Let's play another round!
Play the rock paper scissors game.
Quit


Name: Amanda
Band: Jazz Band (12 players)
Band: Jazz Band
Size: 12 players
Flavors in my favorite ice cream:


--- layout: page title: About header-img: "img/about-bg.png" ---
I'm currently finishing my bachelors in front-end web development at CUNY City Tech in Brooklyn, NY. It was during the beginning of my degree when I had my first experiences writing basic HTML that I decided coding was for me. Since then I have developed an appetite for learning more and more about coding. That is why I decided to join Flatiron so that I could learn the back-end site of web development. So far I have really enjoyed this course. My plan is to take more courses like this in the future, and just keep on learning and growing until the end of my days. =)


Your one stop shop for all of your musician collaboration needs!
Username:
password:
nickname:
description:
photo:
{{ErrorMsg}}


Body language expert says Prince Andrew 'didn't appear to be genuine' in explosive interview
Cape Town – Prince Andrew addressed his friendship with Jeffrey Epstein and denied the sexual misconduct allegations against him in an explosive tell-all interview on Saturday – but according to body language expert and psychologist, Darren Stanton, the Duke of York "didn't appear to be genuine".
Stanton told Mirror, "The behaviour I observed during the documentary is consistent with someone being evasive and potentially deceptive." The TV Human Lie Detector, as he's known, speaks of "leakage" – "interesting gestures which are the body's unconscious gestures" when being interrogated.
When the prince was questioned by BBC Newsnight's Emily Maitlis, and things got a little more intense, his body language wasn't consistent with someone telling the truth.
"I noted Prince Andrew, at times, appeared to feign or overcompensate some expression of surprise. Either he was already aware of the information and tried to again distance himself from already knowing it, or he was trying to convey total surprise. Either way, it didn't appear to be genuine."
Stanton also said that Prince Andrew did not completely deny meeting Virginia Giuffre – the woman making the claims that she was forced to have sex with the prince on three occasions – instead, he used "evasive, non-committal language" and "distancing language".
"He has very stoic body language," Stanton said. "I believe he has been heavily coached."
Though Prince Andrew alluded to wanting to address the allegations for a while now – it wasn't a spur of the moment decision – experts other than Stanton have also weighed in on the royal's decision to speak up.
Image consultant Mark Borkowski said it was "like watching a man in quicksand" and that he had "never seen anything so disastrous", while the queen's former press secretary Dickie Arbiter called the interview a "rotten idea".
"Prince Andrew doesn't regret his relationship with Epstein because he made useful contacts. Dear god – no remorse for Epstein's victims but an abundance of arrogance," Dickie wrote on Twitter.
The royal was criticised for his lack of judgement and empathy with Epstein's victims, while his eyebrow-raising defence that he was at a high street pizza chain, never sweated and only stayed at the disgraced financier's home because it was "convenient" didn't make his account any more believable.
Dickie wrote, "He's done himself no favours."
Compiled by Bashiera Parker (Sources: Channel24 , Mirror , Twitter )
(Photo: Getty Images)


Generator Plugins
Many pub-server packages rely on generator plugins, usually to provide specialized handlebars helpers.
Generator plugins are "universal" npm modules. They run in node.js, as well as in browsers.
Here is the pub-config
entry from pub-theme-doc.
generatorPlugins: './plugins/generator-plugin.js',
The file path follows the node.js require(path)
convention of using relative paths for modules which are local files and bare names for installable npm modules.
Here is the plugin:
module.exports = function(generator) {
var u = generator.util;
var opts = generator.opts;
var hb = generator.handlebars;
hb.registerHelper('navIcon', function(frame) {
return hb.defaultFragmentHtml('/#navicon',
'_!bars fw lg_',
'=',
frame);
});
hb.registerHelper('docTitle', function(frame) {
var title = opts.docTitle || opts.pkgName || 'pub-server';
var subTitle = opts.docSubTitle || '';
return hb.defaultFragmentHtml('/#doctitle',
'# [' + title + '](/)\n' + subTitle,
'
' + u.escape(title) + '
' + subTitle,
frame);
});
hb.registerHelper('topMenu', function(frame) {
var url = opts.github || hb.githubUrl();
return hb.defaultFragmentHtml('/#topmenu',
url ? '- [_!github lg fw_](' + url + ' "github")' : '',
url ? '

github

' : '',
frame);
});
}
Generator plugins are expected to export a single function which is called once at startup. The function is passed a single generator
parameter which is an instance of pub-generator
.
Registering helpers
Plugins can register new helpers using the handlebars instance at generator.handlebars
.
An interesting example is the generator plugin in pub-pkg-font-awesome which, besides registering some helpers, also adds a plugin to generator.marked
to extend the markdown syntax for emphasis/italics.
Manipulating the generator page model
Plugins which need to manipulate the page content model after it has been loaded from source, can do so by hooking into a 'pages-ready' event emitted by the generator after loading source files and parsing all the markdown and templates
generator.on('pages-ready', function() {
decoratePages();
});
Note that the pages-ready
event will be triggered each time the server reloads sources e.g. when watching directories for changes.


I identify as a botanist first and foremost, but most of the time I work with data analysis and exploration. As a scientist my main interest is the interplay between evolution and ecology. On a practical level the thing that really gets me going is writing code to solve problems. I am always looking for new things to solve, calculate, plot and disappear into. Disappear is a good word for what happens when I get a new analytic task: I find myself disappearing into the project, diving straight into the deep end and enjoying the swim. Pardon the discription, but I am highly enthusiastic about this topic. I think my three best qualities are:
This portfolio and website is an example of my adaptability and wish to learn. Before this I had zero experience with HTML, CSS or using github for building websites. I learned as I went and solved problems idependently. I am a highly independent worker, but I my eyes are opening to the advantages of collaborations. I believe that learning is a skill, and I have spent quite a bit of time developing that skill. I am confident that I can learn whatever is necessary to make valuable contributions to any project. Unless it is on German grammar, that stuff is hard. Feel free to contact me for an informal exchange any time. I am interested in both academic collaborations and applied data science. Looking forward to hearing from you, Sander