.
├── configuration
│
├── core
│
├── infra
│ ├── amqp
│ ├── sql
│ └── nosql
│
└── entrypoints
└── rest
Decisions taken too early [e.g. database choice]
Centered around frameworks and/or databases
Hard to change
Business logic is everywhere
Hard to find things and measure the impacts
Focused on technical aspects
Slow, heavy tests
The center of your application is not the database. Nor is it one or more of the frameworks you may be using. The center of your application is the use cases of your application.
Robert Cecil Martin aka Uncle Bob
.
├── configuration
│
├── core
│
├── infra
│ ├── amqp
│ ├── sql
│ └── nosql
│
└── entrypoints
└── rest
Domain objects e.g. "Author", "Book", "BookDocument"
Entity-specific business rules e.g. gender format
Tiny Types are useful e.g. Gender instead of String
No frameworks [Lombok]
Pure business logic
Uses entities and dataproviders
Throws business-specific exceptions
Not affected by changes in database or presentation
Plain Java (no frameworks [except lombok, and hibernate validation])
We like single-method interfaces A.k.a. Interface Segregation
Implements Interfaces defined by use case e.g. register a book
Hides all details about where the data is from
Could have multiple implementations e.g. from DB or from File System
Uses whatever framework/library is appropriate e.g. spring-jdbc, hibernate, snmp4j, etc.
If using ORM, you’d have a new set of entities A.k.a. decoupled from business entities
Fires up a use case
Has no business logic
Has conversion logic e.g. uses DTOs to return result to WEB
Hides all details about delivery mechanism
GUI would be an entrypoint e.g. controllers would start use cases
Uses whatever framework/library is appropriate
TDD a.k.a. Tests first, to drive design
Cover every little detail a.k.a. Aim for 100% coverage
“Dev to dev” documentation a.k.a. What should this class do?
Test individual classes in isolation, very fast


You can use RADAR to debug regression faults. In particular RADAR identifies the chain of behavioral anomalies caused by the regression fault that lead to the failure; the inspection of the anomalies will help you to debug the fault.
RADAR identifies anomalies by comparing the behavior of the upgraded software with the behavior of the base version of the software. To this end RADAR:
The analysis performed by RADAR is completely automated, for this reason you need to perform only three activities to use RADAR:
RADAR identifies silent regression faults only on Unix like systems. You need to install gdb, c++filt and objdump to run RADAR. You need to compile programs with the options, -g3 -O0, to enable effective monitoring with RADAR.
This tutorial shows how you can use RADAR to debug a regression fault that affect the upgraded version of Store, a software that manages the warehouse of a store chain. The functionality affected by the regression regard the displaying of the items available in a particular store. In the base version of the software all the items are properly displayed, in the upgraded version the item Mac Book Pro is missing.
To simplify the tutorial we assume that the fault is covered by a unit test for class StoreHandler the class that populates the list of available items.
The regression was introduced by a change in method Store::availableQty(string productId), this method returns the number of items available for a given product ID. The upgraded version of the softwrae returns -1 when a product does not belong to the store catalogue. Altough this new behavior is valid (it corresponds to new specifications), it causes a regression in method StoreHandler::availableItems(list ids). Figure shows the implementation of method StoreHandler::availableItems. Method availableItems act like a filter, given a list of items that should be shown on the GUI, it returns a list with the name of the items available in a particular store.
Following paragraphs show how a software developer can use RADAR to debug a regression fault that affect Store, a software that manages the warehouse of a Store chain.
We provide an Eclipse workspace with two versions of the Store software.
Download the compressed workspace with the two C++ project from this url
http://www.lta.disco.unimib.it/downloadsLTA/tools/bct/workspaceStore.tar.gz.
Uncompress the .tar.gz workspace, for example in ~/workspaceCPP_RegressionExample.
Then compile the two C++ projects:
cd ~/workspaceStore/Store_V1/
make clean
make
cd ~/workspaceStore/Store_V2/
make clean
make
Then open the workspace in Eclipse:
path/to/eclipse -data ~/workspaceStore/
To use RADAR to identify silent regression faults, you need first to create a RADAR C++ Monitoring configuration.
You can create the RADAR monitoring configuration either in one of the two projects of the workspace, or in a separate project. We suggest to create a separate project by clicking on New>Project>Generic>Project. Name the project Analysis.
You can create a new configuration by right clicking on the project where you want to save the RADAR monitoring configuration and by clicking on new>Other>RADAR>RADAR C/C++ Regression Configuration..
RADAR asks to enter a name for the new configuration, use CheckStore for example.
After pressing next RADAR asks for the paths of both the source folder and executable of the stable and modified version of the software. Enter the following paths (write your HOME dir path instead of the ~ symbol):
After pressing Finish RADAR prepare the environment for running the analysis: compares the two software sources to identify the modified functions, generates the gdb configuration files required for monitoring the software, and creates the monitoring configuration file Analysis/CheckStore.bctmc.
The monitoring configuration file Analysis/CheckStore.bctmc plays a central role in the use of RADAR for debugging regression faults. This file in fact not only contains all the configuration options that can be opened with an editor, but it also provides access to the data generated by RADAR, and is an entry point for executing RADAR analysis. By right clicking on the monitoring configuration file you can visualize the RADAR menu that allows the execution of the analysis. By expanding the RADAR configuration file, you can access all the data recorded and generated by RADAR: traces, models, analysis results. The following figure shows the tree associated with the RADAR configuration, from the figure it is possible to observe the name of the FSA models associated with this file.
If you double click on the monitoring configuration file Analysis/CheckStore.bctmc the configuration editor opens. This editor allows you to tune RADAR execution. This editor shows three tabs: Resource location, Components Configuration, Regression Analysis Configuration.
Tab Resource location simply shows information about the configuration files stored by RADAR.Tab Components Configuration shows the target functions, i.e. the functions that are impacted by the change. These functions by default correspond with the modified functions. RADAR groups these functions by change type. The list item named ModifiedFunctions contains the list of functions that have been modified in version 2, AddedFunctions and DeletedFunctions contain the functions that have been respectively added and deleted in version 2. By pressing button add you can add new functions to the set of monitored ones.
To show the functions that have been modified in version 2 of Store you can click on ModifiedFunctions and press Edit. In this case only function availableQty have been modified, so this will be the only function appearing in the list. For the same reason AddedFunctions and DeletedFunctions are empty.
Tab Regression Analysis Configuration shows the location of the base and upgraded versions of the software, and a list of configuration options that allows to tune RADAR execution.
| Option | Description |
|---|---|
| DLL | Used when the executable is a shared library. |
| Use demangled names | Force the usage of demangled names in the regular expressions used for matching the functions to monitor. |
| Monitor project functions only | If set, RADAR uses as targets only the functions defined within the source files contained in the source folder (does not monitor libraries). |
| Monitor calls to library functions | If set, RADAR will monitor also calls from a target function to a library function. |
| Simulate termination of function calls not terminated at the end of the trace | If the program is stopped during the execution some of the monitored calls are not terminated (the exit point is not recorded in the trace). This option simulate the termination of these functions by adding virtual exit points. |
| Filter out function calls not terminated | If the program is stopped during the execution some of the monitored calls are not terminated (the exit point is not recorded in the trace). Similarly also when monitoring calls to certain OS functions implemented with assembly code the exit point is not captured by RADAR. This option ignores single function calls not terminated. |
| Filter out functions not terminated at least once | If the program is stopped during the execution some of the monitored calls are not terminated (the exit point is not recorded in the trace). Similarly also when monitoring calls to certain OS functions implemented with assembly code the exit point is not captured by RADAR. This option ignore all the calls to functions that are not terminated at least once. |
| Monitor function Enter/Exit points | If set RADAR monitors enter the entry/exit point of each monitored function. |
| Trace all lines of monitored functions. | If set RADAR monitors all the lines executed by a monitored function. |
| Derive function invariants. | If set RADAR also identifies the data properties that hold within the whole function body. |
| Monitor local variables. | If set, RADAR record the value of the local variables. |
| Derive line invariants. | If set, RADAR record the value of global variables (to speed up monitoring RADAR monitors only variables whose name appear in the compilation unit that contains the monitored function). |
| Monitor functions called by target functions. | If set, RADAR monitors also the execution of the functions that are called by the functions indicated in Components Configuration. Since Components Configuration by default lists the functions modified by the upgraded version of the software, this options is used to monitor callers of the modified functions. |
| Record calling context data. | If set, RADAR record also the values of the local variables of caller of the function under execution. |
| Exclude line info from FSA. | FSA represent the sequences of operations performed by a function/method. If this option is set, RADAR derives FSA that capture only the sequences of functions invoked by the function, otherwise the FSA capture both the sequences of executed lines and functions. |
| Exclude unused variables. | If set RADAR does not report anomalies that regard variables whose name does not appear in the code of the function under execution. |
| Monitor also callers of modified methods. | If set, RADAR monitors also the execution of the functions that are called by the functions indicated in Components Configuration. Since Components Configuration by default lists the functions modified by the upgraded version of the software, this options is used to monitor callers of the modified functions. |
| Trace all lines of children. | If set, RADAR trace the execution of all the lines of the functions called by the target functions. |
| Monitor added and deleted functions. | If unset, RADAR does not trace the execution of the functions listed in Tab Components Configuration under the items AddedFunctions and DeletedFunctions. |
| Hide added and deleted functions from models. | If set, RADAR hides the entry and exit points of added and deleted functions. This implies that RADAR does not generate neither the FSA nor the data properties for these functions. This option is useful to properly handle refactorings. |
| Monitor only not modified lines. | If set, RADAR does not monitor modified lines. This is useful because modified lines may lead to false positives. |
| Use updated names in models. | If set, RADAR use the ids of the upgraded software when building models form the original software. In practice if line 5 of the base software corresponds to line 8 of the upgraded software, the model for line 5 will be named as it was line 8. This is necessary to filter out false positives. |
By clicking on button Refresh components to monitor you can update the list of monitored components after performing some more changes to the program, e.g. after modifying another method of class Store.
The Help button in the Regression Analysis Configuration tab of the Monitoring configuration editor shows the commands to execute to monitor the two programs.
Execute the following commands to monitor the stable version of Store:
cd ~/workspaceStore/Store_V1
GDB_CONFIG=~/workspaceStore/Analysis/CheckStore/BCT_DATA/CheckStore/conf/files/scripts/originalSoftware.gdb.config.txt
GDB="gdb -batch -silent -n -x $GDB_CONFIG --args"'
$GDB ./Store
You then need to monitor the upgraded version of Store. To improve RADAR results is better to monitor passing and failing test cases separately. Execute the following commands to monitor the upgraded version of Store:
cd ~/workspaceCPP_RegressionExample/WorkersMap/Debug
GDB_CONFIG=~/workspaceCPP_RegressionExample/WorkersMap_validation/BCT_DATA/WorkersMap-v2-validation/conf/files/scripts/originalSoftware.gdb.config.txt
GDB="gdb -batch -silent -n -x $GDB_CONFIG --args"'
#this command monitors the passing test cases
$GDB ./Store testNoItems testOneItem testOneItemNotAvailable testTwoItems testHandlerAllItemsAvailable
#this command monitors the failing test case
$GDB ./Store testHandlerSomeItemsAvailable
After the monitoring two trace files are available in the workspace (if you do not see the traces press F5 on the Analysis project to refresh folder contents ):
You can analyze the traces by right clicking on the monitoring configuration file, and by selecting RADAR/Analyze Traces. A wizard with different options will open; these option tune the inference of the models used to identify anomalies in the execution of the upgraded software. You can simply use the default options of the wizard.
The RADAR analysis proceed in three steps:
After identifying anomalies RADAR automatically opens and editor with the list of anomalies found. The anomalies reported by RADAR helps understanding the problem, in fact they show that:
If you double click on an anomaly in the list RADAR opens the source code editor and highlights the line that caused the anomaly. The first anomaly in the list shows that the data property items >= 0 that was expected to hold before the execution of line 33 was violated during the execution of the failing test. The property view on the bottom of Eclipse show the actual value of variable items, which is -1.
The anomaly propagates through the execution of the loop, and is identified during the execution of lines
The propagation of anomalous values caused the unexpected execution of line 29.
In passing executions line 29 was executed only when storeItems was equal to null. In the failing execution it isn't, this means that the software overwrote an already assigned list (this is the reason of the failure, all the items already present in the list are lost).
The Analysis Setup tab of the anomalies editor allows to tune the analysis of the anomalies by manually identifying failing executions or by selecting the analyzed failure.
RADAR automatically detects failing executions on the basis of their return value (programs returning 0 are considered passing). In case this criterion does not work, you can select the failing processes from the list of processes shown in tab processes (failing processes are checked).
RADAR automatically analyzes all failing executions monitored. This could be useless in presence of multiple faults, in this case in fact it could be better to analyze each test failure singularly. To analyze each test failure singularly you can select the id of the failing process in the menu named Analyze Failure and the press the button Regression Analysis, tab Regression Analysis Result will contain a list of anomalies identified during the execution of the selected process only.
You can inspect the sequence of events monitored by RADAR. To this end you need to expand the RADAR configuration in Analysis/CheckStore.bctmc, under Raw Traces/Interaction Traces the list of traces recorded by RADAR is shown. In this case we have two traces: one for the passing execution of the original version of the software, one for the passing execution of the upgraded version of the software, one for the failing execution of the upgraded version of the software.
A trace shows the sequence of monitored program points. When you select a program point the values of the monitored variables are shown in the Program Point View. The following picture shows that when entering method testNoItems the value of variable passingTestCases<.em> was 0.
RADAR provides additional views that allow to inspect the recorded data clustered in ways that ease its inspection. In particular it allows to either inspect the values of all the program variables recorded during the execution of a specific program point (e.g. line 29 of StoreHandler.cpp); or to visualize all teh sequences of operations (function calls and executed lines) performed by a particular method (e.g. availableItems).
By selecting one of the program points listed in Normalized Recorded Data/Data Properties Traces you can inspect the values recorded during all the executions of that particular porgram point. The following image shows for example the values recorded during the executin of the enter and exit points of function availableQty. The figure shows that in one call the return value is 0.
By selecting one of the functions listed in Normalized Recorded Data/Interaction Traces you can visualize the sequences of operations performed by a function. The following image shows for example that function have executed twice in passing test cases (only two function calls are listed listed). By expanding the tree associated with a function call you can visualize the operations performed by the function: it first executes lines 24, 25, 27, 28, 29, 30, 32, then invokes method availableQty, then executes line 33, and so on.
RADAR allows to open the models derived from the data. Folders Normalized Recorded Data/Data properties and Normalized Recorded Data/FSA list the derived Data properties and FSA respectively.
The following image shows the data properties derived for the program points set at the enter and exit locations of method Store.availableQty. They show for example that the return value is always greater (or equal) than 0.
The following image shows the data properties derived for the data recorded at the beginning of execution of line 29 in file StoreHandler.cpp (this line belongs to function availableItems). They show for example that variable storeItems is always equal to null, and that the value of variable total is -1.
The following image shows the FSA for method Store.availableQty, the model shows that the method, within line 22, checks if the item is in the catalogue, and then either terminates in line 28, or executes line 26 and then terminates. Please note that since GDB set breakpoint before the execution of a line, all the label in a FSA that refer to a line number indicate that the line was already to be executed (this is why function inCatalogue is seen after line 22 in the automata).


Welcome to Klondike, the NuGet repository for caching public packages and storing your private packages privately.
To use this repository from Visual Studio, add a new Package Source using this URL:
Alternatively, you can add the package source from the command line as follows:
Do you know what the .NET Framework is? Do you know what NuGet is? No? If not, you can probably stop reading now. Instead perhaps do some research on monkeys riding dogs.
Klondike is similar to the NuGet.Server project that lets you host a package feed on your own private network. Klondike is different because it's faster. Way faster. The problem with NuGet.Server is that it slows down to a crawl after you add around 100 packages. Klondike uses Lucene.Net.Linq to index your projects to give you all the searchy goodness of Lucene along with super fast package retrieval.
You should not use Klondike if you are not awesome.


On January 28, 1918, a group of from to 25 to 40 armed men, composed of rural policemen (rangers) of the State of Texas, belonging to the Company of Rangers of J.M. Fox and of cowboys of the locality (cowboys), came to the ranch named El Porvenir, Presidio County, State of Texas, United States of America,took from their homes by force and carried, by means of arms, a half mile to the south of the ranch and without any justification brutally and inhumanly killed or fired en masse on these 15 following Mexican citizens:
This horrible massacre remained unpunished and the murders free of any penalty and punishment.
This timeline documents actions by survivors (left) and the state (right) in remembering or erasing the Porvenir Massacre. Making these histories public is a crucial step towards reckoning with the long legacies of violence.
Texas Ranger captain James Monroe Fox, leader of Company B, submits a fabricated report about the massacre. Fox claims eight Texas Rangers along with four ranchers encountered a group of Mexicans. After they gathered the Mexicans for questioning, he claimed, a second group of Mexicans attacked and a general gunfight took place that night.
Read moreOn the day of the massacre, a survivor wrote an official testimony of the massacre in order to seek protection of the Mexican government. By February 1, the Mexican Consul in Presidio, Texas, Cosme Bengoechea received a copy of the testimony, a list of the murdered men and boys, and confirmation that the surviving residents were under Mexican protection and care in Ojinaga.
Read moreWitnesses make their statements in Ojinaga
Read moreThe Mexican Embassy files a formal protest with US Secretary of State Robert Lansing for the Porvenir massacre and asking that the state department start and investigation to charge assailants with responsibility and "to apply to them a well-earned punishment."
Read moreIn Ojinaga, a committee of military and elected officials convene proceedings to collect witness statements of the massacre. Seven written and translated statements were just the start of the Mexican consul investigations.
Read moreUS Secretary of State Robert Lansing responds that he translated the formal protest from the Mexican Embassy and sent it to Texas Governor Hobby ordering him to investigate the massacre.
Read moreMexican ambassador to the U.S. Ignacio Bonillas replies to the Lansing's statement. He sends evidence of the massacre, including witness depositions, and preliminary reports that cleared the victims of any connection to local raids.
Read moreUS soldiers take witness depositions with survivors. These preliminary investigations are damning and prompt a full U.S. federal investigation.
Read moreWith mounting federal and diplomatic investigations, Texas Governor Hobby disbands Company B of the Texas Rangers. He fires five men and transfers seven to a different company. He also pressures Captain Fox to resign from the Texas Rangers.
Read moreFox writes a heated resignation letter, amending his original account of the massacre. Here, he writes that he ordered a raid on Porvenir because he believed the residents harbored Mexican bandits. Fox's brutality had once gained him respect and notoriety, but the public condemnation of his methods left him outraged.
Read moreFox's former boss, Adjutant General James Harley writes a public response to Fox's resignation. The letter, published in the Brownsville Herald, El Paso Times, and Laredo Record, condemned Fox for killing "defenseless and unarmed" men.
Read moreAfter reading Harley's letter, Mexican ambassador Ignacio Bonillas sends a copy to the US Secretary of State Robert Lansing. He hopes that "in the judicial investigation there may result not only the resignation of the Captain of the rangers, J.M. Fox, but the punishment which he and th others who are found guilty merit, because this is demanded by justice and the good name of the Federal authorities and of the State of Texas."
Read moreState Representative Jose Tomas Canales files nineteen charges against the Texas Rangers and demanded a legislatvie investigation and reorganization of the state police. The Porvenir massacre was the final charge brought against the state police. The investigation closes without public discussion.
Read moreHarry Warren, a local schoolteacher in Porvenir, writes to Colonel Langhorne asking him expunge from his records a letter that criticized the teacher for his "companionship with bandits." Warren's father-in-law, Tiburcio Jacquez, was one of the murdered men, and Warren had experienced slander and discrimination as of a result of being a "race traitor."
Read moreBud Weaver, a fired member of Company B, reenlists as a Texas Ranger. His enlistment papers describe his current occupation as "peace officer."
Read moreJames Monroe Fox, former captain of Company B, reenlists as a Texas Ranger captain in Company A.
Read moreIn the late nineteenth and early twentieth century, many ethnic Mexicans throughout the borderlands took on the arduous task of pleading for common justice. In some cases, there were long and laborious legal procedures. The survivors of the Porvenir massacre turned to diplomatic procedures and filed claims through the US-Mexico General Claims Commission, which allowed surviving relatives to charge the US government with liability in the death of their relatives. When victims were Mexican nationals, their survivors could appeal to Mexican consuls and challenge violence at the hands of Texas law enforcement and US soldiers. These procedures required the support of neighbors, lawyers, and diplomats.
In order to file a claim with the General Claims Commission, survivors required extensive documentation. For Juana Bonilla Flores's claim, her friends Jose Chemali and Jose Torres testify before a notary public that they knew Juana Bonilla Flores and that she was in fact a Mexican national; that they knew her husband Longino Flores, murdered at the massacre, and that he was a Mexican national; that they knew Juana was the legitimate wife of Longino; and that she lived exclusively on the personal labor of her husband.
Eight years after the massacre, Mexican attorneys file separate claims against the United States on behalf of survivors of the Porvenir massacre. Claimants included widows, parents, grandparents, and brothers of the fifteen murdered men and boys.
C.M. Bishop, a U.S. attorney, files an internal report outlines the facts of the case. Bishop notes that the commission would likely offer an award for the claimants due to the failure to apprehend, prosecute, and punish the assailants in the cases filed by Porvenir survivors. To avoid paying such an award, the U.S. attorneys look to have the claims tossed.
Rita Jacquez, wife of victim Macedonio Huerta, dies while waiting for her claim to be heard. The U.S. attorneys later dispute her claims because she died before claims were heard by the General Claims Commission.
Librada Jacquez, wife of victim Tiburcio Jacquez, dies while waiting for her claim to be heard. The U.S. attorneys later dispute her claims because she died before claims were heard by the General Claims Commission.
James Monroe Fox, former captain of Company B, again reenlists in the Texas Rangers, this time as a special ranger.
Though Harry Warren died before the claims were heard, his daughter Nancy Elmendorf sought legal help to see if she was entitled to the potential indemnity from the ongoing claim. Warren had maintained financial records, legal documents, school records, biographical materials, and printed materials related to the Porvenir Massacre. On this date, the West Texas Historical and Scientific Society purchases the Harry Warren Papers from Elmendorf and her siblings, encouraging historic research into the massacre. Elmendorf never receives financial compensation for the claim.
After collecting over 100 pieces of evidence, more than seventeen years after the massacre, Mexican attorney Oscar Rebasa files a memorial, Concepción Carrasco de Gonzalez, et al. (United Mexican States) v. the United States of America, combining the separate claims. The Mexican attorneys made three charges: the Texas authorities did not give due protection to the men arrested by the Texas Rangers; the local authorities were the material authors and accomplices of the crimes committed at Porvenir; and the state authorities denied justice by failing to apprehend, prosecute, and punish the persons responsible for the murders. The claimants requested $700,000 for losses and damages.
U.S. attorneys investigating the claims seek the help of the War Department to see if any of the fifteen victims had registered under the Selective Service Act, and if so claimed to be American citizens. If the victims had claimed to be American citizens, the claimants would have no standing to file a claim against the U.S. government. None of the victims had, but U.S. attorneys continue to try to have the claims dismissed.
The U.S. attorneys file its answer to Rebasa's memorial. The answer denies the Mexican nationality of the claimants and the dead victims, denies the relationships between the claimants and victims, and maintains that the death of the fifteen victims at Porvenir was justified. The answer also says that justice was served through the federal and state investigations of the massacre.
Mexican attorneys respond to the U.S. attorneys' answer, submitting a fifty-page brief with the commission for the survivors of the Porvenir massacre. The brief argues that the United States was intentionally responsible for the death of fifteen Mexican citizens murdered by the Texas Rangers in Company B because it did not properly apprehend and punish the U.S. citizens who had murdered the Mexican nationals.
Bert L. Hunt, a U.S. attorney, responds to the Mexican claims by filing an incendiary reply brief. The reply brief disputes the claim that victims of the massacre were honest and honorable men, justifying the Porvenir massacre as an example of violence by authorities to quell violence at the hands of the Mexican bandits in the region.
Juana Bonilla Flores, wife of victim Longino Flores, commits suicide while waiting for her claim to be heard. Her son, Juan Flores, who seventeen years earlier had witnessed the execution of his father, finds the body of his deceased mother.
Nearly twenty years after the massacre, the General Claims Commission writes to the Mexican attorneys requesting additional evidence from the claimants. Attorney Roberto Cordova, again, returns to the private records of the victims of the massacre, looking for birth certificates, testimonies, and marriage certificates proving Mexican citizenship.
Martin Medrano, Anastacio Romero, and Julio Aranda testify on behalf of Juan Bonilla Flores. They confirm that Juana was born in the Mexican town of San Jose. They testify to knowing Juana's family since she was a young girl, and that they also knew her husband Longino, also a Mexican national.
The two governments decide on an en bloc settlement of the general claims by which Mexico agreed to pay in total $40,000,000 while the United States agreed to pay $533,6668.96. Resolving individual indemnities took the form of international debt negotiations. The commission failed to consider over 1,000 claims, including those of the Porvenir massacre.
The survivors of the Porvenir massacre were denied legal, financial, and symbolic forms of redress. Unsettled by the injustices they witnessed, a few Porvenir residents built their own archives and wrote their own histories of the massacre. It offered them the chance to find some form of consolation. It also preserved the possibility that there might be justice in the future. To reckon with the tragedy of the Porvenir massacre, residents turned to mourning, remembering, and retelling the story of that tragedy. In turn, their reckoning became a political act of resistance.
Juan Flores, who had witnessed the execution of his father and found the body of his mother, suffered devastating effects from the Porvenir Massacre. In 1950, Flores admits himself to the Texas State Hospital in Big Springs to receive psychiatric care due to frequent nightmares and flashbacks.
Robert Keil dedicates his later life to preserving his account of the massacre and defending the reputation of the victims. He begins corresponding with archivists at the Texas State Archives, searching for official documents regarding the massacre in order to prove they were not bandits.
Juan Flores carried the burden of these events in silence until 1998. Then, he starts describing the traumatic events - not just the massacre itself but the way it unraveled his family. starts describing the massacre and his mother's suicide.
The Center for Big Bend Studies posthumously publishes Robert Keil's manuscript, Bosque Bonito: Violent Times along the Borderlands During the Mexican Revolution. In the memoir, Keil recounts the injustices he witnessed at Porvenir against unarmed civilians on U.S. soil.
Descendants of the Porvenr massacre look to document the massacre as well as the broader practice of anti-Mexican violence in the early twentieth century. Flores descendants start collaborating with filmmakers Gode Davis from Rhode Island to provide interviews for the film American Lynching: Strange and Bitter Fruit.
Juan Flores, son of victim Longino Flores, dies at the age of 101. The emotional toll of memories, recalling those memories, and sharing them with others was taxing, but Flores and his family were coated to remembering the loss in order so that others would not forget.
After two previous attempts, the Texas Historical Commission finally agrees to identify the site of the Porvenir Massacre with a state historical marker describing the injustices of the Texas Rangers. The marker has yet to be unveiled.
At the Texas State Capitol, over 400 family members, elected officials, and other residents from across the state commemorate the 100th anniversary of the Porvenir Massacre.
Porvenir means future. There are no simple solutions that will bring total or complete closure, but the efforts to document the past and to remember offer some form of resolution. The wounds of a former era do not merely heal with time.
Read more inThe Injustice Never Leaves You


Course Name:-
Session:- 2017/2018
Applicant's Name*
:
Father's Name*
:
Mother's Name
:
Date Of Birth
:
Day
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Month
January
February
March
April
May
June
July
August
September
October
November
December
Year
e.g 1976
Gender
:
Male
Female
Other's
Nationality
:
Select One
Bangladeshi
us
uk
Londhon
Religion
Select One
Islam
Hinduism
Buddhism
Christianity
Sikhism
National ID
:
Yes
No
Marital Status
:
Married
Single
Mailing/Present Address*
Care of
Village/Town/Road/House/Flat
District
Select One
P.S./Upazila
Select One
Post Office
Post Code
Perment Address*
Same as present address
Care of
Village/Town/Road/House/Flat
District
Select One
P.S./Upazila
Select One
Post Office
Post Code
Mobile Number*
:
Please Mention a Mobile Number of ant operator.Relevant information will be send to that Number.
Mobile Number*
:
E-mail*
:
Academic Qualifications:
SSC or Equivalent Level
Examination
Select One
Board
Select One
Roll
Result
Select One
Group/Subject
Select One
Passing Year
Select One
HSC or Equivalent Level
Examination
Select One
Board
Select One
Roll
Result
Select One
Group/Subject
Select One
Passing Year
Select One
Graduation/Equivalent Level
Examination
Select One
Subject/Degree
Select One
University/Institute
Select One
Result
Select One
Passing Year
Select One
Course Duration
Select One
choose Photo
Signature
Validation Code
The above Information is correct and I would like to go to the next step.


Select a playlist from
{{ profile.display_name }}
Playlist Name
Playlist ID
{% for playlist in playlists %}
{{ playlist.name }}
{{ playlist.id }}
Select
{% endfor %}


{% extends "base.html" %} {% block title %}Welcome to Groupr!{% endblock %} {% block body %}
The best way to create and join study groups!


Exile and pilgrimage, the power of sexual love and family bonds, the savagery of war, and the profundity of religious passions are masterfully evoked in this tale of one man's journey, set against the splendor of the Renaissance and the vast tapestry of Muslim and Christian empires.
I, Hasan the son of Muhammad the weigh-master, I, Jean-Leon de Medici, circumcised at the hand of a barber and baptised at the hand of a pope, I am now called the African, but I am not from Africa, nor from Europe, nor from Arabia. I am also called the Granadan, the Fassi, the Zayyati, but I come from no country, from no city, no tribe. I am the son of the road, my country is the caravan, the life the most unexpected of voyages.


Author: Dharmesh Patel
Update: OCT 26, 2015 CANAGL
Copyright, SAS Institute
http://www.sas.com
General Public License (GPL):
http://www.opensource.org/licenses/gpl-license.php
AutoIT is a freeware test automation tool provided by Jonathan Bennett and the AutoIt Team designed for automating native Microsoft Windows apps and components.
SAFS uses and controls AutoIt via AutoItX Java Bridge as a standard SAFS Engine so the user does NOT have to learn the Java API, the AutoIt Scripting Language, or the AutoItX COM API. The AutoItX Java Bridge is provided freely as open source by Richard Kanavati on GitHub.
Just add :autoit: prefix at beginning of the main window recognition string and/or component recognition string.
Example: User can define appmap following way
[Calculator]
Calculator=":autoit:title=Calculator"
Num3="class=Button;id=133"
[Calculator]
Calculator=":autoit:title=Calculator"
Num3="id=133"
Consult this link for more info on SAFS AutoIt Recognition Strings.
Au3Info.exe
or Au3Info_x64.exe
is located in 'c:\safs\lib' or 'c:\seleniumplus\extra' dir.
Currently, we MUST use 'title' to define a window. We can use part of the title, it must be the beginning part of the title. For example, we have a Notepad window with title "Untitled - Notepad", we can define RS as Notepad=":AUTOIT:title=Untitled - Notepad" using the full title or Notepad=":AUTOIT:title=Untitled" using the beginning part of the title; but we should not define RS as Notepad=":AUTOIT:title=Notepad" which uses the ending part of the title.
When AutoIt load, DLLs will be registered to the system. If AutoIT already installed to the system then uninstall AutoIT or DLLs.


Unnamed Plains [am44], plain, in Catarack Island, wilderness
Last updated Turn #74
Unnamed Plains [am44], plain, in Catarack Island, wilderness
------------------------------------------------------------------------
13: The Savvy Aardvark [ha5r], ship, 2 hulls, 1 rowing port, 6 sails,
13: 8% damaged, arrived from Ocean [an44], owner:
13: Kijaro [u4q], Pen, with 17 sailors
14: The Savvy Aardvark [ha5r], ship, 2 hulls, 1 rowing port, 6 sails,
14: 8% damaged, departed for Ocean [am45].
Routes leaving Unnamed Plains:
North, plain, to Unnamed Plains [al44], 7 days
East, to Ocean [am45], The Inner Sea, 2 days
South, to Ocean [an44], The Inner Sea, 2 days
West, plain, to Unnamed Plains [am43], 7 days
Inner locations:
Rocky hill [ad4y], rocky hill, 1 day, owner:
Chimera [ah7j], chimera, number: 6
The province is blanketed in fog.
No one can be seen through the fog.


How to Keep Your Drupal 8 Site Alive
A Step-by-Step Manual for the Compleat Idiot
Tim Broeker
Technical Director @ Electric Citizen
BadCamp 2018
Table of Contents
Chapter 1: How to Use This Book (3m)
Chapter 2: How Works a Volkswagon (5m)
Chapter 3: Tools and Spare Parts (10m)
Chapter 4: Flat Tire! (5m)
Chapter 5: Engine Stops or Won't Start (10m)
Chapter 6: Know-how (10m)


HI STARCITIZEN BROZ.
About this tool
- will not connect to any 2nd server beside RSI website
- your settings (mostly path to create shortcut) will be saved in local
- will not do anything without ask for your permission
- You will required login to RSI website at next screen to allow check PTU status
This is a wrapped web browser strengthen by chrome app and nodejs
Source code at: https://github.com/ngonhan2k5/PTU-Status


{{question}}
1. Enter two true answers to this question:
2. Please enter something which is not true. Try to make it about as plausible as the first two!
{{user}} answered the following question:
{{question}}
Two of the responses below are true, and one is not. Select the one you think is a lie!
Good job, you got it right!
This is not true about {{user}}:
{{guess}}
These are true!
{{other1}}
{{other2}}
{{else}}Good try, but you got it wrong.
These are true:
{{guess}}
{{other}}
This is what's actually not true about {{user}}:
{{lie}}
{{/if}}


|
To:
{{order['delivery_details']['name']}} {{order['delivery_details']['address']}}, {{order['delivery_details'].get('landmark','')}}, Puducherry - {{order['delivery_details']['pincode']}} {{order['delivery_details']['email']}} {{order['delivery_details']['phone']}} |
From:
foodbeazt Puducherry, India<EMAIL_ADDRESS>+91<PHONE_NUMBER> |
Invoice #{{order['order_no']}}{{order['created_at']|datetime}} |
| Description | Qty | Price(₹) | Discount(%) | Total(₹) | {% for item in order['items'] %}
|---|---|---|---|---|
| {{item['name']}} | {{item['quantity']}} | {{item['price']}} | {{item['discount']}} | {{item['total']}} |
| Sub Total | ₹ {{order['total'] - order['delivery_charges']}} |
| Delivery charge | ₹ {{order['delivery_charges']}} |
| {{order['coupon_code']}} coupon applied | ₹ {{order['coupon_discount']}} |
| Total | ₹ {{order['total']}} |
| Payment Details |
|---|
| Mode: {% if order['payment_type'] == 'payumoney' %} Online payment via PayUMoney {% elif order['payment_type'] == 'paytm' %} Paytm {%else%} Cash On Delivery {%endif%} |
| Paid amount: ₹ {{order['total']}} |
| Due amount: ₹ 0.0 |
Thank you!
for shopping with us
The goods sold as part of this shipment are intended for end user consumption and not for re-sale.


Cloudflare users wanting to use a custom domain name for their hosted Micro.blog will be greeted by a “custom domain isn't pointing to the micro.blog"
error message when trying to save the custom domain.
Luckily there is a work around:
How to get your custom domain working with Cloudflare
- First follow the steps as outlined above and add the proper “A” and/or “CNAME” records to the Cloudflare DNS panel;
- Before adding the custom domain to your Micro.blog account make sure that the “DNS and HTTP proxy (CDN)” (orange cloud-icon) is disabled and set to bypass (grey cloud icon with the hover text “DNS only”);
- After updating your DNS records and Cloudflare set to bypass for the “A” record and/or “CNAME” go to “Account” on Micro.blog and fill hostname (e.g. yourdomain.com) that you’d like to use for your Micro.blog;
- Micro.blog should save and enable to custom domain without issues. If you get a message “custom domain isn’t pointing to the micro.blog” make sure that you have set Cloudflare on bypass and wait for a few more minutes (the DNS change can take some time to get in effect);
- After successful saving the custom domain you can re-enable Cloudflare functionality on your domain/Micro.blog by remove the bypass, make sure that the cloud-icon is set to orange (hover text should state: “DNS and HTTP proxy (CDN)”).
So there you have it, you are able to use Cloudflare (DNS/CDN/security/caching/DDOS protection) with hosted Micro.blogs, with some additional steps to get the initial setup working.
Some additional recommendations:
Using Cloudflare to redirect www. to root domain
If you would like to enable www. and root version of your custom domain it’s advisable to redirect one to the other (to make sure that there isn’t any duplicated content). Cloudflare can redirect the www. version to the root domain:
- Go to “Page rules” within your Cloudflare account;
- Create a page rule;
- Add <www.yourdomain.com>/* within the first field (“If the URL matches”);
- Under “Then the settings are:” select “Forwarding URL”, “ 301 - Permanent redirect”;
- Add: <yourdomain.com>/$1 to the destination URL field;
- Save and deploy the page rule for the redirect to take effect.
Cloudflare, SSL and your Micro.blog
You should not use the SSL functionality provided by Cloudflare (email<EMAIL_ADDRESS>to enable SSL).


---
layout: post
title: first position of portuguese army at aljubarrota
date: '2013-12-15T07:30:42+01:00'
categories:
- Aljubarrota
- Storyboards
picture_url: https://film-Storyboards.tumblr.com/post/70077804239/first-position-of-portuguese-army-at-aljubarrota
---
First position of Portuguese army at Aljubarrota battle.


As the Carioca game uses a SQLite database to store its generic conversation data, a tool had to be designed so that XML file generated from FlameWind Conversation Editor could be imported for the game. Each dialogue consisted of a statement followed by up to 4 choices. The application would use the SQLite.NET library to push data to the table holding the dialogue tree structure. In addition, each dialogue could have certain conditions that needed to be checked in-game as well as a set of triggers that the game would execute in case of being selected.
While the dialogue parser is working through the XML file, it creates objects representative of the SQLite database's row structure. Once the reading process is finished, the data is loaded up into ADO.NET datasets and the SQLite.NET library saves it. This saving process is executed when the user decides that the data looks correct and presses the save button on the WinForm, which in turn executes the method shown here:
private void btnWriteDB_Click(object sender, EventArgs e) { UpdateFormEnableState(false); if (mDBFile == string.Empty) { MessageBox.Show("No DB File to write data to.\r\nLoad a valid sqlite DB file first."); UpdateFormEnableState(true); return; } if (mXMLFile == string.Empty) { MessageBox.Show("No XML File to parse data from.\r\nLoad a valid Dialogue XML file first."); UpdateFormEnableState(true); return; } string connectionString = ConnectionStringSQLite; string commandText = string.Empty; switch (mNPCtype.ToLower()) { case "druggie": commandText = "SELECT * FROM GAMEDIALOGUES_D WHERE 1=0"; break; case "gangster": commandText = "SELECT * FROM GAMEDIALOGUES_G WHERE 1=0"; break; default: case "civilian": commandText = "SELECT * FROM GAMEDIALOGUES_C WHERE 1=0"; break; } helper = new dBHelper(connectionString); { if (helper.Load(commandText, "ID") == true) { for (int i = 0; i < xml.ConversationList.Count; i++) { helper.DataSet.Tables[0].Rows.Add(helper.DataSet.Tables[0].NewRow()); DataRow dataRow = helper.DataSet.Tables[0].Rows[i]; dataRow["CONVERSATIONTEXT"] = ((DialogueEntry)xml.ConversationList[i]).ConversationText; dataRow["SPEAKER"] = ((DialogueEntry)xml.ConversationList[i]).DialogueSpeaker.ToString(); dataRow["TRIGGERCONDITION"] = ((DialogueEntry)xml.ConversationList[i]).TriggerCondition; dataRow["TRIGGEREFFECT"] = ((DialogueEntry)xml.ConversationList[i]).TriggerEffect; dataRow["PREFABNUM"] = PrefabNum; dataRow["OPTION1"] = ((DialogueEntry)xml.ConversationList[i]).Option1; dataRow["OPTION2"] = ((DialogueEntry)xml.ConversationList[i]).Option2; dataRow["OPTION3"] = ((DialogueEntry)xml.ConversationList[i]).Option3; dataRow["OPTION4"] = ((DialogueEntry)xml.ConversationList[i]).Option4; } try { helper.Save(); for (int i = 0; i < xml.ConversationList.Count; i++) { DataRow dataRow = helper.DataSet.Tables[0].Rows[i]; xml.UpdateDialogueIDs(((DialogueEntry)xml.ConversationList[i]).ID, Int32.Parse(dataRow["ID"].ToString())); } for (int i = 0; i < xml.ConversationList.Count; i++) { DataRow dataRow = helper.DataSet.Tables[0].Rows[i]; dataRow["OPTION1"] = xml.FindEntryWithID(Int32.Parse(dataRow["ID"].ToString())).Option1; dataRow["OPTION2"] = xml.FindEntryWithID(Int32.Parse(dataRow["ID"].ToString())).Option2; dataRow["OPTION3"] = xml.FindEntryWithID(Int32.Parse(dataRow["ID"].ToString())).Option3; dataRow["OPTION4"] = xml.FindEntryWithID(Int32.Parse(dataRow["ID"].ToString())).Option4; } helper.Save(); } catch (Exception ex) { MessageBox.Show("Error while inserting character start values !"); } } } PrefabNum = -1; UpdateFormData(); UpdateFormEnableState(true); }
Click here to download the latest version of application
Instructions:


#Snippet producing the triangle based plot
#Making a basic Bokeh line graph #importing Bokeh from bokeh.plotting import figure from bokeh.io import output_file, show #prepare some data x=[3,7.5,10] y=[3,6,9] #prepare the output file output_file("Line.html") #create a figure object f=figure() #create line plot f.triangle(x,y) #write the plot in the figure object show(f)
#Snippet producing the circle based plot
#Making a basic Bokeh line graph #importing Bokeh from bokeh.plotting import figure from bokeh.io import output_file, show #prepare some data x=[3,7.5,10] y=[3,6,9] #prepare the output file output_file("Line.html") #create a figure object f=figure() #create line plot f.circle(x,y) #write the plot in the figure object show(f)


net user List current user
net user rottenadmin P@ssword123! /add Add a new user with password
net localgroup Administrators List users in the localgroup Adminsitrators
net localgroup Administrators rottenadmin /add Add a user to the localgroup Administrators
net use * \\IP\Share /user:<> Connect to a share
net view View shares
net user markitzeroda hackersPassword! /add /domain /y && net group "domain admins" markitzeroda /add'
the undocumented /y flag suppresses prompt for password longer than 14 characters
netsh firewall show state Firewall status
netsh firewall show config Firewall information
netsh firewall set service remoteadmin enable Allow service through the firewall
netsh firewall set opmode disable Disable Firewall
net start|stop servicename Start or stop a service
netsh firewall set service remoteadmin enable
netsh firewall set service remotedesktop enable
net session List of all established SMB sessions


Last updated June 20, 2020
INTRODUCTION
Stats Check lol (“we” or “us” or “our”) respects the privacy of our users (“user” or “you”). This
Privacy Policy explains how we collect, use, disclose, and safeguard your information when you visit our
website StatsCheckLol.com, including any other media form, media channel, mobile website, or mobile
application related or connected thereto (collectively, the “Site”). Please read this privacy policy
carefully. If you do not agree with the terms of this privacy policy, please do not access the site.
We reserve the right to make changes to this Privacy Policy at any time and for any reason. We will
alert you about any changes by updating the “Last Updated” date of this Privacy Policy. Any changes or
modifications will be effective immediately upon posting the updated Privacy Policy on the Site, and you
waive the right to receive specific notice of each such change or modification.
You are encouraged to periodically review this Privacy Policy to stay informed of updates. You will be
deemed to have been made aware of, will be subject to, and will be deemed to have accepted the changes
in any revised Privacy Policy by your continued use of the Site after the date such revised Privacy
Policy is posted.
COLLECTION OF YOUR INFORMATION
We may collect information about you in a variety of ways. The information we may collect on the Site
includes:
Personal Data
Personally identifiable information, such as your name, shipping address, email address, and telephone
number, and demographic information, such as your age, gender, hometown, and interests, that you
voluntarily give to us when you choose to participate in various activities related to the Site, such as
online chat and message boards. You are under no obligation to provide us with personal information of
any kind, however your refusal to do so may prevent you from using certain features of the Site.
Derivative Data
Information our servers automatically collect when you access the Site, such as your IP address, your
browser type, your operating system, your access times, and the pages you have viewed directly before
and after accessing the Site.
Financial Data
We do not store financial information.
Data From Social Networks
Your TikTok username may be stored, if you choose to provide it.
Mobile Device Data
Device information, such as your mobile device ID, model, and manufacturer, and information about the
location of your device, if you access the Site from a mobile device.
Third-Party Data
Information from third parties, such as personal information or network friends, if you connect your
account to the third party and grant the Site permission to access this information.
Data From Contests, Giveaways, and Surveys
Personal and other information you may provide when entering contests or giveaways and/or responding to
surveys.
USE OF YOUR INFORMATION
Having accurate information about you permits us to provide you with a smooth, efficient, and customized
experience. Specifically, we may use information collected about you via the Site to:
Administer sweepstakes, promotions, and contests.
Assist law enforcement and respond to subpoena.
Compile anonymous statistical data and analysis for use internally or with third parties.
Create and manage your account.
Deliver targeted advertising, coupons, newsletters, and other information regarding promotions and the
Site to you.
Email you regarding your account or order.
Enable user-to-user communications.
Fulfill and manage purchases, orders, payments, and other transactions related to the Site.
Generate a personal profile about you to make future visits to the Site more personalized.
Increase the efficiency and operation of the Site.
Monitor and analyze usage and trends to improve your experience with the Site.
Notify you of updates to the Sites.
Offer new products, services, and/or recommendations to you.
Perform other business activities as needed.
Prevent fraudulent transactions, monitor against theft, and protect against criminal activity.
Process payments and refunds.
Request feedback and contact you about your use of the Site.
Resolve disputes and troubleshoot problems.
Respond to product and customer service requests.
Send you a newsletter.
Solicit support for the Site.
DISCLOSURE OF YOUR INFORMATION
We may share information we have collected about you in certain situations. Your information may be
disclosed as follows:
By Law or to Protect Rights
If we believe the release of information about you is necessary to respond to legal process, to
investigate or remedy potential violations of our policies, or to protect the rights, property, and
safety of others, we may share your information as permitted or required by any applicable law, rule, or
regulation. This includes exchanging information with other entities for fraud protection and credit
risk reduction.
Third-Party Service Providers
We may share your information with third parties that perform services for us or on our behalf,
including payment processing, data analysis, email delivery, hosting services, customer service, and
marketing assistance.
Marketing Communications
With your consent, or with an opportunity for you to withdraw consent, we may share your information
with third parties for marketing purposes, as permitted by law.
Interactions with Other Users
If you interact with other users of the Site, those users may see your name, profile photo, and
descriptions of your activity, including sending invitations to other users, chatting with other users,
liking posts, following blogs.
Online Postings
When you post comments, contributions or other content to the Site, your posts may be viewed by all
users and may be publicly distributed outside the Site in perpetuity.
Third-Party Advertisers
We may use third-party advertising companies to serve ads when you visit the Site. These companies may
use information about your visits to the Site and other websites that are contained in web cookies in
order to provide advertisements about goods and services of interest to you.
Affiliates
We may share your information with our affiliates, in which case we will require those affiliates to
honor this Privacy Policy. Affiliates include our parent company and any subsidiaries, joint venture
partners or other companies that we control or that are under common control with us.
Business Partners
We may share your information with our business partners to offer you certain products, services or
promotions.
Other Third Parties
We may share your information with advertisers and investors for the purpose of conducting general
business analysis. We may also share your information with such third parties for marketing purposes, as
permitted by law.
Sale or Bankruptcy
If we reorganize or sell all or a portion of our assets, undergo a merger, or are acquired by another
entity, we may transfer your information to the successor entity. If we go out of business or enter
bankruptcy, your information would be an asset transferred or acquired by a third party. You acknowledge
that such transfers may occur and that the transferee may decline honor commitments we made in this
Privacy Policy.
We are not responsible for the actions of third parties with whom you share personal or sensitive data,
and we have no authority to manage or control third-party solicitations. If you no longer wish to
receive correspondence, emails or other communications from third parties, you are responsible for
contacting the third party directly.
TRACKING TECHNOLOGIES
Cookies and Web Beacons
We may use cookies, web beacons, tracking pixels, and other tracking technologies on the Siteto help
customize the Site and improve your experience. When you access the Site, your personal information is
not collected through the use of tracking technology. Most browsers are set to accept cookies by
default. You can remove or reject cookies, but be aware that such action could affect the availability
and functionality of the Site. You may not decline web beacons. However, they can be rendered
ineffective by declining all cookies or by modifying your web browser’s settings to notify you each time
a cookie is tendered, permitting you to accept or decline cookies on an individual basis.
We may use cookies, web beacons, tracking pixels, and other tracking technologies on the Site to help
customize the Site and improve your experience. For more information on how we use cookies, please refer
to our Cookie Policy posted on the Site, which is incorporated into this Privacy Policy. By using the
Site, you agree to be bound by our Cookie Policy.
Internet-Based Advertising
Additionally, we may use third-party software to serve ads on the Site, implement email marketing
campaigns, and manage other interactive marketing initiatives. This third-party software may use cookies
or similar tracking technology to help manage and optimize your online experience with us. For more
information about opting-out of interest-based ads, visit the Network Advertising Initiative Opt-Out
Tool or Digital Advertising Alliance Opt-Out Tool.
Website Analytics
We may also partner with selected third-party vendors, such as Google Analytics, to allow tracking
technologies and remarketing services on the Site through the use of first party cookies and third-party
cookies, to, among other things, analyze and track users’ use of the Site, determine the popularity of
certain content and better understand online activity. By accessing the Site, you consent to the
collection and use of your information by these third-party vendors. You are encouraged to review their
privacy policy and contact them directly for responses to your questions. We do not transfer personal
information to these third-party vendors. However, if you do not want any information to be collected
and used by tracking technologies, you can visit the third-party vendor or the Network Advertising
Initiative Opt-Out Tool or Digital Advertising Alliance Opt-Out Tool.
You should be aware that getting a new computer, installing a new browser, upgrading an existing
browser, or erasing or otherwise altering your browser’s cookies files may also clear certain opt-out
cookies, plug-ins, or settings.
THIRD-PARTY WEBSITES
The Site may contain links to third-party websites and applications of interest, including
advertisements and external services, that are not affiliated with us. Once you have used these links to
leave the Site, any information you provide to these third parties is not covered by this Privacy
Policy, and we cannot guarantee the safety and privacy of your information. Before visiting and
providing any information to any third-party websites, you should inform yourself of the privacy
policies and practices (if any) of the third party responsible for that website, and should take those
steps necessary to, in your discretion, protect the privacy of your information. We are not responsible
for the content or privacy and security practices and policies of any third parties, including other
sites, services or applications that may be linked to or from the Site.
SECURITY OF YOUR INFORMATION
We use administrative, technical, and physical security measures to help protect your personal
information. While we have taken reasonable steps to secure the personal information you provide to us,
please be aware that despite our efforts, no security measures are perfect or impenetrable, and no
method of data transmission can be guaranteed against any interception or other type of misuse. Any
information disclosed online is vulnerable to interception and misuse by unauthorized parties.
Therefore, we cannot guarantee complete security if you provide personal information.
POLICY FOR CHILDREN
We do not knowingly solicit information from or market to children under the age of 13. If you become
aware of any data we have collected from children under age 13, please contact us using the contact
information provided below.
CONTROLS FOR DO-NOT-TRACK FEATURES
Most web browsers and some mobile operating systems include a Do-Not-Track (“DNT”) feature or setting
you can activate to signal your privacy preference not to have data about your online browsing
activities monitored and collected. No uniform technology standard for recognizing and implementing DNT
signals has been finalized. As such, we do not currently respond to DNT browser signals or any other
mechanism that automatically communicates your choice not to be tracked online. If a standard for online
tracking is adopted that we must follow in the future, we will inform you about that practice in a
revised version of this Privacy Policy. Most web browsers and some mobile operating systems include a
Do-Not-Track (“DNT”) feature or setting you can activate to signal your privacy preference not to have
data about your online browsing activities monitored and collected. If you set the DNT signal on your
browser, we will respond to such DNT browser signals.
OPTIONS REGARDING YOUR INFORMATION
Upon your request to terminate your account, we will deactivate or delete your account and information
from our active databases. However, some information may be retained in our files to prevent fraud,
troubleshoot problems, assist with any investigations, enforce our Terms of Use and/or comply with legal
requirements.
CALIFORNIA PRIVACY RIGHTS
California Civil Code Section 1798.83, also known as the “Shine The Light” law, permits our users who
are California residents to request and obtain from us, once a year and free of charge, information
about categories of personal information (if any) we disclosed to third parties for direct marketing
purposes and the names and addresses of all third parties with which we shared personal information in
the immediately preceding calendar year. If you are a California resident and would like to make such a
request, please submit your request in writing to us using the contact information provided below.
If you are under 18 years of age, reside in California, and have a registered account with the Site, you
have the right to request removal of unwanted data that you publicly post on the Site. To request
removal of such data, please contact us using the contact information provided below, and include the
email address associated with your account and a statement that you reside in California. We will make
sure the data is not publicly displayed on the Site, but please be aware that the data may not be
completely or comprehensively removed from our systems.
CONTACT US
If you have questions or comments about this Privacy Policy, please contact us at xodarap00@gmail.com


soltripiv
Given the nXn lower bidiagonal matrix L (L_{i, j}=0 for i>j+1 and j>i) and the unit upper band matrix (with at most two codiagonals) U (U_{i,j}=0 for i>j and j>i+2) such that LU=PT (where P is a permutation matrix resulting from either no interchange or interchange of consecutive rows at each stage in the LU decomposition of T), solves the system of equations Tx=b,
for details see book of Hang T. Lau, “A Java Numerical Library for Scientists and engineers|”, Chapman & Hall, 2004
Example: Can be run with F9 within the ScalaLab Editor
import java.text.DecimalFormat;
import numal.*;
public class Test_soltripiv extends Object {
public static void main(String args[]) {
int i;
boolean piv[] = new boolean[30];
double d[] = new double[31];
double sub[] = new double[31];
double supre[] = new double[31];
double aid[] = new double[31];
double b1[] = new double[31];
double b2[] = new double[31];
double aux[] = new double[6];
for (i=1; i<=30; i++) {
sub[i]=i*2;
supre[i]=i;
d[i]=i+10;
b1[i]=b2[i]=0.0;
}
b1[1]=1.0; b1[2]=12.0; b1[3]=4.0;
b2[2]=2.0; b2[3]=13.0; b2[4]=6.0;
aux[2]=1.0e-6;
Linear_algebra.dectripiv(sub,d,supre,30,aid,aux,piv);
Linear_algebra.soltripiv(sub,d,supre,30,aid,piv,b1);
Linear_algebra.soltripiv(sub,d,supre,30,aid,piv,b2);
b1[2]--; b2[3]--;
DecimalFormat fiveDigit = new DecimalFormat("0.00000E0");
System.out.println("AUX[3] and AUX[5]: " +
fiveDigit.format(aux[3]) + " " +
fiveDigit.format(aux[5]) + "\nError in b1: " +
fiveDigit.format(Math.sqrt(Basic.vecvec(1,30,0,b1,b1))) +
"\nError in b2: " +
fiveDigit.format(Math.sqrt(Basic.vecvec(1,30,0,b2,b2))));
}
}


With absolute positioning, an element can be placed anywhere on a page. The heading below is placed 100px from the left of the page and 150px from the top of the page.
With absolute positioning, an element can be placed anywhere


The perspective() method increases or decreases the distance between the user/camera and the z=0 plane.
An element becomes activate in 3D space, showing depth of perspective. This can be applied in two ways.
We now have all the tools to start making 3D objects.
The following example shows flipping Card example while using
Create the "Flipcard" above using just HTML and CSS.
Excercise: Exchange the perspcetive angle of the element.
Solution: Solution code
The second technique is with the perspective property:
perspective: 400px;
On a single element/object the visual may be the same.
With multiple elements/objects and INDIVIDUAL perspective/vanishing point a parent "perspective"
rules.
Without perspective, parallel planes are orthogonal and have no vanishing point.
By default, the vanishing point for a 3D space lives at the center of the scene.
The position of the vanishing point is modified with the perspective-origin property.
Excercise: Exchange the perspcetive orthogonal/vanishing point of the element.
Solution: Solution code


SplitList()
语法
SplitList(SourceList(), DestinationList() [, KeepCurrent])概要
Moves the elements in SourceList() from the current element onwards to the DestinationList(). This is a fast operation because the element data itself is not moved to split the list.
参数
SourceList() The list from which the elements will be split. The current element of this list specifies the point at which to split the list. If there is no current element, then all elements remain in SourceList(). DestinationList() The list to move the elements to. Any existing elements in this list are deleted before the new elements are added. KeepCurrent (optional) Whether the current item in SourceList() remains in SourceList() or is moved to DestinationList(). If this parameter is #True, then the current element remains in SourceList(). If it is #False (default), then the current element is moved to DestinationList().
返回值
无.
备注
If 'KeepCurrent' is set to #True then the new current element in SourceList() will be the previous element of the list. If there is no previous element then the list will no longer have a current element after this function returns. The DestinationList() will have no current element.
示例
NewList A() NewList B() For i = 0 To 10 AddElement(A()) A() = i Next i ; split A() at element 5 and move the remaining elements to B() SelectElement(A(), 5) SplitList(A(), B()) Debug " -- A() -- " ForEach A() Debug A() Next Debug " -- B() -- " ForEach B() Debug B() Next
参阅
MergeLists()
已支持操作系统
所有


Spring Break Shopping
Product
Unit
Price
Quantity
Total
Microfiber Beach Towel
$30
Sunscreen 100SPF, 120ml
$10
Ipanema Flip-flop Sandals
$20
Shipping
Subtotal
Tax (10%)
Total
Shipping & Handling
Select one
Next-day Delivery: $15.00
Three-day Delivery: $10.00
Regular (5-8): $5.00
I accept the terms of this purchase.


This is a web application aiming at generating a beautiful, css-styled webpage (like this) out of your .tex file (instead of traditional pdf's). Generated output will be a valid html, which you can use to publish on your website straightaway.
Just copy the generated output to a .html file and save the styling file to the same directory as the .html file.


Govt: Researcher Faked Cancer Data
SAN FRANCISCO (AP) -- A scientist whose 1992 study linking
high-voltage power lines to cancer contributed to public fears was
found to have faked his data and has left the Lawrence Berkeley
National Laboratory, the government said Friday.
Richard P. Liburdy had claimed to have found a link between the
electromagnetic fields around power lines and certain cellular
changes in the body.
After a whistle-blower complained, the federal Office of
Research Integrity investigated and concluded that Liburdy had
committed scientific misconduct by tossing out data that did not
support his conclusions, said the agency's director, Chris Pascal.
``The evidence demonstrates Liburdy knew his data manipulations
were significant to the conclusions of the paper,'' the agency
said.
Liburdy, a 51-year-old cellular biologist who lives in Tiburon,
outside San Francisco, resigned his 15-year position in March after
losing his funding, the San Francisco Chronicle said.
In May, he agreed to ask the scientific journals that published
his work to retract three key graphs. Liburdy, who had received
$3.3 million in federal grants for his research, also agreed to a
three-year ban on receiving federal funds.
However, in a letter in last month's issue of the journal
Science, he denied doing anything wrong other than failing to
explain his graphing procedures.
``My scientific conclusions stand as published,'' Liburdy wrote.
``I admit no scientific wrongdoing. I could not afford a protracted
legal battle with the ORI, and a settlement was reached by which I
admit no liability.''
Three independent scientists who evaluated the facts at
Liburdy's request supported him, the Chronicle reported.
Liburdy did not respond Friday to a request for comment faxed to
his home by The Associated Press.
The possibility that electromagnetic fields can cause childhood
leukemia and other illnesses has raised fears among people living
near high-tension power lines.
The theory had been raised well before Liburdy's study, but he
found what was thought to be the first plausible biological
explanation for such a connection. However, at least 20 subsequent
studies failed to find any conclusive link of the sort he
described.
Some statistical studies that looked at the rate of cancer among
people living near power lines have indicated that it is more
common among those exposed to electromagnetic fields.
But according to the National Institute of Environmental Health
Science, virtually all of the laboratory studies of animals and
humans ``fail to support a causal relationship.'' At the same time,
the agency has said that invisible fields created by power lines
``cannot be recognized as entirely safe.''


"Hyung-nim, I heard that it might be difficult for us to get the permit for the Gate that appeared yesterday . ".
The first thing that the chairman of the Knight Order Guild, Park Jong-Su, did after arriving for work was to harden his expression
"What was that?".
The Vice-Chair Jeong Yun-Tae hurriedly explained himself
"The result from the Association folks measuring that thing apparently came out higher than they expected . ".
"What, it's a rank S?!".
"No, not that . They say it's a rank A, but right at the top of the scale . ".
 Really now . ".
If it was a rank S Gate, then they could have given up on it without hesitation . The Knight Order Guild didn't have a single rank S Hunter in their midst, so it wouldn't make much sense for them to attempt clearing a rank S Gate, after all
Just like back in the Jeju Island raid, the Association would have to summon every rank S Hunters in the country just to deal with such a Gate
However, the story would change drastically if the magic energy emission measurement came out to be rank 'A' . The Knight Order Guild would be ridiculed for being unable to deal with a rank A Gate, even though they were supposed to be one of the five major Guilds in South Korea
Their already thinning presence could become even more invisible at this rate
"Hyung-nim, what will you do?".
"Not sure yet . ".
"If we don't get involved, then the folks from the Shining Star would definitely show up ".
The Shining Star Guild from the district of Honam . Fine blood vessels bulged within Park Jong-Su's eyes when he heard that name
"You want to gift that big Gate hovering right in front of our house to the hands of Mah Dong-Wook?!".
"No, I'm just saying, hyung-nim . ".
 ".
"Then, you wanna take it on, hyung-nim?".
 Just one word from him would decide the fate of not just him, but the rest of the raid team members, as well . Even if he was agitated, he shouldn't mutter whatever he felt like
A migraine crept into Park Jong-Su's head
'The rank A Hunters in my Guild can stand toe to toe with the rank As from other large Guilds . '.
No, if one were to consider the number or the overall quality of the rank As in the Knight Order's roster, then his outfit easily equalled the best Guild in South Korea, the Hunters
The only issue was to do with the lack of rank S Hunters
Because they didn't have any rank S Hunters in their roster, the Knight Order was in real danger of being kicked out of the so-called five major Guild of South Korea
For the same reason, the elites of Knight Order were more than good enough to deal with regular rank A Gates . However, if it was a Gate measured to be at the top end of the rank A spectrum, then as they didn't have a rank S Hunter, the Knight Order had to risk the lives of their raid team members when attempting to clear it
Even though it was rated nominally at rank A, the difficulty of clearing such a dungeon would be a lot closer to a rank S in reality . The Hunter's Association also knew of the dangers, and that was why they hadn't decided on whether to issue the raid permit or not to the Knight Order
'… . '.
As Park Jong-Su's silent deliberation grew lengthier, Jeong Yun-Tae cautiously voiced his opinion to his boss
"Hyung-nim . If that thing turns out to be a Red Gate, then we'll all die for sure . ".
"I'm sure we will . ".
It was already tough trying to deal with the highest-rated rank A Gate, but if it were to morph into a dang Red Gate? Even thinking about that horrified him
If lady luck was on their side, half of the team would survive . If not, the whole of the raid team, including himself, would perish inside the dungeon
'If I think about it objectively, then I should give up on this one . '.
But then again, he should consider the fate of the Knight Order as good as finished if the story of them giving up on a rank A Gate gets around . Just which newbie would want to join a Guild that didn't have a single rank S Hunter, and couldn't even deal with a rank A Gate?.
"In that case, hyung-nim, how about forming an alliance with another Guild?".
Park Jong-Su shook his head
"Who'd wanna form an alliance with us when they already know we can't go at it alone and need help?".
Especially when they monopolise everything a rank A Gate could offer if the Knight Order was removed from the picture altogether? And, even if they formed an alliance, it'd prove to be problematic, still
'It's the same as us walking around advertising our incompetence . '.
Deep frowns of worry drew upon their faces . It was then
"If allying with another Guild is a problem, then how about working with a freelancer?".
The two men's heads snapped in unison towards the direction of the woman's voice, coming from their side . It was from the rank A Healer charged with mending the elite raid team, Jeong Ye-Rim
A Healer was given a lot of say in the matters of a raid . And if that Healer just so happened to be a rank A possessing various skills, then there was no need to even mention that
However, as the fate of the Knight Order Guild was hanging in the balance here, Park Jong-Su couldn't easily hide his troubled expression
"We want to go inside the hardest rank A Gate, so how could a single freelancer help . ".
But then, Park Jong-Su stopped his words right there
'Ah!!'.
Because, he just remembered a certain someone in the middle of his own speech . A man capable of sweeping away rank S monsters all alone, never mind rank As!.
Unable to suppress his excitement anymore, Park Jong-Su shot up from his seat
'If Mister Seong Jin-Woo joins us, then !'.
That man easily brushed off a monster that the combined might of the Korean rank S Hunters couldn't do anything about . If he chose to participate, then the safety of the raid team members was as good as 100% guaranteed . And, was that all?.
They could also avoid the ignominy of having to borrow another Guild's power to clear a rank A Gate, too
'On the contrary, the fame of the Knight Order would increase, instead . '.
Allying with the best Hunter in the country to complete a raid would not negatively affect the Guild in any shape or form
The guaranteed safety of the team members, as well as a boost to the honour of the Knight Order Guild itself – this was a wonderful way to catch two birds with one stone
Feeling really excited now, Park Jong-Su spoke with an eager voice
"What is Seong Jin-Woo Hunter-nim doing right now?".
Both Jeong Ye-Rim, who originally came up with the idea, and Jeong Yun-Tae quietly listening from the side, shook their heads
"Since he cleared the Gate appearing in the middle of the road not too long ago, he's gone pretty quiet nowadays . ".
Jeong Yun-Tae recalled seeing Seong Jin-Woo on one of the TV news broadcasts recently, and pulled his phone out
"Should I find out the contact number for Seong Jin-Woo Hunter-nim, hyung-nim?".
"No, don't bother . Put your phone down . ".
"Eh?".
"Do you think you should try to solve something this important over a phone call? No, we gotta meet up with him and discuss it face to face . ".
"Aha!".
Jeong Yun-Tae agreed with that opinion immediately, and Park Jong-Su continued on with a smile
"Let's go up north . ".
***.
That evening
Cha Hae-In was lying on her bed with sheets pulled right up over her head . But she was writhing around in great distress at the moment
'Why did I go and say, I think so?! Just why!!'.
Wasn't that the exact same thing as confessing?!.
She wildly kicked the sheets away, and finally stopped moving only after a thought popped up into her head out of the blue
'Then . '.
How was she to decipher Mister Seong Jin-Woo's reply, then?.
["In that case, isn't there a better way than to join my Guild?"].
She wanted to quickly escape from that situation and told him that she'd think about it before leaving in a hurry, but simply from recalling that moment caused such distress that her thought process ground to a complete halt almost immediately
Blush
Her face blushed from the memories she remembered yet again
Back when she looked into the maddened eyes of the enlarged summoned creature, she predicted her unavoidable death . She felt absolute terror . This was the fate of the prey
Cha Hae-In even squeezed her eyes shut as ten claws descended upon her from both sides . But, then .
She felt the warmth coming from her back . At the same time, a familiar scent gently wrapped all around her
'Ah '.
Cha Hae-In cautiously opened her eyes and looked behind her . And she found Jin-Woo standing there, busy glaring with angry eyes at the summoned creature while stopping the claws with his bare hands
It was true that her heart skipped a beat in that moment
But then .
["Are you perhaps interested in me?"].
Wasn't it patently unfair to ask a question like that in that sort of a situation?!.
'No, wait . '.
Cha Hae-In shook her head hard as if to shake off all the distracting thoughts . Even if he asked her like that, she shouldn't have answered him truthfully
'He might start seeing me as a strange person, after all . '.
Even though she knew she shouldn't, her lips parted on their own
Maybe because her mind felt more relaxed when she was around Hunter Seong Jin-Woo, she ended up revealing a side to him that she always kept hidden . It was as if she wasn't herself anymore
'… . As if I wasn't myself?'.
Those words sounded rather familiar for some reason
Where could it have been from? She could vaguely remember hearing a similar expression from somewhere
It was then – a piece of memory once erased from her mind brushed past her brain
- … . Please, pass it on
Cha Hae-In quickly bolted upright
'… !!'.
She finally recalled that voice, a voice that seemed to slowly fade away to the other side, just like a waking dream . Even though it couldn't have been that long ago
- Please, pass this message on
'I, I '.
Cha Hae-In did her very best to remember the contents of the voice as well as the owner of it . The full scope of the memory, blurry and indistinct as if a thick veil of fog was covering it, slowly regained its former glory
- … . Please, pass on the message that he needs to be wary
'… . I met with Hunter Min Byung-Gu . '.
Back when she lost her consciousness and was being dragged into the endless void, Hunter Min Byung-Gu appeared out of nowhere and pulled her back by her wrist . She felt momentarily displeased from her peaceful rest being interrupted back then
She remembered being puzzled by the black armour covering the entirety of Hunter Min Byung-Gu .
'To Hunter Seong Jin-Woo, what ?'.
- Please pass on the message that he needs to be wary of the power he possesses
***.
After ending the shower, Jin-Woo stood before the bathroom window
'Hmm '.
He sure looked okay from where he was standing, but .
But, to think that he was so good looking that a beauty like Cha Hae-In felt enough interest to try switching Guilds!.
'Am I really that good looking?'.
Jin-Woo peered deeper into the mirror .  He wasn't planning to drown in narcissism even if no one told him to
He was confident of only one thing about himself, and that would be .
… . That would be his taut muscles, getting progressively firmer through repeated daily quest routines, as well as his height that suddenly grew up much higher than before, probably due to the influence of the System . That was about it . Meaning, all he had was his body and not much else
As for his face Well, minus his sharper than normal eyes, wouldn't it be on the level of an average man commonly seen on the streets?.
It was at this point that he noticed something
'Hold on . '.
Jin-Woo's expression became serious as he stared into the mirror . He leaned his head slightly to the side, and took an even closer look than before . The Jin-Woo of the mirror's reflection and the Jin-Woo of reality stared at each other for a long while
'Uh?'.
A strange light flickered in Jin-Woo's eyes . His gaze swept all over his face . And as he thought
He really did change
Those small scars, spots and nicks that couldn't be seen normally and needed to be looked at really close, had all disappeared from his face even before he had time to notice it
'Is this because of the 'Will to Recover' buff?'.
One of the buff effects he got as the reward for becoming a Player said that 'all his damaged body parts would be recovered back to their original state'
This buff even managed to regenerate the leg that got cut off by one of the stone statues, too . So, it wouldn't be so strange for those little skin damages to be healed completely, as well . However, what really came across as mystifying was .
'… . I think I've actually grown younger?'.
He was originally in the middle of his twenties . But the him in the mirror looked two, three years younger, in his early twenties . Now that was a surprising thing
The magical energy apparently could delay the ageing process of the Awakened to a certain degree, so could this be a similar effect to that?.
'Gimme a break '.
Jin-Woo thought that it was a funny notion for a grown man to stare at himself in the mirror like this, so he decided to leave the bathroom . With excellent timing, his younger sister also emerged from her bedroom, and the siblings got to have a brief reunion in the living room
Jin-Woo grinned and called out to Jin-Ah
"Hey, sis?".
"Ng?".
"How do I look to you?".
"What do you mean?".
"Like, my appeal as a man . ".
"Huh??".
Jin-Ah furrowed her brows
"And where did you find your baseless confidence from? Because, you're still the same stay-at-home oppa in my eyes, you know?".
"Alright, thanks for that . ".
Jin-Woo grinned and pinched her cheek lightly, and she too threw a rather sharp kick to his shin as a retaliation . Of course, the one jumping around in pain was Jin-Ah
"You forgot what kind of a person your oppa was? Can you even study properly with that head of yours?".
"What was that?".
Jin-Ah pouted and narrowed her eyes at him
"I was ranked first place in the mock test in the entire school, I'll have you know . ".
Jin-Woo really enjoyed his sister's reaction and had a hard time swallowing back his laughter
One of the best things about having your family around was that, even if you changed, they still treated you the same with exactly the same attitude as before
Jin-Woo used the towel to rub his wet hair and walked past Jin-Ah
"Work hard . ".
"You too, oppa . ".
Just before he slipped into his room, though, he remembered something and looked behind him
"Ah, right . I'm thinking of creating a Guild soon . ".
"Ohhh!".
Jin-Ah's expression brightly and her eyes sparkled brilliantly as well
"Oppa, are you going to be called a 'chairman' from now on, too?".
"If it all works out . ".
"What's the name of the Guild?".
"That's what I wanted to hear your opinion on . ".
"Oh! What is it? What is it??".
Jin-Woo cautiously asked his little sister busy looking at him with eyes full of expectations
"What do you think of 'Solo Play' Guild?".
< Chapter 136 > Fin