Lattice Mapping Report File for Design Module 'Sec6_Top' Design Information Command line: map -a MachXO2 -p LCMXO2-7000HE -t TQFP144 -s 4 -oc Commercial section6_TestFinalDesign_section6_TestFinalDesign.ngd -o section6_TestFinalDesign_section6_TestFinalDesign_map.ncd -pr section6_TestFinalDesign_section6_TestFinalDesign.prf -mp section6_TestFinalDesign_section6_TestFinalDesign.mrp C:/lscc/diamond/3.1_x64/bin/nt64/Lab6_Test/section6_TestFinalDesign.lpf -c 0 -gui Target Vendor: LATTICE Target Device: LCMXO2-7000HETQFP144 Target Performance: 4 Mapper: xo2c00, version: Diamond (64-bit) <IP_ADDRESS> Mapped on: 06/05/14 18:05:46 Design Summary Number of registers: 25 out of 7209 (0%) PFU registers: 25 out of 6864 (0%) PIO registers: 0 out of 345 (0%) Number of SLICEs: 166 out of 3432 (5%) SLICEs as Logic/ROM: 166 out of 3432 (5%) SLICEs as RAM: 0 out of 2574 (0%) SLICEs as Carry: 128 out of 3432 (4%) Number of LUT4s: 332 out of 6864 (5%) Number of logic LUTs: 76 Number of distributed RAM: 0 (0 LUT4s) Number of ripple logic: 128 (256 LUT4s) Number of shift registers: 0 Number of PIO sites used: 23 + 4(JTAG) out of 115 (23%) Number of block RAMs: 0 out of 26 (0%) Number of GSRs: 1 out of 1 (100%) EFB used : No JTAG used : No Readback used : No Oscillator used : Yes Startup used : No POR : On Bandgap : On Number of Power Controller: 0 out of 1 (0%) Number of Dynamic Bank Controller (BCINRD): 0 out of 6 (0%) Number of Dynamic Bank Controller (BCLVDSO): 0 out of 1 (0%) Number of DCCA: 0 out of 8 (0%) Number of DCMA: 0 out of 2 (0%) Number of PLLs: 0 out of 2 (0%) Number of DQSDLLs: 0 out of 2 (0%) Number of CLKDIVC: 0 out of 4 (0%) Number of ECLKSYNCA: 0 out of 4 (0%) Number of ECLKBRIDGECS: 0 out of 2 (0%) Notes:- 1. Total number of LUT4s = (Number of logic LUT4s) + 2*(Number of distributed RAMs) + 2*(Number of ripple logic) 2. Number of logic LUT4s does not include count of distributed RAM and ripple logic. Number of clocks: 1 Net clk_c: 17 loads, 17 rising, 0 falling (Driver: osc_int ) Number of Clock Enables: 1 Net FSM_1/state_RNO[1]: 1 loads, 1 LSLICEs Number of local set/reset loads for net reset_n_c merged into GSR: 25 Number of LSRs: 0 Number of nets driven by tri-state buffers: 0 Top 10 highest fanout non-clock nets: Net det.un13_dispNum.if_generate_plus.mult1_un40_sum_axb_3: 16 loads Net FSM_1.state[0]: 16 loads Net det.un27_dispNum.if_generate_minus.mult1_un46_sum_axb_4: 15 loads Net det.un27_dispNum.if_generate_minus.mult1_un53_sum_i: 15 loads Net det.un13_dispNum.if_generate_plus.mult1_un47_sum_i: 13 loads Net det.un8_dispNum.if_generate_plus.mult1_un47_sum_i: 13 loads Net det.un8_dispNum.if_generate_plus.mult1_un54_sum_i: 12 loads Net det.un8_dispNum.if_generate_plus.mult1_un68_sum_i: 11 loads Net FSM_1.state[1]: 11 loads Net det/mult1_un60_sum_cry_10_0_S1: 10 loads Number of warnings: 1 Number of errors: 0 Design Errors/Warnings WARNING - map: Using local reset signal 'reset_n_c' to infer global GSR net. IO (PIO) Attributes +---------------------+-----------+-----------+------------+ | IO Name | Direction | Levelmode | IO | | | | IO_TYPE | Register | +---------------------+-----------+-----------+------------+ | sel[0] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[0] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | WR_n | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | RD_n | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | CS_n | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | digit | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | segments[6] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | segments[5] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | segments[4] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | segments[3] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | segments[2] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | segments[1] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | segments[0] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | sel[2] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | sel[1] | OUTPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | reset_n | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[7] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[6] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[5] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[4] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[3] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[2] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ | ADCData[1] | INPUT | LVCMOS25 | | +---------------------+-----------+-----------+------------+ Removed logic Block VCC undriven or does not drive anything - clipped. Block FSM_1/VCC undriven or does not drive anything - clipped. Block FSM_1/GND undriven or does not drive anything - clipped. Signal reset_n_c_i was merged into signal reset_n_c Signal counter_1/GND undriven or does not drive anything - clipped. Signal int/GND undriven or does not drive anything - clipped. Signal interp/GND undriven or does not drive anything - clipped. Signal det/GND undriven or does not drive anything - clipped. Signal VCC undriven or does not drive anything - clipped. Signal SEDSTDBY undriven or does not drive anything - clipped. Signal counter_1/count_2_cry_11_0_COUT undriven or does not drive anything - clipped. Signal counter_1/count_2_cry_0_0_S1_0 undriven or does not drive anything - clipped. Signal counter_1/count_2_cry_0_0_S0_0 undriven or does not drive anything - clipped. Signal counter_1/N_1 undriven or does not drive anything - clipped. Signal int/count_2_cry_0_0_S1 undriven or does not drive anything - clipped. Signal int/count_2_cry_0_0_S0 undriven or does not drive anything - clipped. Signal int/N_1 undriven or does not drive anything - clipped. Signal int/count_2_s_7_0_S1 undriven or does not drive anything - clipped. Signal int/count_2_s_7_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un68_sum_cry_2_0_S1_0 undriven or does not drive anything - clipped. Signal interp/mult1_un68_sum_cry_2_0_S0_0 undriven or does not drive anything - clipped. Signal interp/N_1 undriven or does not drive anything - clipped. Signal interp/mult1_un68_sum_cry_7_0_COUT_0 undriven or does not drive anything - clipped. Signal interp/mult1_un61_sum_cry_2_0_S1_0 undriven or does not drive anything - clipped. Signal interp/mult1_un61_sum_cry_2_0_S0_0 undriven or does not drive anything - clipped. Signal interp/N_2 undriven or does not drive anything - clipped. Signal interp/mult1_un61_sum_cry_7_0_COUT_0 undriven or does not drive anything - clipped. Signal interp/mult1_un54_sum_cry_2_0_S1_0 undriven or does not drive anything - clipped. Signal interp/mult1_un54_sum_cry_2_0_S0_0 undriven or does not drive anything - clipped. Signal interp/N_3 undriven or does not drive anything - clipped. Signal interp/mult1_un54_sum_cry_7_0_COUT_0 undriven or does not drive anything - clipped. Signal interp/mult1_un47_sum_cry_2_0_S1_0 undriven or does not drive anything - clipped. Signal interp/mult1_un47_sum_cry_2_0_S0_0 undriven or does not drive anything - clipped. Signal interp/N_4 undriven or does not drive anything - clipped. Signal interp/mult1_un47_sum_cry_7_0_COUT_0 undriven or does not drive anything - clipped. Signal interp/mult1_un103_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un103_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal interp/N_5 undriven or does not drive anything - clipped. Signal interp/mult1_un103_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un96_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un96_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal interp/N_6 undriven or does not drive anything - clipped. Signal interp/mult1_un96_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un89_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un89_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal interp/N_7 undriven or does not drive anything - clipped. Signal interp/mult1_un89_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un82_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un82_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal interp/N_8 undriven or does not drive anything - clipped. Signal interp/mult1_un82_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un75_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un75_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal interp/N_9 undriven or does not drive anything - clipped. Signal interp/mult1_un75_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_0_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_0_0_S0 undriven or does not drive anything - clipped. Signal interp/N_10 undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_1_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_1_0_S0 undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_3_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_3_0_S0 undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_5_0_S0 undriven or does not drive anything - clipped. Signal interp/mult1_un117_sum_cry_5_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un110_sum_cry_1_0_S1 undriven or does not drive anything - clipped. Signal interp/mult1_un110_sum_cry_1_0_S0 undriven or does not drive anything - clipped. Signal interp/N_11 undriven or does not drive anything - clipped. Signal interp/mult1_un110_sum_cry_6_0_COUT undriven or does not drive anything - clipped. Signal interp/mult1_un40_sum_cry_2_0_S1_0 undriven or does not drive anything - clipped. Signal interp/mult1_un40_sum_cry_2_0_S0_0 undriven or does not drive anything - clipped. Signal interp/N_12 undriven or does not drive anything - clipped. Signal interp/mult1_un40_sum_cry_7_0_COUT_0 undriven or does not drive anything - clipped. Signal interp/voltage_1_0_cry_0_0_S1 undriven or does not drive anything - clipped. Signal interp/voltage_1_0_cry_0_0_S0 undriven or does not drive anything - clipped. Signal interp/N_13 undriven or does not drive anything - clipped. Signal interp/voltage_1_0_cry_8_0_S1 undriven or does not drive anything - clipped. Signal interp/voltage_1_0_cry_8_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un47_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un47_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal det/N_1 undriven or does not drive anything - clipped. Signal det/mult1_un47_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_3_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_3_0_S0 undriven or does not drive anything - clipped. Signal det/N_2 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_4_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_4_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_6_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_6_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_8_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_8_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_10_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un74_sum_cry_10_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un67_sum_cry_3_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un67_sum_cry_3_0_S0 undriven or does not drive anything - clipped. Signal det/N_3 undriven or does not drive anything - clipped. Signal det/mult1_un67_sum_cry_10_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un60_sum_cry_3_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un60_sum_cry_3_0_S0 undriven or does not drive anything - clipped. Signal det/N_4 undriven or does not drive anything - clipped. Signal det/mult1_un60_sum_cry_10_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un53_sum_cry_3_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un53_sum_cry_3_0_S0 undriven or does not drive anything - clipped. Signal det/N_5 undriven or does not drive anything - clipped. Signal det/mult1_un53_sum_cry_10_0_COUT undriven or does not drive anything - clipped. Signal det/un1_dispNum_2_cry_1_0_S1 undriven or does not drive anything - clipped. Signal det/un1_dispNum_2_cry_1_0_S0 undriven or does not drive anything - clipped. Signal det/N_6 undriven or does not drive anything - clipped. Signal det/un1_dispNum_2_cry_2_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_1_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_1_0_S0 undriven or does not drive anything - clipped. Signal det/N_7 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_4_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_4_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un61_sum_cry_1_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un61_sum_cry_1_0_S0 undriven or does not drive anything - clipped. Signal det/N_8 undriven or does not drive anything - clipped. Signal det/mult1_un61_sum_cry_4_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un54_sum_cry_1_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un54_sum_cry_1_0_S0 undriven or does not drive anything - clipped. Signal det/N_9 undriven or does not drive anything - clipped. Signal det/mult1_un54_sum_cry_4_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un47_sum_cry_1_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un47_sum_cry_1_0_S0 undriven or does not drive anything - clipped. Signal det/N_10 undriven or does not drive anything - clipped. Signal det/mult1_un47_sum_cry_4_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal det/N_11 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_3_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_3_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_5_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_5_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_7_0_S0 undriven or does not drive anything - clipped. Signal det/mult1_un68_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un61_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un61_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal det/N_12 undriven or does not drive anything - clipped. Signal det/mult1_un61_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un54_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un54_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal det/N_13 undriven or does not drive anything - clipped. Signal det/mult1_un54_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un46_sum_cry_3_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un46_sum_cry_3_0_S0 undriven or does not drive anything - clipped. Signal det/N_16 undriven or does not drive anything - clipped. Signal det/mult1_un46_sum_cry_10_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un40_sum_cry_2_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un40_sum_cry_2_0_S0 undriven or does not drive anything - clipped. Signal det/N_17 undriven or does not drive anything - clipped. Signal det/mult1_un40_sum_cry_7_0_COUT undriven or does not drive anything - clipped. Signal det/mult1_un40_sum_cry_1_0_S1 undriven or does not drive anything - clipped. Signal det/mult1_un40_sum_cry_1_0_S0 undriven or does not drive anything - clipped. Signal det/N_18 undriven or does not drive anything - clipped. Signal det/mult1_un40_sum_cry_4_0_COUT undriven or does not drive anything - clipped. Block reset_n_pad_RNI49NB was optimized away. Block counter_1/GND was optimized away. Block int/GND was optimized away. Block interp/GND was optimized away. Block det/GND was optimized away. Memory Usage OSC Summary ----------- OSC 1: Pin/Node Value OSC Instance Name: osc_int OSC Type: OSCH STDBY Input: NONE OSC Output: NODE clk_c OSC Nominal Frequency (MHz): 2.08 ASIC Components --------------- Instance Name: osc_int Type: OSCH GSR Usage --------- GSR Component: The local reset signal 'reset_n_c' of the design has been inferred as Global Set Reset (GSR). The reset signal used for GSR control is 'reset_n_c'. GSR Property: The design components with GSR property set to ENABLED will respond to global set reset while the components with GSR property set to DISABLED will not. Run Time and Memory Usage ------------------------- Total CPU Time: 0 secs Total REAL Time: 0 secs Peak Memory Usage: 61 MB Copyright (c) 1991-1994 by NeoCAD Inc. All rights reserved. Copyright (c) 1995 AT&T Corp. All rights reserved. Copyright (c) 1995-2001 Lucent Technologies Inc. All rights reserved. Copyright (c) 2001 Agere Systems All rights reserved. Copyright (c) 2002-2014 Lattice Semiconductor Corporation, All rights reserved.


- RECIPES
- EPISODE GUIDE
MORE FROM THE SHOW
SABRINA'S SECRET-NO-MORE- CHICKEN LIVER PATE WITH BROWNED BUTTER
Here's how to make the dish
- In a pan, saute in olive oil garlic, chicken livers and cinnamon. Add salt and pepper to taste.
- Once liver is pink inside (this should only take about 15 minutes) turn off heat.
- Transfer all in blender. Add cream, rhum, sugar and blend till all ingredients turn into a fine paste. Add olive oil if too thick. Blend in crushed biscuits if too soupy. Remove from blender and pour onto a nice serving dish. make wave-like patterns with a spoon keeping slightly lower the center than the sides.
- In pan, melt a fourth cup of butter. Pour over pate.
- Sprinkle garnish. Then chill! Best served with biscuits or crackers on the side.
From my kitchen to yours with love, Mwahhh! -S
Ingredients:
- 1/2 kilo chicken liver (soaked overnight in ref with milk)
- 1 teaspoon cinammon
- 1/4 cup olive oil
- 6 caps of rhum
- 1/4 cup garlic
- 3 tablespoon brown sugar
- 1/2 cup cream
- 1/2 stick of butter
- salt pepper to taste
- a palm full of chopped leeks or parsley (optional)


QuickStart Index
QuickStart Index
Moksha
Getting Started
Connecting to the Internet
Installing Software
Getting Started
Moksha
Moksha Basics
Run Everything
Ecomorph
Colophon
Even More Info
Quick FAQ
Resources
Even More Info
Colophon
Getting Started - Navigation
Please use the buttons below to navigate to the page
Connecting to the Internet
Installing Software


Define your own shortcut to open Storytime.
- CMD + Enter to add a story based on what's in the search box (first word will be the project, the remainder the story name).
- Enter to start a timer on the selected item, again to stop the timer if the selected story is already timing.
- Up / Down Arrows to navigate the list.
- Right / Left Arrows view story detail / return to the main list.
- CMD + Delete to delete the selected item.
- ESC to close the pop-up.
- CMD + L to focus the search box.


Class of objects that store a sequence of values as a Lua array like class UnorderedArray. However it additionally maps values to its current position in the array allowing efficient containment checks and location of a value in the array for removal. This class is useful when it is necessary to store a set elements (no duplicates) as an array (e.g. to comply with some library API) but such elements are removed and inserted frequently or it is necessary to perform quick containment checks.
Behaves like UnorderedArray class but provides operations to check containment, get the array position, or remove any element of the collection.
add(value)
value
to the collection if it was not already inserted and returns value
.
If value
was already in the collection then the call has no effect and returns no value.
contains(value)
value
belongs to the collection or false otherwise.
indexof(value)
nil
if value
does not belong to the collection.
This operation has the same effect of doing self[index]
.
remove(value)
value
belongs to the collection then it is removed from it and is then returned by this function.
Otherwise this function has no effect and no values are returned.
removeat(index)
index
of the array and returns the removed element.
Otherwise this function has no effect and no values are returned.
If index
is out of the array bounds then the call has no effect and no values are returned.
valueat(index)
index
of the array part of the collection.
This operation has the same effect of doing self[index]
.
-- example missing


{% extends 'base.html' %} {% load static %} {% block head-extras %} {% endblock %} {% block content %}
Forgotten your password? Enter your email address below, and we’ll email instructions for setting a new one.


About
Toggle navigation
Home
Binder
Gallery
FAQ
503 : Under maintenance
This service will be back soon, you can track the current status on the
Status Page
.


Let your roots grow down into him, and let your lives be built on him.  And may they be in us so that the world will believe you sent me (John 17:21, NLT)


ZAP is a great tool for getting into web application security. It's easy to get started and there is plenty of guidance from seasoned ZAP users.
"ZAP is the best option for people getting into web security"
Matt Tesauro Product Security Engineering Lead Rackspace
ZAP is a free open source tool designed to allow anybody to find vulnerabilities and improve the security of web applications.
ZAP is fully documented to help you get started and running automated tests in minutes. As well as comprehensive helpfiles within ZAP, you will find a hive of activity within the ZAP groups and online forums. **A vibrant ZAP community** ensures that there is always help with any question you may have.
ZAP is a great learning tool that will grow with you as your skills increase. Guidance and step-by-step tutorials can be found free on the ZAP website as well as elsewhere on the web. If reading is not your thing - there is a wide range of ZAP videos - including tutorials freely available on YouTube and elsewhere. One great way to learn ZAP is using it alongside a vulnerable application such as OWASP's WebGoat.
You are sure to find what you're looking for, and if you don't then ask the ZAP community! We love hearing from users.
ZAP is extensively used as a teaching resource across the world including (use university logos)
The following courses also use or mention ZAP as part of their instruction tool-set:
You can use ZAP to support your learning and help you gain the following accreditations:


Politico
Home
Vote
Log Out
Register as Candidate
Candidate Info
Name :
Political Party :
National Party
People Party
Democrats
Republicans
Government Office :
Fedelar officer
Legislative officer
State Officer
Local Government Officer
Profile Photo :
Campain Slogan :
Submit
What You Think Matters
Feedback
Submit


Get resume guidance, interivew preparation tips, how to pass the hardest classes, and more!
Looks great on any screen size!
Freshly redesigned for Bootstrap 4.
Millions of users Start Bootstrap!
I mustache you a question...
A breakdown on how to write your resume
A dark blue background with a colored pencil, a clip, and a tiny ice cream cone!

A yellow workspace with some scissors, pencils, and other objects.


Estimate cross-sample contamination
This tool determine the percent contamination of an input bam by sample, by lane, or in aggregate across all the input reads.
These are example commands that show how to run ContEst for typical use cases. Square brackets ("[ ]") indicate optional arguments. Note that parameter values and/or resources shown here may not be the latest recommended; see the Best Practices documentation for detailed recommendations.
java -jar GenomeAnalysisTK.jar \ -T ContEst \ -R reference.fasta \ -I tumor.bam \ --genotypes normalGenotypes.vcf \ --popFile populationAlleleFrequencies.vcf \ -L populationSites.interval_list [-L targets.interval_list] \ -isr INTERSECTION \ -o output.txt
java -jar GenomeAnalysisTK.jar \ -T ContEst \ -R reference.fasta \ -I:eval tumor.bam \ -I:genotype normal.bam \ --popFile populationAlleleFrequencies.vcf \ -L populationSites.interval_list [-L targets.interval_list] \ -isr INTERSECTION \ -o output.txt
These Read Filters are automatically applied to the data by the Engine before processing by ContEst.
All tools inherit arguments from the GATK Engine' "CommandLineGATK" argument collection, which can be used to modify various aspects of the tool's function. For example, the -L argument directs the GATK engine to restrict processing to specific genomic intervals; or the -rf argument allows you to apply certain read filters to exclude some of the data from the analysis.
This table summarizes the command-line arguments that are specific to this tool. For more details on each argument, see the list further down below the table or click on an argument name to jump directly to that entry in the list.
| Argument name(s) | Default value | Summary | |
|---|---|---|---|
| Required Inputs | |||
| --popfile -pf |
NA | the variant file containing information about the population allele frequencies | |
| Optional Inputs | |||
| --genotypes |
none | the genotype information for our sample | |
| Optional Outputs | |||
| --out -o |
stdout | An output file created by the walker. Will overwrite contents if file exists | |
| Optional Parameters | |||
| --base_report -br |
NA | Where to write a full report about the loci we processed | |
| --beta_threshold |
0.95 | threshold for p(f>=0.5) to trim | |
| --genotype_mode -gm |
HARD_THRESHOLD | which approach should we take to getting the genotypes (only in array-free mode) | |
| --lane_level_contamination -llc |
NA | set to META (default), SAMPLE or READGROUP to produce per-bam, per-sample or per-lane estimates | |
| --likelihood_file -lf |
NA | write the likelihood values to the specified location | |
| --min_mapq |
20 | threshold for minimum mapping quality score | |
| --min_qscore |
20 | threshold for minimum base quality score | |
| --minimum_base_count -mbc |
500 | what minimum number of bases do we need to see to call contamination in a lane / sample? | |
| --population |
CEU | evaluate contamination for just a single contamination population | |
| --precision -pc |
0.1 | the degree of precision to which the contamination tool should estimate (e.g. the bin size) | |
| --sample_name -sn |
unknown | The sample name; used to extract the correct genotypes from mutli-sample truth vcfs | |
| --trim_fraction |
0.01 | at most, what fraction of sites should be trimmed based on BETA_THRESHOLD | |
| Optional Flags | |||
| --verify_sample -vs |
false | should we verify that the sample name is in the genotypes file? | |
| Advanced Parameters | |||
| --fixed_epsilon_qscore |
NA | use a constant epsilon (phred scale) for calculation | |
| --min_genotype_depth |
50 | what minimum depth is required to call a site in seq genotype mode | |
| --min_genotype_llh |
5.0 | the min log likelihood for UG to call a genotype | |
| --min_genotype_ratio |
0.8 | the ratio of alt to other bases to call a site a hom non-ref variant | |
| --min_site_depth |
0 | minimum depth at a site to consider in calculation | |
| --trim_interval |
0.0 | progressively trim from 0 to TRIM_FRACTION by this interval |
Arguments in this list are specific to this tool. Keep in mind that other arguments are available that are shared with other tools (e.g. command-line GATK arguments); see Inherited arguments above.
Where to write a full report about the loci we processed
PrintStream NA
threshold for p(f>=0.5) to trim
double 0.95 [ [ -∞ ∞ ] ]
use a constant epsilon (phred scale) for calculation
Byte NA
which approach should we take to getting the genotypes (only in array-free mode)
The --genotype_mode argument is an enumerated type (SeqGenotypeMode), which can have one of the following values:
SeqGenotypeMode HARD_THRESHOLD
the genotype information for our sample
This argument supports reference-ordered data (ROD) files in the following formats: BCF2, VCF, VCF3
RodBinding[VariantContext] none
set to META (default), SAMPLE or READGROUP to produce per-bam, per-sample or per-lane estimates
Set[ContaminationRunType] NA
write the likelihood values to the specified location
PrintStream NA
what minimum depth is required to call a site in seq genotype mode
int 50 [ [ -∞ ∞ ] ]
the min log likelihood for UG to call a genotype
double 5.0 [ [ -∞ ∞ ] ]
the ratio of alt to other bases to call a site a hom non-ref variant
double 0.8 [ [ -∞ ∞ ] ]
threshold for minimum mapping quality score
int 20 [ [ -∞ ∞ ] ]
threshold for minimum base quality score
int 20 [ [ -∞ ∞ ] ]
minimum depth at a site to consider in calculation
int 0 [ [ -∞ ∞ ] ]
what minimum number of bases do we need to see to call contamination in a lane / sample?
Integer 500 [ [ -∞ ∞ ] ]
An output file created by the walker. Will overwrite contents if file exists
PrintStream stdout
the variant file containing information about the population allele frequencies
This argument supports reference-ordered data (ROD) files in the following formats: BCF2, VCF, VCF3
R RodBinding[VariantContext] NA
evaluate contamination for just a single contamination population
String CEU
the degree of precision to which the contamination tool should estimate (e.g. the bin size)
double 0.1 [ [ -∞ ∞ ] ]
The sample name; used to extract the correct genotypes from mutli-sample truth vcfs
String unknown
at most, what fraction of sites should be trimmed based on BETA_THRESHOLD
double 0.01 [ [ -∞ ∞ ] ]
progressively trim from 0 to TRIM_FRACTION by this interval
double 0.0 [ [ -∞ ∞ ] ]
should we verify that the sample name is in the genotypes file?
boolean false


Today's profitable portfolios are built off of accurate historical data and future projections. Download this free white paper and learn how innovative technology can power a more profitable portfolio.


DesktopMouseX()
Syntax
Result = DesktopMouseX()Description
Returns the absolute x position of the mouse on the desktop.
Parameters
None.
Return value
Returns the x coordinate (in pixel) of the mouse relative to the top left corner of the primary monitor. The coordinate is negative if the mouse is on a monitor to the left of the primary monitor.
Example
If OpenWindow(0, 0, 0, 300, 30, "Desktop mouse monitor", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) TextGadget(0, 10, 6, 200, 20, "") Repeat Event = WindowEvent() If Event = 0 ; No events are in queue anymore, so halt the process for a few milliseconds for multitasking SetGadgetText(0, "Desktop mouse position: "+Str(DesktopMouseX())+","+Str(DesktopMouseY())) Delay(20) EndIf Until Event = #PB_Event_CloseWindow EndIf
See Also
DesktopMouseY(), DesktopX(), DesktopWidth(), WindowMouseX()
Supported OS
All


TABLE OF CONTENT
A. GS1 Related Art and Culture 1. Ahmedabad gets world heritage tag B. GS2 Related Polity 1. Committee formed to study legalities for separate State flag 2. Do what you feel is good for your faith and let others do the same: Chief Justice of India C. GS3 Related Internal Security 1. Cyberattack link to glitches in RJio, NSE under probe 2. Ships and planes arrive, it’s days of war games Science and Technology 1. Curcumin nanoparticles found to shorten TB treatment time Environment and Ecology 1. Concrete may help curb air pollution 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
1. Ahmedabad gets world heritage tag
In news:
- The Walled City of Ahmedabad, founded by Sultan Ahmed Shah in the 15th century, has been declared India’s first World Heritage City .
- The World Heritage Committee (WHC) of UNESCO made the announcement
- The UNESCO had preferred Ahmedabad over Delhi and Mumbai.
- The 5.5 km walled city area with an approximate population of four lakh, living in century-old wooden residences is regarded as a living heritage.
- It has now joined the privileged club of heritage cities like Paris, Cairo, Edinburgh and two cities in the subcontinent, Bhaktpur in Nepal and Galle in Sri Lanka
Ahmedabad
The walled city of Ahmedabad on the eastern banks of Sabarmati river presents a rich architectural heritage from the sultanate period, notably the Bhadra citadel , the walls and gates of the Fort city and numerous mosques and tombs, as well as important Hindu and Jain temples of later periods.
C. GS2 Related
1. Committee formed to study legalities for separate State flag
Context: separate flag for Karnataka
In news:
- The Karnataka State government has constituted a nine-member committee headed by Principal Secretary, Department of Kannada and Culture, to study and submit a report to the government on the possibility of “designing a separate flag for Karnataka and providing it a statutory standing.”
Constitutional and legal position of the State having its own flag:
- R. Bommai v/s Union of India (Supreme Court 1994) case verdict:
- The Supreme Court has declared that federalism is a basic feature of the Constitution and States are supreme in their sphere.
Inference:
- This being the Constitutional position, there is no prohibition in the Constitution for the State to have its own flag. However, the manner in which the State flag is hoisted should not dishonour the national flag. It has to be always below the national flag.
- The national flag code specifically authorises use of other flags subject to the regulation by the court. So State flag is not unauthorized.
2. Do what you feel is good for your faith and let others do the same: Chief Justice of India
Context:
- A plea was filed before Supreme Court seeking an end to the practice of burning effigy of Ravana on the eve of Dussehra festival.
- Supreme Court dismisses the plea upholding Article 25 of the Indian Constitution.
Chief Justice of India J.S. Khehar’s Obsevation:
- Every person has the right to do what he feels is good for his faith
- “This court is not about good or bad. It is about what is legal and what is illegal. You do what you feel is good for your faith and let others do what is good for their faith.”
C. GS3 Related
Category: INTERNAL SECURITY AND DEFENSE
1. Cyberattack link to glitches in RJio, NSE under probe
Context:
Last week’s attack:
- Outage of Airtel network in Delhi
- Data breach of users of Reliance Jio Infocomm
- Technical glitch at the National Stock Exchange (NSE)
In news:
- India is investigating on a “possible cyber attack.”
- The Home Ministry is preparing an internal cybersecurity policy as it is required under the national plan.
2016 data breach: In 2016, security codes of around 32 lakh debit cards were breached and several users reported unauthorised transactions from locations in China.
Worrisome dependence on Chinese equipments:
- Two years ago various telecom giants had been sensitised by the Government, about the vulnerability of equipment and products imported from China.
- Both Airtel and Jio use Chinese equipment.
2. Ships and planes arrive, it’s days of war games
Context:
- The Malabar Exercise 2017.
- Participants: naval forces of India, Japan and the United States.
Exercise not aimed at China
- Malabar is not to send a message to any specific country.
- The underlying theme of Malabar is to understand each other’s standard operating procedures and each other’s ways of working better, to enhance camaraderie and bonhomie
- S. Navy officer: U.S. participation in the exercises indicated the country’s interests in maritime security in the Indo-Asia Pacific region.
Focus Areas:
The thrust of the exercise at sea this year would be on aircraft carrier operations, air defence, anti-submarine warfare (ASW), surface warfare, visit board search and seizure (VBBS), joint manoeuvres and tactical procedures.
Category: SCIENCE AND TECHNOLOGY
1. Curcumin nanoparticles found to shorten TB treatment time
In news
- Researchers have found that the basic ingredient of turmeric, when administered in a nanoparticle formulation has several favourable properties in the treatment of tuberculosis in mice
- Name of the basic ingredient: Curcumin
- The results were published in the journal Frontiers in Immunology
Results of the Research
- During the research, regular curcumin was able to drastically reduce liver toxicity induced by TB drug isoniazid
- Also, the treatment of TB with isoniazid along with 200 nanometre curcumin nanoparticles led to “dramatically reduced” risk of disease reactivation and reinfection
- Because of the increased bioavailability of curcumin, the duration of treatment to achieve complete eradication of the bacteria is reduced significantly
Other positive effects of using ‘Curcumin’
- Quite often, patients stop taking anti-TB drugs for a few days due to liver toxicity
- Since the addition of curcumin reduces liver toxicity there can be better treatment and lesser risk of drug resistance emerging
Category: ENVIRONMENT AND ECOLOGY
1. Concrete may help curb air pollution
In news:
- Scientists found that Concrete surfaces can help tackle air pollution as it absorbs sulphur dioxide — a major pollutant.
Importance:
- The strategy of using pollution-causing material and turning it into an environmental solution could lead to new thinking in urban design and waste management.
- Concrete buildings in urban areas can serve as a kind of sponge adsorbing sulphur dioxide to a high level.
- Waste concrete coming from building demolitions can also be used to adsorb these pollutants
Air Pollution menace
- According to the WHO, as many as seven million premature deaths of people worldwide may be linked to poor air quality and pollution
- Sulphur dioxide emissions are among the most common pollutants into the air globally, with power plants emitting the most sulphur dioxide.
Basic Information:
Sulphur dioxide (SO2)
- It is a toxic gas with a pungent, irritating smell.
- The SO2 is hygroscopic, when it is in the atmosphere it reacts with humidity and forms sulphuric and sulphurous aerosol acid that is later part of the so-called acid rain.
D. GS4 Related
Nothing here for Today!!!
PIB Articles Editorials Roundup
E. Concepts-in-News: Related Concepts to Revise/Learn
Nothing here for Today!!!
F. Bills/Acts/Schemes/Orgs in News
| ARTICLE IN NEWS | ABOUT THE ARTICLE |
| Article 25. Freedom of conscience and free profession, practice and propagation of religion |
(1) Subject to public order, morality and health and to the other provisions of this Part, all persons are equally entitled to freedom of conscience and the right freely to profess, practise and propagate religion (2) Nothing in this article shall affect the operation of any existing law or prevent the State from making any law (a) regulating or restricting any economic, financial, political or other secular activity which may be associated with religious practice; (b) providing for social welfare and reform or the throwing open of Hindu religious institutions of a public character to all classes and sections of Hindus Explanation I The wearing and carrying of kirpans shall be deemed to be included in the profession of the Sikh religion Explanation II In sub clause (b) of clause reference to Hindus shall be construed as including a reference to persons professing the Sikh, Jaina or Buddhist religion, and the reference to Hindu religious institutions shall be construed accordingly |


Upcoming games
Game
Release date
{% for game, date in upcoming_games.items() %}
{{ game }}
{{ date }}
{% endfor %}


The first Olympic Games took place in the 8th century B.C. in Olympia, Greece. Held every four years, in honor of the Greek God Zeus, records show the Ancient Olympic Games began in 776 BC in Olympia and weren't halted until 394 AD. Then, in the 4th century A.D., all pagan festivals were banned by Emperor Theodosius I and the Olympics were no more.
The first modern Olympics was held in 1896 in Athens, Greece and cost roughly $448,000. Compare that to the most recent Olympic Games in Rio 2016 which cost $13.1 billion.
The Olympic Games was resurrected about 1500 years later after 4th century A.D. The first modern Olympics were held in 1896 in Greece. The Modern Olympic Games are based on the Olympic Games of Ancient Greece.
The Olympic Games have been hosted by 23 different countries. The 2012 London Games were the first Olympics in which all participating countries sent female athletes.
English and French are the official languages of the Olympics. They are complemented by the official language of the host country.
Gold medals are mostly made of silver. Despite the popular belief that the Gold Medal is composed of pure gold, this hasn’t been the case since the 1912 Olympics. Today’s Olympic Gold Medal is an imposter, made almost entirely from silver with approximately 6 grams of gold to meet the standard laid out in the Olympic Charter
Medal winners are not only inducted into their nation's history and Olympic history, but they are also honoured at the Olympic stadium of that year's tournament. Their names are engraved on the walls of the stadium - allowing their legacy to be written in stone.
In order for a sport to be included in the Olympics it must be practiced by men in 75 countries on at least 4 continents and by women in 40 countries on at least 3 continents.
Africa and Antarctica are the only continents in which the Olympics have never been held.
The prize for event winners in the Ancient Olympics was an olive branch wreath.
Since the 1904 Olympics, medals have been awarded in each event, with gold medals for first place, silver for second and bronze for third.
The Olympic motto is "Citius, Altius, Fortius", which is Latin for "Faster, Higher, Stronger". It was proposed by Pierre de Coubertin upon the creation of the International Olympic Committee in 1894.
The Olympic flame is lit at Olympia in Greece every two years (Summer and Winter Olympics) before it journeys to the next host nation where it is paraded around until the lighting of the Olympic Cauldron at the opening ceremony.
The Olympic torch is lit the old-fashioned way in an ancient ceremony at the temple of Hera, in Greece: Actresses, wearing costumes of Greek priestesses, use a parabolic mirror and sun rays to kindle the torch.
Starting from Greece, the torch starts its relay to the host city: It is usually carried by runners, but it has traveled on a boat, on an airplane (and the Concorde), on horseback, on the back of a camel, via radio signal, underwater, and in a canoe.
The relay torch and the Olympic flame are supposed to burn during the whole event. In case the flame goes out, it can only be reignited with a backup flame, which has been lit in Greece as well, and with never a regular lighter!
The unlit Olympic torch has also been taken to space several times.
The five rings of the Olympic symbol – designed by Baron Pierre de Coubertin, co-founder of the modern Olympic Games – represent the five inhabited continents of the world (Africa, Asia, Australia, Europe, and the Americas), they are linked together in friendship.
The six colors – blue, yellow, black, green, red, and the white background – were chosen because every nation’s flag contains at least one of them.
Since the opening of the first modern Olympic Games in 1896, the international sports competition has only been canceled three times: once during World War I (1916) and twice during World War II (1940, 1944). Until the 2020 COVID-19 outbreak, which postponed the Summer Olympic games for a year, the Olympics weathered politically charged boycotts and two separate terrorist attacks without being canceled or postponed during peacetime.
The 2020 Summer Olympics, originally scheduled to be held in Tokyo, Japan between 24 July and 9 August 2020, were rescheduled for 23 July to 8 August 2021 as a result of the COVID-19 pandemic. The Games of the XXXII Olympiad will keep the name Tokyo 2020 for marketing and branding purposes despite being held in 2021.
At its 1986 Session in Lausanne, the IOC decided to introduce a change where the summer and winter games were no longer held in the same year. From 1924 to 1992, the Summer and Winter Games were each held in the same year, every four years. This four years period is called the "Olympiad". The last Summer and Winter Games held in the same year were in Barcelona (Summer) and Albertville (Winter) in 1992. Since then, the Summer and Winter Games are each still held every four years but the Summer Games are celebrated during the first year of an Olympiad and the Winter Games held in the third year.
At the 1904 Olympics in St. Louis, the marathon was a total mess: The first place finisher did most of the race in a car, the guy in second almost died from eating rat poison, and the fourth place finisher raced in dress pants and shoes, and took a nap by the side of the road for part of the race.
First off, the entire course was very dusty and breathing in that dust caused all kinds of injuries, including one runner who was hospitalized with hemorrhaging after the dust tore his esophagus and stomach lining. The organizer of the race purposefully withheld water in order to test the effects of dehydration. So the whole thing was a nightmare from the start.
That first-place finisher, Fred Lorz, hitched a ride in a car to the end of the course after he was struck with serious cramping. He got out shortly before the finish line and crossed it, which fooled some of the onlookers. He claimed he did it "as a joke."
That second-place finisher, Thomas Hicks, was given a mixture of egg whites and strychnine, a poison that is often used to kill rodents or birds, as an attempt at a performance-enhancing drug. He was carried across the finish line by his handlers.
That fourth-place finisher, Andarín Carbajal (pictured above), was a Cuban national who raised money to attend the Olympics by running the entire length of Cuba. He gambled away all the money when he arrived in the States, and showed up for the race in dress clothing. Thankfully, another runner used a knife to cut his pants into shorts. Carbajal stopped at a roadside orchard for a snack during the race, but the apples were rotten so he was struck with stomach cramps and had to sleep it off
In one of the most dramatic moments in Olympic history, John Carlos and Tommie Smith made a monumental political statement, making a black power salute on the podium of the 1968 Olympic Games in Mexico. What is less known is that the silver medallist that day was Australian white man, Peter Norman. He stood by the duo in solidarity while displaying a human rights badge. Norman was, like the two American sprinters, attacked by his own country's media for this display and barred from competing in future Olympics.
Women have been allowed to compete in the Olympics since 1900.
The London 2012 Olympic Games was known as the Women's Games because it was the first summer Olympics which showcased true equality. Women were not barred from a single sport and for the first time in history, each and every nation sent a female competitor.


This website provides different visualisations of the land occupancy distribution in the Netherlands. All data used for this website is from the CBS and can be seen by clicking Data source (CBS) on the top of the page.
According to the CBS, the land occupancy can be distributed into the seven different types: traffic, built, semi-built, recreation, agricultural, forest & nature and water. More information about these types can be found by clicking Description occupancies on the top of the page.
The visualisations can be viewed by clicking Visualisations on the top of the page. This page consists of the following three visualisations selectable by year:
To view one occupancy over time for a province, you can click on Time on top of the page.


Over 175 million professionals use LinkedIn to exchange information, ideas and opportunities
-
Stay informed about your contacts and industry.
-
Find the people & knowledge you need to achieve your goals
-
Control your proffesional identity online
Join LinkedIn Today
Sign Up
Search for someone by name


Realities that get stuck between the layers of memory are visual spaces that hide in the gaps of boundaries of perception beyond the conventional and existing involutions. Memory; where observations accumulate as areas of interest, level of knowledge and culture, and aesthetic preferences, is a web of spaces in which this accumulation is systemised according to the states of time and environment, and moment and space.
Transitions and variations that are ongoing between taught knowledge, conclusions derived as a result of experience, arguments analysed with scientific methods and visuality that is perceived as part of the transience of daily life turn into realities that now and then get stuck in memory. There are many more of these side passages that are concisely defined as “remembering” and that emerge from an action than one might assume. A moment of hearing, seeing or encountering which stimulates visual perception resurrects visual spaces that exist between the layers of memory.
Ersoy Alap’s paintings shuttle between these layers and reference existing visual spaces.
In his abstract expressions where the relationship between nature and object is questioned, Alap comes to terms with visual spaces that exist between memory layers. While visual spaces that appear in the balance of overlapping surfaces of dabs and splotches re-install technology-resisting cross-sections of nature into the visual perception, the geometric forms that interfere with them determine the dominant power of imperative change in his highly-charged abstract expressions created by the contrast between nature and technology.
This dominant power is reinforced by Alap’s distinctive and subjective technique. Strengthening the language of abstract expressions, his technique includes fields of expression that are particular to Alap and accrue by existing within themselves.
Reflecting the dramatic torments of humanity which has either distanced itself or has been removed from nature, Alap paintings wander in the visual spaces that exist between the layers of memory. Nature – now almost completely imaginary – only appears at the conflux where moments transform into memories is a torminous representation of the layer of memory that gets stuck between existence and extinction. Attempting to create visual spaces that revert to cross-sections of nature existing between the layers of memory, and looking for a way out from the world of being entrapped between “keys”, on the border between detachment from nature and living in technology for people born in the last quarter of the 20th century and who live as contemporaries of the 21st century, with his paintings Alap sheds light on the tragic terrene of his own generation that cannot be perceived clearly.
Ersoy Alap convenes images of visual perceptions that conceal hope in cross-sections of nature which still continues its existence amongst layers of memory with his canvases.


Emscripten is a compiler from C/C++ to JavaScript
C/C++  =>  LLVM  =>  Emscripten  =>  JavaScript
JavaScript is the only standards-based language in all web browsers
Automatically convert to JavaScript, no need for time-consuming manual rewrites
Modern JavaScript VMs are quite speedy already, but compiled code can be faster than handwritten JavaScript (!)
What? How? Compiling into JavaScript still produces... JavaScript, right?
If you compiled a statically typed language into JavaScript, it will still be implicitly typed
Modern JS engines benefit from code with simple type usage
asm.js is an extraordinarily optimizable,
low-level subset of JavaScript
A formal type system for compiled code in JavaScript, to help JavaScript VMs even more
function strlen(ptr) { // calculate length of C string
ptr = ptr|0;
var curr = 0;
curr = ptr;
while (MEM8[curr]|0 != 0) {
curr = (curr + 1)|0;
}
return (curr - ptr)|0;
}
Emscripten can emit asm.js output
asm.js code already works in all modern browsers
With asm.js-specific optimizations in Firefox Nightly, performance is within 2x of native. And that's just the beginning!
Work beginning on next phase of asm.js spec, thinking about stuff like float32, int64, SIMD, etc.


| DOSE: T+ 0:00 |
150 mg |
oral |
AMT |
(powder / crystals) |
| T+ 0:20 |
1 cig. |
smoked |
Cannabis |
|
| T+ 4:30 |
1 repeated |
smoked |
Cannabis |
|
This weekend I had one of the greatest psychedelic experiences of my life. Iím going to try and do it justice here.
Last week, my friend 'B' and I began exchanging e-mails with a view to heading somewhere for a camping trip. Originally the idea was to head to either Sherwood Forest in Nottingham or to travel north to the Scottish highlands but the latter was scrapped as it would mean 8+ hours driving each way. Eventually we decided on North Wales and Snowdonia National Park as being the best location in terms of isolation, beauty and relative distance.
My mate and I have tripped together twice before, once when we were both on some strong hits of blotter LSD and once on 2c-i and LSD. Normally I like to trip alone as tripping can be, for me, something of a more intense experience than it seems for others.
We had been chatting over e-mail about various drugs and their effects and I had sent B some information on AMT via e-mail following my initial experience with the stuff a good few weeks earlier during a lunar eclipse. I still had quite a bit left over and when the idea of making this a psychedelic camping trip was mooted I was able to tell him that I had the golden ticket!
 It took about three hours good driving to get us to the national park. First off we sought out information on local campsites, forests and stocked up on food and drink for the pitch. As it was the Easter bank holiday the little town was absolutely heaving- mainly with middle aged English bikers and young families and their dogs- so we had a quick drink and got back in the car and went another hour west to a tiny little town named Bala.
Here we bought a second tent and sussed out a few campsites by telephone before settling on one about ten miles further out from Bala. It was a nice spot, flat grassy field which was elevated from the river that bounded it on one side. The place was fairly quiet too and we were able to pitch beneath this impressive Oak tree near the bank of the river with a good view of the hills in the distance.
By the time we had made camp dusk was rolling in so we broke out the camping gas and B cooked a class feast! We had chicken Rogan josh with basmati rice followed by coffee and fruitcake with a few beers and a few joints later on to wind the evening down early enough so we would be fresh for the big day in the morning.
Both of us slept none too well that night, our tents were pretty cold and I was definitely awake until around 6am, before drifting off until 9 or so. The plan was to drive to an isolated mountain or forest and trip there, beginning early in the day. After the bad sleep though we took our time, had a big breakfast, showered and decided to leave one of the tents at the campsite so that we could come back there for a shower and a lie down if necessary. I packed up mine as it's the smaller of the two and we drove to a town about 30 miles east to book a session of gorge walking for the next morning at 12.30.
While we were there we also bought some tasty local produce at the butchers shop and then got in the car to get us close to the forest. After about 40 minutes we had reached a valley which runs down the middle of a very hilly pine forest. The road was winding all over the place and very, very narrow so we abandoned the car and hoisted our packs. There was a river between us and the woods so we shed our shoes and socks and forded it. Then uphill through a few sheep pastures and into the wood, which began on a steep, steep hill. There were pines.
We took the most direct path up the hill which was at a real tough angle - at least 45 degrees- and was almost too much with all the gear hanging off us. After about ten minutes we had climbed the worst of it and crashed down where we stood to admire the view.
 After the meal I measured out 150mg of AMT for myself and 100mg for Lowe. The plan was to wrap it in a Rizla and swallow but the powder was too fine for this so we just ended up licking the tray and drinking water to get the taste from our mouths. Luckily it does not taste bad at all.
We smoked a quick joint about twenty minutes later and decided to go for a walk to the other side of the hill/wood to see the sunset. At this stage it could have been around 5pm. Checking the time was not high on my list of things to do
We climbed higher and higher into the wood but just as we thought we were coming to the crest of the hill we reached and impasse in the shape of a thick cluster of trees, brambles, grass and peaty ground- which meant we had to detour left to find a way past. Eventually we found a likely route, but it was really choked with briars and at a steep steep angle. We decided that we MUST get past it and that we MUST see the sunset so we pushed on, both of us ignoring thorns in our shoes, legs, arms and fingers and after some hard going we stumbled out the other side to find and old track in front of us going uphill. So we followed it.
By this time it was apparent that the hill/mountain/wood was a lot bigger than we had thought at first glance. The AMT was also having definite effect by this stage. My headspace was rapidly expanding and the trees on the distant hills were dancing at me. I had acquired a stick somewhere on the uphill route and was using it like a staff to point, touch and to check where I was putting my feet as the ground could be treacherous if there was heather growing over a hole.
We wandered upward, each time thinking that this ridge would be the last, that after this one the hill would come to an end and each time we were wrong! The hill went on and on. We came onto a logging road after an hour or so. This road ran clockwise around the hill, it seemed, so we followed it for a little while paying close attention to the subtle changes in colour taking place all around us on the road, the heather, the trees, the sky. When I swung my stick it seemed to leave a faint cloudlike trail behind it.
The two of us were feeling really happy, good and comfortable with the company of the other and we continued to walk. Shortly afterward we found a good path leading toward the top of the hill under some fully mature and damn impressive trees. Pine again, but really thick trunked and a few hundred feet tall. The corridor under them was even more impressive as it was thick green heather which lined a pathway about twenty feet wide uphill under the trees and it was slowly going from dark green to a pulsating, beckoning, welcoming, almost fluorescent shade of green. Like it was calling on us to walk up there almost. So we did.
At the top B witnessed an Eagle taking off right in front of him and called me and pointed. I sat down on a tussock of brown bog grass which was throwing shades of gold, looked into the sky, at the surrounding hills, forests, streams, and rocks shimmering in the valley and through the haze. I resisted the sudden urge to vomit and stared at the ground between my feet which I was poking with my stick and I decided it was a good thing before I stood up and moved on. It was the first time I ever encountered one in the wild.
At this stage our walking speed had dropped to almost a standstill. Stopping to examine tree stumps which had a golden disk in the centre of them where the grain was showing and spiraling, and a purple shimmer around the outside where the sap had crystallized. Wandering on another few feet, exclaiming to the other and laughing softly. When we eventually came to the top we found a clearing there followed by some high peat bog dividing us from the next field which was cleared trees and had some rather weathered looking sheep and their lambs grazing and looking suspiciously at these two strangers who just strolled over the mountain and jumped into their field.
We were not quite at the highest point of the hill, but at that stage we were both feeling thirsty and also like we were going to be approaching an entirely different kind of peak very shortly so we decided to return to camp. Before we could however, a farmer on a quad bike materialised from thin air and proceeded to tend to his sheep. We hopped over the fence into an adjacent wooded area to wait until he left. I don't think either of us would have been incapable of talking to the man. We just didn't really want to at the time.
I checked my phone at around this time and was amazed to discover that the time was almost 19:40. Everything was absolutely altered at this stage. We were standing on a grassy path a few feet below the dark powerful forest on either side. It was radiating a beautiful energy and we could have happily sat down there for the night except for the need to be within easy distance of the camp. The farmer droned away soon enough towards the far corner of the pasture so we exited the way we came in and slowly made our way back down to camp. It could not be called walking. It was more like the sensation of being on horseback, bobbing up and down and moving forward without being aware of your lower body. I had felt a little queasy going uphill but that had passed now. B was in wonderland and we both commented on how the come up on this drug made us almost completely acclimatised to the mind state with almost no stress.
We had some minor difficulty finding the camp again, nothing to cause panic though. We just had to stop at each turn and consult each other on which way was right. Once I took us the right way when B didn't know where to go and once he did the same. We took a detour into some deeper woods to avoid the nasty briary slope we had hacked through going uphill. That time there had been something symbolic about it, to me anyhow, but this time we just wanted to go around it. As we stepped into the deeper woods we saw this large creature run up a tree with a nut in it's mouth. I looked like a squirrel but it was grey and black and it was waaaay too big for even a red squirrel, let alone a grey. As I said we were both pretty much peaking at this stage and it was getting quite dark.
A couple of minutes later we saw a rocky outcrop we both recognised and took a left, went uphill and found ourselves back at camp. It was shortly before 9. We were both glad to sit down on our heather benches and both of us had been really thirsty for well over an hour at this stage so it was a relief to have some lemon water and relax my muscles. I even managed to skin a joint using just touch! A roach was beyond me so B took care of it and we had a satisfying smoke which put a really nice spin on everything and really brought the trip on for me. At that stage it was almost properly dark and several hundred meters below us in the valley the sheep were bleating. The valley is huge so the ones below us bleat and then about twenty other fields of around the valley bleat on a one second delay from each other causing a kind of a Mexican wave of bleats around the valley. It trips me out.
I put my head back and stare up at the two sheer pines growing over where I sit. I stare at the upper branches of these trees and then at the hundreds of similar pines growing lower on the hill from where I sit. In the advancing darkness all the trees look almost like strange distorted 2D cutouts of trees pasted onto a backdrop of crepe paper mountain and blue/grey cutout sky. I drift off on a random stream of thoughts and events in my life. Thinking on this, realising something about that which I never did before, being snapped to reality by the add sounding bleat of a sheep. An owl hoots. The valley falls silent. At the same moment I realise that it is now fully dark. It's almost the owl just signaled for lights out.
B and I had a little conversation on religious origins, nothing too heavy as we were both too far gone to be able to articulate anything much, just touched on druidism and the role of the medicine man in the days when people living in the valley we were in now knew of nothing else and how the world got where it is now. It seemed the appropriate thing in light of it being Easter Sunday. I got my sleeping bag from the tent and put on another wooly jumper, a t-shirt and a jacket to keep out the cold. B decided to go to the car for his sleeping bag. I stayed where I was and drifted for miles in my head for what could have been hours or minutes. After some time I became aware that B was not back and felt some unease. I began to skin a joint telling myself he would be back shortly but was compelled to go and have a look for him.
Once I did all the concerns I had for his safety were gone. I was sure I was going to find him grinning at a badger or something! As before I kind of floated down the hill and found the errant B re-entering the woods and examining and Oak tree intently. He had liked wading across the river so much he had spent an unknown amount of time paddling up and down in it beside the road! We went back up to the camp. The hill nearly killed me this time.
The sky was spectacular. It was like somebody was putting on an amazing firework show for just us. There were also five stars in a crescent just above the treetops over our heads which were glowing like giant fireflyís. It we switched on the camping lamp it was like the valley beneath us did not exist. Just the camp, the trees and the stars. The Owl flapped over our heads and landed less than four feet away. It regarded us for a minute and then flew off.
We smoked another joint around this time and we both retreated into ourselves for a time. I was being shown myself in some situations and my reactions. There were some things that really made sense and none that I can clearly recall now. It doesnít matter. They have been learned on a subconscious level. It's all in there somewhere. It's all good. I may have let B feel worried about me around this time because he seemed to be on a very happy, bubbly trip and I would have seemed somewhat withdrawn for this hour of two and then he began asking me if I was o.k, if everything was all right and I could see asking the question unsettling him and me too, so I had to swallow my stomach and just say 'B do not worry about me at all. I am fine. Just going to lie in the tent for a little' This is why I like to trip alone, you see. I always have an hour or five like this. B was fine after that though.
I listened to some music later on and it was magical. The Doors practically gave me an orgasm, and I was listening to some cuts from musical pantomimes which blew my mind. Each cast member had me seeing through their eyes as they sang and the violins, drums, piano and sound effects were special.
B lay down in the other side after a while. This was around midnight or 1am. I remember us staring at the bulb of the camping lantern we had and watching the light on the filament dance like led's on a sound system and then curl around each other up the side of the bulb. It all gets a bit soft around the edges after this. I had a few hours in hyperspace and came to with a start around 8am to find a beautiful sky outside.
That's my trip.
Once we woke we smoked a joint and lay back down in a trance until 6pm that evening for sleep. When we woke again we smoked another and did the four hour drive back home.
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!] Gorge walking was absolutely out of the question! I rank this as one of the best experiences I have had. It is still only three days old so I haven't had time to absorb it all fully but still . . .
One negative point was that I did get a quite ugly headache for a few hours at the end of the experience but I feel that proper hydration would take care of this as there was only 750ml of water for each of us for the 26 hours of so we were in the forest.
Today, three days on, I am luckily off work for the day and I feel tired physically, mentally agile and pretty damn happy with myself
Jude.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Random Quote Machine
You should always be ready to do what is right, so pick up the blanket and nap.
- Me
Tweet Out
Quote


My proposed definition: Journalism that relies in a significant way on new analysis of data or putting existing data in context
Data can come at any stage in the process
Data does not just mean numbers
It adds authority and context
Consider a counter-example: "Where Trump Won, Many Want to Keep Health Care", NY Times (11/26/16)
In an era where being first is harder, data gives us the means to be better, more informative
It makes your work more compelling
There are jobs in it
Don't do what I did
And know the difference
Know the FOIA law.
Be patient, but persistent
Sometimes it helps to pick up the phone
It is important to ask in the right way
"Records sufficient to show the number of sworn personnel who were placed into the Behavioral Intervention System and Personnel Concerns programs, by year, from 2011 to 2015 (to date)."
"Names and badge numbers of all officers enrolled in the Behavioral Intervention System and Personnel Concerns programs"
Tip: There's always more than one way to do something


DAST library
Mark Gates
Alex Warshavsky
Ajay Tirumala
Jon Dugan
Kevin Gibbs
Introduction
In developing Iperf and other network programs, a number of C++
classes, C utilities, and autoconf macros were developed that are
generic. The C++ classes are intended to be similar in design to the
corresponding Java classes. These are packaged in the lib directory,
and may be included in other projects, subject to the UI license.
(This page is slightly out of date. Refer to the source files
for some new functions.)
Socket class
The socket class represents a socket end point of a TCP or UDP
connection. It has wrappers around the common socket functions to
create a socket connection. Typically I have Server, Listener, and
Client sub-classes of Socket.
Functions:
- Socket( short inPort,
bool inUDP = false )
- Constructor. Stores the port number and whether this will be a UDP
(true) or TCP (false) socket.
- virtual ~Socket()
- Destructor. Closes the socket if it has not been closed yet.
- void Listen(
const char *inLocalhost = NULL )
- Creates a socket, binds it to a local address and port, and starts
listening on it. If inLocalhost is null, the socket is bound to the
wildcard address, so the socket will listen for connections on any
interface. If inLocalhost is not null, that address is DNS resolved
and used to bind the socket, to specify the local interface to listen
on.
- int Accept(
void )
- Accept is a wrapper around the socket accept call. It provides
the additional facilty of restarting an accept call if it interupted.
Assumes the socket is setup with Listen() first.
- void Connect(
const char *inHostname,
const char *inLocalhost = NULL )
- Connects the socket to the server. inHostname is DNS resolved
to get the server's IP address. If inLocalhost is not null, it is
also DNS resolved and used to bind the socket to a local interface,
which specifies the outgoing interface to use.
- void Close(
void )
- Closes the socket
- virtual void SetSocketOptions(
void )
- A virtual function that subclasses may override to set socket
options at the appropriate time. Several socket options, including TCP
window sizes, must be set before calling the socket connect() or
listen() calls. SetSocketOptions is called in the Listen() and
Connect() functions. The default implementation is empty.
Queue class
The queue class stores arbitrary pointers in a queue, and provides
functions to make the queue thread-safe using pthreads.
- Queue( int inSize )
- Constructor. Creates a queue with space allocated for inSize pointers.
Note that an array of inSize+1 is allocated; one space is unusable.
- ~Queue()
- Destructor. Deletes the array of pointers. Does nothing with
the pointers themselves; the caller is responsible for removing and
deleting all pointers before deleting the queue.
- bool Enqueue(
void* inItem )
- Stores a pointer into the queue. Returns true if the operation
was successful. If the queue is full, returns false and does not
store the pointer.
- void* Dequeue(
void )
- Removes and returns the front pointer from the queue. If the
queue is empty, returns null and does not change the queue.
- void* Front(
void )
- Returns (but does not remove) the front pointer from the queue.
If the queue is empty, returns null and does not change the queue.
- int Size(
void )
- Returns the number of items in the queue.
- bool IsEmpty(
void )
- Returns true if the queue is empty.
- bool IsFull(
void )
- Returns true if the queue is full.
- void BlockUntilSignal(
time_t inAbsTimeout = 0 )
- Blocks the calling thread until a condition signal is sent.
The condition signal is sent whenever the queue is unlocked, and
usually indicates the queue has been changed.
- void Lock(
void )
- Puts a mutual exclusion lock (pthread mutex) on the queue.
- void Unlock(
void )
- Releases a mutual exclusion lock (pthread mutex) on the queue
and sends a condition signal to wake up any threads blocked in
BlockUntilSignal().
Thread class
Used to create and run a new thread. Currently this
implementation uses pthreads.
- Thread( void )
- Constructor. Initializes the thread class. Does not actually
create a new thread.
- virtual ~Thread()
- Destructor. Immediately exits the thread if it is still running.
- void Start(
void )
- Create a new thread and call its Run() function.
- void Stop(
void )
- Immediately stop the thread. The thread itself may call this to
call pthread_exit. Other threads may call this to call pthread_cancel.
- virtual void Run(
void ) = 0;
- Pure virtual function which subclasses must implement. This
is called by Start() and should be the main loop for the thread.
- void Join(
void )
- Wait for the thread to exit.
- static void Joinall(
void )
- Wait for all threads (which are created by the Thread class) to
exit.
- void DeleteSelfAfterRun(
void )
- Sets a flag so the Thread object will delete itself when it
exits. The caller no longer has responsibility for deleting the Thread
object.
- static void* Run_Wrapper(
void* objectPtr )
- Lov level function which starts the new thread. This is necesary
because pthread_create is a C library function and does not understand
C++ classes. A pointer the the Thread object is passed in as the
argument in pthread_create.
Timestamp class
The timestamp class is a wrapper around the unix gettimeofday
second/microsecond time. (TODO how to implement on Windows?) This
is intended as a platform-independant API. It offers both integer
second/microsecond access and floating point access. All functions
are inlined for optimal performance.
- Timestamp( void )
- Create a timestamp, with the current time in it.
- Timestamp( unsigned long sec,
unsigned long usec )
- Create a timestamp, with the given seconds/microseconds.
- Timestamp( double sec )
- Create a timestamp, with the given seconds.
- void setnow(
void
- Set timestamp to current time.
- void set(
unsigned long sec,
unsigned long usec )
- Set timestamp to the given seconds/microseconds.
- void set(
double sec )
- Set timestamp to the given seconds.
- unsigned long getSecs(
void )
- Return seconds portion of timestamp.
- unsigned long getUsecs(
void )
- Return microseconds portion of timestamp.
- double get(
void )
- Return timestamp as a floating point seconds.
- unsigned long subUsec(
Timestamp right )
- Subtract the right timestamp from my timestamp.
Return the difference in microseconds.
- double subSec(
Timestamp right )
- Subtract the right timestamp from my timestamp.
Return the difference in seconds as a floating point.
- void add(
Timestamp right )
- Add the right timestamp to my timestamp.
- void add(
double sec )
- Add the seconds to my timestamp.
- bool before(
Timestamp right )
- Return true if my timestamp is before the right timestamp.
- bool after(
Timestamp right )
- Return true if my timestamp is after the right timestamp.
C utilities
These are a number of utility functions of varying usefulness
for other applications. All are declared in util.h, but the
implementations are defined in a variety of C source files.
- void ntoh(
void *buffer,
int len,
int inSizeof )
- void hton(
void *buffer,
int len,
int inSizeof )
- Convert the endian-ness of an entire array of elements, each of
size inSizeof, between network byte order and the host's native byte
order. ntoh translates from network byte order, hton translates to
network byte order. (Actually, it is the same translation, the names
are merely descriptive.) On big-endian hosts, these are null
macros. On little endian hosts, each takes O(n) time.
- int setsock_tcp_windowsize(
int inSock,
int inTCPWin )
- Set the send and receive TCP window size for a socket. This
handles verifying the TCP window size was set correctly, and prints a
warning on stderr if the OS did not accept the exact specified window
size. If the window size is zero (0), nothing is done. Has special
code for UNICOS and AIX.
- int getsock_tcp_windowsize(
int inSock )
- Returns the TCP window size, as specified by the send buffer size,
for the given socket. If inSock is invalid (inSock < 0), a new TCP
socket is created and the OS's default TCP window size is returned.
- void setsock_tcp_mss(
int inSock,
int inTCPWin )
- Set the TCP maximum segment size. The MTU is the MSS + 40 bytes
for the IP header. Many OSes do not support setting this option, and
the MSS may only be lowered, not raised, since the MTU is a physical
characteristic of the network interface. This handles verifying
the TCP mss was set correctly, and prints a warning on stderr if
the OS did not accept the specified mss.
- int getsock_tcp_mss(
int inSock )
- Returns the TCP maximum segment size for the given socket.
Usually this will not be valid until after the socket has been
connected, since before that the interface is unspecified.
- ssize_t readn(
int inSock,
void *outBuf,
size_t inLen )
- Read a complete buffer, rather than returning prematurely with the
buffer only partially filled as socket read call usually does. This
code is from Stevens, 1998, section 3.9.
- ssize_t writen(
int inSock,
const void *inBuf,
size_t inLen )
- Write a complete buffer, rather than returning prematurely with
only part of the buffer written. The socket write call never returns
before writing the complete buffer, but nothing in the specification
disallows that behaviour, so this is for our safety. This code is from
Stevens, 1998, section 3.9.
- unsigned long delay_loop(
unsigned long usecs )
- An (more) accurate microsecond delay function. With very small
values, usleep often sleeps for much more time than requested, since
it gives up time to the OS. delay_loop iterates a very small loop, so it
often is much more accurate for small values. Similar to the linux
BogoMips code. For best accuracy, delay_loop_calibrate should be called first.
This is a new implementation since Iperf 1.0.
- void delay_loop_calibrate(
void )
- Calibrates the delay_loop() function for this processor. It samples
the delay_loop for various times, and corrects for the function call
and other overhead.
- typedef void Sigfunc(
int)
SigfuncPtr my_signal(
int inSigno,
SigfuncPtr inFunc )
- Exactly the same as signal(), but internally uses sigaction
which has a POSIX standard and so is more likely to be portable.
- void die(
const char *inMessage,
const char *inFile,
int inLine )
- Print the message on stderr and call exit(1). If compiled without
defining NDEBUG, also prints out the filename and line number where it
was called from.
- void die_errno(
const char *inMessage,
const char *inFile,
int inLine )
- Print the message, errno and its strerror description, and call
exit(1). If compiled without defining NDEBUG, also prints out the
filename and line number where it was called from.
- FAIL( cond, msg ) [macro]
- Calls die if the condition is true.
- FAIL_errno( cond, msg ) [macro]
- Calls die_errno if the condition is true.
- void pattern(
char *outBuf,
int inBytes )
- Fill a character buffer with some data. Currently the data
is the digits 0 through 9 repeated.
- void replace(
char *position,
int poslen,
const char *replacement )
- Starting at position, remove poslen number of characters
and insert the replacement string. Characters after poslen
are shifted to fit after the replacement string.
TODO this assumes position is allocated long enough to
fit the replacement string.
- char *concat(
char *dest,
int len,
const char *src )
- Append the src string to the dest string, without overwriting
the allocated length, len, of the dest string and ensuring a null
terminating character is always stored.
- double byte_atof(
const char *inString )
- Given a string of form #x where # is a number and x is a format
character listed below, this returns the interpreted floating point
number. Gg, Mm, Kk are giga, mega, kilo-bytes respectively. (Iperf
v1.0 had a byte_atoi function, but the atof is more general.)
- void byte_printf(
double inNum,
char inFormat )
- Given a number in bytes and a format, converts the number and
prints it out with a bits or bytes label.
B, K, M, G, A for Byte, Kbyte, Mbyte, Gbyte, adaptive byte
b, k, m, g, a for bit, Kbit, Mbit, Gbit, adaptive bit
adaptive picks the "best" one based on the number.
- DELETE( ptr ) [macro]
- If ptr is not null, delete it and set it to null. This prevents
deleting the same object twice, at least using that pointer.
autoconf macros
- DAST_CHECK_BOOL
- Checks if bool, true, and false are defined. Defines bool as int,
true as 1, false as 0 if not defined. Often it is helpful to call for
just C++ code:
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
DAST_CHECK_BOOL
AC_LANG_RESTORE
- DAST_CHECK_TYPE( type, includes )
- Does a similar check to AC_CHECK_TYPE( type, default ), but if
type isn't defined it doesn't define it. Also you may specify what
header files to include. Default includes are <sys/types>,
<stdlib.h>, or <stddef.h>. This defines
HAVE_<type>. For example, DAST_CHECK_TYPE( int32_t ) will define
HAVE_INT32_T on machines with int32_t defined. This is useful if there
is no single default value to use; in the case of int32_t it depends
on what integer type has sizeof == 4.
- DAST_ASK( message, variable, default )
- Prompts the user for input, with a default value in square
brackets, and reads the result into the given variable.
- DAST_PROG_CC
DAST_PROG_CXX
- These two prompt the user for what compiler to use. Define the
CFLAGS and CXXFLAGS to be 2nd level optimization (-O2 or similar). If
the compiler is gcc, also add -Wall. Currently recognizes HP-UX and
SunOS special cases for the optimization flags. Does not include the
-g debug flag as AC_PROG_CC and AC_PROG_CXX do.
- DAST_CHECK_PTHREAD
- Check for pthreads in either -lpthread or -lpthreads. If found,
add -lpthread(s) to LIBS and -D_REENTRANT to CFLAGS and CXXFLAGS.
- DAST_CHECK_LIB
- Similar to AC_CHECK_LIB, but try to link the code without
the library first. Some OSes include functions in a library (like
socket in -lsocket) but do not require explicitly compiling with that
library.
Bugs and Comments
While these functions have been extensively tested, there may be
bugs in this code; if any arise, or if unexpected behaviour results,
please contact us at
<EMAIL_ADDRESS>There are
also a number of issues this code does not yet consider. We would like
to implement these as they become important to our users, so please
send in requests for features. If these do not work on a particular
platform or host, we can probably help solve those issues.
Copyright 1999, 2000, 2001, 2002
The Board of Trustees of the University of Illinois
All rights reserved
See UI License for complete details.
<EMAIL_ADDRESS>Last modified: Jan 3, 2003
NLANR ||
applications support ||
engineering support ||
measurement and operations


Previous | Contents | Index | Next
You have a grid of covered squares, some of which contain mines, but you don't know which. Your job is to uncover every square which does not contain a mine. If you uncover a square containing a mine, you lose. If you uncover a square which does not contain a mine, you are told how many mines are contained within the eight surrounding squares.
This game needs no introduction; popularised by Windows, it is perhaps the single best known desktop puzzle game in existence.
This version of it has an unusual property. By default, it will generate its mine positions in such a way as to ensure that you never need to guess where a mine is: you will always be able to deduce it somehow. So you will never, as can happen in other versions, get to the last four squares and discover that there are two mines left but you have no way of knowing for sure where they are.
On Android, please touch for left click and long press for right click. Also note that where this manual refers to pressing a letter on the keyboard, the Android version has icons at the bottom of the screen instead (Control and Shift are not available). There is also an optional "Night mode" which uses darker colours in low light.
This game is played with the mouse.
If you left-click in a covered square, it will be uncovered.
If you right-click in a covered square, it will place a flag which indicates that the square is believed to be a mine. Left-clicking in a marked square will not uncover it, for safety. You can right-click again to remove a mark placed in error.
If you left-click in an uncovered square, it will ‘clear around’ the square. This means: if the square has exactly as many flags surrounding it as it should have mines, then all the covered squares next to it which are not flagged will be uncovered. So once you think you know the location of all the mines around a square, you can use this function as a shortcut to avoid having to click on each of the remaining squares one by one.
If you uncover a square which has no mines in the surrounding eight squares, then it is obviously safe to uncover those squares in turn, and so on if any of them also has no surrounding mines. This will be done for you automatically; so sometimes when you uncover a square, a whole new area will open up to be explored.
You can also use the cursor keys to move around the minefield. Pressing the return key in a covered square uncovers it, and in an uncovered square will clear around it (so it acts as the left button), pressing the space bar in a covered square will place a flag (similarly, it acts as the right button).
All the actions described in section 2.1 are also available.
Even Undo is available, although you might consider it cheating to use it. If you step on a mine, the program will only reveal the mine in question (unlike most other implementations, which reveal all of them). You can then Undo your fatal move and continue playing if you like. The program will track the number of times you died (and Undo will not reduce that counter), so when you get to the end of the game you know whether or not you did it without making any errors.
(If you really want to know the full layout of the grid, which other implementations will show you after you die, you can always use the Solve menu option.)
The options available from the ‘Custom...’ option on the ‘Type’ menu are:
%
sign on the end in which case the game will arrange for that proportion of the squares in the grid to be mines.
Beware of setting the mine count too high. At very high densities, the program may spend forever searching for a solvable grid.


|
Vienna Vulkan Engine
|
A classical forward renderer. More...
#include <VERendererForward.h>
Classes | |
| struct | lightBufferLists_t |
| Shadow and light command buffers for one particular light. More... | |
| struct | secondaryCmdBuf_t |
| One secondary command buffer and the pool that it came from. More... | |
| struct | secondaryCmdBufferLists_t |
| lists of secondary command buffers, one for the shadow pass, one for the light pass More... | |
Public Member Functions | |
| VERendererForward () | |
| Constructor of class VERendererForward. | |
| virtual | ~VERendererForward () |
| Destructor of class VERendererForward. | |
| virtual VkCommandPool | getThreadCommandPool () |
| virtual void | updateCmdBuffers () |
| called whenever the scene graph of the scene manager changes | |
| virtual void | deleteCmdBuffers () |
| Delete all command buffers and set them to VK_NULL_HANDLE, so next time they have to be created and recorded again. | |
| virtual VkDescriptorSetLayout | getDescriptorSetLayoutPerObject () |
| virtual VkDescriptorSetLayout | getDescriptorSetLayoutPerObject2 () |
| virtual VkDescriptorSetLayout | getDescriptorSetLayoutShadow () |
| virtual std::vector< VkDescriptorSet > & | getDescriptorSetsShadow () |
| virtual std::vector< VkFramebuffer > & | getSwapChainFrameBuffers () |
| virtual VkDescriptorPool | getDescriptorPool () |
| virtual VkRenderPass | getRenderPass () |
| virtual VkRenderPass | getRenderPassShadow () |
| VETexture * | getDepthMap () |
| std::vector< VETexture * > | getShadowMap (uint32_t idx) |
| virtual VkExtent2D | getShadowMapExtent () |
| Public Member Functions inherited from ve::VERenderer | |
| VERenderer () | |
| Constructor. | |
| virtual | ~VERenderer () |
| Destructor. | |
| virtual VmaAllocator | getVmaAllocator () |
| virtual VkPhysicalDevice | getPhysicalDevice () |
| virtual VkDevice | getDevice () |
| virtual VkSurfaceKHR | getSurface () |
| virtual VkQueue | getGraphicsQueue () |
| virtual VkCommandPool | getCommandPool () |
| virtual VkFormat | getSwapChainImageFormat () |
| virtual VkExtent2D | getSwapChainExtent () |
| virtual uint32_t | getSwapChainNumber () |
| virtual uint32_t | getImageIndex () |
| virtual VkImage | getSwapChainImage () |
| virtual VESubrender * | getOverlay () |
| virtual void | addEntityToSubrenderer (VEEntity *pEntity) |
| Add a new entity to a subrenderer. More... | |
| virtual void | removeEntityFromSubrenderers (VEEntity *pEntity) |
| Remove an entity from all subrenderers. More... | |
Public Attributes | |
| float | m_AvgCmdShadowTime = 0.0f |
| Average time for recording shadow maps. | |
| float | m_AvgCmdLightTime = 0.0f |
| Average time for recording light pass. | |
| float | m_AvgRecordTime = 0.0f |
| Average recording time of one command buffer. | |
Protected Member Functions | |
| void | createSyncObjects () |
| Create the semaphores and fences for syncing command buffers and swapchain. | |
| void | cleanupSwapChain () |
| Destroy the swapchain because window resize or close down. | |
| virtual void | initRenderer () |
| Initialize the renderer. More... | |
| virtual void | createSubrenderers () |
| Create and register all known subrenderers for this VERenderer. | |
| virtual void | recordCmdBuffers () |
| Create a new command buffer and record the whole scene into it, then end it. | |
| virtual void | drawFrame () |
| Draw the frame. More... | |
| virtual void | prepareOverlay () |
| Prepare to creat an overlay, e.g. initialize the next frame. | |
| virtual void | drawOverlay () |
| Draw the overlay into the current frame buffer. | |
| virtual void | presentFrame () |
| Present the new frame. | |
| virtual void | closeRenderer () |
| Close the renderer, destroy all local resources. | |
| virtual void | recreateSwapchain () |
| recreate the swapchain because the window size has changed | |
| virtual secondaryCmdBuf_t | recordRenderpass (VkRenderPass *pRenderPass, std::vector< VESubrender * > subRenderers, VkFramebuffer *pFrameBuffer, uint32_t imageIndex, uint32_t numPass, VECamera *pCamera, VELight *pLight, std::vector< VkDescriptorSet > descriptorSetsShadow) |
| Delete all command buffers and set them to VK_NULL_HANDLE, so next time they have to be created and recorded again. More... | |
| Protected Member Functions inherited from ve::VERenderer | |
| virtual void | addSubrenderer (VESubrender *pSub) |
| Initialize and register a subrenderer. More... | |
| virtual VESubrender * | getSubrenderer (VESubrender::veSubrenderType) |
| Find a subrenderer of a certain type. More... | |
| virtual void | destroySubrenderers () |
| Destroy all subrenderers. | |
Protected Attributes | |
| std::vector< VkCommandPool > | m_commandPools = {} |
| Array of command pools so that each thread in the thread pool has its own pool. | |
| std::vector< VkCommandBuffer > | m_commandBuffers = {} |
| the main command buffers for recording draw commands | |
| std::vector< std::vector< std::future< secondaryCmdBuf_t > > > | m_secondaryBuffersFutures = {} |
| secondary buffers for parallel recording | |
| std::vector< std::vector< secondaryCmdBuf_t > > | m_secondaryBuffers = {} |
| secondary buffers for parallel recording | |
| std::map< VELight *, lightBufferLists_t > | m_lightBufferLists |
| each light has its own command buffer list | |
| VkRenderPass | m_renderPassClear |
| The first light render pass, clearing the framebuffers. | |
| VkRenderPass | m_renderPassLoad |
| The second light render pass - no clearing of framebuffer. | |
| std::vector< VkFramebuffer > | m_swapChainFramebuffers |
| Framebuffers for light pass. | |
| VETexture * | m_depthMap = nullptr |
| the image depth map | |
| std::vector< std::vector< VETexture * > > | m_shadowMaps |
| the shadow maps - a list of map cascades | |
| VkRenderPass | m_renderPassShadow |
| The shadow render pass. | |
| std::vector< std::vector< VkFramebuffer > > | m_shadowFramebuffers |
| list of Framebuffers for shadow pass (up to 6) | |
| VkDescriptorSetLayout | m_descriptorSetLayoutShadow |
| Descriptor set layout for using shadow maps in the light pass. | |
| std::vector< VkDescriptorSet > | m_descriptorSetsShadow |
| Descriptor sets for usage of shadow maps in the light pass. | |
| VkDescriptorPool | m_descriptorPool |
| Descriptor pool for creating descriptor sets. | |
| VkDescriptorSetLayout | m_descriptorSetLayoutPerObject |
| Descriptor set layout for each scene object. | |
| VkDescriptorSetLayout | m_descriptorSetLayoutPerObject2 |
| Descriptor set layout for each scene object. | |
| std::vector< VkSemaphore > | m_imageAvailableSemaphores |
| sem for waiting for the next swapchain image | |
| std::vector< VkSemaphore > | m_renderFinishedSemaphores |
| sem for signalling that rendering done | |
| std::vector< VkSemaphore > | m_overlaySemaphores |
| sem for signalling that rendering done | |
| std::vector< VkFence > | m_inFlightFences |
| fences for halting the next image render until this one is done | |
| size_t | m_currentFrame = 0 |
| int for the fences | |
| bool | m_framebufferResized = false |
| signal that window size is changing | |
| Protected Attributes inherited from ve::VERenderer | |
| VkPhysicalDevice | m_physicalDevice = VK_NULL_HANDLE |
| Vulkan physical device handle. | |
| VkPhysicalDeviceFeatures | m_deviceFeatures = {} |
| Features of the physical device. | |
| VkPhysicalDeviceLimits | m_deviceLimits = {} |
| Limits of the physical device. | |
| VkDevice | m_device |
| Vulkan logical device handle. | |
| VkQueue | m_graphicsQueue |
| Vulkan graphics queue. | |
| VkQueue | m_presentQueue |
| Vulkan present queue. | |
| VmaAllocator | m_vmaAllocator |
| VMA allocator. | |
| VkCommandPool | m_commandPool |
| Command pool of this thread. | |
| VkSurfaceKHR | m_surface |
| Vulkan KHR surface. | |
| VkSurfaceCapabilitiesKHR | m_surfaceCapabilities |
| Surface capabilities. | |
| VkSurfaceFormatKHR | m_surfaceFormat |
| Surface format. | |
| VkSwapchainKHR | m_swapChain |
| Vulkan KHR swapchain. | |
| std::vector< VkImage > | m_swapChainImages |
| A list of the swap chain images. | |
| VkFormat | m_swapChainImageFormat |
| Swap chain image format. | |
| VkExtent2D | m_swapChainExtent |
| Image extent of the swap chain images. | |
| std::vector< VkImageView > | m_swapChainImageViews |
| Image views of the swap chain images. | |
| uint32_t | m_imageIndex = 0 |
| Index of the current swapchain image. | |
| std::vector< VESubrender * > | m_subrenderers |
| Subrenderers for lit objects. | |
| VESubrender * | m_subrenderShadow =nullptr |
| Pointer to the shadow subrenderer. | |
| VESubrender * | m_subrenderOverlay = nullptr |
| Pointer to the overlay subrenderer. | |
A classical forward renderer.
This renderer first clears the framebuffer, then starts rendering each entity one by one.
|
protectedvirtual |
Draw the frame.
Reimplemented from ve::VERenderer.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
protectedvirtual |
Initialize the renderer.
Create Vulkan objects like physical and logical device, swapchain, renderpasses descriptor set layouts, etc.
Reimplemented from ve::VERenderer.
|
protectedvirtual |
Delete all command buffers and set them to VK_NULL_HANDLE, so next time they have to be created and recorded again.
| [in] | pRenderPass | Pointer to the render pass that is executed |
| [in] | subRenderers | List of subrenderers to call |
| [in] | pFrameBuffer | Pointer to the framebuffer to be used |
| [in] | imageIndex | Index of the current swap chain image |
| [in] | numPass | Number of the pass on this call, one for each light |
| [in] | pCamera | Pointer to the cmaera to be used |
| [in] | pLight | Pointer to the light to be renderered for |
| [in] | descriptorSets | List of descriptor sets for per objects resources |