I am evaluating Emoncms to see if it can serve as a foundation for a monitoring/visualization project. I have already set up a local instance on my server and have begun logging some test data. I have also read up on the user documentation. So far I like it a lot but need some clarification on the following:
1. I understand inputs, feeds and processes, but what is a "Node" and where would one use it?
2. Can I display the raw logged data in a data table/grid somehow? If so, how?
3. Is it possible to create our own reports and charts on top of enomcms? (I am familiar with php, mysql, angular etc)
4. Alternatively, if #2 and #3 above are not possible, I am thinking of use enomcms just as a "backend" logging platform and then building my own "frontend" for reporting and visualization - would you recommend this?
Any advice or pointers would be highly appreciated!
Re: Evaluating enomcms - A few basic questions
1 - Nodes are sensor devices like the emonTx and emonTH, each node on the network has a unique node ID.
2 - Not within emonCMS itself but you can export feeds as csv files and view in a spreadsheet etc
3 - Getting involved in development is encouraged and if you have the skills then I'm sure many users would enjoy the additional features. Take a look at the emonCMS repo on GitHub most of the code is in modular form located in the Modules folder, there are additional modules like packetgen and event etc that can be just dropped into "Modules" to work. So you can either contribute to the existing files via git or create your own module.
4 - Nothing is stopping you doing that but IMHO it maybe easier to just build on what emoncms has in the form of an additional Module rather than starting over.
Paul
Re: Evaluating enomcms - A few basic questions
Thanks for your responses! I've just started reading through the dev guide to get an understanding of how things are structured.
I do agree that building modules on top of enomcms would be ideal and allow me to extend the base functionality with ease and in a modular way.
Thanks for taking time to respond.


Google Fu
dig
Nmap
Sublist3r
Bluto
Wappalyzer
WhatWeb
BuiltWith
Netcat
HaveIBeenPwned
Breach-Parse
Wireshark
netcraft.com
shodan.io
securityheaders.com
ssllabs.com/ssltest
pastebin.com
theharvester -d megacorpone.com -b google
Password dumps included in kali"s wordlists (/usr/share/wordlists/)
osintframework.com
https://www.youtube.com/watch?v=gIz_yn0Uvb8


dx/dt =
dy/dt =
density:
If you set this value above 300, I am not responsible if your browser crashes. :)
x-min:
x-max:
y-min:
y-max:
Apply


I am a Computer Engineering student currently in my last semester at the University of Iowa, with a focus on software and embedded systems.
As a non-traditional student returning to college to change careers, I have experience with team-based projects due to my previous work as a motion graphics / 3d animator.
I can be reached at the following:
Email<EMAIL_ADDRESS>Cell:<PHONE_NUMBER>
Pedal Portal - In Progress
Portable video and data system for assessing rider locomotion and behavior
Description:
The goal of this project is to adapt a current GPS-enabled camera system by engineering a new solution that facilitates greater ease of use and reliability. The system will be used to measure the activity and behavior of a bicyclist by providing information on the length, distance, and route infrastructure utilized on the trip. As a team of four, we need to redesign the current system (which is built from three separated, commercial cameras) to provide a more efficient and informative solution.
Details:
The core of the bike hardware consists of an array of three Raspberry Pis, each capturing footage from a camera module. The feeds are recorded at 1280x720/30 fps, and stored on a usb flash drive connected to the master Pi. A synced GPS unit provides accompanying location data.
Riders indicate safety-critical events with a push button, which marks the timing of the event on a log that automatically syncs with the captured video when the project is imported to the software.
Power will be supplied by either one or two USB battery packs, depending on results from testing once a prototype is in a testable state.
Web app for trip planning and reviews, with social integration
Description:
Backpack Traveler is a web app designed to provide information and organization to college students that have experience with travel and/or wish to travel in the future.
Details:
Created with Ruby on Rails, Backpack Traveler is a consolidated traveling app aimed at college students to provide smart recommendations based on other users with similar interests. Its purpose is to give users a hub for all their travel needs and make travel easy and exciting.
Selected features include heat maps for places traveled, a simple workflow for planning a future trip (flights, hostels, restaurants, etc.), and crowd-sourced locations and ratings similar to untappd/foursquare. An integrated chat system will allow travelers to interact and share travel experiences or even find a friend to travel with. Airbnb/Kayak/Yelp integration will be included for easy planning.
Rails web app for monitoring past and present sensor readings
Description:
This project called for the development of a compact, battery-powered box capable of reading temperature and transmitting that data to server. A client was also developed to provide a graphical interface for the data as well as remote controls for the sensor box.
Details:
The temperature sensor box is controlled by an Arduino Uno R3, which runs a continuous loop with a half second timer to check for temperature data and send an HTTP GET request with appended temperature data over the Ethernet connection if available. The DS18B20 temperature sensor operates using the OneWire protocol, so the Arduino OneWire library is used to interpret data and send control signals. Additionally, the DallasTemperature library created by Miles Burton is used in conjunction with the OneWire library to facilitate easier communication syntax.
Upon power-up, the box attempts to initialize a network connection over the Ethernet port on the Arduino Ethernet shield. If successful, an HTTP GET request is sent to the Rails server each time the timer expires (using the same timer as the temperature sensor readings). The temperature data obtained from the sensor is appended to the GET request, and the server sends back a bare text HTML page that only includes LED toggle control information.
Once temperature data is received by the Rails server, it is stored in a SqLite database.. As the page loads a loop runs that checks the board’s connection, checks if the sensor is attached (receiving temp data), checks for phone information to be entered, and updates the graph. When updating the graph, ajax calls are run to check for the data in the database. The graph is created using the Highcharts api, which updates the data as it is received. While the graph is updated the program checks to see if the high or low temp limits have been reached and uses a post call to run the ruby function to send a text alert.
The objective of this laboratory was to develop a device can decode audio frequency-shift keyed (AFSK) packets encoded at 1200 baud according to the Bell 202 standard with NRZI (Non-Return to Zero, Inverted) encoding
Details:
As a team of four, we designed the hardware and software necessary to determine the local frequency of the AFSK signal consisting of a train of 1200 Hz and 2200 Hz tones representing bits in a message to be communicated. The hardware consisted of a level shifter and inverter circuit, which supplied a clear NRZI signal to the Arduino decoder.
We developed an application for the Arduino decoder to translate HDLC packets that have been sent using NRZI signaling with the Bell 202 tones. The application used the Arduino’s serial communication to display the contents of each packet received.
The Truckers Jamboree is hosted every year at the Iowa 80 Truckstop, I-80 Exit 284, Walcott, Iowa. Since it’s inception in 1979, the Truckers Jamboree has been celebrating America’s Truckers. Their management wanted a streamlined and easy way to keep track of and manage registration information and options.
Details:
The Trucker’s Jamboree web app was developed with Ruby on Rails and creates an online database management system for a trucking exhibition run by the Iowa 80 Truckstop in Walcott, IA. The project allows vendors to register online and be entered directly into a database that an admin can then view and maintain. The admin has the functionality to edit, sort, and control all vendors and organize information about the vendors’ requests. Additionally, they can manage the event on mobile devices.
Their initial system was a simple web form that, when completed, generated an email that had to be transferred by hand into a Microsoft Access database. We pitched the idea of an online database with a dynamic web interface that the vendors and admin could both use to register or manage the event. The client’s full requirements for the project were larger than what we could accomplish in three iterations, but we managed to get a complete database system with dynamic management online to the customer’s satisfaction.
The new system provides a custom interface that allows them to sort or filter the vendors through any combination they want, and provides printable lists for any configuration.
Encrypted messaging app using the Off-The-Record (OTR) protocol
Description:
As a team of four, we were tasked with developing an instant messaging client that supports strong end-to-end encryption so that only the end users can decrypt and read the messages exchanged. The end-to-end encryption technique used was required to provide for authentication of users via the socialist millionaire protocol. We selected the OTR protocol and developed a Java application to implement it.
Details:
OTR is a secure messaging protocol that allows you to have private conversations over IM by providing encryption, authentication, deniability, and perfect forward secrecy. No one else can read your instant messages and you are assured the person you are talking to is who you are wanting to correspond with. End-to-end encryption uses Diffie-Hellman key exchange, and authentication is covered by using the Socialist Millionaire Protocol (SMP).
This OTR library uses the Socialist Millionaire Protocol (SMP) to prevent man-in-the-middle attacks and eavesdropping without requiring users to work with complex fingerprints. This SMP implementation provides the convenience of not manually comparing public key fingerprints through an outside channel, allowing a relatively weak password/passphrase in natural language that is easier to use and understand. SMP runs by exchanging 2 secret strings, for example “x” and “y”. Then a series of message is exchanged to reveal the value if x=y without revealing any other information regarding the two secret strings or the exact value. This allows the users to determine whether the same secret information is shared with no danger of revealing the secret to an attacker.
Hospital management software for scheduling, billing, payroll, etc.
Description:
Developed with PHP using CodeIgniter, this web app provides doctor, patient, nurse, and admin profiles along with associated functionality. The app streamlines a hospital’s records and eliminates the need for physical paperwork.
Details:
From the patient homepage, links provide easy access to functionality that includes Schedule an Appointment, Show My Appointments, Fill Out Medical Record, Pay Bill, and View Medical Record. These home page links allow a user to fill out their own medical record forms, view the current status of their medical records, search and register for appointments with a Doctor, and view/change/cancel their upcoming appointments. A patient receives an email notification if a Doctor changes the time or cancels a scheduled appointment with the patient. Once a doctor has determined the user’s treatment as “complete,” and an admin has generated a bill, the user can pay their bill by verifying the total amount by typing it in and clicking submit on the bill form view.
The doctor homepage provides access to Show My Patients, My Info, Salary Info. A doctor is able to view a list of their patients with future appointments, which will link to the medical records/demographic information of the patients. A doctor also has a link to fill out forms for Prescriptions and Diagnosis for the given patient at the time of the appointment. A doctor receives an email if one of their patients changes or cancels an appointment with them, and a doctor may begin the bill generation and payment process by clicking “treatment complete” button for the specific patient. Additionally, a doctor has functionality to display their yearly salary information. This salary is dependent on the number of patients which he sees over the pay period.
The nurse homepage is a customized version similar to a doctor’s page, and both are able to choose their work schedule and update as needed. Admin profiles have the ability to evaluate all other actor types, approve treatments, and approve and distribute payroll.
A game based on the NES classic Duck Hunt, featuring two modes: duck and clay pigeon.
Details:
The goal of this project was to implement a classic arcade game in Java with modern twists. With Duck Hunt, the similarity between the two game types allowed utilizing polymorphism to implement the functionality. General actors were created with all the shared functionality, and each specific type of sprite inherited behaviors through multiple levels of the object hierarchy. Ducks were given random behavior, while the clay pigeons followed a familiar arc.
Each game gave the player three shots per round, gradually increased the difficulty through each round, and tabulated the scores at the end. High scores stored on a server were compared and updated as needed.
This project consisted of building, testing, and modifying a Simple Instruction Set Computer (SISC) processor using Verilog HDL and ModelSim. Included was experience with writing machine code programs that correctly execute on this computer.
Details:
By utilizing a few provided components, a fully working CPU was developed by creating and coding modules for the control unit, program counter control, instruction memory, branch execution. This allowed for basic arithmetic and branch instructions to be executed.
The datapath was completed by adding the data memory and modifying the control unit to support load and store instructions. Additionally, the datapath was modified to support the SWAP instruction. Machine-language programs were written to implement bubble sort and multiplication functionality.
This project was my first experience designing an embedded system, and it utilizes an ATMega chip programmed with AVR Assembler using C.
Details:
This project utilizes a SainSmart HC-SR04 Ranging Detector controlled by an ATMega microcontroller to create a backup sensor for an automobile. An LCD with custom characters is implemented to display the distance and visualization, and a piezo buzzer is also utilized as an auditory alert. The system is designed as a functional implementation for older model vehicles to obtain the sonar-sensing capabilities, so an on-board integrated power converter is included to take 12v DC from the automobile’s reverse light to turn on and supply voltage.
The HC-SR04 operates by sending out 40kHz pulses and sending an echo back to the ATmega88PA. A timer is utilized to interpret the signal from the range finder, and the information is presented to the user through a visual and auditory alert.
Version 2 of this project implemented multiple range detectors through the use of shift registers, along with an LED array to visualize both distance and direction of obstacles. This version supplied almost 360 degrees of measurements.
The goal of this assignment was to build a calculator service to which multiple clients can connect to perform simple computations.
Details:
The server is responsible for maintaining a table for each client connections, and each table provides a mapping from variables names and their values. Each new client is stored in a linked list of clients, and each client in that list has its own linked list of variables to keep their information separate from one another. Upon connecting to a new client, the server waits for input. It keeps track of each client's information, and frees up the client memory when a disconnect is detected. The server reads input from the client until it encounters a newline character, and then performs the corresponding actions.
The Linux operating system provides the select function, which was used for managing connections with multiple clients. It allows the program to monitor multiple sockets for certain activity to occur. For example, if there is some data to be read on one of the sockets, select will provide that information.


What is Pair Programming?
Pair programming is the process of programming alongside another person, which we call Pairing. It is heavily used by Developers, especially at Dev Bootcamp. To pair with someone, you:
- Check-in
- Discuss your workflow style
- Decide who will Drive and who will Navigate first
- Switch roles
- Give Feedback
- *FISTBUMP* at your success!
Why is pair programming important to DBC?
Pair programming, or "pairing", is important for various reasons:
- Pairing with another person gives you another set of eyes on your code, aleviating you from having many errors pop-up from having tunnel vision as you write your code.
- Pairing allows for different perspectives that help you contribute a broad set of knowledge to your code.
- When you pair with another programmer, having the opoprtunity to discuss your code can build understanding about your coding style, and help move you forward when you get stuck
- Working in teams is fun, and useful! Having a culture that promotes pair programming also breaks the "lone coder in the corner" stereotype many people have about developers.
Driving and Navigating, what's that?
Driving and Navigating are the two roles you use when pairing.
The driver's role is:
- To type the code out
- To keep an eye on the syntax
- To push the programming process forward
The navigator's role is:
- To Keep an eye on the flow of the programming, and where the pair is going
- To research and relay the information to the driver
- To keep a step back from the code, and see how the code is working
Reflection
The first time I paired I was nervous because afraid of doing something wrong or not knowing enough. But, I learned shortly into the session that my pair was in the same boat and we could relate. I realized that we were both there to learn and we began to get to work. I enjoyed my first section because me and pair communicated well. We were able to get most of the challenges done. But, since it was a early pairing there were computer issues but besides that it was good.


Home
Stellar Site
Stellar Lab
Stellar Docs
Stellar Force Merge
This tool transfers all assets and offers from one account to another.
Select Stellar Network
Testnet
Livenet
Source Account
Source Seed
Destination Account
Merge custom assets
Merge Accounts


Bringing amateur and professional chefs together, in one kitchen.
ChefHub is a blogging community with culinary interests from around the world. From beginners to the most experienced palettes, ChefHub is welcome to all who enjoy food.
Improving your sets and skills is vital to your culinary growth. Whether you are first learning how to use a stove or if you own your own restaurant, ChefHub has recipes from users around the world that can help take you to the next level.


vlmcsd - a guide to KMS activation using vlmcsd
vlmcsd [ options ]
This manual describes the concepts of Microsoft KMS activation using vlmcsd. For detailed usage of vlmcsd see vlmcsd(8).
What is
KMS?
KMS is a way to activate Microsoft products that was
designed for medium and large businesses. In a standard SOHO
environment you enter a product key during installation and
then activate your product over the Internet. This is done
by sending a request to a server at microsoft.com which then
either grants or refuses activation.
By entering a special key called General Volume License Key (GVLK), a.k.a "KMS client key", the product no longer asks the Microsoft server for activation but a user-defined server (called the KMS server) which usually resides in a company’s intranet. vlmcsd is an independent open source implementation of a KMS server that is available for everyone while Microsoft gives their KMS server only to corporations that signed a so called "Select contract". In addition vlmcsd never refuses activation while the Microsoft KMS server only activates the products the customer has paid for.
Product activation using vlmcsd is performed in three easy steps:
|
1) |
Run vlmcsd (or any other KMS emulator) on a computer in your network. This will be your KMS server. New users should simply run the program without any parameters. The defaults should fit the needs of most users. | ||
|
2) |
Install your product and enter the GVLK when you are asked for a key | ||
|
3) |
Configure your client (the machine where you installed your product) to use your KMS server. |
However, when it comes to the details, some things turn out to be more difficult than you might think.
The most important thing to know is that KMS activation is not permanent. The computer remains activated for 180 days (30 or 45 days with consumer-only products). KMS activation however is not an evaluation license. You can repeat the activation anytime and as often as you like to extend activation to another 180 days. This normally happens automatically. For this to work, you have to ensure that a KMS server is always reachable for the clients on your network.
Beginning with Windows 8.1 the KMS server must be a different computer than the client. You cannot use vlmcsd on the same computer where you want to activate a product. If you have only one computer, you can run vlmcsd in a virtual machine. vlmcsd is also designed to run on "always-on devices", for example a router. The router becomes your KMS server then.
How to get a
GVLK?
That is relatively simple. The GVLKs are published on
Microsoft’s Technet web site.
Windows:
http://technet.microsoft.com/en-us/library/jj612867.aspx
Office 2010:
http://technet.microsoft.com/en-us/library/ee624355(v=office.14).aspx#section2_3
Office 2013:
http://technet.microsoft.com/en-us/library/dn385360.aspx
These lists only include products that Microsoft sells to corporations via volume license contracts. For Windows there are inofficial GVLKs that work with consumer-only versions of Windows. Here is a list:
TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
- Windows 10 Home
3KHY7-WNT83-DGQKR-F7HPR-844BM - Windows 10 Home N
7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH - Windows 10 Home Single
Language
PVMJN-6DFY6-9CCP6-7BKTT-D3WVR - Windows 10 Home Country
Specific
789NJ-TQK6T-6XTH8-J39CJ-J8D3P - Windows 8.1 Professional
with Media Center
M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK - Windows 8.1 Core
7B9N3-D94CG-YTVHR-QBPX3-RJP64 - Windows 8.1 Core N
BB6NG-PQ82V-VRDPW-8XVD2-V8P66 - Windows 8.1 Core Single
Language
NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 - Windows 8.1 Core Country
Specific
GNBB8-YVD74-QJHX6-27H4K-8QHDG - Windows 8 Professional with
Media Center
BN3D2-R7TKB-3YPBD-8DRP2-27GG4 - Windows 8 Core
8N2M2-HWPGY-7PGT9-HGDD8-GVGGY - Windows 8 Core N
2WN2H-YGCQR-KFX6K-CD6TF-84YXQ - Windows 8 Core Single
Language
4K36P-JN4VD-GDC6V-KDT89-DYFKP - Windows 8 Core Country
Specific
The above keys require activation renewal every 45 days (Win 8.1) or 30 days (Win 8). All GVLKs from the Microsoft Technet web site require renewal every 180 days.
What are
SLMGR and OSPP and how to use them?
You will need these utilities later. So please continue
reading this section.
These are two Visual Basic script utilities that are used to control Microsoft’s Software Protection system. To use them open a Windows Command Prompt. slmgr.vbs is for Windows. ospp.vbs is for Office 2010 and 2013. These utilities are installed with Windows and Office and you don’t need to download them.
slmgr.vbs resides in the system32 directory. So you just have to type "slmgr" in the Windows Command prompt to use it. To use ospp.vbs you’ll have to change the current directory to your Office installation. This is usually something like "C:\Program Files\Microsoft Office\Office14". You may type "slmgr" or "cscript ospp.vbs" without parameters to see help for these commands but this produces some rather confusing output for newbies.
How to get
the GVLK into the product?
Normally every product asks you to enter a key during
installation. At this time simply enter the GVLK. If you
skipped this step or entered some other key which later
turned out to be non-working, you can use
"slmgr /ipk GVLK" (Windows) or
"cscript ospp.vbs /inpkey:GVLK"
(Office) at any time.
Examples
slmgr /ipk
GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
cscript
ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT
Why
doesn’t Office accpet a GVLK?
You’ll have to install a volume license (VL) version
of Office. Office versions downloaded from MSDN and/or
Technet are non-VL.
How to
configure a client to use a KMS server?
After you have installed a GVLK you can set your product to
use your KMS server. vlmcsd or another KMS server
must already be running on your server machine.
Windows
Type
"slmgr /skms kms-server[:tcp-port]".
Example: "slmgr /skms <IP_ADDRESS>:1688"
Office
|
1) |
Type "cscript ospp.vbs /sethst:kms-server". Example "cscript ospp.vbs /sethst:<IP_ADDRESS>" | ||
|
2) |
Type "cscript ospp.vbs /setprt:tcp-port". Example: cscript ospp.vbs /setprt:1688 |
tcp-port is usually 1688 unless you instructed vlmcsd to use a different port which is rarely necessary.
How to
activate my product?
If you have installed a product with GVLK and pointed it to
working KMS server like vlmcsd, activation occurs
automatically. This may take a while.
You may type
slmgr /ato
-or-
cscript ospp.vbs /act
at any time to speed up that process. You may repeat these commands later to extend your activation for another 180 (45) days.
Does vlmcsd
work correctly?
If something does not work, it may have the cause that
vlmcsd does not work correctly although this is unlikely.
You can test this with the KMS client vlmcs(1). First
type "vlmcs" on the same machine where you started
vlmcsd. If things are ok, you should see something
like this:
Connecting to
<IP_ADDRESS>:1688 ... successful
Sending activation request (KMS V4) 1 of 1 ->
06401-00206-296-206344-03-5179-9600.0000-3432013
If anything goes wrong, you’ll see an error message. Next try "vlmcs kms-server" from another machine where kms-server is the hostname or IP address of your KMS server. If that fails while it works locally, you’ll most likely have to configure your firewall that it accepts incoming connections on TCP port 1688.
Is there an
easier way than using OSPP and SLMGR?
Yes and no. KMS activation was designed for large
corporations. Thus Microsoft designed KMS in a way that
corporations can configure their network infrastructure to
fully automate KMS activation. Since this involves DHCP and
DNS, it is not that easy to accomplish that for home users.
However, if you are using an open source router firmware
like OpenWRT or DD-WRT, it is easy to customize DHCP and
DNS.
|
1) |
Configure DHCP that it assigns a DNS domain name to your clients (if it doesn’t already), e.g. my-home-net.local | ||
|
2) |
Create zone my-home-net.local in your DNS server (if it doesn’t exist already). | ||
|
3) |
Add the following records to your DNS |
_vlmcs._tcp.my-home-net.local.
10800 IN SRV 100 100 kms1.my-home-net.local.
kms1.my-home-net.local. 10800 IN A <IP_ADDRESS>
Replace <IP_ADDRESS> with the IP address of your KMS server. If you don’t like a cache time of 10800 seconds (3 hours), replace it with another number.
This causes that clients will find the KMS server automatically.
This manual page was written by Hotbird64.
vlmcsd(8), vlmcs(1)


For a circular current loop, the magnetic field of a current element dI can be found first by looking at the infinitesimal magnetic field element 'dB' generated due to the current: $$ \color{#E47F1A}{d\mathbf{B}} = \frac{{\mu}_oI}{4\pi} \times \frac{\color{#1A40B1}{d\mathbf{l}} \times \color{#2E9849}{\mathbf{r}}}{r^3}$$ To calculate the total magnetic field at the point P we must integrate the infinitesimal magnetic field element across the entire loop: $$\color{#D81C1C}{\mathbf{B}} = \frac{{\mu}_oI}{4\pi} \int_{C}\frac{d\mathbf{l} \times \mathbf{r}}{r^2} $$


| None. |
| Unlike the other similar commands (MouseDown and MouseHit), this command doesn't need to know which button you are trying to test for. It looks for any mouse button, then returns the number the user clicked. Since you are polling all the mouse buttons instead of just a specific one, this may be a tad less efficient than using MouseDown or MouseHit. Use this command in conjunction with Select/Case for maximum efficiency! |
|
; GetMouse Example
While Not KeyHit(1) button=GetMouse() If button <> 0 Then Print "You pressed mouse button #" + button End If Wend |


This program extracts internal program documentation by reading specially formatted comments in the source code. For a description of these comments, see the grammar document.
| AttribIterator | Iterator result of a find or findAll. |
| Attribute | Represents an Keyword/Value pair. |
| DocClass | Represents a class. |
| DocItem | |
| LexStream | An input stream of tokens attached to a file. |
| Project | Represents a project, a set of related files. |
| Token | A single token from the input stream. |
| main() |
int main(int argc, char* argv[])
The output directory will be filled with:


A community managed list of installer scripts for popular tools for Linux based OS.
This is a project under the leopardslab organisation making installation of popular tools simple.
Popular tools can be installed on the machine using simple scripts like
The project is looking for contributers who have a thing for making tools that help make lives of the community easy. The project repository is hosted on github. For any issues or queries, you can reach out on the gitter channel of scorelab.


| Logo |
VENu logo, full colour, written and image |
Download |
| Logo |
VENu logo, white, written and image |
Download |
| uB Logo |
MicroBooNE logo, full colour |
Download |
| uB Logo |
MicroBooNE logo, white |
Download |
| Flyer |
VENu flyer, 9.9 (W) x 21.0 (H) cm, double sided |
Download |
| Poster |
VENu poster, 20 (W) x 50 (H) cm |
Download |
| Tablecloth |
VENu tablecloth logo, 70 (W) x 30 (H) cm |
Download |
| IMAGES |
|
|
| Main screenshot |
Main screenshot of VENu: event display with a neutrino event from real data recorded by MicroBooNE |
Download |
| Screenshot: game starts |
Screenshot of VENu: first screen that appears when user starts playing the game |
Download |
| Screenshot: learn section |
Screenshot of VENu: example of section when the user can learn about the MicroBooNE experiment |
Download |
| Picture: person playing |
A person using the Google Cardboard to look at events. |
Download |
| VIDEOS |
|
|
| VENu Animation Video |
A tour inside the MicroBooNE detector |
Download |


DIT029 Simulator
Please select a JSON File
Ensure that the contents follow the DIT029 Template
for a Sequence Diagram
Only Json files accepted. Maximum 1 of each type
Submit


Examples using the grid
Here is the table of content for the example programs.
Grid included but not activated, only browser default style.
Grid activated with defaults.
Grid customized using magic number 22.
Grid customized using magic number 24.


Krazy Kitchen: Unity Engine Video Game
UCR Senior Design Project
Video Demo
Github Repository
Abstract
Krazy Kitchen is an online cooperative game where a group of your friends attempt to complete several recipes under chaotic situations. This is our own implementation of the Overcooked game series. Space and time is limited and completing recipes are a combination of many different tasks and ingredients. This game requires users to get, cut, cook, combine and then deliver food. The true fun comes from the pandemonium that accompanies attempting levels individually and discovering through gameplay that the only way to succeed is to work together.
Built With
Unity Enginer
- Version: 2019.3.0 Beta 3
Authors
Game Description
Level Components
Cutting boards are where players can prepare specific ingredients for specific recipes.
And the plates are what meals are served on.
Cabinets with an exclamation point over it serve as garbage cans.
Stove tops allow our chefs to cook the needed ingredients to complete their recipes. Keeping ingredients too long will cause the food to become charred and no longer servable, so watch your food!
Ingredients are available in this design on top of item spawning cabinets. There is no limit to how many ingredients can be spawned. Try not to drown in fish!
A timer is available on every level to show how much time is left to complete recipes. This is independent of what recipe tasks are being given to the player and instead is dependent on the level itself. Completing the required number of recipes in the level time serves as beating the level.
In the top left corner all of the tasks are located for the players with its specific recipe. Plating and delivering a meal will delete the task and update your score in the bottom left corner.
These special cabinets are where we can deliver play-created meals. Once plated food is put on these cabinets, they are checked to see if the recipe has been met and then the score is incremented.
Levels
Level 1
In our first level we stress the importance of working together right off the bat. Players spawn in one of the two areas. If you are in the top section, you are only able to spawn and cut ingredients. These prepared ingredients can be put on the middle island section to be picked up by players in the bottom section. If you are in the bottom section, you can get the prepared ingredients, cook and plate them accordingly. The delivery of recipes are in the bottom section as well.
Level 2
In our second level we open tasks up to the players’ discretion. Through the small window in the cabinets, players can switch sides. It is important to note that ingredients are on top and the cutting board is on the bottom. This level involves a lot of transferring ingredients back and forth to complete a recipe. So although now a player can individually complete recipes, working together will still allow the most efficient system.
Level 3
This level can prove to be the most frustrating without communication. Players can be clogged up in this claustrophobic environment and cannot rely on cabinet island transfers unlike before. The suggested gameplay for this level is to keep movement constant among teammates in a same circular direction. If players were to move clockwise, there will be no traffic congestion.
Level 4
In the final level of the game, players must test their abilities learned in the previous labels. Players must move within the tight channel to get ingredients to the other side. The throw feature can be used to great effect in this level.
Characters
When the game starts, each user is assigned the same character model. Depending on the order they connect to the server, their model will be a different color. There is no ability or task difference in the player model. Users can move their characters around and grab/drop an item. Users can also throw an item to other users in order to save more time.
Gameplay
After all the players join the game, the game starts. Players have to cook meals based on the recipe to get corresponding points.
Users can use:
- W, A, S, D to control the character
- E to grab and drop items
- F to throw items.
Implementation
Game Engine - Unity
- Version: 2019.3.0 Beta 3
Networking Framework - Photon
Necessary Scripts
Inspiration:
Overcooked- chaotic couch co-op cooking game


Toggle navigation
Apply - Nigeria
About
Contact
Login
Home
Tuition Secondary Schools
List of School by Fees


Published Articles
Search by Article Title
Search by Article ID
Search by Reporter Name
Published Articles
Published Articles
Channel
Channel
BW Businessworld
BW Disrupt
BW Education
BW Hotelier
BW HR
BWCIO
BWSC
EE
Notifications
Article ID
Title
Reporter Name
Date,Time
115041
7 Tamil films not released in protest against local body tax
2017-10-06
20:23:32
115040
7 Tamil films not released in protest against local body tax
2017-10-06
18:48:42
115012
Focus on stability, have no discordant voices at Infy:Nilekani
2017-10-05
17:36:10
115013
Rajnish Kumar replaces Arundhati Bhattacharya as SBI chief
2017-10-05
17:36:10
115014
Yuvraj Singh Launches YouWeCan Foundation in Collaboration
2017-10-05
17:36:10
115015
IMA Reveals CMA Exam Top Performers From India
2017-10-05
17:36:10
115011
KOLKATA-BULLION-OPENING
2017-10-05
17:36:09
115006
KOLKATA-BULLION-OPENING
2017-10-05
17:33:21
115007
Focus on stability, have no discordant voices at Infy:Nilekani
2017-10-05
17:33:21
115008
Rajnish Kumar replaces Arundhati Bhattacharya as SBI chief
2017-10-05
17:33:21
115009
Yuvraj Singh Launches YouWeCan Foundation in Collaboration
2017-10-05
17:33:21
115010
IMA Reveals CMA Exam Top Performers From India
2017-10-05
17:33:21
114995
KOLKATA-BULLION-OPENING
2017-10-05
15:02:05
114996
Focus on stability, have no discordant voices at Infy:Nilekani
2017-10-05
15:02:05
114997
Rajnish Kumar replaces Arundhati Bhattacharya as SBI chief
2017-10-05
15:02:05
114998
Yuvraj Singh Launches YouWeCan Foundation in Collaboration
2017-10-05
15:02:05
114999
IMA Reveals CMA Exam Top Performers From India
2017-10-05
15:02:05
114993
Yuvraj Singh Launches YouWeCan Foundation in Collaboration
2017-10-05
14:23:28
114994
IMA Reveals CMA Exam Top Performers From India
2017-10-05
14:23:28
114990
KOLKATA-BULLION-OPENING
2017-10-05
14:23:27
«
1
2
3
4
5
6
7
8
...
2458
2459
»
Dump
×
Create Quick Launch Item
Shortcut Label
Shortcut URL
Upload Icon
Upload Image
Select file
Change
Remove
Or select one of the predefined icons


Physical processes/parametrization (1990)
- Cess R.D., et al. 1990
- (32 co-authors including
Mitchell J.F.B. & Slingo A.)
Intercomparison and
interpretation of climate
feedback processes in 19
atmospheric general
circulation models
J. Geophys. Res. 95,
pp16601-16615.
- Gregory D. &
Rowntree P.R. 1990
- A mass flux convection scheme
with representation of cloud
ensemble characteristics and
and stability dependent
closure.
Mon. Wea. Rev., 118,
pp1483-1506
- Latham J. & Smith M.H. 1990
- Effect on global warming of
wind-dependent aerosol
generation at the ocean
surface
Nature, 347, pp372-373
- Rowntree P.R. 1990
- Estimates of future climatic
change over Britain - Part 1:
Mechanisms and models
Weather 45, pp38-42
- Rowntree P.R 1990
- Estimates of future climatic
change over Britain - Part 2:
Results
Weather, 45, pp79-89
- Slingo A. 1990
- Sensitivity of the Earth's
radiation budget to changes
in low clouds
Nature, 343, pp49-51
Contact information
Andy Brady |<EMAIL_ADDRESS>| Last updated: 28 September 1995 | © Crown Copyright 1995


Calculates the power and sample size based on the difference in Restricted Mean Survival Time.
| Version: | 0.1.1 |
| Depends: | R (≥ 3.4.0) |
| Imports: | survival, survRM2 |
| Suggests: | knitr, rmarkdown |
| Published: | 2017-05-18 |
| Author: | Miki Horiguchi, Hajime Uno |
| Maintainer: | Miki Horiguchi <horiguchimiki at gmail.com> |
| License: | GPL-2 |
| NeedsCompilation: | no |
| Materials: | NEWS |
| In views: | Survival |
| CRAN checks: | SSRMST results |
| Reference manual: | SSRMST.pdf |
| Vignettes: |
Restricted mean survival time |
| Package source: | SSRMST_0.1.1.tar.gz |
| Windows binaries: | r-devel: SSRMST_0.1.1.zip, r-release: SSRMST_0.1.1.zip, r-oldrel: SSRMST_0.1.1.zip |
| OS X binaries: | r-release: SSRMST_0.1.1.tgz, r-oldrel: SSRMST_0.1.1.tgz |
| Old sources: | SSRMST archive |
Please use the canonical form https://CRAN.R-project.org/package=SSRMST to link to this page.


TABLE OF CONTENT
A. GS1 Related B. GS2 Related POLITY 1. Maharashtra capitulates, to grant farm loan waiver 2. NEET-like exam for judge posts? INTERNATIONAL RELATIONS 1. India, Israel set to expand defence ties C. GS3 Related ECONOMICS 1. GST Council decides to lower rates on 66 items 2. FinMin debating on bad bank, UBI concept: Jaitley 3. How does the monsoon affect the economy? D. GS4 Related E. Concepts-in-News: Related Concepts to Revise/Learn F. Bills/Acts/Schemes/Orgs in News G. Practice Questions for UPSC Prelims Exam
UPSC Current Affairs 2017: News Analysis
A. GS1 Related
Nothing here for Today!!!
1. Maharashtra capitulates, to grant farm loan waiver
In news:
- Maharashtra government was forced to accept the demand for a complete farm loan waiver.
- The total outstanding crop loans amount to around Rs. 1.34 lakh crore.
Steering panel meeting:
- The decision came after a meeting between the steering committee of the agitating farmers and a high-powered ministerial group formed by Chief Minister Devendra Fadnavis under the leadership of Revenue Minister Chandrakant Patil.
- For smallholding farmers — those with land up to five acres, which is almost 78% of the 1.37 crore holdings in the State, as per the Maharashtra Economic Survey 2016-17 — their farm loans were waived.
S. Swaminathan Reports:
Prof. Swaminathan is a geneticist, known as “Indian Father of Green Revolution” for his key contributions in Green Revolution (1960s) where he introduced high yielding varieties of wheat. Under his leadership, the committee submitted its report in five instalments over the period from December, 2004 to October, 2006. These reports made several recommendations for improvement in the situation of farmers in India. While several criticized the Government for not implementing the recommendations of this committee properly, other few questioned the recommendations itself.
Key Findings & Recommendations of the Report
- The major causes of the agrarian crisis are: unfinished agenda in land reform, quantity and quality of water, technology fatigue, access, adequacy and timeliness of institutional credit, and opportunities for assured and remunerative marketing. Adverse meteorological factors add to these problems.
- Land Reforms were considered necessary and key suggestions in this regards were to distribute ceiling-surplus and waste lands; prevent diversion of agricultural land & forest to corporate sector for non-agricultural purposes; ensure grazing rights & seasonal access to forests to tribals and pastoralists; establish a National Land Use Advisory Service, etc.
- Timely and adequate supply of credit is a basic requirement of small farm families and to enhance the same key suggestions of the committee were: expand the outreach of Credit facilities System; issue Kisan Credit Cards to women farmers; establish an Agriculture Risk Fund to provide relief to farmers in the aftermath of successive natural calamities, etc.
- 28% of the families in India were found to be Below Poverty Line and therefore, food security needed attention. The committee recommended: ensure availability of quality seed and other inputs at affordable costs; Set up Village Knowledge Centres (VKCs) or Gyan Chaupals in the farmers’ distress hotspots; need for focused Market Intervention Schemes (MIS) in the case of life-saving crops; have a Price Stabilisation Fund in place to protect the farmers from price fluctuations, etc.
- Improving the competitiveness of the small farmers was considered necessary. Suggestions in this area included: improvement in implementation of Minimum Support Price (MSP); MSP should be at least 50% more than the weighted average cost of production; availability of data about spot and future prices of commodities through the Multi Commodity Exchange (MCD) and the NCDEX, etc.
- The committee highlighted the need to create productive employment opportunities and to improve the quality of employment in several sectors such that real wages rise through improved productivity. For this purpose committee recommended emphasizing on relatively more labour intensive sectors and inducing a faster growth of these sectors and ensuring that the net take home income of farmers should be comparable to those of civil servants.
- The committee also recommended development of measures to reserve traditional rights of access to biodiversity and conservation, enhancement and improvement of crops, farm animals & fish stocks through breeding, etc.
2. NEET-like exam for judge posts?
In news:
- The government has proposed to the Supreme Court a NEET-like examination to recruit judges to the lower judiciary.
- The proposal comes close on the heels of several States, opposing the formation of an all-India judicial service, a 60-year-old idea.
- There were vacancies of 4,452 judges in subordinate courts as per the figures released on December 31, 2015.
- While the sanctioned strength is 20,502, the actual number of judges/judicial officers in subordinate courts is 16,050.
- The Ministry has suggested various models to the apex court so that vacancies in the subordinate courts are filled up fast. It also proposed that UPSC can hold an exam to recruit judicial officers.
Category: INTERNATIONAL RELATIONS
1. India, Israel set to expand defence ties
In news:
- Israel has emerged as one of the largest and trusted suppliers of defence equipment to the Indian armed forces.
- Israel is well entrenched in the areas of Unmanned Aerial Vehicles, air defence systems, special forces equipment and electronic warfare equipment.
Deal for Spike Anti-Tank Guided Missiles:
- Two countries are close to concluding a deal.
- The purchase of Spike missiles was approved by the Defence Acquisition Council (DAC) in October 2014, but negotiations on the contract ran into trouble over cost and technology transfer. The ₹3,200-crore deal includes 8,000-plus missiles, 300-plus launchers and technology transfer.
- The deal is likely to expand as the Army intends to equip its 382 infantry battalions and 44 mechanised regiments with new missiles.
1. GST Council decides to lower rates on 66 items
IN news: (Knowing the rate of interest for each item is not at all important for exam)
- The Goods and Services Tax (GST) Council decided to reduce tax rates on 66 items including cashew nuts, packaged foods such as sauces and pickles, agarbatti, insulin, school bags, children’s colouring books, cutlery, and some tractor components.
- The Council has also reduced the tax rate on cinema tickets costing Rs. 100 or less.
- The Council will meet again on June 18 to discuss any pending issues, including the e-waybill rules and the rates on lotteries.
- The Council also decided to increase the limit under the compensation scheme from Rs. 50 lakh to Rs. 75 lakh. The scheme was introduced for small businesses that would struggle to comply with the various requirements of GST. Those opting for the scheme will have to pay tax at the rate of 1% for the trading community, 2% for those engaged in manufacturing, and 5% for restaurants.
Objective:
- To maintain revenue neutrality.
- Eases the burden on SMEs and small businesses in trading, manufacturing, and the restaurant business because they are mass job creators.
2. FinMin debating on bad bank, UBI concept: Jaitley
In news:
- Finance Minister Arun Jaitley said that he had been discussing the two concepts introduced in this year’s Economic Survey — Universal Basic Income (UBI), and the creation of a bad bank — with Chief Economic Adviser Arvind Subramanian, but added that political and economic considerations make UBI a tough task.
- The CEA had, in the Economic Survey, also introduced the idea of the creation of a bad bank to take over the debt of the NPA-laded banks so as to ease their stress and enable them to begin lending again.
Basic Information:
- Universal Basic Income (UBI): A basic income (also called basic income guarantee, Citizen’s Income, unconditional basic income, universal basic income (UBI), or universal demogrant) is a form of social security in which all citizens or residents of a country regularly receive a regular, unconditional sum of money, either from a government or some other public institution, in addition to any income received from elsewhere.
3. How does the monsoon affect the economy?
Context:
The India Meteorological Department (IMD): India’s annual monsoon rainfall is expected to be 98% of the long-period average (LPA), up from 96% projected earlier, raising prospects of higher farm output and economic growth.
Why are monsoon rains important for India?
- The monsoon is the lifeblood for India’s farm-dependent $2 trillion economy, as at least half the farmlands are rain-fed.
- The country gets about 70% of annual rainfall in the June-September monsoon season, making it crucial for an estimated 263 million farmers.
- About 800 million people live in villages and depend on agriculture, which accounts for about 15% of India’s gross domestic product (GDP) and a failed monsoon can have a rippling effect on the country’s growth and economy.
- Whereas, a normal to above-normal and well-distributed monsoon boosts farm output and farmers’ income, thereby increasing the demand for consumer and automotive products in rural markets.
What happens in case of a poor monsoon?
- The monsoon has a direct impact on the country’s agricultural GDP. The planting of key kharif, or summer, crops like rice, sugar cane, pulses and oilseeds begins with the arrival of monsoon rains in June.
- Summer crops account for almost half of India’s food output and a delayed or poor monsoon means supply issues and acceleration in food inflation, a key metric which influences Reserve Bank of India’s decision on interest rates.
- A deficit monsoon could also lead to a drought-like situation, thereby affecting the rural household incomes, consumption and economic growth.
- A poor monsoon not only leads to weak demand for fast-moving consumer goods, two-wheelers, tractors and rural housing sectors but also increases the imports of essential food staples and forces the government to take measures like farm loan waivers, thereby putting pressure on finances. Whereas a normal monsoon results in a good harvest, which in turn lifts rural incomes and boosts spending on consumer goods. It also has a positive impact on hydro power projects.
D. GS4 Related
Nothing here for Today!!!
PIB Articles Editorials Roundup
E. Concepts-in-News: Related Concepts to Revise/Learn
F. Bills/Acts/Schemes/Orgs in News
|
Bill/Acts/Schemes in News |
About the Schemes |
G. Practice Questions for UPSC Prelims Exam
Question 1: Among the following who are the Agaria Community?
- A traditional toddy tappers community of Andhra Pradesh
- A traditional fishing community of Maharashtra
- A traditional silk-weaving community of Karnataka
- A traditional salt-pan workers community of Gujarat
Question 2: In which State is the Buddhist site Tabo Monastery located?
- Arunachal Pradesh
- Himachal Pradesh
- Sikkim
- Uttrakhand
Question 3: Indira Gandhi Prize for Peace, Disarmament and Development for the year 2014
was awarded to ________.
- NTPCL
- ISRO
- BHEL
- BEL
Question 4: Aedes aegypti transmits which among the following_______.
- Dengue, chikungunya , yellow fever and HIV
- Dengue, chikungunya and yellow fever
- Dengue, chikungunya , yellow fever and Zika virus
- Dengue, chikungunya , yellow fever and H1N1
“Proper Current Affairs preparation is the key to success in the UPSC- Civil Services Examination. We have now launched a comprehensive ‘Online Current Affairs Crash Course’. Limited seats available. Click here to Know More.”
Practice More: Enroll for India’s Largest All-India Test Series


Changing with seasons, terrain, and time of the day, Jim Corbett National Park is among the foremost places to visit in Uttarakhand in winter. The reserve is split into various zones and tourists can decide which zone to visit based on their interests. Where Dhikala is the largest and is known for its vast grasslands, Durgadevi and Sonanadi engage tourists with jeep safaris. The Jhirna zone is preferred by birdwatchers and nature enthusiasts.
Things to do: Jeep safaris, elephant rides, unplanned excursions, wildlife photography, and bonfire nights


This module produces a 3D coordinate system. It enables the user to see the alignment and dimensions of objects in respect of the coordinate axes.
Input Ports
Name Type Description infld mesh mesh of the object to be measured by the coordinate system Output Ports
Name Type Description obj DataObject directly renderable object of the coordinate system
The module generates a coordinate system to a given object. The coordinate system consists of the labels along each of the three Axes and if selected planes and grids in between two axes (xy-plane, xz-plane and yz-plane).The coordinate system can be altered by the user in several ways:
- Gridsize:
The grid size can either be changed for each individual plane or using the auto grid for all planes at the same time. Label - defines the text, which should be converted and it can be altered through editing a UIText-field.
- Plane position and appearance
The plane positions can be altered depending on the Grid size using a slider.
The toggle buttons plane allow to switch a plane off completely. The grid toggle button changes enables a more detailed grid on the plane. If the plane is switched off the extra grid is not visible either.
- Axis position
The position of the indivual axis can be defined by the plane it is to be drawn on, and the position on this plane (top or bottom).
- Labels
The label size can be altered using the label height slider (On X11 based systems the fonts are dependent on X11-fonts. If there is no font in a given size the font will not change).
The name of each axis can be altered and the position of the axis label can be at the top or the bottom of the axis.
The grid labels can be arraged left, centered or right of the axis.
Inputs
infldThe mesh that the coordinate system is calculated for.Outputs
objDirectly renderable object of the coordinate system that can be used with the UViewer.
There are two example applications provided that use the Axes3D module. The first simple example uses ReadGeom to read an AVS geometry file and outputs the geometry and the coordinate system. The second uses some preprocessing and shows that if the preprocessing results change the coordiate system changes as well.
xp_comm_proj/axes3d/axes3d.v Creates the XP_COMM_PROJ.Axes3D library.
xp_comm_proj/axes3d/ax3dmods.v Creates the Axes3DMods library containing the low-level module Axes3DCore and the parameter blocks axes_mod_params, axes_geom_params, axis_data and TextVals.
xp_comm_proj/axes3d/ax3dmacs.v Creates the Axes3DMacs library containing the high-level functional macro Axes3DFunc, user interface macro Axes3DUI and the user macro Axes3D.
xp_comm_proj/axes3d/ax3apps.v Creates the Axes3DApps library containing the example application Axes3DEg and Axes3DEg2.
Dr Krzysztof Nowinski Warsaw University
Tobias Schiebeck International AVS Centre


PtrNfaEdge Class
Definition
Line
76
of
System.Text.RegularExpressions/PtrNfa.cm
Constructors & Destructor
public
PtrNfaEdge
()
public
PtrNfaEdge
(
const
CharClass
& cls_,
PtrNfaState
* next_)
Member Functions
public
inline
nothrow
const
CharClass
&
Chars
()
const
public
inline
nothrow
PtrNfaState
*
Next
()
const
Member Variables
private
CharClass
cls
private
PtrNfaState
*
next
Constructor& Destructor Details
PtrNfaEdge Constructor
public
PtrNfaEdge()
Definition
Line
78
of
System.Text.RegularExpressions/PtrNfa.cm
PtrNfaEdge Constructor
public
PtrNfaEdge(
const
CharClass
& cls_,
PtrNfaState
* next_)
Definition
Line
81
of
System.Text.RegularExpressions/PtrNfa.cm
Member Function Details
Chars Member Function
public
inline
nothrow
const
CharClass
& Chars()
Definition
Line
84
of
System.Text.RegularExpressions/PtrNfa.cm
Next Member Function
public
inline
nothrow
PtrNfaState
* Next()
Definition
Line
88
of
System.Text.RegularExpressions/PtrNfa.cm


Sikhs trace their religion back to their founder Guru Nanak. They also look to the homeland of their faith which is the Punjab region in northern India. Guru Nanak was born in a small village called Talwindi in 1469ce. It now lies in Pakistan. He was born into a Hindu family but his father worked for a Muslim. At this time the Muslims were in power in India but the majority of people were Hindu's. Nanak was an unusual child. He spent much of his time in prayer and meditation. His father had high hopes for him but he spent more time talking to religious teachers than pursuing a career. He was concerned that they were not helping people get closer to God but made rules which stood in the way of true worship.
Guru Nanak went to live and work in Sultanpur. Everyday he went to bathe in the river and then he would spend time in prayer and meditation. One morning however Nanak failed to reappear after bathing. He was missing for three days. When he did turn up Nanak said that he had been in the presence of God. He had learnt that there was only one truth and that was God. Guru Nanak proclaimed that there was no such thing as a Hindu or Muslim. The truth was that there was only one God and everyone was equal in the sight of God.
 He was accompanied
by two friends one a musician called Mardana, who was a Muslim by birth
and Bala who was a Hindu. After the years of travelling Nanak returned
to the Punjab. He set up a community of followers at Kartapur. Their way
of life was based on devotion to God and the equality of all men and women.
Useful Website Addresses
http://www.sikhs.org
http://www.rpi.edu/~anandh/NISHKAM
http://www.studyweb.com/rel/sikhism.htm


  Go and play with that old nag
Elder Casian
in the
Wastelands
!


Import Students...
Search for students using the box above.
James Meow
Dingbat Doorknob
Jonny Jingo
Banana


The Doobie Brothers announce 50th anniversary tour
by Wade SheridanNov. 19 (UPI) -- The Doobie Brothers announced a 50th anniversary tour that will begin in June 2020.
The tour will feature for the first time in nearly 25 years the lineup of Michael McDonald, Tom Johnston, Pat Simmons and John McFee.
The band will perform a wide range of their hit songs, including "Takin' It To The Streets," "Listen To The Music," "Long Train Running," "Black Water," "What A Fool Believes," "China Grove," "Minute By Minute," "It Keeps You Runnin,'" "Jesus Is Just Alright With Me" and more.
"We're truly excited about our 50th anniversary tour as it's a celebration of the band's entire history. We'll be performing songs from our full catalog, as well as new music," Johnston said in a statement.
Tickets go on sale for the general public on Dec. 6 at 10 a.m. local time through Live Nation.
The Doobie Brothers were nominated in October for the Rock & Roll Hall of Fame Class of 2020. More than 1,000 artists, historians, journalists and music industry professionals will vote on which nominees will be inducted. A fan vote will also be tallied.
Here's the full list of dates for The Doobie Brothers' 50th anniversary tour
June 9 -- West Palm Beach, Fla., at Coral Sky Amphitheatre
June 10 -- Tampa, Fla., at MidFlorida Credit Union Amphitheatre
June 14 -- Alpharetta, Ga., at Ameris Bank Amphitheatre
June 17 -- Nashville, Tenn., at Bridgestone Arena
June 19 -- Charlotte, N.C., at PNC Music Pavilion
June 20 -- Raleigh, N.C., at Coastal Credit Union Music Park at Walnut Creek
June 23 -- Virginia Beach, Va., at Veterans United Home Loans Amphitheater at Virginia Beach
June 24 -- Bristow, Va., at Jiffy Lube Live
June 26 -- Allentown, Pa., at PPL Center
June 27 -- Camden, N.J., at BB&T Pavilion
June 29 -- Holmdel, N.J., at PNC Bank Arts Center
June 30 -- Wantagh, N.Y., at Northwell Health at Jones Beach Theater
July 2 -- Uncasville, Conn., at Mohegan Sun Arena
July 3 -- Mansfield, Mass., at Xfinity Center
July 19 -- Toronto, Ontario, at Budweiser Stage
July 22 -- Cuyahoga Falls, Ohio, at Blossom Music Center
July 26 -- Saratoga Spring, N.Y., at Saratoga Performing Arts Center
July 30 -- Noblesville, Ind., at Ruoff Home Mortgage Music Center
Aug. 2 -- Clarkston, Mich., at DTE Energy Music Theatre
Aug. 4 -- Cincinnati, Ohio, at Riverbend Music Center
Aug. 8 -- Tinley Park, Ill., at Hollywood Casino Amphitheatre -- Chicago
Aug. 14 -- St. Louis, Mo., at Hollywood Casino Amphitheatre -- St. Louis
Aug. 30 -- Denver, Colo., at Pepsi Center
Sept. 2 -- Salt Lake City, Utah, at USANA Amphitheatre
Sept. 5 -- Seattle, Wash., at White River Amphitheatre
Sept. 12 -- Mountain View, Calif., at Shoreline Amphitheatre
Sept. 18 -- Los Angeles, Calif., at The Forum
Oct. 3 -- Phoenix, Ariz., at Ak-Chin Pavilion
Oct. 9 -- Irving, Texas, at Toyota Music Factory
Oct. 10 -- Houston, Texas, at The Cynthia Woods Mitchell Pavilion


Feature 1 - Output at least 5 food trucks located near the user or 5 based on search terms
Feature 2: Integration with BingMaps API were the parameter of the food truck is entered and at least 5 food trucks are displayed to the user in a format of a map
Search functionality, would use the standard API calls to Search by Business Name, Menu Item
Instead of a search feature, a predefined search parameter
Or
San Francisco Food Truck Search


| Name | Description | |
|---|---|---|
| Equals | Overloaded. Compare encapsulated values for equality. | |
| GetHashCode | Return the hash code of the encapsulated value. | |
| operator != | Overloaded. Compares two NonNull values for inequality. | |
| operator == | Overloaded. Compares two NonNull values for equality. | |
| operator implicit | Implicit conversion back to a type T. | |
| ToString | Returns a string representation of the encapsulated value. |


Click here to see a greeting.
This is an unsecured page, but you can access the secured pages after authenticating.


§651-2 Writ; issued when. The plaintiff, in any action upon a contract, express or implied, at the time of commencing the action, or at any time afterward before judgment, may have the property of the defendant, or that of any one or more of several defendants, which is not exempt from execution, attached in the manner hereinafter prescribed, as security for the satisfaction of any judgment that the plaintiff may recover, but no writ of attachment shall be issued:
(1) Against the State, or any political municipal corporation, or subdivision thereof; or
(2) In circumstances where garnishment is authorized under chapter 652. [L 1905, c 84, §2; am L 1909, c 60, §1; RL 1925, §2806; RL 1935, §4191; RL 1945, §10142; RL 1955, §233-2; HRS §651-2; am L 1977, c 33, §1; gen ch 1985; am L 2016, c 55, §30]
Cross References
Exemptions from execution, see part III of this chapter.
Case Notes
Attachment available only where contract at issue also establishes a debtor-creditor relationship for payment of money. 485 F. Supp. 1015 (1980).
Does not prohibit garnishment against municipal corporations. 23 H. 564, 570 (1916).
Seizure of automobile under writ of attachment. 38 H. 279, 298 (1949).
Cited: 26 H. 342, 346 (1922).


--- layout: default title: Giordana Mecagni ---
I'm best known as a typist with the Boston Typewriter Orchestra Will post more about me later


LWT is a all-in-one product, but you can extend its capabilities in various ways. Here are the additional features unavailable by default.
Parse Japanese with MeCab
MeCab is a Japanese parser. Installing it has two main advantages:
- Much better parsing of Japanese texts than RegExp.
- Automatic romanization of words.
- Unables text-to-speech for any character group.
Installation
Standard Installtion
- Follow the instructions to download MeCab at https://taku910.github.io/mecab/#install.
- Add MeCab to your system PATH.
- In LWT, go to "Edit Languages" → "Japanese" and change from the value for "RegExp Word Characters" to
mecab
.
Using Docker
Original instructions provided here.
Run your LWT container in interactive mode and install MeCab.
docker exec -it lwt bash
apt-get update && apt-get install -y mecab libmecab-dev mecab-ipadic-utf8
- In LWT, go to "Edit Languages" → "Japanese" and change from the value for "RegExp Word Characters" to
mecab
.
Automatic Translation
LibreTranslate
LibreTranslate is a great open-source tool that allows you to translate text and provides an API. With it you can achieve the following:
- Translation of sentences without using Google Translate.
- Automatic translation of words (so you don't need to fill by hand!).
To use it, please read the following steps:
- Install it on a local or remote server or using Docker.
- In LWT, go to "Edit Langagues", either create a new or edit an existing language
- In the field "Sentence Translator URI", replace it by the URL of you libre translate instance.
- Do not forget to add the parameter
lwt_translator=libretranslate
for the automatic translation!
source=
should be followed by two letters indicating the language translating from.
target=
should be followed by two letters indicating the language to translate to.
Enhanced Text-to-Speech
The Text-to-Speech may sound robotic with some languages or operating systems. A workaround is to download a Text-To-Speech (TTS) plugin such as Read Aloud.


There have been many films, television shows, and commercials shot on location throughout this great city. We constructed this using the ABQ Open Data Portal to visualize which areas are utilized the most by productions. For those of you looking to have a cameo...we suggest you hang out where it's hot!


| Tomcat Web Application Manager |
| Message: |
| Manager | |||
| List Applications | HTML Manager Help | Manager Help | Server Status |
| Applications | |||||
| Path | Version | Display Name | Running | Sessions | Commands |
| / | None specified | My app | true | 0 | Start |
| /docs | None specified | Tomcat Documentation | true | 0 | Start |
| /examples | None specified | Servlet and JSP Examples | true | 0 | Start |
| /host-manager | None specified | Tomcat Host Manager Application | true | 0 | Start |
| /manager | None specified | Tomcat Manager Application | true | 0 | Start Stop Reload Undeploy |
| Deploy | |
| Deploy directory or WAR file located on server | |
| WAR file to deploy | |
| Diagnostics | |
| Check to see if a web application has caused a memory leak on stop, reload or undeploy | |
| SSL connector configuration diagnostics | |
| Server Information | |||||||
| Tomcat Version | JVM Version | JVM Vendor | OS Name | OS Version | OS Architecture | Hostname | IP Address |
| Apache Tomcat/9.0.0.M26 | 1.8.0_121-b13 | Oracle Corporation | Linux | 4.8.0-56-generic | amd64 | server | <IP_ADDRESS> |


Testing
Introduction
LdapRecord-Laravel prides itself on giving you a great and easy testing experience using the Directory Emulator. Using it, we can test authentication rules, scopes and group memberships.
Getting Started
Before we begin, you must require the doctrine/dbal
into your composers require-dev
for testing.
This is due to the $table->dropColumns(['guid', 'domain'])
call inside of the additional
LdapRecord auth migration and that we are using SQLite in our test environment.
This package is required for modifying columns - as described in the Laravel documentation.
To do so, run the following command:
composer require doctrine/dbal --dev
Creating the test
Let's whip up a test by running the following command:
php artisan make:test TestLdapAuthentication
Inside of our generated test, we'll make use of the following traits:
DatabaseMigrations
Illuminate\Foundation\Testing\DatabaseMigrations
Using this trait will execute our migrations and ensure our database is ready to import our LDAP user.
WithFaker
Illuminate\Foundation\Testing\WithFaker
Using this trait provides us with generating fake UUID's (great for creating mock "guids"), names and emails.
Let's add a test_auth_works
method into the generated test:
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Support\Facades\Auth;
use LdapRecord\Laravel\Testing\DirectoryEmulator;
use LdapRecord\Models\ActiveDirectory\User;
use Tests\TestCase;
class TestLdapAuthentication extends TestCase
{
use DatabaseMigrations, WithFaker;
public function test_auth_works()
{
$fake = DirectoryEmulator::setup('default');
$ldapUser = User::create([
'cn' => $this->faker->name,
'mail' => $this->faker->email,
'objectguid' => $this->faker->uuid,
]);
$fake->actingAs($ldapUser);
$this->post('/login', [
'email' => $ldapUser->mail[0],
'password' => 'secret',
])->assertRedirect('/home');
$user = Auth::user();
$this->assertInstanceOf(\App\User::class, $user);
$this->assertEquals($ldapUser->mail[0], $user->email);
$this->assertEquals($ldapUser->cn[0], $ldapUser->name);
}
}
Let's deconstruct what's going on here step by step.
$fake = DirectoryEmulator::setup('default');
This first line creates a new Directory Emulator for our LDAP connection named default
inside
of our config/ldap.php
file. It returns a fake LDAP connection that we can use to indicate
that the user we create in this fake directory will successfully pass LDAP authentication.
$user = User::create([
'cn' => $this->faker->name,
'mail' => $this->faker->email,
'objectguid' => $this->faker->uuid,
]);
On the second line, we're creating our fake LDAP user who will be signing into our application.
You'll notice that we assign the attributes that are inside of our sync_attributes
specified inside of our config/auth.php
file, as well as the users objectguid
.
If you're using OpenLDAP, the
objectguid
field may beentryUUID
oruid
.
This is a good place to test attribute synchronization.
$fake->actingAs($user);
This third line, we are asserting that the user we have created will automatically pass LDAP authentication. If we remove this line, attempting to authenticate as the user will fail, as they are not allowed to bind using your fake connection.
$this->post('/login', [
'email' => $user->mail[0],
'password' => 'secret',
])->assertRedirect('/home');
Fourth, we are sending a post request to our login
page, with our LDAP users email address.
The password can be anything, since we asserted above (using the actingAs()
method) that
the user will pass, regardless of what password we use.
If your application has password synchronization enabled, this is a good place to send various passwords and assert that the hashes match after a successful login.
$user = Auth::user();
$this->assertInstanceOf(\App\User::class, $user);
$this->assertEquals($ldapUser->mail[0], $user->email);
$this->assertEquals($ldapUser->cn[0], $ldapUser->name);
Finally, we'll check to make sure we can retrieve the successfully authenticated user and that their attributes were successfully synchronized into our Eloquent database model.
Scopes
To test scopes that you apply to the LdapRecord model you are using for authentication, you will need to apply the attributes to the fake user you create to test that they can be properly located during authentication.
 Let's walk through this.
Below we have our scope that will enforce users to be located
inside of an Organizational Unit named Administrators
:
namespace App\Ldap\Scopes;
use LdapRecord\Models\Model;
use LdapRecord\Models\Scope;
use LdapRecord\Query\Model\Builder;
use LdapRecord\Models\ActiveDirectory\OrganizationalUnit;
class AdministratorsScope implements Scope
{
public function apply(Builder $query, Model $model)
{
$ou = OrganizationalUnit::where('ou', '=', 'Accounting')->first();
$query->in($ou);
}
}
And we have also added it into our model:
namespace App\Ldap;
use LdapRecord\Models\Model;
use App\Ldap\Scopes\AdministratorsScope;
class User extends Model
{
protected static function boot()
{
parent::boot();
static::addGlobalScope(new AdministratorsScope());
}
}
Now let's create our test. To do so, we'll setup everything as we have in the above test
example, but we will create our user inside of the Administrators
Organizational Unit:
public function test_auth_works()
{
$fake = DirectoryEmulator::setup('default');
$ou = OrganizationalUnit::create(['ou' => 'Administrators']);
$ldapUser = (new User)->inside($ou);
$ldapUser->save([
'mail' => $this->faker->email,
'cn' => $this->faker->name,
'objectguid' => $this->faker->uuid,
]);
$fake->actingAs($ldapUser);
$this->post('/login', [
'email' => $ldapUser->mail[0],
'password' => 'secret',
])->assertRedirect('/home');
$user = Auth::user();
$this->assertInstanceOf(\App\User::class, $user);
$this->assertEquals($ldapUser->mail[0], $user->email);
$this->assertEquals($ldapUser->cn[0], $ldapUser->name);
}
To test the opposite of the above - such as a user who is not located inside the Administrators
OU, simply create them inside a different OU, or inside the root of your emulated directory:
public function test_auth_fails()
{
$fake = DirectoryEmulator::setup('default');
$ldapUser = User::create([
'cn' => $this->faker->name,
'mail' => $this->faker->email,
'objectguid' => $this->faker->uuid,
]);
$fake->actingAs($ldapUser);
$this->post('/login', [
'email' => $ldapUser->mail[0],
'password' => 'secret',
])->assertSessionHasErrors('email');
$this->assertFalse(Auth::check());
}
Even though we have asserted that the user passes LDAP authentication ($fake->actingAs($ldapUser)
),
authentication will fail due to the user not being able to be located due to our scope we have
created.
We have also modified our redirect assertion to instead validate that the email
session
key contains errors. This key will contain the Invalid credentials
message.
Rules
As with testing scopes, to test rules we must either apply or omit data on our fake user to test our LDAP authentication rules.
An authentication rule is great for checking if a user is a member of a certain group before allowing them to authenticate. Let's walk through an example and test this.
Our application requires the user to be a member of a group called Help Desk
.
With that requirement, here is our created authentication rule:
<?php
namespace App\Ldap\Rules;
use LdapRecord\Laravel\Auth\Rule;
use LdapRecord\Models\ActiveDirectory\Group;
class HelpDeskEmployee extends Rule
{
public function isValid()
{
$group = Group::where('name', '=', 'Help Desk')->first();
return $this->user->groups()->exists($group);
}
}
This rule has also been added into our providers configuration inside our config/auth.php
file:
// ...
'providers' => [
// ...
'ldap' => [
// ...
'rules' => [
\App\Ldap\Rules\HelpDeskEmployee::class,
],
],
]
Now we can create our test to ensure only users who are members of the group can authenticate:
public function test_auth_works()
{
$fake = DirectoryEmulator::setup('default');
$ldapGroup = Group::create(['cn' => 'Help Desk']);
$ldapUser = User::create([
'cn' => $this->faker->name,
'mail' => $this->faker->email,
'objectguid' => $this->faker->uuid,
'memberof' => [$ldapGroup->getDn()],
]);
$ldapGroup->members()->attach($ldapUser);
$fake->actingAs($ldapUser);
$this->post('/login', [
'email' => $ldapUser->mail[0],
'password' => 'secret',
])->assertRedirect('/home');
$user = Auth::user();
$this->assertInstanceOf(\App\User::class, $user);
$this->assertEquals($ldapUser->mail[0], $user->email);
$this->assertEquals($ldapUser->cn[0], $ldapUser->name);
}
As you can see above, we created a Help Desk
group, added the group into the users memberof
attribute (due to this field being virtual) and have attached them to the group.
Now let's create a test to ensure users who are not members of the group can't authenticate.
public function test_auth_fails()
{
$fake = DirectoryEmulator::setup('default');
$ldapUser = User::create([
'cn' => $this->faker->name,
'mail' => $this->faker->email,
'objectguid' => $this->faker->uuid,
]);
$fake->actingAs($ldapUser);
$this->post('/login', [
'email' => $ldapUser->mail[0],
'password' => 'secret',
])->assertSessionHasErrors('email');
$this->assertFalse(Auth::check());
}
The above test passes because we have not added our LDAP user into any groups -
so the exists()
check inside of our rule returns false
.


Chapter 5 Feedback and Assessment
Adapted from The Carpentries, Teaching Tech Together, and How Learning Works
- https://carpentries.org/assessment/
- https://carpentries.github.io/assessment/
- https://software-carpentry.org/files/bib/aranda-assessment-2012-07.pdf
5.1 IRB
ch An IRB will be needed to use attendee responses for data:
5.2 Demographic information
- student unique identifiers: Number of siblings (as numeric) + First two letters of the city you were born in (lowercase) + First three letters of your current street (lowercase)
- relevant field or discipline
- medicine
- biological sciences
- biomedical sciences
- health sciences
- What is your current occupation/career stage
- DO/MD
- RN/PA
- Student (MPH, …)
- Academic
- Analyst
- What operating system is on the computer you are using at the workshop?
- macOS
- Linux
- Windows
- Not sure
- To which gender do you most identify?
- Female
- Gender variant/non-conforming
- Male
- Prefer not to say
- How would you describe yourself? Choose one or more of the following groups.
- American Indian or Alaska Native (Having origins in any of the original peoples of North and South America (including Central America), and who maintains a tribal affiliation or community attachment.)
- Asian (Having origins in any of the original peoples of the Far East, Southeast Asia, or the Indian subcontinent including, for example, Cambodia, China, India, Japan, Korea, Malaysia, Pakistan, Indonesia, the Philippine Islands, Thailand, and Vietnam.)
- Black or African American (Having origins in any of the Black racial groups of Africa – includes Caribbean Islanders and others of African origin.)
- Hispanic or Latino(a) (A person of Spanish-speaking origin or ancestry and/or Latin American origin or ancestry – includes Portuguese and Brazilians.)
- Native Hawaiian or Other Pacific Islander (Having origins in any of the original peoples of Hawaii, Guam, Samoa, or other Pacific Islands.)
- White (Having origins in any of the original peoples of Europe, the Middle East, or North Africa.)
- I prefer not to say.
5.3 Student self-assessments
These are pre-workshop assessments used to gauge the distribution of personas that will potentially attend a workshop. It’s goal is to help classify each student into one of the learner personas. It helps the instructor prepare and cater towards the lesson, and also helps students
Means to gather feedback on students’ prior knowledge and skills
- goal: get range of abilities and experiences for the class
Used to calibrate materials and/or provide supplemental materials
Help students focus on most important knowledge and skills addressed by the course
advantage: easy to construct, score, administer anonymously, low-anxiety for students
weakness: students may not accurately assess their abilities (usually people over estimate)
Assessments around why they are attending the class/workshop
- What do they plan to learn
- What are the types of questions they are trying to answer?
I want to collect data for a chart review and want to know what I should collect and how to format my data
I have data that I want to analyze, but do not know where to start
5.3.1 Programming experience
Rationale: Do they know how to program? What is their experience with programming? Technical classes usually end up with a bi-modal distribution, so this also provides a means for the instructor to
- Which of these best describes your experience with programming in general? (from TTT)
- I have none
- I have written a few lines now and again
- I have written programs for my own use that are a couple of pages long
- I have written and maintained larger pieces of software
- How often do you currently use A specialized software with a point-and-click graphical user interface
(e.g., for statistical analysis: SPSS, SAS, …;
for Geospatial analysis: ArcGIS, QGIS, … ;
for Genomics analysis: Geneious, …)
- Never
- Less than once per year
- Several times per year
- Monthly
- Weekly
- Daily
- How often do you currently use Programming languages (R, Python, etc.)
- Never
- Less than once per year
- Several times per year
- Monthly
- Weekly
- Daily
- How familiar are you with interactive programming languages like Python or R
- I do not know what those are
- I have heard of them but have never used them before
- I have installed it, but have only done simple examples with them
- I have written a small program with them before
- I use it to automate certain repetitive tasks
- I have small side projects that I program in it
- I program in them for work
- Which of these best describes how easily you could write a program (in any language) to find the largest number in a list? (from TTT)
- I wouldn’t know where to start
- I could struggle through by rial and error with a lot of web searches
- I could do it quickly with little or no use of external help
- How often do you currently use Databases (SQL, Access, etc.)
- Never
- Less than once per year
- Several times per year
- Monthly
- Weekly
- Daily
- How often do you currently use Version control software (Git, Subversion (SVN), Mercurial, etc.)
- Never
- Less than once per year
- Several times per year
- Monthly
- Weekly
- Daily
- How often do you currently use A command shell (usually accessed through Terminal on macOS or PowerShell on Windows)
- Never
- Less than once per year
- Several times per year
- Monthly
- Weekly
- Daily
5.3.2 Clearning and processing data
- How familiar are you with Excel?
- Rationale: Assuming that if attendees have not used a programming language before for analysis, they’ve used spreadsheets
- I have never used it, or I have tried it but can’t really do anything with it.
- I have used it as an electronic todo list and planner putting schedules and task deadlines in a single place
- I’ve used it to store datasets and able to calculate basic aggregate values, such as mean and sums
- I’ve used data aggregation, pivot tables, formulas, and plotting feature to understand how my data breaks down.
- I’ve coded up VBA macros and made VOOKUP calls integrating multiple sheets for a simulation task
- If you were given a dataset (e.g., Excel file, CSV file) and asked to do some preliminary analysis on it, which of these best describe how easily you can accomplish the task?
- Rationale: Have they worked with data before? Do they know about struggles working with data.
- I wouldn’t know where to start
- I could struggle through by rial and error with a lot of web searches
- I could do it quickly with little or no use of external help
- Are you familiar with the term “tidy data”?
- Rationale: Do they know what “clean” data means? or how to process “dirty” datasets
- I have never heard of the term
- I have heard of it but don’t remember what it is.
- I have some idea of what it is, but am not too clear
- I know what it is and could explain what it pertains to
- Do you know what “long” and “wide” data are?
- Ratonale: if they’re familiar with working with databases or pivoting data
- I have never heard of the term
- I have heard of it but don’t remember what it is.
- I have some idea of what it is, but am not too clear
- I know what it is and could explain what it pertains to
5.3.3 Data and project management
- Please rate your level of satisfaction with your current data management and analysis workflow (i.e. how you collect, organize, store and analyze your data).
- Very unsatisfied
- Unsatisfied
- Neutral
- Satisfied
- Very satisfied
- Not sure
- Not applicable
- Never thought about this
- How do you manage your data and analysis?
- Rationale: How do they manage work for
- I don’t do data and/or analysis work
- My data and analysis are all in excel files, possibly with multiple sheets.
- I work on carefully time-stamped excel files for my version control and analysis
- I use some programming language to load in my data sets for analysis, but sometimes modify my original data files when cleaning the data
- I hold my original data sacred, and only work on it from another program and save out intermediate and final data projects as separate files
- I have a very specific project structure where data and analysis are kept in separate areas and have a version control system (e.g., Git, SVN)
- I have version controlled project templates along with build scripts (e.g., Makefile) to reproduce various aspects of the analysis
- Why are you participating in this workshop?
- To learn new skills.
- To refresh or review my skills.
- To learn skills that I can apply to my current work.
- To learn skills that I can apply to my work in the future.
- To learn skills that will help me get a job or a promotion.
- As a requirement for my program or current position.
5.3.4 Statistics
- How familiar are you with a “t-test”?
- Ratonale: Usually the first statistical test learned
- I’ve never heard of it.
- I have heard of it but don’t remember what it is.
- I have some idea of what it is, but am not too clear
- I know what it is and could explain what it’s for.
- I know what it is and when to use it and could use it to analyze data.
5.3.5 Likert
Please rate your level of agreement with the following statements
- (data) Having access to the original, raw data is important to be able to repeat an analysis.
- (programming) I can write a small program, script, or macro to address a problem in my own work.
- (programming) I know how to search for answers to my technical questions online.
- (programming) While working on a programming project, if I got stuck, I can find ways of overcoming the problem.
- (programming) I am confident in my ability to make use of programming software to work with data.
- (programming) Using a programming language (like R or Python) can make my analyses easier to reproduce.
- (programming) Using a programming language (like R or Python) can make me more efficient at working with data.
5.3.6 Open Response
Please share what you most hope to learn from participating in this workshop.
What do you want to know or be able to do after this class that you don’t know or can’t do right now? (TTT)
- Open ended question
5.4 Pre/Post assessments
This is different from formative/summative assessment
- Gauge prior programming knowledge of participants for ds4med workshop.
5.4.1 Example questions
- Which of these best describes your experience with programming in general?
- I have none.
- I have written a few lines now and again.
- I have written programs for my own use that are a couple of pages long.
- I have written and maintained larger pieces of software.
- What of these best describes your experience with programming in Python/R?
- I have none
- I have written a few lines now and again.
- I have written programs for my own use that are a couple of pages long.
- I have written and maintained larger pieces of software.
- Which of these best describes how easily you could write a program in any language to find the largest number in a list?
- I wouldn’t know where to start
- I could struggle through by trial and error with a lot of web searches
- I could do it quickly with little or no use of external help
- Which of these best describes how easily you could write a Python/R program to find and capitalize all of the titles in a web page?
- I wouldn’t know where to start
- I could struggle through by trial and error with a lot of web searches
- I could do it quickly with little or no use of external help
- What do you want to know or be able to do after this class that you don’t know or can’t do right now?
5.5 Long-term assessments
- https://datacarpentry.org/blog/2017/03/long-term-assessment-strategy
- https://carpentries.github.io/assessment/learner-assessment/archives/2017/code/longtermreport_October2017.html
- Establishing value is not just important for funding, it is also import for the community (volunteers percieve they are doing important work)
- Data Carpentry post-workshop survey results: respondents are “enthusiastically” or “very” involved in the workshops
- what impact workshops are having on learners’ confidence in the skills they are taught
- goal is to have students describe concrete changes they had implemented to their research practices as a result of completing a Carpentries workshop.
- Do they have greater confidence in the tools they had been taught
- whether they had progressed in their careers as a result.
- multipl chose questions around progarmming in R and Python
- helped make the evidence of training efficacy more concrete, comparable and measurable
- taking it out of the realm of “opinion” or “feeling” for more robust/reliable markers
- results are self-reported
- respondents my exaggerate their achievements
- results affected by individual’s state of mind
- Response rate higher among those who feel more positive
- Compared long-term survey results with post-workshop results
- https://github.com/carpentries/assessment
5.5.1 Questions to ask
<IP_ADDRESS> Workshop impact
- Reproduducible: I have made my analyses more reproducible as a result of completing the workshop
- Recognition: I have received professional recognition for my work as a result of using the tools I learned at teh workshop
- Productivity: My research productivity has improved as a result of completing the workshop
- Motivation: I have been motivated to seek more knowledge about the tools I learned at the workshop
- Confidence: I have gained conficdence in working with data as a result of completing the workshop
- Coding: I have improved my coding practices as a result of completing the workshop
- Career: I have used skills I learned at the workshop to advance my career
From the Carpentries Long-term survery results, people post workshop seem to follow more FAIR principles
<IP_ADDRESS> Behaviours respondents adopted
- Using programming languages like R or Python, or the command line to automate repetitive tasks
- Improving dtaa management and project organization
- Using version control to manage code
- Resusing code
- Sharing code or data publicaly on places like GitHub or FigShare
- Using databases, scripts, and queries to manage large data sets
- Using version control to collaborate online (in public or private repositores)
- Transforming step-by-step workflows into scripts or functions
- Developing a data management and analysis plan
<IP_ADDRESS> Change in confidence
Confidence helps build self-guided learning
<IP_ADDRESS> Useage of tools for research and/or work
- They are improving my overall efficiency
- They are imporoving my ability to analyze data
- They are improving my ability to manage data
- I am not using the tools I learned
- The tools I learned have not helped me with my work
<IP_ADDRESS> Contributions to academic writing
Tools learned to contribute to academic writing (e.g., grant proposal, journal article). i.e., research dissemination
<IP_ADDRESS> Continuting learning
What learning activities they have participated in since attending workshop
- Used non-carpentry self-guided material
- used self-guided Carpentry lesson material
- Participated in an in-person short course
- Participated in an online short course
- Participated in a Meetup
- Participated in a semester long course
The Journal of Open Source Education (JOSE): https://jose.theoj.org/about
5.6 Teaching evaluations
(Taken from “Teaching Tech Together” and “How Learning Works”)
Rubric to assess teaching
- Opening: Exists, Length, Intro self, intro topics covered, describes prerequisites
- Content: clear goal/narrative arc; inclusive language; authentic tasts/examples; Teaches best practices/idiomatic code; balances jargon and over-simplification
- Delivery: clear intelligible voice; rhythm and pacing; self-asssured
- Slides: I’m probably not going to use, may have written tutorial matierls for reference and future self learning
- Exist; slides and speech complement one another (dual coding); readable fonts and colors; frequent change on screen; good use of graphics
- Live coding: used; code and speech complement one another (dual coding); readable fonts and colors/right amount of code on the screen; proficient use of tools; highlights key features of code; dissects errors
- Closing: exists; good lenth; summarizes key points; outlines next steps
- Overall: points clearly connected/logical flow; makethe topic interesting; knowledgeable


Gives you a canvas upon which to draw.
The view emits a 'load' event when it is ready.
The canvas view has several methods to immediately draw shapes, such as lines, rectangles, and points, as well as texts.
Other shapes are drawn by creating a path, adding line segments, curves, or arcs, and then closing the path. Begin a new path using beginPath(). Set the starting point by calling moveTo(x,y). The closePath() method draws the line from the current endpoint to the starting point of the path. See the example for more information.
Call stroke() or fill() to draw the path. Before doing so, you can specify the stroke or fill style. Colors are specified by the usual Titanium naming conventions. Apart from that, you can also set, for instance, the line width for strokes.
You can add a shadow to any shape, or make any shape into a mask by designating it as the clipping region for drawing operations.
The CanvasView also supports the following matrix transformations: translate, rotate, and scale.
Disclaimer: We have tested this module thoroughly. But there are undoubtedly situations in which the behavior of the canvas differs from what is expected. Usually this isn't caused by a bug in this module, but by the way in which Android draws views. We welcome comments on unexpected behavior. Please shoot us an email<EMAIL_ADDRESS>and attach your code.
This view has all of the same properties as the core Ti.UI.View.
This view has all of the same events as the core Ti.UI.View.
Fired when the canvas is ready to draw upon.
Draws an arc in the designated area (rectangle). The arc starts at the startAngle and takes endAngle degrees. Both startAngle and endAngle are specified in degrees.
The radius is specified in degrees.
The arguments rx and ry specify the radiuses of the corners.
The color used to fill the drawing.
The blur level for shadows.
The color to use for shadows.
The horizontal distance of the shadow from the shape.
The vertical distance of the shadow from the shape.
The color used for strokes.
Controls the width of the strokes -- identical to lineWidth.
When you set a shadow color or shadow blur, and a shadow offset, all subsequent drawing operations include a shadow of the current color and blur, at the specified offset. The clearShadow method is a convenient way to turn shadows off.
A string specifying the type of end cap to put on lines to be drawn using lineTo().
The lineJoin property sets or returns the type of corner created, when two lines meet.
Note: The "miter" value is affected by the miterLimit property.
The lineWidth property sets or returns the current line width, in pixels. Identical to strokeWidth.
The miter length is the distance between the inner corner and the outer corner where two lines meet.
Clears a rectangle.
Fills a specified rectangle in the current fill color.
Draws the outlines of a rectangle in the current stroke color.
Draws an arc in the designated area (rectangle). The arc starts at the startAngle and takes endAngle degrees. Both startAngle and endAngle are in degrees. The arc is drawn clockwise unless you provide a negative value for the endAngle.
Draws an arc in the designated area (rectangle). The arc starts at the startAngle and takes endAngle degrees. Both startAngle and endAngle are in degrees. The arc is connected to the other points in the path. The arc is drawn clockwise unless you provide a negative value for the endAngle.
Start queuing up operations (like filling a rectangle, drawing aline, etc). Removes all paths.
Starts a new path.
Adds a Bezier curve from the current point on the path to the specified end point, using the two specified control points.
Constrains the clipping region of the canvas to the current path. Once a region is clipped, all future drawing will be limited to the clipped region (no access to other regions on the canvas). You can however save the current canvas region using the save() method before using the clip() method, and restore it (with the restore() method) any time in the future.
Creates a line from the endpoint of the current path to the beginning point of the current subpath, creating a closed shape.
Fills the current path using the current fill color.
Adds a line segment to the current path, from the current endpoint to the specified new endpoint.
Moves the current endpoint of the current path without adding a line segment to the path, creating a new subpath.
Adds a Bezier curve with a single control point to the current path.
Draws the outline of the current path using the current stroke style and line width.
The rotate() method rotates the canvas.
Scales the canvas bigger or smaller.
The translate() method remaps the (0,0) position on the canvas.
A string that specifies whether text is left-justified, right-justified, or centered.
At this moment, custom fonts aren't supported. Built-in fonts are:
Draws a line of text in outline at the specified x,y.
Identical to drawText.
Draws text on the current path.
Draws the specified image with its upper-left corner at the specified point on the canvas. The image is scaled to thebuilt specified width and height.
The current alpha or transparency value of the drawing: a number between 0.0 (fully transparent) and 1.0 (no transparancy). Identical to globalAlpha.
The current alpha or transparency value of the drawing: a number between 0.0 (fully transparent) and 1.0 (no transparancy). Identical to alpha.
Clears the canvas.
Returns the canvas view.
Returns previously saved canvas state and attributes.
Saves the state of the current canvas.


 Pase , Giovanni Dinello and Alessandro Rizzo
Noiseboard is a project that uses skateboarding, digital technology and interaction design to stimulate a novel and unexpected understanding of the surrounding environment. Skaters are artists that interpret space differently than most people, being able to see a hidden layer of opportunity embedded in ordinary urban elements. In their eyes, stairs, cement blocks, handrails and benches become the raw material of their performative acts through which they re-interpret the fruition of space and space itself.
The core element of the Noiseboard project is a set of skateboards which have been modified to include hidden in their structure a microcontroller, an accelerometer and a wireless antenna. Such devices translate the movements of the skateboard into digital data that are transmitted to a computer and used by a sound designer to generate sound waves, translating the skater’s movements into sounds that spread across the surroundings.
Noiseboard design consists in two main elemets: The circuits casing, that was conceived as a sort of alien parassite that contaminated the board, and the board itself, that presents on her surface an engraving that consists in a line patterns that recalls the tipical "f"s on traditional instrunents. The whole research was oriented towards an hybridation between modern technology and traditional luthiery
Some pictures of the design and fabrication process can be found here
Noiseboard project was initially funded by Cultura Venezia


Tests whether mlongdiv elements (from elementary math) are supported.
mlongdiv
The test passes if the rendering looks like the following image: .