Guodong Qu
Jtoc is also an application of this kind; it focuses on Completely test the contracts Without changing the original design of the class, while the mentioned projects have to put some constraints on the original code or hard to completely test the original code's behavior; with this feature, it's possible to put test case auto-generation into practical usage. Jtoc supports Unit testing, where the written JUnit tests could be used in the test-project Jtoc generated without any change.
The design of the Jtoc is easy to understand, Jtoc provides 3 annotations and use Java's Innerclass as the implementation method of the contracts. Programmer could use these annotations to annotated his code, and implement the pre and post assertions in the inner test classes. When need test, just use Jtoc Code Convertor to compile the project to a new test project and use the JUnit test tools to run the tests. the process is depicted in Figure 1:
Figure 1 Jtoc design structure
Jtoc provides 3 annotations, which are 'Pre', 'Post' and 'InnerTest'. Their retention policy are all 'SOURCE', so the user should't worry the problem of runtime resource occupation. Here is the introduction of these annotations:
Pre annotation's target is "method", it tells Jtoc that the method to which it is attached should have a pre checking invocation. A simple Pre invocation looks like this:
code 1: public class Example { @Pre public void method(ParameterType1 para1, ..., ParameterTypeN paraN) { ... } }
Then the converted source file would contain code like this in code 2:
code 2: public class Example { public void method(ParameterType1 para1, ..., ParameterTypeN paraN) { innerTest.methodPreCheck(para1, ..., paraN); ... } }
The Pre annotation supports three optional parameters, namely testObject, testMethod and parameters.
Their types are the same --String
; they are used to store the inner test object's name,
the test method's name and the test method's input parameters respectively. If they are not specified,
then their default value "innerTest", "method's name"+"PreCheck" and "method's parameters" would be assigned.
For instance, if the Pre
annotation in code 1 is changed to
@Pre(testObject = "test", testMethod = "commenTest", parameters = "para1, paraK")
,
then the converted code would be like the code showed in code 3 rather than the default values depicted in code 2:
code 3: public class Example { public void method(ParameterType1 para1, ..., ParameterTypeN paraN) { test.commenTest(para1, paraK); ... } }
Post annotation's target is "method", it tells Jtoc that the method to which it is attached should have a post checking invocation. A simple Post invocation looks like this:
code 4: public class Example { @Post public void method1(ParameterType1 para1, ..., ParameterTypeN paraN) { ... return; ... } @Post public returnType method2(ParameterType1 para1, ..., ParameterTypeN paraN) { ... return expr1; ... return exprK; } }
Then the converted source file would contain code like this in code 5:
code 5: public class Example { public void method1(ParameterType1 para1, ..., ParameterTypeN paraN) { ... {innerTest.method1PostCheck(para1, ..., paraN);return;} ... innerTest.method1PostCheck(para1, ..., paraN); } public returnType method2(ParameterType1 para1, ..., ParameterTypeN paraN) { ... return innerTest.method2PostCheck((expr1), para1, ..., paraN); ... return innerTest.method2PostCheck((exprK), para1, ..., paraN); } //which need the innerTest method return the 1st input without any change }
The Post annotation also supports the three optional parameters mentioned in the Pre annotation's introduction, and these optional parameters are basiclly the same as those above, Except:
InnerTest annotation's target is "type", it tells Jtoc that the class to which it is attached would have the InnerTest classes initialized. A simple InnerTest example looks like this:
code 6: @InnerTest public class Example { ... }
Then the converted source file would contain code like this in code 7:
code 7: public class Example { ... InnerTest innerTest = new InnerTest(); }
The InnerTest annotation supports two optional parameters, "classNames" and "objectNames".
they respectively specify Inner Test Classes' names and objects' names whose default values
are "InnerTest" and "innerTest". For instance, if the InnerTest annotation in code 6 is changed to
@InnerTest(classNames = {"InnerTest1", "InnerTest2"}, objectNames = {"test1", "test2"})
,
then the converted code would be like the code showed in code 8:
code 8: public class Example { ... InnerTest1 test1 = new InnerTest1(); InnerTest2 test2 = new InnerTest2(); }
The design rules of the inner test class are:
Allow me use the Money example in JUnit to show the usage of Jtoc. Assume the content of the "Money.java" is:
Money.java import static org.junit.Assert.*; import org.jtoc.*; @InnerTest public class Money{ private final int fAmount; private final String fCurrency; public Money(int amount, String currency) { fAmount= amount; fCurrency= currency; } public int amount() { return fAmount; } public String currency() { return fCurrency; } @Post public Money multiply(int factor) { return new Money(amount()*factor, currency()); } @Post public Money negate() { return new Money(-amount(), currency()); } @Pre(testObject = "InnerTestStatic") @Post(testObject = "InnerTestStatic") public static Money getMoney(int amount, String currency){ return new Money(amount, currency); } private class InnerTest { public Money multiplyPostCheck(Money result, int factor){ assertEquals(currency(), result.currency()); assertEquals(amount()*factor, result.amount()); return result; } public Money negatePostCheck(Money result){ return multiplyPostCheck(result, -1); } } static class InnerTestStatic{ public static void getMoneyPreCheck(int amount, String currency) { assertNotNull(currency); } public static Money getMoneyPostCheck(Money result, int amount, String currency) { assertEquals(currency, result.currency()); assertEquals(amount, result.amount()); return result; } } }
As the code showed above, the innerclasses - InnerTest and InnerTestStatic, have implemented the contracts; the method to be tested are add with some Jtoc annotations. the converted code would be like the code showed in below[with some repeated code omitted]:
import static org.junit.Assert.*; import org.jtoc.*; public class Money{ private final int fAmount; private final String fCurrency; public Money(int amount, String currency) { fAmount= amount; fCurrency= currency; } public int amount() { return fAmount; } public String currency() { return fCurrency; } public Money multiply(int factor) { return innerTest.multiplyPostCheck(( new Money(amount()*factor, currency())), factor); } public Money negate() { return innerTest.negatePostCheck(( new Money(-amount(), currency()))); } public static Money getMoney(int amount, String currency){ InnerTestStatic.getMoneyPreCheck(amount, currency); return InnerTestStatic.getMoneyPostCheck(( new Money(amount, currency)), amount, currency); } private class InnerTest { ... } static class InnerTestStatic { ... } InnerTest innerTest = new InnerTest(); }
As the converted code showed above, the method to be tested successfully called corresponding test methods; notice that the "testObject" of the post annotation in "getMoney" was set to "InnerTestStatic", and the static test methods had been successfully called. By the way, the "multiplyPostCheck" test method had been called by "negatePostCheck" which could show that it is easier to maintain test code because of the reuse of test code.
The design rules of the inner test class have already been introduced; however, I would repeat them since they are important: the test methods must never change any data in original classes; the return value of the test method has to be used as the 1st parameter in the post-check method and returned without any change.
Besides the two rules, there still are four restrictions which would cause converting problems if violated:
@InnerTest @AnotherAnno public class Example{ @Post @Override public void method1(int factor) { ... }@pre @post public int method2() { ... } @postpublic void method3() { ... } }The right format is:
@InnerTest @AnotherAnno public class Example{ @Post @Override public void method1(int factor) { ... } @pre @post public int method2() { ... } @post public void method3() { ... } }
@InnerTest public class Example{ @Post public void method1(int factor) { ... }// End of method1 @pre @post public void method2() { if(b == null) return; else ... if(shouldReturn){ return;} else{ ... } }private int method3(){ ... } }The right format is:
@InnerTest public class Example{ @Post public void method1(int factor) { ... } @pre @post public void method2() { if(b == null) return; else ... if(shouldReturn){ return; } else{ ... } } private int method3(){ ... } }
@InnerTest public class Example{ @post public ActionListener method1() { if(shouldReturnListener) return new ActionListener(){ ... }; else return null; } @pre @post public int method2(int a, int b) { if(b < 0) return a-b; else return a+b;} }The right format is:
@InnerTest public class Example{ @post public ActionListener method1() { if(shouldReturnListener) return new ActionListener(){ ... }; else return null; } @pre @post public int method2(int a, int b) { if(b < 0) return a-b; else return a+b; } }
@InnerTest public class Example{ @pre public void setNumber(int number) { this.number = number; } @pre @post public int getNumber() { return number; } }The right format is:
@InnerTest public class Example{ @pre public void setNumber(int number){ this.number = number; } @pre @post public int getNumber() { return number; } }
In fact, you would find these restrictions are simple, and comply with the Java's readability specification, so maybe you should get used to these:-)
Hope you enjoy your Jtoc journey, good luck!


We have a plan…
Ok, we know what we’re going to do next. And it’s a bit different!
We’re going to take a project that we’d normally cover in the show - probably a Normal Person vs, perhaps the long-awaited Us Vs Heston Blumenthal - but rather than do it, shoot it, edit it, and let you see the results some months later, we’re going to try something a bit scary.
We’re going to show it to you live.
Yep, Kamikaze Cookery will be going live some time this month. We’ll let you know when it’s going to be - probably, if we’re doing something Hestonalicious, it’ll be over a couple of weekday evenings.
What we’ll do is:
Twitter. We’ve just set up a Twitter feed, and as we cook, we’ll Twitter everything that goes wrong - erm, I mean “on”. Goes on.
Flickr. We’ll have a cameraperson there and we’ll be firing cool images up - of food, of FAIL, of frantic cooking - as we have them.
Video.  Expect to hear from us pretty regularly, talking about the science, arguing about the task, and possibly running screaming from a flaming kitchen. We might even have some animation for you…
Blogs. We’ll blog how it’s going as we have the time.
Webcam. For the hardcore, we’ll also set up a webcam, so you can watch the entire thing as we cook.
So - how does that sound? We’re really excited about it - it means we can have a lot more interaction with people, we can tackle longer or harder subjects, we can do Proper Testing ™, and we can argue about the difference between a blender and a food processor . It’s also going to mean less months of post-processing, which means more Kamikaze Cookery, faster.
Also - any ideas for what we should do? We’re definitely thinking Kamikaze Cookery vs the most complicated Heston Blumenthal (or maybe Thomas Keller) we can find, but we’re not fixed on that yet…


Best regards, Dharana Jayawardane, Program Manager, ScholarX, Sustainable Education Foundation
View Dashboard
© Sustainable Education Foundation - SEF 2021


Welcome to the Bog Roll Boutique
Find your inner peace and wipe all your troubles away.
Our products
Small bundle
Let's be honest - nobody wants this. You would only ever get this bundle for somebody that you do not like.
Price of bundle £5
Medium bundle
Meh - it's a bit better, but still - would anybody want 2 toilet rolls? I know I wouldn't.
Price of bundle £11
Large bundle
Holy cow - this is the bundle. Wow, the value is incredible and the style - so timeless!
Price of bundle £50
We'll change your life
Look how much fun these stock photo models are having! It's very clear that they're using our premium bog rolls.
Why us?
Sustainable
We need to get rid of very important legal proceedings that the public needs to forget - you need toilet paper. It's a win-win scenario.
Charitable
We will not donate a small portion of the cost to charity - we donate all profits to our massive corporation.
Expensive
With our premium toilet paper, you can tell everyone the extortionate price you paid and acquire an expensive taste.


This page describes how to build the source code into the PCIe API library.
Build Environment
The build environment is the standard GNU C++ compiler. The GNU compiler tools need to be
installed on your Linux system (almost always are by default).
The path to the compiler executables must be set in the system PATH variable.
The compiler and linker are run from the command line, using makefiles.
Before building, the enviroment variable LSC_PCIEAPI_DIR needs to be set to point
to the PCIeAPI_Lib top directory. This variable is used by the Makefiles in the various
sub-projects to find the PCIeAPI header files and build parameters.
The easiest way to set up this variable is to run the setup script in the
top-level PCIeAPI_Lib directory.
Export the lines that are output to set the environment variables in your current
shell. You can also add them the environment variables to your .bashrc
so it will be available in future terminal sessions.
Command-line Makefile
The PCIeAPI library is only built from the command line.
Ensure LSC_PCIEAPI_DIR is defined.
From the top-level PCIeAPI_Lib directory, run any of the following:
- make allclean removes all objects files, shared libraries, depends files
- make clean to clear any old object files
- make depends auto-computes all file dependencies for building
- make debug to build with debugging symbols and event logging
- make release to build a release version (optimized, no debugging)
- make static to build a release version of a static link library (not a DLL)
- make staticD debug verison of above static link library
A typical sequence of rebuilding the library for development would be:
- make allclean
- make depends
- make debug
The resulting lscpcieapi.so library file will be in the top level directory.
This chare library (DLL) will be linked by the application demos.
The headers files in the include
directory are also used by the demos for all the class and library definitions.
Version Number
The version and a comment
field are inlcuded into the bld_num.h file and built into the DLL for return with
API calls. Maintaining an up-to-date version number and string is done using the
bld_num.py Python file. The following shows how to use this command:
python bld_num.py "Enter a comment here"
If you don't have the Python language installed, you can manually update the .h file and
the bld_num.txt files prior to rebuilding the DLL.
Structure of the Makefiles
The main Makefile is located at the top-level. It uses the rules.make file for build
rules, project defines, build options, etc. rules.make is included by all makefiles.
The main Makefile invokes each sub-project Makefile in the respective sub-directories.
Each sub-Makefile is responsible for building its collection of source code files
into object code.
After all source files in all directories are compiled, the object files are linked together
into a DLL.
After generation of the DLL, all header files in all sub-directories are copied into the
include/ directory. The PCIeAPI include/ directory is pointed to by all demo
application makefiles to find the included header files when the demo is built.
Do not edit files found in include/, since they will be overwritten with their source copy
on the next build.


{% extends "base.html" %} {% block title %} {{ sitetitle }} :: Course Detail {% endblock %} {% block extrahead %} {% endblock %} {% block bannertitle %} Course Details (Admin View) {% endblock %} {% block pagecontent %}
Clicking Results Report will open a window with a reportage report of all registrations for this course that have been started.
Clicking Delete will delete the course and all associated assignments and registrations (training).
Expected Duration comes from the course manifest metadata.
| Completion | Satisfaction | Score | Total Time | |||
| {{userreg.user.fname}} {{userreg.user.lname}} | {{userreg.user.email}} | {{userreg.reg.completion}} | {{userreg.reg.satisfaction}} | {% ifnotequal userreg.reg.score None %} {% ifnotequal userreg.reg.score "unknown" %} {{ userreg.reg.score }}% {% else %} No Score {% endifnotequal %} {% else %} No Score {% endifnotequal %} |
{% ifnotequal userreg.reg.timespent None %}
{{ userreg.reg.timespent|sectodur }}
{% else %}
Not Started
{% endifnotequal %}
|
View Report
|
Clicking View Report will open a window with a reportage report of for this user's training in this course.


./komodod -ac_name=KMDICE -ac_supply=10500000 -ac_reward=2500000000 -ac_halving=210000 -ac_cc=2 -addressindex=1 -spentindex=1 -addnode=<IP_ADDRESS> &
https://kmdice.pool-mining.xyz/ <- pool
https://pool.forkwitch.com/ <- another pool
https://minerpond.com <- another pool
100 messages
Before 05-Dec-19 12:00 AM
jl777c30-Oct-18 01:16 PM
ask if you have any questions about the design
this is a standard way to speed things up. whenever there is a need for a sleep, put it in a queue
then process that queue in parallel. if that processing also needs a sleep, you make another queue, etc
blackjok3r30-Oct-18 01:18 PM
Ok sounds good,
siu - Chainmakers30-Oct-18 01:25 PM
remember to not have any sleeps
blackjok3r30-Oct-18 01:26 PM
Nar definatly doesnt help ... as soon as I slept I found the issue with dice forks in a couple of hours... sleep is needed
1
1
jl777c30-Oct-18 01:34 PM
you should sleep so the code doesnt have to
2
2
Mylo30-Oct-18 09:06 PM
what is the process for creating a 50% premine into the dice contract?
SHossain30-Oct-18 09:08 PM
./komodod -ac_name=KMDICE -ac_supply=10500000 -ac_reward=2500000000 -ac_halving=210000 -ac_cc=2 -addressindex=1 -spentindex=1 -addnode=<IP_ADDRESS> &
the -ac_supply=10500000 is the premined fund. you need to create fund the dice contract using that fund
1
1
Mylo30-Oct-18 09:11 PM
thanks @SHossain but no need to put -ac_pubkey to have it go into the dice plan?
SHossain30-Oct-18 09:11 PM
yes
blackjok3r31-Oct-18 01:36 AM
Going to try an make a way for a % of BR to be mined to a CC contract, seems very useful for many things.
Have a lot on today so cant get startedfor quite a few hours, at least I have plenty of time to think about it. That ususally helps with making too many wrong turns and having to rethink strategy.
Komodo Insight. View detailed information on all komodo transactions and block. {{ $root.title + $root.titleDetail }}
seems blocks are steady
siu - Chainmakers31-Oct-18 04:00 PM
doesnt seem stuck to me
ciumete31-Oct-18 04:41 PM
u can bet ?! here i can't
{
"result": "success",
"status": "bet still pending"
}
and nothing happening on blockchain
Llama31-Oct-18 08:27 PM
@forkwitch
pool broken?
forkwitch31-Oct-18 08:30 PM
@Llama updated on latest fsm branch after i got request and changed payout treshold for small miners.
Llama31-Oct-18 09:35 PM
error: couldn't connect to server: EOF reached (code 1)
(make sure server is running and you are connecting to the correct RPC port)
wat this
bishop31-Oct-18 10:16 PM
@Llama doesn't appear your daemon is running
Llama31-Oct-18 10:18 PM
I'm just trying to send because agama never works
bishop31-Oct-18 10:19 PM
check your daemon is running
Llama31-Oct-18 10:19 PM
idek what that means
bishop31-Oct-18 10:19 PM
the settings at the top pin
Llama31-Oct-18 10:20 PM
how do i know if it's running
bishop31-Oct-18 10:21 PM
your task manager in linux or windows should tell you
look for a komodod
w/ those params
Llama31-Oct-18 10:23 PM
ive done the exact same thing ive done every other time
Llama31-Oct-18 10:33 PM
does agama just not work with kmdice?
bishop31-Oct-18 11:03 PM
I only run cli on the fsm branch(edited)
blackjok3r31-Oct-18 11:17 PM
It might not any more(edited)
So now pool is updated I will try stress the dice again today
blackjok3r31-Oct-18 11:53 PM
There is every chance the fix is not backwards compatible with the old version in agama... Now the pool is updated i can spend some time testing, properly(edited)
1
jl777c01-Nov-18 07:11 AM
seems chain is not mining. do we have a second pool yet?
blackjok3r01-Nov-18 07:11 AM
I am sending lots of txs atm
or have been for a while
jl777c01-Nov-18 07:11 AM
2 hours , no blocks
blackjok3r01-Nov-18 07:11 AM
hmmm
probably about when I started to flood it
jl777c01-Nov-18 07:12 AM
and you didnt notice you stalled the chain?
blackjok3r01-Nov-18 07:12 AM
I have confirmed txs
so no
still going through
Alright01-Nov-18 07:12 AM
fork then?
What's the current status of the fix? Haven't checked in on KMDICE in a day or two
jl777c01-Nov-18 07:12 AM
20455
blackjok3r01-Nov-18 07:12 AM
I have no idea if it works or not .. one sec wil check my chain
jl777c01-Nov-18 07:13 AM
113 in my mempool
Alright01-Nov-18 07:13 AM
UpdateTip: new best=000000044be5470f732be4ae781e914f73f2556621a5923fb25300cf6b396511 height=20580
hmmm so the FSM branch is ahard forking change maybe ?
Alright01-Nov-18 07:15 AM
apparently
blackjok3r01-Nov-18 07:15 AM
20452 aswel
jl777c01-Nov-18 07:15 AM
well yes, ok, so the explorer needs to be updated
and the notaries too
blackjok3r01-Nov-18 07:15 AM
and maybe notaries need that fix
jl777c01-Nov-18 07:15 AM
well all the nodes
lets makes sure FSM branch syncs up to the 580 chains
Alright01-Nov-18 07:16 AM
k, couple minutes
@CHMEX update explorer node when you have a minute please
latest FSM
blackjok3r01-Nov-18 07:18 AM
Im still not 100% sure that that mempool fix is safe for everything we are just about to start a new staked testnet, with it just in 1 chain and try to test it there isolated form other things
even with just meyself flooding dicebets (that I know of) a fair few treansacitons disapear.
jl777c01-Nov-18 07:22 AM
mempool tx is a gamble
thats why all the confirmations but if you want realtime response, it seems the only method
blackjok3r01-Nov-18 07:24 AM
I was thinking that maybe the mining node doesnt need the mempool fix, but wasnt sure how to go about that, as a pool doesnt use -gen flag ther eis no easy way to dsiable it
however it really should not matter, unless when the txs are added back they are being rejected when they should not
jl777c01-Nov-18 07:25 AM
but the mempool fix isnt actually doing anything other than making sure all mempool tx are valid, which is a good thing
blackjok3r01-Nov-18 07:25 AM
yes, as long as thats what it is doing...
I eman it takes all mempool -> another mempool
then just ads them back without z_cash joinsplit checks
becaus those stopped sync
I tried to make it not do it on sync, but that didnt work
just kept doing it anyway
jl777c01-Nov-18 07:26 AM
so if it is a ztx, it removes it?
how will ztx ever confirm?(edited)
blackjok3r01-Nov-18 07:26 AM
no it just adds it to the mempool with out checkingf any conditions(edited)
wether its valid or not
jl777c01-Nov-18 07:27 AM
oh... so it relies on the fact that it was in the mempool
blackjok3r01-Nov-18 07:27 AM
yes
jl777c01-Nov-18 07:27 AM
which should be ok too
blackjok3r01-Nov-18 07:27 AM
yesh I thaughh so... iwas going to test ztx on it to amke sure later on(edited)
jl777c01-Nov-18 07:27 AM
should be ok, but definitely need to make sure
blackjok3r01-Nov-18 07:28 AM
lucky someone one made some onthis chain, eary on and I was able to spot the error that stopped it to sync
jl777c01-Nov-18 07:28 AM
probably the verifier was marked as already spent
so when you removed it, you didnt mark it as unspent. but all that gets very dangerous to mess around with. just adding it back seems best
blackjok3r01-Nov-18 07:29 AM
yes it only does it on that operation, I added a conditional bool to AcceptToMemoryPool for just the CC checks.
in all normal mempool adds it checks them as normal


{% extends 'firstversionweb/main.html' %} {% load static %} {% block content %} Welcome! Craving for wildness Learn more Tattoo design Learn more More ways to be you. Shop gift Contact us Think about having a new tattoo? Book a free consultation! {% if messages %} {% for message in messages %} {{ message }} {% endfor %} {% endif %} {% csrf_token %} First name Last name Artists Undecided Ciel Q Echo Q Email Subject {% endblock %}
Think about having a new tattoo? Book a free consultation!


Image File Feeder
Select Image:
No file Chosen; Showing default file!
Media to be Uploaded:
in the format:


Save changes
Select photos
All
None
Invert
0 of 0 are selected
Make bulk edits
Edit title
Edit caption
Edit keywords
Add text
Remove text
Replace text
Set to
Remove all
Remove numbers
Text
Replace with
Apply to
All photos
Selected photos only
Is empty
Is filled
Contains...
Doesn't contain...
Text
Apply edit
Bulk-edit photo details for gallery
Thumbnail size
Small
Normal
Large
Please wait while the photos from this gallery are loaded...


trivizki.dev
Home
-
Tags
Welcome to my blog. Here I'll write about technical things that I find intresting.
My LinkedIn
Categories


Instant Downloader
This extension helps you to download all the images from an Instagram's user profile page in a click. A very useful tool to backup your photos.
Open project. Support it on Github


EECS 560: Data Structures taught by Dr. Suzanne M. Shontz has been a fun class! A lot of reading and on-paper-algorithm-analysis and dry running. The course itself was also accompanied by a series of labs, where we would implement various data structures that we learned in class. Such a list includes but not limited to: Binary Search Trees, Priority Queues (Leftist trees, min heaps, max heaps, min-max heaps), Linked Lists, Hash Tables (various sorts of addressing and hash conflict resolution functions), etc.
I took the code I wrote for some of those labs and published them in a separate repo. Maybe it can serve as a good source to look up some simple data structures. Do not copy or plagiarize the work for your own labs. Some quick documentation follows in the repository itself.


|
| |
Tutorial 3: Particles (Distributed Version)By Red&Mazz&Ady |
[Original Tutorial 3 documentation]
An example of 2D particles bouncing around on a distributed grid . When particles intersect, they each choose a random direction to go (including staying put). Particles bounce off the wall and leave trails.
Note: this description is different from the one which appears after following the tutorial documentation. This is because the tutorial documentation overrides the getInfo method to provide a description. If this method is not overridden, MASON instead tries to display a file called index.html stored in the same directory as the simulation (which is what's going on here).


Posted by Cynthia Prentice on June 11, 2020
Posted by Cynthia Prentice on June 6, 2020
Posted by Cynthia Prentice on May 31, 2020
Posted by Cynthia Prentice on May 24, 2020
Posted by Cynthia Prentice on May 17, 2020
Posted by Cynthia Prentice on May 10, 2020
Posted by Cynthia Prentice on May 3, 2020
Posted by Cynthia Prentice on April 25, 2020
Posted by Cynthia Prentice on April 19, 2020
Posted by Cynthia Prentice on April 11, 2020


{{ buyerUser?.name }}
{{ buyerUser?.phone }}
{{ buyerUser?.address }}
Buyer Rating
{{buyerUser?.buyerRating | number : '1.1-1'}}
Sorry, Looks Like The Buyer Chose Another Shopper
{{ item.$value }}
Waiting for Buyer Confirmation...
{{ item.$value }}
{{ item.$value }}
{{ purchasedItem.$value }}
Subtotal:
Waiting for Payment...
Leave a review
{{tempRating | number : '1.1-1'}} / 5.0
{{reviewError}}
Review Submitted!
Subtotal: {{ (subtotal | async).$value | currency:'USD':true}}
Tip: {{ (tip | async).$value | currency:'USD':true}}
Total: {{ total | currency:'USD':true}}
Leave a review
{{tempRating | number : '1.1-1'}} / 5.0
{{reviewError}}
Review Submitted!


Welcome to our stock screening service! Please enter a stock ticker for us to quote:
Stock:
Latest Stock Price:


Forward:
I'd been eagerly looking forward to trying an altogether-new compound. Prior to this, I hadn't had a psychedelic experience in a few months, and I was feeling in the mood for something light-hearted and not terribly intense. In general, tryptamines tend to leave me mentally exhausted, if not with a renewed sense of spirituality. While this is all well and good, it simply wasn't what I was looking for. I wanted good, clean fun, and that's exactly what I got. Perhaps that can be taken as credit to the versatility of this substance and the importance of mindset on any given experience. I guess further research will be required.
I'm not on any OTC or prescription meds, and hadn't taken any dietary supplements of vitamins in several days. This all took place in my house, by my self, around 10:30 PM on a Monday night.
As is typical for me, I made sure that I would have privacy for the experiment, and straightened up around the house and made my bed and whatnot prior to dosing. I consider myself to be a fairly competent and experienced tripper, and didnít use a sitter. I would, however, recommend that others have a knowledgeable sober person around to keep an eye on them. And hey, maybe to chat with, too. Hehe.
On to the report:
My 2C-T-2 arrived yesterday, and, not being one to waste a perfectly good opportunity to sample a new material, I decided to try it that night.
I weighed out 12 mg of the off-white, clumpy powder, and dissolved it in a glass of orange juice. Being altogether new to the 2C-compounds, I was slightly nervous, and very excited to be trying a completely new chemical. I spaced-out my sips on the OJ in an effort to stave off any potential nausea, and finished the drink in about a half-hour. If 2C-T-2 has any significant taste, it was completely overpowered by the OJ.
The first effects were noted about a half-hour after finishing the drink. I felt energetic, a bit tense, and sure enough, a moderate amount of nausea.
The visual effects kicked in about the same time as somatic effects. Splashes of neon colors decorated the otherwise bare walls, and colors appeared warmer. Contrast between different colors was enhanced, resulting in textures appearing more three-dimensional. Looking at paintings was an absolute joy, as the scenery moved ever-so-slightly, with parts of the illustrations seeming to pop-out from the picture. It was almost like looking through a window into another setting just beyond the wall.
The coming-up phase was very smooth, despite some transient nausea here and there. The effects seemed to sneak in without my noticing, until they reached a very comfortable, controlled plateau. At the very instant I had reached the peak, my body seemed to regain its full composure, and my stomach finally settled down once and for all.
At some point, I decided to go outside and sit on my deck. Dilated pupils gave way to a sky filled with stars, normally filtered through less-sensitive eyes. The stars twinkled and wiggled, and I found that if I relaxed, lines were drawn between them in the sky. ďSo this why they drew constellations!Ē Thereís no doubt in my mind that the worldís early astronomers were on mushrooms when they decided to connect-the-dots.
After coming back in, I decided to play some music. A bit of down-tempo electronica revealed the drugs ability to enhance not only the enjoyment of dancing, but also the skill of the dancer. The music seemed to move my body without my thinking about it, and I found my motions more fluid than Iíve ever been able to achieve sober, or under the influence of any other chemical, for that matter.
I listened to some Bjork a bit later, and found that her music produced some amazing, though faint, CEVís. I could see the violins cascading around her voice, shifting colors with the tone, and the bass line jumping up through the melody every so often. As the instruments faded in and out, so did the visuals. Her voice seemed more exquisite than ever, and I marveled at her ability to modulate her vocal cords with such precision and accuracy. Absolutely marvelous.
Mentally, the drug didnít do a whole lot for me. My mood was dramatically elevated, but the state of mind that I was in was simply not useful. With MDMA, the world seems to be put in proper perspective, allowing me to examine my life and the lives of others from a very objective, but caring point of view. With 2C-T-2, however, I had a hard time getting beyond the effects of the drug. Perhaps this is merely because it was my first time with this particular chemical, and the goal of this trip was simply to evaluate the effects. Surely, during my first experience of MDMA, I was too wrapped up in the effects to worry much about the world around me.
At around 4:00, I drank a beer to ease the come-down a bit, and I was able to get to sleep around 4:30 AM, about 6 hours after the initial ingestion. I woke up at 1:00 in the afternoon, did a few things around the house, and then continued to nap until around 5:00 PM. I woke up feeling a bit groggy, but at the same time I felt that I had pushed myself out of the apathetic daze Iíd been in for several days prior to the experiment.
In conclusion, 2C-T-2 definitely makes my A-list. Itís a wonderful compound, and what it lacks in terms of depth and spiritual quality, it makes up for with its sheer entertainment value. Happy travels.
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.


Business Process Management and Runtime as a service
Learn more (later..)»
Build you first process
View details »
Find people and services that will perform the actions defined in the process.
View of who contributed to the sucessfull copletion. Find bottlenecs, and input for improvements.
...
Demo:
To get started:
TODO.


Aaron Turner <aturner_AT_pobox.com>
http://tcpreplay.sourceforge.net/
Last Edited:
Sept 6, 2004
Tcpreplay is a suite of powerful tools, but with that power comes complexity. While I have done my best to write good man pages for tcpreplay and it's associated utilities, I understand that many people may want more information then I can provide in the man pages. Additionally, this FAQ attempts to cover material which I feel will be of use to people using tcpreplay, as well as common questions that occur on the Tcpreplay-Users<EMAIL_ADDRESS>mailing list.
The source code is available in tarball format on the tcpreplay homepage: http://tcpreplay.sourceforge.net/ I also encourage users familiar with CVS to try checking out the latest code as it often has additional features and bugfixes not found in the tarballs.
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/tcpreplay login
Pass: <Enter>
cvs -z3 -d:pserver:anonymous@cvs.sf.net:/cvsroot/tcpreplay co tcpreplay
Two easy steps:
A few comments about 'make test':
Occasionally. And even when we do, generally only for one or two operating systems. Generally speaking, we assume people who want to use a tool like this can figure out how to compile it.
Not really. We had one user port the code over for a slightly old version of tcpreplay to Windows. Now we're looking for someone to help merge and maintain the code in to the main development tree. If you're interested in helping with this please contact Aaron Turner or the tcpreplay-users list.
Tcpreplay is licensed under a BSD-style license. For details, see Appendix A.
In the simplest terms, tcpreplay is a tool to send network traffic stored in pcap format back onto the network; basically the exact opposite of tcpdump. Tcpreplay also has the ability to edit various packet headers as the packets are sent. Tcpreplay is also a suite of tools: tcpreplay, tcpprep, pcapmerge, capinfo and flowreplay.
Tcpreplay is not a tool to replay captured traffic to a server or client. Specifically, tcpreplay does not have the ability to rewrite IP addresses to a user-specified value or synchronize TCP sequence and acknowledgment numbers. In other words, tcpreplay can't ``connect'' to a server or be used to emulate a server and have clients connect to it. If you're looking for that, check out flowreplay.
Originally, tcpreplay was written to test network intrusion detection systems (NIDS), however tcpreplay has been used to test firewalls, routers, and other network devices.
A lot of people wanted a tool like tcpreplay, but wanted to be able to replay traffic to a server. Since tcpreplay was unable to do this, I developed flowreplay which replays the data portion of the flow, but recreates the connection to the specified server(s). This makes flowreplay an ideal tool to test host intrusion detection systems (HIDS) as well as captured exploits and security patches when the actual exploit code is not available. Please note that flowreplay is still alpha quality code and is currently missing some important features.
After looking at all the changes that have happened over the last year or so, I decided that it was finally time to graduate tcpreplay to 2.0 status. Hence the 1.5 branch was renamed 2.0.
Tcpreplay has had quite a few authors over the past five or so years. One of the advantages of the BSD and GPL licenses is that if someone becomes unable or unwilling to continue development, anyone else can take over.
Originally, Matt Undy of Anzen Computing wrote tcpreplay. Matt released version 1.0.1 sometime in 1999. Sometime after that, Anzen Computing was (at least partially) purchased by NFR and development ceased.
Then in 2001, two people independently started work on tcpreplay: Matt Bing of NFR and Aaron Turner. After developing a series of patches (the -adt branch), Aaron attempted to send the patches in to be included in the main development tree.
After some discussion between Aaron and Matt Bing, they decided to continue development together. Since then, over a dozen stable releases have been made and more then twenty new features have been added, including the addition of a number of accessory tools.
Today, Aaron continues active development of the code.
The best place to get help or report a bug is the Tcpreplay-Users
mailing list:
http://lists.sourceforge.net/lists/listinfo/tcpreplay-users
One of the most frustrating things for any developer trying to help a user with a problem is not enough information. Please be sure to include at minimum the following information, however any additional information you feel may be helpful will be appreciated.
Let us know! Many of the features exist today because users like you asked for them. To make a feature request, you can either email the tcpreplay-users mailing list (see above) or fill out the feature request form on the tcpreplay SourceForge website.
I'm always willing to include new features or bug fixes submitted by users. You may email me directly or the tcpreplay-users mailing list. Please do not use the Patch Tracker on the tcpreplay SourceForge web site.
To replay a given pcap as it was captured all you need to do is specify the pcap file and the interface to send the traffic out of:
tcpreplay -i eth0 sample.pcap
You can also replay the traffic at different speeds then it was originally captured4. To support this, tcpreplay supports four different flags: -R, -r, -m, and -p
Some examples:
Using the loop flag (-l) you can specify that a pcap file will be sent two or more times5:
Tcpreplay offers the options of specifying configuration options in a config file in addition to the traditional command line. Each configuration option has an equivalent config file option which is listed in the tcpreplay man page. To specify the configuration file you'd like to use, use the -f <filename> option.
Configuration files have one option per line, and lines beginning with the pound sign (#) are considered comments and ignored. An example config file follows:
# send traffic out 'eth0'
intf eth0
# loop 5 times
loop 5
# send traffic 2x as fast
multiplier 2
# pad any packets out to their original size if they were truncated
during capture
untruncate pad
You would then execute:
tcpreplay -f myconfigfile sample.pcap
Tcpreplay can also split traffic so that each side of a connection is sent out a different interface6. In order to do this, tcpreplay needs the name of the second interface (-j) and a way to split the traffic. Currently, there are two ways to split traffic:
Sometimes, you want to do some post-capture filtering of packets. Tcpreplay let's you have some control over which packets get sent.
Using the limit packets flag (-L) you can specify that tcpreplay will only send at most a specified number of packets.
If you want to skip the beginning of a pcap file, you can use the offset flag (-o) to skip a specified number of bytes and start sending on the next packet.
Occasionally, you might find yourself trying to replay a pcap file which contains packets which are larger then the MTU for the sending interface. This might be due to the packets being captured on the loopback interface or on a 1000Mbps ethernet interface supporting ``jumbo frames''. I've even seen packets which are 1500 bytes but contain both an ethernet header and trailer which bumps the total frame size to 1518 which is 4 bytes too large.
By default, tcpreplay will skip these packets and not send them. Alternatively, you can specify the -T flag to truncate these packets to the MTU and then send them. Of course this may invalidate your testing, but it has proven useful in certain situations. Also, when this feature is enabled, tcpreplay will automatically recalculate the IP and TCP, UDP or ICMP checksums as needed. Example:
tcpreplay -i eth0 -T sample.pcap
It's not always necessary to write packets to the network. Since tcpreplay has so many features which modify and select which packets are sent, it is occasionally useful to save these changes to another pcap file for comparison. Rather then running a separate tcpdump process to capture the packets, tcpreplay now supports output directly to a file. Example:
tcpreplay -i eth0 -w output.pcap -F -u pad -x E:<IP_ADDRESS>/8 input1.pcap input2.pcap input3.pcap
Notice that specifying an interface is still required (required for various internal functions), but all the packets will be written to output.pcap.
You can also split traffic into two files by using -W <2nd output file>.
New to version 2.0 is the ability to extract the application layer data from the packets and write them to a file. In the man page, we call this ``data dump mode'' which is enabled with -D. It's important to specify -D before -w (and -W if you're splitting data into two files). Example:
tcpreplay -D -i eth0 -j eth0 -w clientdata -W serverdata -C <IP_ADDRESS>/24 sample.pcap
You can now replay live traffic sniffed on one network interface and replay it on another interface using the -S flag to indicate sniff mode and the appropriate snaplen in bytes (0 denotes the entire packet). You can also enabling bi-directional traffic using the bridge mode flag: -b.
NOTE: It is critical for your sanity (and to prevent your murder by your network administrators) that the input interface and the output interface be on separate networks and additionally that no other network devices (such as bridges, switches, routers, etc) be connecting the two networks, else you will surely get a networkstorm the likes that have not been seen for years.
There are about as many different capture file formats as there are sniffers. In the interest of simplicity, tcpreplay only supports libpcap9. If you would like to replay a file in one of these multitude of formats, the excellent open source tool Ethereal easily allows you to convert it to libpcap. For instance, to convert a file in Sun's snoop format to libpcap, issue the command:
tethereal -r blah.snoop -w blah.pcap
and replay the resulting file.
A common question on the tcpreplay-users list is how does one replay the client side of a connection back to a server. Unfortunately, tcpreplay doesn't support this right now. The major problem concerns syncing up TCP Seq/Ack numbers which will be different. ICMP also often contains IP header information which would need to be adjusted. About the only thing that could be easy to do is UDP, which isn't usually requested.
This is however a feature that we're looking into implementing in the flowreplay utility. If you're interested in helping work on this feature, please contact us and we'd be more then happy to work with you. At this time however, we don't have an ETA when this will be implemented, so don't bother asking.
If the tcpdump binary is installed on your system when tcpreplay is compiled, it will allow you to decode packets as they are sent without running tcpdump in a separate window or worrying about it capturing packets which weren't sent by tcpreplay.
If you ever want to send traffic to another device on a switched LAN, you may need to change the destination MAC address of the packets. Tcpreplay allows you to set the destination MAC for each interface independently using the -I and -J switches. As of version 2.1.0, you can also specify the source MAC via -k and -K. Example:
Occasionally, it is necessary to have tcpreplay rewrite the source and destination IP addresses, yet maintain the client/server relationship. Such a case might be having multiple copies of tcpreplay running at the same time using the same pcap file while trying to stress test firewall, IDS or other stateful device. If you didn't change the source and destination IP addresses, the device under test would get confused since it would see multiple copies of the same connection occurring at the same time. In order to accomplish this, tcpreplay accepts a user specified seed which is used to generate pseudo-random IP addresses. Also, when this feature is enabled, tcpreplay will automatically recalculate the IP and TCP, UDP or ICMP checksums as needed. Example:
tcpreplay -i eth0 -s 1239 sample.pcap &
tcpreplay -i eth0 -s 76 sample.pcap &
tcpreplay -i eth0 -s 239 sample.pcap &
tcpreplay -i eth0 sample.pcap
Occasionally, it is necessary to replay traffic which has been truncated by tcpdump. This occurs when the tcpdump snaplen is smaller then the actual packet size. Since this will create problems for devices which are expecting a full-sized packet or attempting checksum calculations, tcpreplay allows you to either pad the packet with zeros or reset the packet length in the headers to the actual packet size. In either case, the IP and TCP, UDP or ICMP checksums are recalculated. Examples:
Starting in the 2.0.x branch, tcpreplay can replace the existing layer 2 header with one of your choosing. This is useful for when you want to change the layer 2 header type or add a header for pcap files without one. Each pcap file tells the type of frame. Currently tcpreplay knows how to deal with the following pcap(3) frame types:
Potential uses for this are to add a layer 2 header for DLT_RAW captures or add/remove ethernet tags or QoS features.
Tcpdump uses a special frame type to store captures created with the ``-i any'' argument. This frame type uses a custom 16 byte layer 2 header which tracks which interface captured the packet and often the source MAC address of the original ethernet frame. Unfortunately, it never stores the destination MAC address and it doesn't store a source MAC when the packet is captured on the loopback interface. Normally, tcpreplay can't replay these pcap files because there isn't enough information in the LINUX_SLL header to do so; however two options do exist:
Pseudo-NAT allows the mapping of IP addresses in IPv4 and ARP packets from one subnet to another subnet of the same or different size. This allows some or all the traffic sent to appear to come from a different IP subnet then it actually was captured on.
The mapping is done through a user specified translation table comprised of one or more source and destination network(s) in the format of <srcnet>/<masklen>:<dstnet>/<masklen> deliminated by a comma. Mapping is done by matching IP addresses to the source subnet and rewriting the most significant bits with the destination subnet. For example:
tcpreplay -i eth0 -N <IP_ADDRESS>/16:<IP_ADDRESS>/24 sample.pcap
would match any IP in the <IP_ADDRESS>/16 subnet and rewrite it as if it came from or sent to the <IP_ADDRESS>/24 subnet. Ie: <IP_ADDRESS> would become <IP_ADDRESS> and <IP_ADDRESS> would become <IP_ADDRESS>. But <IP_ADDRESS> would not be rewritten.
For any given IP address, the translation table is applied in order (so if there are multiple mappings, earlier maps take precedence) and occurs only once per IP (no risk of an address getting rewritten a second time).
Pseudo-NAT also works with traffic splitting (using two interfaces or output files) but with a few important differences. First you have the option of specifying one or two pseudo-NAT tables. Using a single pseudo-NAT table means that the source and destination IP addresses of both interfaces are rewritten using the same rules. Using two pseudo-NAT tables (specifying -N <Table1> -N <Table2>) will cause the source and destination IP addresses to be rewritten differently for each interface using the following matrix:
| Out Primary Interface | Out Secondary Interface
Src IP |
While seemingly a bit confusing, this feature provides a number of interesting possibilities such as the ability to rewrite the IP headers of packets in the case where traffic is captured on the loopback interface (and the source and destination address is always <IP_ADDRESS>) so that tcpreplay can make it look like two different systems are talking to each other (you'll probably also need to specify the source and destination MAC addresses via -I, -J, -k and -K).
While pseudo-NAT provides a great deal of flexibility, it is often more complicated then is necessary for testing of inline devices. As a simplier alternative, tcpreplay supports the concept of rewriting all traffic to so that it appears to be between two IP addresses:
tcpreplay -i eth0 -j eth1 -c sample.cache -e <IP_ADDRESS>:<IP_ADDRESS> sample.pcap
Will rewrite all the traffic so that it is between <IP_ADDRESS> and <IP_ADDRESS>. The equivalent command using -N would be:
tcpreplay -i eth0 -j eth1 -c sample.cache -N <IP_ADDRESS>/0:<IP_ADDRESS> -N <IP_ADDRESS>/0:<IP_ADDRESS> sample.pcap
Since a number of tcpreplay's packet editing functions require splitting traffic between client and servers, one problem that may arrise is needing to edit packets but still output to a single interface or file. The solution to this is to use the one output option -O which causes packets to be processed as if they will be split between the interfaces/files, but then always go out the primary interface or file. Note that even though only one interface/file will be written to, both -i and -j must be specified; although they can be the same physical interface.
tcpreplay -i eth0 -j eth0 -O -c sample.cache -e <IP_ADDRESS>:<IP_ADDRESS> sample.pcap
Merging the output to a single file:
tcpreplay -i eth0 -j eth0 -w rewrite.pcap -c sample.cache -e <IP_ADDRESS>:<IP_ADDRESS> sample.pcap
Tcpreplay can send traffic out two network cards, however it requires the calculations be done in real-time. These calculations can be expensive and can significantly reduce the throughput of tcpreplay.
Tcpprep is a libpcap pre-processor for tcpreplay which enables using two network cards to send traffic without the performance hit of doing the calculations in real-time.
Tcpprep reads in a libpcap (tcpdump) formatted capture file and does some processing to generate a tcpreplay cache file. This cache file tells tcpreplay which interface a given packet should be sent out of.
No.
There are three major reasons to use tcpprep:
Cache files have nothing linking them to a given libpcap file, so there is nothing to stop you from doing this. However running tcpreplay with a cache file from a different libpcap source file is likely to cause a lot of problems and is not supported.
Tcpreplay traditionally is good for putting traffic on a given network, often used to test a network intrusion detection system (NIDS). However, there are cases where putting traffic onto a subnet in this manner is not good enough- you have to be able to send traffic *through* a device such as a router, firewall, or bridge.
In these cases, being able to use a single source file (libpcap) for both ends of the connection solves this problem.
Very small. Actual size depends on the number of packets in the dump file. Two bits of data is stored for each packet. On a test using a 900MB dump file containing over 500,000 packets, the cache file was only 150K.
Tcpprep has three basic modes which require the user to specify how to split traffic.
Tcpprep supports the same CIDR mode that tcpreplay supports using the -c flag (tcpreplay uses -C). Additionally, tcpprep also supports regex(7) regular expressions to match source IP addresses using the -r flag.
Tcpprep does an initial pass over the libpcap file to build a binary tree (one node per IP). For each IP, it keeps track of how many times it was a client or server. It then does a second pass of the file using the data in the tree and the ratio to determine if an IP is a client or server. If tcpprep is unable to determine the type (client or server) for each and every packet, then auto/bridge mode will fail. In these cases, it is best to use a different auto mode.
Tcpprep does the same first pass as Auto/Bridge mode. It then trys to convert the binary tree into a list of networks containing the servers. Finally it uses the CIDR mode with the list of server networks in a second pass of the libpcap file. Unlike auto/bridge mode, auto/router mode can always successfully split IP addresses into clients and servers.
Tcpprep uses the following methods in auto/router and auto/bridge mode to determine if an IP address is a client or server:
Since a system may send traffic which would classify it as both a client and server, it's necessary to be able to weigh the traffic. This is done by specifying the client/server ratio (-R) which is by default set to 2.0. The ratio is the modifier to the number of client connections. Hence, by default, client connections are valued twice as high as server connections.
Tcpprep supports the same -x and -X options to selectively send or drop packets.
Just run:
tcpreplay -c sample.cache -i eth0 -j eth1 sample.pcap
In versions of tcpprep >= 2.1.0, you can specify a comment to be embeded in the tcpprep cache file. Comments are user specified and automatically include the command line arguments passed to tcpprep.
tcpprep -C ``this is my comment'' -i sample.pcap -o sample.cache <other args>
Or for no user comment, but still embed the command arguments:
tcpprep -C ``'' -i sample.pcap -o sample.cache <other args>
You can then later on print out the comments by running:
tcpprep -P sample.cache
While tcpreplay is a great way to test NIDS and firewalls, it can't be used to test servers or HIDS since tcpreplay can't connect to a service running on a device. The solution to this problem is flowreplay which instead of sending packets at Layer 2 (ethernet header and up), it can actually connect via TCP or UDP to server and then sends and receives data based upon a pcap capture file created with a tool like Ethereal or tcpdump.
Please note that flowreplay is currently alpha quality and is missing a number of key features.
Put simply, flowreplay opens a socket connection to a service on a target system(s) and sends data over that socket based on the packet capture. Flowreplay has no understanding of the application protocol (like HTTP or FTP) so it is somewhat limited in how it can deal with complicated exchanges between client and server.
Some of these limitations are:
See the flowreplay(8) man page for details.
Regardless of the size of physical memory, UNIX kernels will only allocate a static amount for network buffers. This includes packets sent via the "raw" interface, like with tcpreplay. Most kernels will allow you to tweak the size of these buffers, drastically increasing performance and accuracy.
NOTE: The following information is provided based upon our own experiences or the reported experiences of others. Depending on your hardware and specific hardware, it may or may not work for you. It may even make your system horribly unstable, corrupt your harddrive, or worse.
NOTE: Different operating systems, network card drivers, and even hardware can have an effect on the accuracy of packet timestamps that tcpdump or other capture utilities generate.
NOTE: If you have information on tuning the kernel of an operating system not listed here, please send it to me so I can include it.
The following is known to apply to the 2.4.x series of kernels. If anyone has any information regarding other kernel versions, please let us know. By default Linux's tcpreplay performance isn't all that stellar. However, with a simple tweak, relatively decent performance can be had on the right hardware. By default, Linux specifies a 64K buffer for sending packets. Increasing this buffer to about half a megabyte does a good job:
echo 524287 >/proc/sys/net/core/wmem_default
echo 524287 >/proc/sys/net/core/wmem_max
echo 524287 >/proc/sys/net/core/rmem_max
echo 524287 >/proc/sys/net/core/rmem_default
On one system, we've seen a jump from 23.02 megabits/sec (5560 packets/sec) to 220.30 megabits/sec (53212 packets/sec) which is nearly a 10x increase in performance. Depending on your system and capture file, different numbers may provide different results.
*BSD systems typically allow you to specify the size of network buffers with the NMBCLUSTERS option in the kernel config file. Experiment with different sizes to see which yields the best performance. See the options(4) man page for more details.
Generally this occurs when the interface (eth0 in this example) is not up or doesn't have an IP address assigned to it.
Version 1.1.0 of Libnet is unable to send traffic on the loopback device. Upgrade to a later release of the Libnet library to solve this problem.
Tcpreplay requires that you run it as root.
When tcpreplay displays a message like "100000 write attempts failed from full buffers and were repeated", this usually means the kernel buffers were full and it had to wait until memory was available. This is quite common when replaying files as fast as possible with the "-R" option. See the tuning OS section in this document for suggestions on solving this problem.
Currently tcpreplay reserves the MAC address of 00:00:00:00:00:00 as reserved for internal use. Hence you can't rewrite the MAC address of packets to be all zeros. While we intend to fix this someday it's not currently high on our priority list, so let us know if we should re-prioritize things.
Cache files generated by tcpprep and read by tcpreplay are versioned to allow enhancements to the cache file format. Anytime the cache file format changes, the version is incremented. Since this occurs on a very rare basis, this is generally not an issue; however anytime there is a change, it breaks compatibility with previously created cache files. The solution for this problem is to use the same version of tcpreplay and tcpprep to read/write the cache files. Cache file versions match the following versions of tcpprep/tcpreplay:
Your capture file was created on Linux with the 'any' parameter which then captured a packet on the loopback interface. However, tcpreplay doesn't have enough information to actual send the packet, so it skips it. Specifying a source and destination MAC address (-I, -k, -J, -K) will allow tcpreplay to send these packets.
The packet length (in this case 8892 bytes) is greater then the maximum transmition unit (MTU) on the outgoing interface. Tcpreplay must skip the packet. Alternatively, you can specify the -T option and tcpreplay will truncate the packet to the MTU size, fix the checksums and send it.
Every now and then, someone emails the tcpreplay-users list, asking if there is a bug in tcpreplay which causes it not to send all the packets. This usually happens when the user uses the -R flag or is replaying a high-speed pcap file (> 50Mbps, although this number is dependant on the hardware in use).
The short version of the answer is: no, we are not aware of any bugs which might cause a few packets to not be sent.
The longer version goes something like this:
If you are running tcpreplay multiple times and are using tcpdump or other packet sniffer to count the number packets sent and are getting different numbers, it's not tcpreplay's fault. The problem lies in one of two places:
As of tcpreplay v1.4, you'll need to have libpcap installed on your system. As of v2.0, you'll need at least version 0.6.0 or better, but I only test our code with the latest version. Libpcap can be obtained on the tcpdump homepage11.
Tcpreplay v1.3 is the last version to support the old libnet API (everything before 1.1.x). As of v1.4 you will need to use Libnet 1.1.0 or better which can be obtained from the Libnet homepage12.
Starting with v2.0, tcpreplay can use libpcapnav to support the jump offset feature. If libpcapnav is not found on the system, that feature will be disabled. Libpcapnav can be found on the NetDude homepage13.
As of 2.0, tcpreplay uses tcpdump (the binary, not code) to decode packets to STDOUT in a human readable (with practice) format as it sends them. If you would like this feature, tcpdump must be installed on your system.
NOTE: The location of the tcpdump binary is hardcoded in tcpreplay at compile time. If tcpdump gets renamed or moved, the feature will become disabled.
Copyright (c) 2001-2004 Aaron Turner, Matt Bing. All rights reserved. Some portions of code are: Copyright(c) 1999 Anzen Computing. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names of the copyright owners nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 4. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Anzen Computing, Inc. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -nonavigation -no_subdir -split 0 -show_section_numbers FAQ.tex
The translation was initiated by Aaron Turner on 2005-07-03


Lists to Help Plan Your Next Tea Party
Tea:
Menu:
Number of Guests:
Guest Names:
Party Location:
Time:


| Home > Documentation > Installing and running > Getting and installing Geronimo > Building Geronimo from source > Building Geronimo with Maven |
This documents how to build the Apache Geronimo Server project in command line.
This guide is intended to cover how to build Geronimo 3.0 from the latest server/trunk
and server/branches/3.0
. Refer to Building Apache Geronimo in the Development documents for more information on building Geronimo, including this and other branches.
If you choose to build from server/trunk
, take note of the general warning about the state of trunk for building SNAPSHOT releases.
It is recommended that a dedicated computer used to build Geronimo 3.0 have a minimum of 2GB of real memory. The computer will also need a connection to the Internet to download artifact dependencies.
You will need a JDK 6.0+ (Java SE 1.6.0+) or compatible JDK to build Apache Geronimo. It is recommended you use SUN's implementation, or something compatible like Apples implementation. Other JDK vendors implementations may work, but use at your own risk.
Windows Tip
Windows users should not double-quote JAVA_HOME (or MAVEN_HOME for the same reason), according to MAVEN-666.
Setting:
set JAVA_HOME="C:\Program Files\Java\jdk1.6.0_20"
doesn't work, but this does:
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20
To execute the build process you need to have Apache Maven version 2.2.1
(or newer) installed.
To check if your installation is working and you have the required minimum version run:
mvn -version
And it should produce something like:
Maven version: 2.2.1
If you have an incompatible version the server build will probably fail with a message complaining
To fetch the source code for the server, you will need to have a Subversion client version 1.5 (or newer, 1.5 is recommended) installed.
Windows Tip
Windows users are strongly encouraged to change the M2 local repository (the place where dependencies are downloaded) to a shorter path with no spaces, e.g. C:\.m2
.
Using a longer path may cause the build (and Geronimo itself) to behave very strangely when it hits the 260 character limit for filenames on Windows.
In order to change the m2 local repository go to %USERPROFILE%\.m2
and edit or create settings.xml
file to contain the following content:
svn co https://svn.apache.org/repos/asf/geronimo/server/trunk server
Tip
If you are using Chinese system, please change your locale to en_US. Otherwise, the maven 2.0.7(or below) can't parse Chinese characters.
Windows Tip
Windows users are strongly encouraged to checkout Geronimo into c:\g
.
Using a longer path may cause the build (and Geronimo itself) to behave very strangely when it hits the 260 char limit for filenames on Windows.
You can also use Git mirrors to checkout Geronimo source code, and make sure you have a Git client installed before using the following command:
git clone git://git.apache.org/geronimo server
Chances are you will need to increase the heap size for Maven. Add the following lines to ~/.mavenrc
:
The following snips only set MAVEN_OPTS
if its not already set, so that you can override these values on the command line if needed.
# Increase the heap size Maven if [ "x$MAVEN_OPTS" = "x" ]; then MAVEN_OPTS=-Xmx512m fi
If you are using the SUN JDK (or a JDK with compatible flags, like the Apple JDK), you should also increase the maximum permanent size as well as the heap:
# Increase the heap and max permanent size for Maven if [ "x$MAVEN_OPTS" = "x" ]; then MAVEN_OPTS="-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=64m" fi
Windows Tip
Windows users should create mavenrc_pre.bat
under c:\documents and settings\<username>\mavenrc_pre.bat
or c:\mavenrc_pre.bat
depending on how the %HOME%
property is set on your system.
Variables will need to use the batch set syntax:
set <VARIABLE>=<VALUE>
To build all changes incrementally:
mvn install
To perform clean builds, which are sometimes needed after some changes to the source tree:
mvn clean install
In some cases you may need to build Geronimo in stages, such as when building OpenEJB from source to pick up local changes. Most users will not need to do this, but its documented here for clarity.
To build modules, configs and maven-plugins:
mvn install -Dstage=bootstrap
To build plugins, configs, plugingroups and assemblies:
mvn install -Dstage=assemble
As mentioned, most users will not need to build Geronimo in stages. But in some cases, when bootstrapping new versions (when no artifacts are deployed into remote repositories for the current version), then you must build the stages separately for the first build and then for all builds afterwards, the staged build is not necessary.
If you encounter errors downloading dependencies from the ibiblio maven mirror, adding the following to your settings.xml
file may help avoid the problem:
Once you have build the server fully, which will produce a number of zip
and tar.gz
archives from the assembly modules, you can use the geronimo-maven-plugin
to start the server. From the project root directory run:
mvn -Ptools geronimo:start
Windows Tip
Windows users may need to specify an alternative installDirectory
to avoid long path problems:
mvn -Ptools geronimo:start -DinstallDirectory=c:\g
And to stop, either CTRL-C
or from a separate terminal, from the project root directory run:
mvn -Ptools geronimo:stop
The server project does not have any IDE files checked in, they are all generated by Maven plugins. Once you have checked out the server tree and built it once, you can generate the project configuration files for your IDE.
For the basic IDEA configuration:
mvn idea:idea
To generate a configuration which includes dependency sources and javadocs:
mvn -Pdefault,idea
mvn -Pdefault,makeeclipse
| Bookmark this on Delicious Digg this | Privacy Policy - Copyright © 2003-2013, The Apache Software Foundation, Licensed under ASL 2.0. |


--- layout: post title: ! 'Node.js: First Steps' categories: - Tutorials tags: - JavaScript - Node.js - Servers - WebSocket status: publish type: post published: true meta: geo_public: '0' _wpas_mess: ! '#NodeJS: First Steps http://wp.me/p3JwxB-11 #WebDevelopment #WebApps' _thumbnail_id: '83' _publicize_pending: '1' _zemanta_has_recommendations: '1' _wpas_done_4060388: '1' _wpas_done_4060391: '1' publicize_reach: a:4:{s:7:"twitter";a:1:{i:4060389;i:138;}s:2:"fb";a:1:{i:4060388;i:455;}s:6:"tumblr";a:1:{i:4060391;i:3;}s:2:"wp";a:1:{i:0;i:2;}} _publicize_done_external: a:1:{s:8:"facebook";a:1:{i:100003508657658;b:1;}} publicize_twitter_user: JacerOmri _wpas_done_4060389: '1' _wpas_done_4060390: '1' _wpas_skip_4060388: '1' _wpas_skip_4060389: '1' _wpas_skip_4060390: '1' _wpas_skip_4060391: '1' tagazine-media: a:7:{s:7:"primary";s:0:"";s:6:"images";a:0:{}s:6:"videos";a:0:{}s:11:"image_count";i:0;s:6:"author";s:8:"24772033";s:7:"blog_id";s:8:"55178859";s:9:"mod_stamp";s:19:"2013-07-15 08:37:18";} author: ---
Yesterday, i have been So yesterday I talked about my experience with node.js in which I was impressed with it's usefulness and went through its history and what node.js brings to the table. A node.js expert, Mr. Rafik NACCACHE highlighted a couple of features that I did not mention
like how node.js is best used in apps with WebSocket, like real time networking as seen in games, chat, push notification servers, etc... It should be noted though that node.js isn't the optimal option in certain situations like "classical server rendered web".
Enough talking and let's start the action! in this article I will explain how to install node.js along with its package manager on an ubuntu machine and have some test coding.
There's an easy way to do it, using the ubuntu package manager of course. We have to add the appropriate PPA to be able to locate the package
sudo apt-get install python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs
If something went wrong or you are too geeky to do it that way, then you probably want to install it from source, and here is how:
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc . ~/.bashrc mkdir ~/local mkdir ~/node-latest-install cd ~/node-latest-install curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 ./configure --prefix=~/local make install # ok, fine, this step probably takes more than 30 seconds... curl https://npmjs.org/install.sh | sh
this is the best way so far to do it, written by Isaac Z. Schlueter. More details can be found here.
As i mentioned before, node.js' way to do thing is really super simple and easy, eliminating all the common repetitive coding required to accomplish tasks. Let's make a Hello World web server. First thing we need is a way to initiate a server. Don't worry, that is what modules are for, minimizing the amount of code you have to write. We can use the "http" module which can provide us with a server interface.
var http = require('http');
Now the variable http holds our http server module. What we are going to do next is as follows
and here is how
var http = require('http'); var server = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(8100, "<IP_ADDRESS>"); console.log('Server running at http://<IP_ADDRESS>:8100/');
Pretty easy, right? now let's run it. Save the above code in a file wherever on your hard disk, open terminal, navigate to its folder and type the following:
node script_file_name.js
Open your web browser, type http://<IP_ADDRESS>:8100 and hurray! it says Hello World!
Again, node.js is really straightforward and can do big things with just a few simple lines of code. Probably you're saying "hey what about the package manager? we didn't use it", well that is because we didn't do anything complicated yet. In my next article about node.js, i will show you how to install and use more modules and make a slightly more sophisticated program. Until then, follow me on this blog or on social medias and help us by submitting your comments below.


Let My People Go The Prince of Egypt
By Ross Anthony
The Exodus story painted and song into fiery crimson frames and enchanting hymns; "The Prince of Egypt" delivers with Charleston Heston "Ten Commandments" strength, the stern story of the Passover. Val Kilmer's voice breathes Moses to life, Michelle Pfeiffer speaks for the sassy Tzipporah with Ralph Fiennes bringing the same "faulted-stone" presence of his "Quiz Show" to the Rameses Character.
I like a movie that grabs me from the get go.  I'm watching. The melodies to the haunting song "Deliver" flow with the same grace and enchantment of the oil painted currents under the baby Moses. This gorgeous somber scene spills into a rushing chariot race as exciting as the best car chase scenes around.
The movie focuses on the relationship between two brothers Moses and Rameses -- the love they cannot deny for each other and the chasm of faith, purpose and mission large enough to part the Red Sea. A fantastic psychedelic motif of Hieroglyphics are used to "enlighten" Moses of his heritage as a Hebrew and the horrifying nightmarish truth of the pharaoh (the man he used to call father).  In fact, you might consider leaving your younger ones with a babysitter due to this serious subject matter.
No one is denying that the parting of the red sea scene from "The Ten Commandments" is a powerful special effect (especially for it's time). Don't worry, "Prince of Egypt" tidal waves command that same awe. I believe the people at DreamWorks put their brushes to the film with the spirit Moses put his staff in the mighty Nile, lighting it up with the eerie color of bloodshed. This is a powerful engaging film.
The Prince of Egypt. Animated Feature. Rated PG. Voices of Val Kilmer, Michelle Pfeiffer and other big names. Directed by Brenda Chapman.
Grade..........................A+
-- Copyright © 1999 Ross Anthony, currently based in Los Angeles, has scripted and shot documentaries, music videos, and shorts in 35 countries across North America, Europe, Africa and Asia. For more reviews visit: http://RossAnthony.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{{ $about_bg := .Params.about_bg }}
Hashback is the only platform in existence that allows service providers to get paid twice — once for selling their services and once more by mining cryptocurrency.
Service providers can now earn tokens simply by registering with Hasback and listing their services on the blockchain.
Customers contract services directly with security and confidence thanks to the transparency, reputation and verification algorithms of the Hashback token.
Hashback is open source and programmable which means that new or existing loyalty and rewards programs can be built on top of or integrated into Hashback.
We introduce a comprehensive blockchain token (a set of smart contracts) that handle the business logic, breaking the service process down into 5 stages:


Cody Wilson used one word to summarize the culminating event in his years-long lawsuit against the U.S.
government:
Epochal.
This was in July, when news became public about the Department of Justice reaching a legal settlement with Defense Distributed, the Texas nonprofit Wilson founded in 2012 to help distribute 3D-printed firearms. And the response was what I expected from Wilson, a 30-year-old provocateur prone to self-mythologizing. I met him in 2014, when he was 26, after he had successfully designed, manufactured, and test-fired the Liberator, the world’s first fully 3D-printed gun.
Wilson has long been a showman, equal parts ideologue and 1960s ad man, prone to philosophical meandering and asseverations about state tyranny and possessing a penchant for deliberately poking the political class. His sincerity was often questioned, but even four years removed, I knew what a victory over the federal government meant to him. It meant that Cody Wilson had come tantalizingly close to his dream of dismembering U.S. gun control.
I don’t have to argue philosophically now,
he said during a short phone call at the end of August. I
only
have
to
argue the law.
Two weeks later, the law caught up to Wilson, albeit in a far different way. He was arrested in Taiwan and
extradited
to the United States for allegedly sexually assaulting a 16-year-old girl. He met her on SugarDaddyMeet.com,
used
his
real name, called himself a big deal,
picked her up in an SUV registered to Defense Distributed, took
her to
a
hotel, had sex with her, and paid her five $100 bills, according to an affidavit by Shaun Donovan, a detective
with
the Austin Police Department. On September 21, the day of his arrest, Wilson resigned from the company.
The scandal inspired a measure of glee in Wilson’s opponents. But the NRA told us Cody Wilson was a good guy
with
a
gun…,
Shannon Watts, founder of gun-control advocacy group Moms Demand, wrote on Twitter.
The following Tuesday, however, Paloma Heindorff, vice president of operations at Defense Distributed,
introduced
herself as the nonprofit’s new director. Heindorff, a three-year veteran of the company, struck a defiant
attitude
during a press conference, describing her employees as resilient
and parrying all queries about Wilson’s
new
legal
predicament. Reporters present asked the obvious question: How does Defense Distributed continue on without
Cody
Wilson? Heindorff had an answer at the ready. We believe in something, and that something isn’t one man,
she
said.
That something is an idea, and we are fully committed to that idea.
For a moment, it may have seemed that the idea of 3D-printed guns might follow Cody Wilson down. But the idea Heindorff invokes — the idea that gun control as we know it can be destroyed by giving every American the capacity to build their own guns — may simply be too powerful to stop.
Before 2013, Cody Wilson had used 3D printing to successfully manufacture rifle magazines and the AR-15 lower receiver (the piece, regulated by the federal government, that is required to actually operate the rifle). But it wasn’t until he released the Liberator that he became notorious. After Wilson uploaded the digital blueprints to Defcad.com, a clearinghouse Defense Distributed set up to share its various computer-aided design files for gun components, plans for the Liberator were downloaded 100,000 times. Two days later, Wilson dropped out of law school at the University of Texas. A couple days after that, the State Department ordered him to take his files offline, citing arms export control law. Because people in other countries could download those files, the government argued, Defense Distributed was illegally trafficking guns. Wilson complied and shut down Defcad.
The Defcad files had been offline for a year and a half when I visited Defense Distributed’s Austin-based
factory
in
2014. That December, Wilson was preparing an entirely different project: the Ghost Gunner, a desktop milling
machine
that enables even know-nothing machinists to mill a four-fifths-finished aluminum lower receiver to completion.
Because purchasing what’s called an 80 percent lower
doesn’t require a background check, users of the
Ghost
Gunner
could complete the component and then purchase the remaining parts of an AR-15 rifle — also without a
background
check — to build an untraceable firearm. Wilson said he sold out a preorder of 500 machines, grossing $700,000,
and
teased his forthcoming legal battle. There will be a Defense Distributed v. United States that those
bastards
at
UT
law will have to read one day,
he told me then.
True to his word, in May 2015, Defense Distributed used the money from Ghost Gunner sales to sue the State
Department, essentially arguing that the federal government ordering files off the internet is akin to a prior
restraint of speech. In doing so, it coupled the First and Second Amendments by contending that digital files
are
a
form of expression. The move found unlikely supporters. Even the Reporters Committee for Freedom of the Press
submitted an amicus brief in Defense Distributed’s favor. To come after the Second Amendment now, you
increasingly
have to come after people’s ability to publish and communicate,
Wilson speculated four years ago.
When the State Department ordered the company to shut down Defcad in 2013, its argument concerned only the alleged violation of federal arms export control law, not the act itself of publishing digital gun files. After all, technical data about guns, including their manufacture, is readily available elsewhere online and in library books about gunsmithing.
When the government settled this year, the State Department denied that it violated Defense Distributed’s First and Second Amendment rights — and yet the settlement itself indirectly conceded the point. It gave Defense Distributed a license to publish all the files it had previously ordered the company to take offline, effectively agreeing with Defense Distributed’s take on the fundamental question underlying the entire legal conflict: that computer code, even code that can lead to the production of a functional firearm, is protected speech.
It was a bold gambit, but a winning one. On July 27, 2018, 10 files — including the full technical plans of the AR-15 and the 3D-printable design file of the Liberator — reappeared on Defcad.com. No longer was Wilson a mere tech-savvy Dennis the Menace. He was now a fully sanctioned arms dealer with the law on his side.
The fact that Defense Distributed could continue distributing files is far less important than the broader
implications of the fight. By savvy and subversive use of technology, Wilson had not only muddled what it means
to
sell, obtain, and own a gun; he had also called into question what a gun actually is, thereby transforming a
legal
question into a far more complicated technological problem practically inextricable from the concept of free
expression. I believe what I’m doing immeasurably enables the Second Amendment,
said Wilson during an
interview
with CBS on August 2. It immeasurably expands it in a technical era.
Like Napster before it, Defense Distributed pushed America toward a new order where ownership is disordered,
accountability is next to nil, and technology is always a few steps ahead of the law. This — anarchy,
essentially — was always the plan. What separated Defense Distributed from the impotent,
Wilson wrote in
Come
and
Take It, the memoir he published in 2016, was that when we said
universal access to arms,
those who
listened
understood we meant just that… We not only meant it; we intended to take the fanatical steps to enact it.
Alarmed by the settlement with the federal government, state attorneys general moved in on July 30, four days after Defense Distributed’s files went back online. Eight of them sued the State Department, arguing that the settlement itself was unlawful. The next day, Judge Robert Lasnik of the U.S. District Court for the Western District of Washington granted a temporary restraining order. Defense Distributed had to take down the files it had just reposted. On August 27, by which point attorneys general from 11 other states had joined in, Lasnik extended the order by granting a preliminary injunction, effectively blocking Defense Distributed, for the time being, from publishing its files online.
Regulation under the [Arms Export Control Act] means that the files cannot be uploaded to the internet,
Lasnik
wrote in his court order, adding, but they can be emailed, mailed, securely transmitted, or otherwise
published
within the United States.
True to form, the very next day, Wilson announced the company would sell the files via thumb drive to verified U.S. persons with verified U.S. addresses, likening Defense Distributed to the iTunes of digital gun sales. On the first day, Defense Distributed made $20,000 selling branded USB sticks that contained the 10 gun files it had just been forced to remove from the internet. The move smacked of the same counter-maneuvering that has marked the company’s efforts from the beginning.
It is ongoing. We’re still shipping and have no intention of stopping,
Heindorff said at the September
press
conference. We believe that people have the right to have these files.
But the vision was always bigger than computer files, bigger than just getting a single-shot, 3D-printed pistol to fire. No mass shooting, no resurgent gun-control movement, no form of U.S. government could ever stand in the way of Defense Distributed’s first order of business: universal access to arms. Given many Americans’ strong attachment to the power of firearm ownership, this is an idea whose resonance will only deepen.
The idea of universal access finds its perfect vessel in Paloma Heindorff, Wilson’s successor at Defense
Distributed.
Born and raised by artistic parents in central London, she grew up in a socialist-leaning
family who was
definitely anti-firearm,
as she said during an episode of Tom Gresham’s syndicated radio show, Gun Talk,
that
aired
in October 2017. It was only after she moved to New York City that Heindorff began her journey into pro-gun
activism.
I was dismayed by the narrative in the world today, the idea we can be looked after by our government,
she
told
Gresham. Not only is it ridiculous fundamentally, it also erodes the power that one can feel as an
individual.
A libertarian friend of Heindorff’s originally turned her on to Defense Distributed. After spending a weekend watching slick YouTube clips of the nonprofit’s work, she emailed Wilson, received a reply, and in five weeks had moved everything she owned to Austin and took up a position at the company. In the span of two years, she went from having never fired a weapon to pulling the trigger on a .50-caliber M2 Browning machine gun.
Heindorff didn’t respond to several email requests for comment, but it’s evident to anyone who has followed her
that
the idea of immeasurably enabling gun rights is as potent in Heindorff as it was in Wilson. It’s obvious to
everyone
here that he’s been an incredibly powerful figurehead,
she said at the September press conference. But
this
is
about an idea.
Wilson may have the verve of a showman, but Heindorff has the zeal of a convert.
Still, Heindorff must contend with one last obstacle: the preliminary injunction granted in August, a crucial, last-ditch effort for the states involved.
It’s been a happy coincidence for the states that the export laws have also protected the states themselves
and
their residents from these 3D-printed gun blueprints,
says Mary B. McCord, a visiting professor at
Georgetown
University Law School and former attorney with the Department of Justice. (In an article published over the
summer,
McCord called the First Amendment argument Wilson used in Defense Distributed’s legal fight mere window
dressing
for
his real goal: to put guns into the hands of every person who wants one.
)
Since the preliminary injunction that took Defense Distributed’s files offline yet again, the company has
raised
about $400,000 to continue a legal fight it thought was over as of July. Defense Distributed filed its motion
to
dismiss in late October. If the case in Washington is thrown out, that protection the states have enjoyed goes
away.
(In the time since the motion was filed, a gunman killed 12 people at a bar in Los Angeles. Less than 24 hours
later,
a New Jersey law that outlaws 3D-printed guns and ghost guns
went into effect. New Jersey Attorney
General
Gurbir
Grewal said the law was passed to stop the next Cody Wilson.
)
Yet this fresh legal imbroglio has done little to halt Defense Distributed’s ultimate goal of expanding
Americans’
access to guns. In a rebuttal to the state attorneys general, an unassociated website, CodeIsFreeSpeech.com,
began
hosting all the company’s files. (Defense Distributed’s not posting its files, but you can find them in five
seconds
on Google,
says Josh Blackman, the group’s attorney.) Or you can simply buy a branded USB drive, a tiny
source
of
terror that can’t be controlled: the samizdat of lethal weaponry, coursing through the underground, forever.
Regardless of Cody Wilson’s fate, we’ve turned a corner. There’s likely no going back. His bitterest opponents, as much as anyone, know that fact all too well.
Cody Wilson was the face of Defense Distributed and 3D-printed guns, but we doubt that his movement will die
with
his resignation,
the co-presidents of the Brady Campaign to Prevent Gun Violence said in a statement
after
Wilson
resigned. The Pandora’s box has been opened, and it will not go away with Wilson.


Posted by May 6, 2015
onToday, Core Aurelia Team member, Mike Graham, teaches us about combining Aurelia and TypeScript.
Posted by April 30, 2015
onToday's release comes with what we believe is the final set of big breaking changes. We've also got new features, improvements and a few other goodies.
Posted by April 24, 2015
onThis week, Core Aurelia Team member, Patrick Walters [https://github.com/PWKad], shows us how to create custom elements that leverage content selectors.
Posted by April 12, 2015
onInterested in getting a walkthrough of building your first Aurelia app? I've got good news for you. Today, in Montreal, I'll be presenting an introductory talk at the Radio Canada studios at 7PM EDT. Don't live in Montreal? No problem. Radio-Canada Lab [http://lab.radio-canada.ca/] has generously offered to not only produce the show but live stream it on YouTube. You will be able to watch it live from anywhere in the world [https://www.youtube.com/watch?v=6Pd53umA5wc].
Posted by April 9, 2015
onToday's release finally brings full ES7 and TypeScript decorators, IE9 support and a new, simplified HTML Behavior programming model. We've also made a few performance enhancements along the way.
Posted by April 3, 2015
onThis week, Core Team Member, Jeremy Danyow [https://github.com/jdanyow], shares with us how Aurelia's adaptive and extensible binding system works its magic.
Posted by March 25, 2015
onToday, we've got a major set of release for Aurelia, fixing many issues and adding new and more powerful features to the lineup.


Remind the caller that they can pay their rent via
https://www.hackney.gov.uk/rentaccount
or the 24 hour payment line 020 8356 5050.
Ask if they would like you to email or text them a link to either.
Rent Standing Order Details:
Bank: Lloyds
Account number: 00641877
Sort code: 30-00-02
Leaseholder Service Charge Standing Order Details:
Bank: Lloyds
Account number: 00634021
Sort code: 30-00-02


Home
(current)
about us
order now
contact us
To contact us or for any compalins you can find us in our social handles below.
phone: 070435542
Email: marchisios001@gmail.com.


--- layout: post title: Don't be too serious. comments: true ---
You will enjoy life more.
You will learn that failing is not a big deal.
You will be more likely to poke around and learn new things.
You will be more approachable.
You will be less prone to heart attacks.


HTML - CSS - DOM PART 1
Technical Blog
06.MAR.2016
Can you think of an analogy to describe HTML, CSS and the DOM?
How would you describe it to your non-technical friend?
The best analogy I can think of is of a house which was described by the presenter in the Udacity course “Not your typical intro to web development”.
You can think of HTML as being the structure of your house, the foundations, roof, walls and rooms. CSS is the style of your house, the colour of the walls, the carpet and curtains, the layout of where the windows and rooms are etc. You can think of the DOM as a way of viewing the architects and engineers blueprints of the layout and structure of the house, with the interior designers notes and style guides included as well.
What is meant by boxifying design?
It is a way of breaking down the design of a webpage by putting each item into boxes or rectangles. By doing this it makes it easier to structure the layout of your website design. It also helps to identify the layout of how each item on the page should be entered in the HTML in order to keep it neat and tidy.
What is the box model?
This refers to the CSS box model. Where all HTML elements can be thought of as boxes or rectangles. The CSS Box is made up of margins, borders and padding that sits around the content or HTML elements. With the margins on the out side of the box used to put space between the box and the other items on the page, after that it is the border of the box and followed by that is the padding which is added to to create some space between the border box and the content that sits in the inside the box.


From Wikipedia:
Association football, more commonly known as football or soccer,[2] is a sport played between two teams of eleven players with a spherical ball. It is played by 250 million players in over 200 countries, making it the world’s most popular sport.[3][4][5][6] The game is played on a rectangular field with a goal at each end. The object of the game is to score by getting the ball into the opposing goal.
The goalkeepers are the only players allowed to touch the ball with their hands or arms while it is in play and then only in their penalty area. Outfield players mostly use their feet to strike or pass the ball, but may use their head or torso to strike the ball instead. The team that scores the most goals by the end of the match wins. If the score is level at the end of the game, either a draw is declared or the game goes into extra time and/or a penalty shootout depending on the format of the competition. The Laws of the Game were originally codified in England by The Football Association in 1863. Association football is governed internationally by the International Federation of Association Football (FIFA; French: Fédération Internationale de Football Association) which organises a World Cup every four years.[7]


David, 25, globetrotter got 1400 € from his friends.
Mountain Money allowed him to unblock 1 400 € immediately. Thanks to his network !
He could withdraw 1 400 € from his mountain moneypot and pay for his rent.
Mountain Money allowed him to unblock 1 400 € immediately. Thanks to his network !
He could withdraw 1 400 € from his mountain moneypot and pay for his rent.
Anna started her own company 2 months ago thanks to a big bunch of ambition and a state-of-the-art kitchen.
Thanks to Mountain Money, their dream to eat fresh fruits and vegetables came true.