- Are client packets going through the router/switch?
-
This should be obvious for simple networks. You can trace the cables
and watch the activity lights blink. In a large, complex network,
however, packets may be taking an alternate path. If your
organization is large enough to have a network sniffer, you may want
to observe the traffic on the link that should carry requests from
web clients. A low-tech approach is to disconnect the link in
question and see if it affects the client's web
browsing.
- Is the router/switch configured properly?
-
You may want to double-check your router/switch configuration. If you
configured specific interfaces, did you get the right ones?
Is your new configuration actually running on
the device? Perhaps the router/switch was rebooted before you could
save the configuration. You may need to reboot before the changes
take effect.
- Can the switch/router talk to the Squid host?
-
Can you ping Squid from the router/switch? Most layer four
interception configurations require that the device and Squid be on
the same subnet. Log into the router/switch, and make sure you can
ping Squid's IP address.
- Does the switch/router believe that Squid is up?
-
Many traffic interception devices don't send traffic
to Squid unless they know it's healthy. Use the
debugging commands to view Squid's health status.
You may find that a layer three health check (e.g., ICMP ping) is
simpler than a layer four check (e.g., HTTP), and more likely to make
the network device mark Squid as up.
- Is Squid actually running?
-
Double-check that Squid is really running, especially if the system
has recently been rebooted.
- Are packets arriving at the Squid host?
-
You should be able to see intercepted TCP connections with
tcpdump. Here's an example:
# tcpdump -n -i eth0 port 80
If you use WCCP, check for GRE packets coming from the router:
# tcpdump -n -i eth0 ip proto gre
If you don't see any output from
tcpdump, the router/switch is probably not sending
anything. In that case, return to the previous suggestions.
Note, if the device is using layer four health checks, you should see
those in the tcpdump output. Health checks come
from the router/switch IP address, so they should be easy to spot. If
you see health checks, but no other traffic, it probably means the
router/switch is interpreting Squid's reply as
unhealthy. For example, the device may want to see a 200 (OK)
response, but Squid returns an error, such as 401 (Unauthorized) or
404 (Not Found). You may want to run tail -f on
the access.log.
- Did you enable IP forwarding?
-
Double-check that Squid's operating system is
configured to forward IP packets. If not, the host may drop
intercepted packets because the destination IP address
isn't local.
- Did you configure the packet filter?
-
Make sure that the packet filter (i.e., ipfw,
iptables, pf, etc.) is
configured correctly. When everything is working well, you should be
able to run the command periodically that displays the filtering
rules and see the counters increase. For example:
# ipfw show 300 ; sleep 3; ipfw show 300
00300 86216 8480458 fwd <IP_ADDRESS>,3128 tcp from any to any 80 in
00300 86241 8482240 fwd <IP_ADDRESS>,3128 tcp from any to any 80 in
Note that in this example on FreeBSD, the packet and byte counters
(second and third columns) are being incremented.
- Is the loopback interface up and configured?
-
If you have a rule to forward/redirect packets to <IP_ADDRESS>, make
sure that the loopback (e.g., lo0,
lo) interface is up and configured. If not, the
kernel may simply skip the forward/redirect rule.
- Are WCCP/GRE packets being unencapsulated correctly?
-
If you use WCCP, make sure that the GRE packets are being
unencapsulated. If, for some reason, your system
doesn't know what to do with GRE packets, it
probably increments the "unknown/unsupported
protocol" counter in netstat -s
output:
# netstat -s | grep unknown
46 packets for unknown/unsupported protocol
If your OS has a GRE interface, run netstat -i
every so often and look for increasing packet counts:
# netstat -in | grep ^gre0
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
gre0 1476 <Link#4>
304452 0 0 4 0
Also, try running tcpdump on the GRE interface:
# tcpdump -n -i gre0
- Can Squid talk back to the clients?
-
You may have a situation in which the router/switch is able to send
packets to Squid, but Squid can't send packets back
to the clients. This can happen if your firewall filter rules reject
those outgoing packets or if Squid just doesn't have
a route to the client addresses. To check for this condition, run
netstat -n and look for a lot of sockets in the
SYN_RCVD state:
% netstat -n
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36260 SYN_RCVD
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36259 SYN_RCVD
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36258 SYN_RCVD
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36257 SYN_RCVD
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36255 SYN_RCVD
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36254 SYN_RCVD
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36253 SYN_RCVD
tcp4 0 0 <IP_ADDRESS>.80 <IP_ADDRESS>.36252 SYN_RCVD
If you see this, use ping and
traceroute to make sure that Squid has
bidirectional communication with the clients.
- Can Squid talk to origin servers?
-
Intercepted HTTP connections get stuck if Squid
can't connect to origin servers. When this happens,
netstat should show you a lot of connections in
the SYN_SENT state:
% netstat -n
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 <IP_ADDRESS>.5217 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5216 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5215 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5214 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5213 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5212 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5211 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5210 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5209 <IP_ADDRESS>.80 SYN_SENT
tcp4 0 0 <IP_ADDRESS>.5208 <IP_ADDRESS>.80 SYN_SENT
Again, use ping and traceroute
to make sure that Squid can talk to origin servers.
- Are outgoing connections being intercepted?
-
If Squid can ping origin servers, and you still
see a lot of connections in the SYN_SENT state,
the router/switch may be intercepting Squid's
outgoing TCP connections. In some cases, Squid can detect such
forwarding loops, and it writes a warning message to
cache.log. Such a forwarding loop can quickly
exhaust all of Squid's file descriptors, which also
generates a warning in cache.log.
 You can then try the same request
through Squid:
Again, you should see some HTML on your screen. If not check for
error messages in cache.log. If you see
forwarding loop errors, you need to reconfigure your router/switch so
that it allows Squid's outgoing connections to pass
without being intercepted.


With avion, you can send files to a friend easily and securely. Just share the generated link – e.g. via Facebook or eMail. avion uses the link just to connect to your friend's computer. The data will be sent directly.
Recent versions of Firefox, Chrome und Opera are supported. You can send any files (photos, videos, music, text files, …) but there are still problems with big files.
Unlike e.g. Dropbox, avion transfers the files directly between your browser and your friend's browser, without any server in between. The NSA has no chance to sniff on the data, unlike with Google.
Often, people want to quickly share large files among friends, usually they use eMail or Dropbox for this. I created avion because it should be easier and more secure to send files.
I am Jannis from Berlin.
Browse the source code.


CENTURY:
DATE OF BIRTH:
Choose gender below:
MALE:
FEMALE:
submit


Welcome to SETAsurvey
Training campaign creation
{% if form %} {% if form.errors %} {% for field in form %} {% for error in field.errors %}
{{ error|escape }}
{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}
{{ error|escape }}
{% endfor %}
{% else %}
For creating a new Training based on a current phishing campaign, use the form.
{% endif %} {% elif error_msg %}
KO! We were unable to create the Training campaign
Reason for that: {{ error_msg }}
{% elif training %}Training campaign {{training.training_name}} for {{ training.number_of_users }} users created successfully!
{% endif %}


[column]
attribute. The column attribute specify the respective layout for XL
size, the rest automatically wrap according to layout pattern.[form-field-group]
component to group them. You can use [column]
and
[rank]
attribute[columnLayout]
can be used. it takes object in the form of XL: 3, L: 2, M: 1, S: 1
. Here
it shows that on L
size screen, field should be dispalyed in 2nd column and when scren size changes to
XL
size then the field will be displayed in 3rd Column(defaults to L
layout value when
value for XL
not provided).
XL screen size >= 1540px
,
L screen size is between 1224px and 1540px
, M screen size is between 800px and 1224px
,
S screen size is less than 800px
.
[isInlineLayout]
can be used. it takes object in the form of
XL: true, L: false, M: true, S: false
. Here it shows that on L
size screen, field should
be dispalyed in vertical mode and when scren size changes to XL
size then the field will be displayed
inline(defaults to L
layout value when value for XL
not provided).
XL screen size >= 1540px
,
L screen size is between 1224px and 1540px
, M screen size is between 800px and 1224px
,
S screen size is less than 800px
.
By default, form field layout contains the following grid definition:
fd-col-xl--4 fd-col-lg--4 fd-col-md--4 fd-col-sm--12
fd-col-xl--8 fd-col-lg--8 fd-col-md--8 fd-col-sm--12
fd-col-sm--0 fd-col-md--0 fd-col-lg--0 fd-col-xl--0
This layout can be easily changed with
[labelColumnLayout], [fieldColumnLayout] and [gapColumnLayout]
input properties.
These properties are available on multiple levels for more flexible layout configuration:
fdp-form-group
fdp-form-field-group
fdp-form-field
The hierarchy of layout goes as follows:
If fdp-form-field
component is provided with input properties, they will be used as a grid columns
definitions. Otherwhise these definitions will be inherited from fdp-form-field-group
component. If
form field is not wrapped into fdp-form-field-group
, defintions will be taken from
fdp-form-group


Dallas Zoo Welcomes Two White-Cheeked Gibbons
Two white-cheeked gibbons named Daxin and Tualang are the newest residents at the Dallas Zoo
by Hannah JonesThe Dallas Zoo is welcoming two new residents.
Two white-cheeked gibbons named Daxin and Tualang came to the Dallas Zoo based on a breeding recommendation from The Association of Zoos and Aquariums' Species Survival Plan. Gibbons are critically endangered, and the plan aims to ensure the long-term survival of the species.
White-cheeked gibbons like Daxin and Tualang are primates native to the rainforests of Southeast Asia. Gibbons are the most bipedal of all non-human primates, which means that they often walk on two feet.
Visitors at the Dallas Zoo can see the new gibbons at Primate Place enclosure.


I use HTML5/CSS3 and jQery to build fully responsive websites that look great on all screen sizes and devices.
I develop customized WordPress sites that are fast, secure, and easy to manage. My clients range from Small businesses, musicians, and artists, all the way to multinational corporations and politicians.
LeilaAlexandra.com is a fully responsive single-page art gallery that I built from scratch using HTML5/CSS3, jQuery, and PhotoShop. It features a lightbox gallery, smooth scroll navigation, show/hide button, and an animated back top button. It uses the power of HTML5 Boilerplate and Normalize.css to ensure that it looks beautiful on any possible combination of browsers and devices.
I am very pleased with the work done by Blake. He was professional, quick to respond, and helped me understand website development - something I had no previous experience with.
LeilaAlexandra.com is a fully responsive single-page art gallery that I built from scratch using HTML5/CSS3, jQuery and PhotoShop.
MSIdrywall.com, MSI is a multinational construction company. This website is powered by WordPress and features a login area for members and a Flash header that I built before Flash became obsolete.
McgeheeChamber.com is a Wordpress blog that I built for the chamber of commerce in my little hometown. I also taught the owner how to update content and post current info and articles.
ArkansasCityUSA.com Is a WordPress site that I built for our state representative in order to promote tourism to the historic town of Arkansas City. It features a javascript powered image carousel header.
I am a self-taught web/graphic designer with a passion for learning. Back in 2005, I learned how to design and update websites with Wordpress, Dreamweaver, and Photoshop for a small web hosting company. Due to a lack of clients, I began working construction jobs in addition to my work online. Soon I found myself with less and less time to spend growing my skills as a developer. Eventually, I came to the realization that I was heading down the wrong path
About a year ago I decided it was time to get back to doing what I love. I devoted every second of my spare time to learning everything I could about the latest technologies being used in modern web design. I then narrowed my focus to learning as much as possible about Responsive Design, HTML5/CSS3, jQuery, PhotoShop CC and GitHub.
Every day I wake up before around 4 or 5 a.m. and begin writing code solving problems and sharpening my CSS skills. Almost every day I learn a new trick and I am haveing a great time building upon what I have learned and growing as a web designer. Lately, I have been learning more about using Linux and SASS
When I'm not working I enjoy spending time in nature, exercising, cooking healthy & delicious meals, listening to music & podcasts, or watching tutorial videos and documentaries.
If you have any questions or would like to work together or offer me job you can reach me at<EMAIL_ADDRESS>Download Resume.pdf


ACF Custom Database Tables
Storing ACF-driven meta data somewhere other than {$wpdb->postmeta}
.
Plugin demo by Phil Kurth
What is it?
ACF Custom Database Tables is an ACF extension plugin that makes it
possible to store ACF
data in organised, structured database tables instead of WordPress' core meta tables.
What's the difference?
Why bother?
- Portability export a whole table with ease
- Searchability structured data can be searched much
faster
- Speed structured data can offer less work to
database engines
- Scalability faster, more efficient queries == less
strain on resources
The gist
- ACF Field Groups dictate the structure of custom tables
- when a field group is saved, a JSON file containing the table
structure is generated
- The JSON is used to generate database tables and a table/field map
- The table map is used to store/retrieve data in its appropriately
Demo Time!
- Demo 1: Capturing leads with the Advanced
Forms plugin
- Demo 2: Object/entity data rows
Cool features
- Relational fields can form their own tables
- Data storage in core meta tables can be deactivated entirely
- Filters for disabling fields on a per table, per field type, or even per field name/key
- Arrays are JSON-encoded instead of serialised
Future Plans
-
Complex field support repeaters, groups, clones,
flexi-content
-
Data migration existing data >>> newly created
tables
-
GUI powerful interface for opening up more
flexibility and control
-
WP CLI run processes from the command line
-
Import/Export take control of your data from the
admin
-
Developer Tools tools for advanced data queries
without SQL
…and plenty more…


Hello! Welcome to the minibots controller. Please select a method of controlling your minibot!

Up:
UpArrow
or
W
Down:
DownArrow
or
S
Left:
LeftArrow
or
A
Right:
RightArrow
or
D
Stop:
Space
This
Settings
To fix alignment:
Negative numbers will pull the robot to the left.
Positive numbers will pull the robot to the right.
Normal
Forward Only
Experimental
Left:
Right:
The last command sent to the robot is shown at the bottom of the page!
It is shown with the notation (left, right) rounded to the nearest integer.
You can find the code for this project
here
.
Go Back


Blazing fast and accurate glob matcher written in JavaScript. No dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.
*
and ?
), globstars (**
) for nested directories, advanced globbing with extglobs, braces, and POSIX brackets, and support for escaping special characters with \
or quotes.See the library comparison to other libraries.
Click to expand
(TOC generated by verb using markdown-toc)
Install with npm:
The main export is a function that takes a glob pattern and an options object and returns a function for matching strings.
const pm = require('picomatch');
const isMatch = pm('*.js');
console.log(isMatch('abcd')); //=> false
console.log(isMatch('a.js')); //=> true
console.log(isMatch('a.md')); //=> false
console.log(isMatch('a/b.js')); //=> false
Creates a matcher function from one or more glob patterns. The returned function takes a string to match as its first argument, and returns true if the string is a match. The returned matcher function also takes a boolean as the second argument that, when true, returns an object with additional information.
Params
globs
{String|Array}: One or more glob patterns.options
{Object=}returns
{Function=}: Returns a matcher function.Example
const picomatch = require('picomatch');
// picomatch(glob[, options]);
const isMatch = picomatch('*.!(*a)');
console.log(isMatch('a.a')); //=> false
console.log(isMatch('a.b')); //=> true
Test input
with the given regex
. This is used by the main picomatch()
function to test the input string.
Params
input
{String}: String to test.regex
{RegExp}returns
{Object}: Returns an object with matching info.Example
const picomatch = require('picomatch');
// picomatch.test(input, regex[, options]);
console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/));
// { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }
Match the basename of a filepath.
Params
input
{String}: String to test.glob
{RegExp|String}: Glob pattern or regex created by .makeRe.returns
{Boolean}Example
const picomatch = require('picomatch');
// picomatch.matchBase(input, glob[, options]);
console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true
Returns true if any of the given glob patterns
match the specified string
.
Params
returns
{Boolean}: Returns true if any patterns match str
Example
const picomatch = require('picomatch');
// picomatch.isMatch(string, patterns[, options]);
console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true
console.log(picomatch.isMatch('a.a', 'b.*')); //=> false
Parse a glob pattern to create the source string for a regular expression.
Params
pattern
{String}options
{Object}returns
{Object}: Returns an object with useful properties and output to be used as a regex source string.Example
Scan a glob pattern to separate the pattern into segments.
Params
input
{String}: Glob pattern to scan.options
{Object}returns
{Object}: Returns an object withExample
const picomatch = require('picomatch');
// picomatch.scan(input[, options]);
const result = picomatch.scan('!./foo/*.js');
console.log(result);
{ prefix: '!./',
input: '!./foo/*.js',
start: 3,
base: 'foo',
glob: '*.js',
isBrace: false,
isBracket: false,
isGlob: true,
isExtglob: false,
isGlobstar: false,
negated: true }
Compile a regular expression from the state
object returned by the parse() method.
Params
state
{Object}options
{Object}returnOutput
{Boolean}: Intended for implementors, this argument allows you to return the raw output from the parser.returnState
{Boolean}: Adds the state to a state
property on the returned regex. Useful for implementors and debugging.returns
{RegExp}Create a regular expression from a parsed glob pattern.
Params
state
{String}: The object returned from the .parse
method.options
{Object}returnOutput
{Boolean}: Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result.returnState
{Boolean}: Implementors may use this argument to return the state from the parsed glob with the returned regular expression.returns
{RegExp}: Returns a regex created from the given pattern.Example
const picomatch = require('picomatch');
const state = picomatch.parse('*.js');
// picomatch.compileRe(state[, options]);
console.log(picomatch.compileRe(state));
//=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
Create a regular expression from the given regex source string.
Params
source
{String}: Regular expression source string.options
{Object}returns
{RegExp}Example
const picomatch = require('picomatch');
// picomatch.toRegex(source[, options]);
const { output } = picomatch.parse('*.js');
console.log(picomatch.toRegex(output));
//=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
The following options may be used with the main picomatch()
function or any of the methods on the picomatch API.
| Option | Type | Default value | Description |
|---|---|---|---|
basename |
boolean |
false |
If set, then patterns without slashes will be matched against the basename of the path if it contains slashes. For example, a?b would match the path /xyz/123/acb , but not /xyz/acb/123 . |
bash |
boolean |
false |
Follow bash matching rules more strictly - disallows backslashes as escape characters, and treats single stars as globstars (** ). |
capture |
boolean |
undefined |
Return regex matches in supporting methods. |
contains |
boolean |
undefined |
Allows glob to match any part of the given string(s). |
cwd |
string |
process.cwd() |
Current working directory. Used by picomatch.split() |
debug |
boolean |
undefined |
Debug regular expressions when an error is thrown. |
dot |
boolean |
false |
Enable dotfile matching. By default, dotfiles are ignored unless a . is explicitly defined in the pattern, or options.dot is true |
expandRange |
function |
undefined |
Custom function for expanding ranges in brace patterns, such as {a..z} . The function receives the range values as two arguments, and it must return a string to be used in the generated regex. It’s recommended that returned strings be wrapped in parentheses. |
failglob |
boolean |
false |
Throws an error if no matches are found. Based on the bash option of the same name. |
fastpaths |
boolean |
true |
To speed up processing, full parsing is skipped for a handful common glob patterns. Disable this behavior by setting this option to false . |
flags |
boolean |
undefined |
Regex flags to use in the generated regex. If defined, the nocase option will be overridden. |
| format | function |
undefined |
Custom function for formatting the returned string. This is useful for removing leading slashes, converting Windows paths to Posix paths, etc. |
ignore |
array\|string |
undefined |
One or more glob patterns for excluding strings that should not be matched from the result. |
keepQuotes |
boolean |
false |
Retain quotes in the generated regex, since quotes may also be used as an alternative to backslashes. |
literalBrackets |
boolean |
undefined |
When true , brackets in the glob pattern will be escaped so that only literal brackets will be matched. |
lookbehinds |
boolean |
true |
Support regex positive and negative lookbehinds. Note that you must be using Node 8.1.10 or higher to enable regex lookbehinds. |
matchBase |
boolean |
false |
Alias for basename |
maxLength |
boolean |
65536 |
Limit the max length of the input string. An error is thrown if the input string is longer than this value. |
nobrace |
boolean |
false |
Disable brace matching, so that {a,b} and {1..3} would be treated as literal characters. |
nobracket |
boolean |
undefined |
Disable matching with regex brackets. |
nocase |
boolean |
false |
Make matching case-insensitive. Equivalent to the regex i flag. Note that this option is overridden by the flags option. |
nodupes |
boolean |
true |
Deprecated, use nounique instead. This option will be removed in a future major release. By default duplicates are removed. Disable uniquification by setting this option to false. |
noext |
boolean |
false |
Alias for noextglob |
noextglob |
boolean |
false |
Disable support for matching with extglobs (like +(a\|b) ) |
noglobstar |
boolean |
false |
Disable support for matching nested directories with globstars (** ) |
nonegate |
boolean |
false |
Disable support for negating with leading ! |
noquantifiers |
boolean |
false |
Disable support for regex quantifiers (like a{1,2} ) and treat them as brace patterns to be expanded. |
| onIgnore | function |
undefined |
Function to be called on ignored items. |
| onMatch | function |
undefined |
Function to be called on matched items. |
| onResult | function |
undefined |
Function to be called on all items, regardless of whether or not they are matched or ignored. |
posix |
boolean |
false |
Support POSIX character classes (“posix brackets”). |
posixSlashes |
boolean |
undefined |
Convert all slashes in file paths to forward slashes. This does not convert slashes in the glob pattern itself |
prepend |
boolean |
undefined |
String to prepend to the generated regex used for matching. |
regex |
boolean |
false |
Use regular expression rules for + (instead of matching literal + ), and for stars that follow closing parentheses or brackets (as in )* and ]* ). |
strictBrackets |
boolean |
undefined |
Throw an error if brackets, braces, or parens are imbalanced. |
strictSlashes |
boolean |
undefined |
When true, picomatch won’t match trailing slashes with single stars. |
unescape |
boolean |
undefined |
Remove backslashes preceding escaped characters in the glob pattern. By default, backslashes are retained. |
unixify |
boolean |
undefined |
Alias for posixSlashes , for backwards compatibility. |
In addition to the main picomatch options, the following options may also be used with the .scan method.
| Option | Type | Default value | Description |
|---|---|---|---|
tokens |
boolean |
false |
When true , the returned object will include an array of tokens (objects), representing each path “segment” in the scanned glob pattern |
parts |
boolean |
false |
When true , the returned object will include an array of strings representing each path “segment” in the scanned glob pattern. This is automatically enabled when options.tokens is true |
Example
const picomatch = require('picomatch');
const result = picomatch.scan('!./foo/*.js', { tokens: true });
console.log(result);
// {
// prefix: '!./',
// input: '!./foo/*.js',
// start: 3,
// base: 'foo',
// glob: '*.js',
// isBrace: false,
// isBracket: false,
// isGlob: true,
// isExtglob: false,
// isGlobstar: false,
// negated: true,
// maxDepth: 2,
// tokens: [
// { value: '!./', depth: 0, isGlob: false, negated: true, isPrefix: true },
// { value: 'foo', depth: 1, isGlob: false },
// { value: '*.js', depth: 1, isGlob: true }
// ],
// slashes: [ 2, 6 ],
// parts: [ 'foo', '*.js' ]
// }
Type: function
Default: undefined
Custom function for expanding ranges in brace patterns. The fill-range library is ideal for this purpose, or you can use custom code to do whatever you need.
Example
The following example shows how to create a glob that matches a folder
const fill = require('fill-range');
const regex = pm.makeRe('foo/{01..25}/bar', {
expandRange(a, b) {
return `(${fill(a, b, { toRegex: true })})`;
}
});
console.log(regex);
//=> /^(?:foo\/((?:0[1-9]|1[0-9]|2[0-5]))\/bar)$/
console.log(regex.test('foo/00/bar')) // false
console.log(regex.test('foo/01/bar')) // true
console.log(regex.test('foo/10/bar')) // true
console.log(regex.test('foo/22/bar')) // true
console.log(regex.test('foo/25/bar')) // true
console.log(regex.test('foo/26/bar')) // false
Type: function
Default: undefined
Custom function for formatting strings before they’re matched.
Example
// strip leading './' from strings
const format = str => str.replace(/^\.\//, '');
const isMatch = picomatch('foo/*.js', { format });
console.log(isMatch('./foo/bar.js')); //=> true
const onMatch = ({ glob, regex, input, output }) => {
console.log({ glob, regex, input, output });
};
const isMatch = picomatch('*', { onMatch });
isMatch('foo');
isMatch('bar');
isMatch('baz');
const onIgnore = ({ glob, regex, input, output }) => {
console.log({ glob, regex, input, output });
};
const isMatch = picomatch('*', { onIgnore, ignore: 'f*' });
isMatch('foo');
isMatch('bar');
isMatch('baz');
const onResult = ({ glob, regex, input, output }) => {
console.log({ glob, regex, input, output });
};
const isMatch = picomatch('*', { onResult, ignore: 'f*' });
isMatch('foo');
isMatch('bar');
isMatch('baz');
| Character | Description |
|---|---|
* |
Matches any character zero or more times, excluding path separators. Does not match path separators or hidden files or directories (“dotfiles”), unless explicitly enabled by setting the dot option to true . |
** |
Matches any character zero or more times, including path separators. Note that ** will only match path separators (/ , and \\ on Windows) when they are the only characters in a path segment. Thus, foo**/bar is equivalent to foo*/bar , and foo/a**b/bar is equivalent to foo/a*b/bar , and more than two consecutive stars in a glob path segment are regarded as a single star. Thus, foo/***/bar is equivalent to foo/*/bar . |
? |
Matches any character excluding path separators one time. Does not match path separators or leading dots. |
[abc] |
Matches any characters inside the brackets. For example, [abc] would match the characters a , b or c , and nothing else. |
Picomatch’s matching features and expected results in unit tests are based on Bash’s unit tests and the Bash 4.3 specification, with the following exceptions:
foo/bar/baz
with *
. Picomatch only matches nested directories with **
.!(foo)*
should match foo
and foobar
, since the trailing *
bracktracks to match the preceding pattern. This is very memory-inefficient, and IMHO, also incorrect. Picomatch would return false
for both foo
and foobar
.| Pattern | Description |
|---|---|
@(pattern) |
Match only one consecutive occurrence of pattern |
*(pattern) |
Match zero or more consecutive occurrences of pattern |
+(pattern) |
Match one or more consecutive occurrences of pattern |
?(pattern) |
Match zero or one consecutive occurrences of pattern |
!(pattern) |
Match anything but pattern |
Examples
const pm = require('picomatch');
// *(pattern) matches ZERO or more of "pattern"
console.log(pm.isMatch('a', 'a*(z)')); // true
console.log(pm.isMatch('az', 'a*(z)')); // true
console.log(pm.isMatch('azzz', 'a*(z)')); // true
// +(pattern) matches ONE or more of "pattern"
console.log(pm.isMatch('a', 'a*(z)')); // true
console.log(pm.isMatch('az', 'a*(z)')); // true
console.log(pm.isMatch('azzz', 'a*(z)')); // true
// supports multiple extglobs
console.log(pm.isMatch('foo.bar', '!(foo).!(bar)')); // false
// supports nested extglobs
console.log(pm.isMatch('foo.bar', '!(!(foo)).!(!(bar))')); // true
POSIX classes are disabled by default. Enable this feature by setting the posix
option to true.
Enable POSIX bracket support
Supported POSIX classes
The following named POSIX bracket expressions are supported:
[:alnum:]
- Alphanumeric characters, equ [a-zA-Z0-9]
[:alpha:]
- Alphabetical characters, equivalent to [a-zA-Z]
.[:ascii:]
- ASCII characters, equivalent to [\\x00-\\x7F]
.[:blank:]
- Space and tab characters, equivalent to [ \\t]
.[:cntrl:]
- Control characters, equivalent to [\\x00-\\x1F\\x7F]
.[:digit:]
- Numerical digits, equivalent to [0-9]
.[:graph:]
- Graph characters, equivalent to [\\x21-\\x7E]
.[:lower:]
- Lowercase letters, equivalent to [a-z]
.[:print:]
- Print characters, equivalent to [\\x20-\\x7E ]
.[:punct:]
- Punctuation and symbols, equivalent to [\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_
{|}~]`.[:space:]
- Extended space characters, equivalent to [ \\t\\r\\n\\v\\f]
.[:upper:]
- Uppercase letters, equivalent to [A-Z]
.[:word:]
- Word characters (letters, numbers and underscores), equivalent to [A-Za-z0-9_]
.[:xdigit:]
- Hexadecimal digits, equivalent to [A-Fa-f0-9]
.See the Bash Reference Manual for more information.
Picomatch does not do brace expansion. For brace expansion and advanced matching with braces, use micromatch instead. Picomatch has very basic support for braces.
If you wish to match the following special characters in a filepath, and you want to use these characters in your glob pattern, they must be escaped with backslashes or quotes:
Special Characters
Some characters that are used for matching in regular expressions are also regarded as valid file path characters on some platforms.
To match any of the following characters as literals: `$^*+?()[]
Examples:
The following table shows which features are supported by minimatch, micromatch, picomatch, nanomatch, extglob, braces, and expand-brackets.
| Feature | minimatch |
micromatch |
picomatch |
nanomatch |
extglob |
braces |
expand-brackets |
|---|---|---|---|---|---|---|---|
Wildcard matching (*?+ ) |
✔ | ✔ | ✔ | ✔ | - | - | - |
| Advancing globbing | ✔ | ✔ | ✔ | - | - | - | - |
| Brace matching | ✔ | ✔ | ✔ | - | - | ✔ | - |
| Brace expansion | ✔ | ✔ | - | - | - | ✔ | - |
| Extglobs | partial | ✔ | ✔ | - | ✔ | - | - |
| Posix brackets | - | ✔ | ✔ | - | - | - | ✔ |
| Regular expression syntax | - | ✔ | ✔ | ✔ | ✔ | - | ✔ |
| File system operations | - | - | - | - | - | - | - |
Performance comparison of picomatch and minimatch.
# .makeRe star
picomatch x 1,993,050 ops/sec ±0.51% (91 runs sampled)
minimatch x 627,206 ops/sec ±1.96% (87 runs sampled))
# .makeRe star; dot=true
picomatch x 1,436,640 ops/sec ±0.62% (91 runs sampled)
minimatch x 525,876 ops/sec ±0.60% (88 runs sampled)
# .makeRe globstar
picomatch x 1,592,742 ops/sec ±0.42% (90 runs sampled)
minimatch x 962,043 ops/sec ±1.76% (91 runs sampled)d)
# .makeRe globstars
picomatch x 1,615,199 ops/sec ±0.35% (94 runs sampled)
minimatch x 477,179 ops/sec ±1.33% (91 runs sampled)
# .makeRe with leading star
picomatch x 1,220,856 ops/sec ±0.40% (92 runs sampled)
minimatch x 453,564 ops/sec ±1.43% (94 runs sampled)
# .makeRe - basic braces
picomatch x 392,067 ops/sec ±0.70% (90 runs sampled)
minimatch x 99,532 ops/sec ±2.03% (87 runs sampled))
The goal of this library is to be blazing fast, without compromising on accuracy.
Accuracy
The number one of goal of this library is accuracy. However, it’s not unusual for different glob implementations to have different rules for matching behavior, even with simple wildcard matching. It gets increasingly more complicated when combinations of different features are combined, like when extglobs are combined with globstars, braces, slashes, and so on: !(**/{a,b,*/c})
.
Thus, given that there is no canonical glob specification to use as a single source of truth when differences of opinion arise regarding behavior, sometimes we have to implement our best judgement and rely on feedback from users to make improvements.
Performance
Although this library performs well in benchmarks, and in most cases it’s faster than other popular libraries we benchmarked against, we will always choose accuracy over performance. It’s not helpful to anyone if our library is faster at returning the wrong answer.
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
Running Tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
Building docs
(This project’s readme.md is generated by verb, please don’t edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
Jon Schlinkert
Copyright © 2017-present, Jon Schlinkert. Released under the MIT License.


The TCL_obj function creates a set of TCL commands that implement get/set functionality for the class members. For example, with a class definition:
class foo: public TCL_obj_t {int a, b; void foobar(int,char**)} bar;
TCL_obj(&bar,"bar",bar);
creates the TCL commands bar.a
and bar.b. To set the value of bar.a, use the command bar.a val from TCL. To get the value, use [bar.a].
Also created is the TCL command bar.foobar, which will run respective member function of foo when called from TCL.
Any nonoverloaded member function canm be accessed from TCL, provided the arguments and return types can be converted from/to TCL objects. In particular, it is not possible at present to call methods that take nonconstant references.
Overloaded method types in general cannot be called, but it is
possible to create variable length argument lists by declaring a
method with an (int,char**)
, or a (TCL_args)
signature. Such methods are not easily called from C++, and generally,
one needs to define a set of overloaded functions of a different name
(eg capitalised) suitable for calling
from C++, as well as the variable length argument list for use from
TCL. However, as a special case of an accessor (emulating the
setting/getting of an member attribute), one may make use of the
Accessor class, which is equally callable from C++ as
TCL.
Accessor is not easily usable from within the C++98 language standard
(see acessor.h in the test directory), but makes much more sense in
the C++11 standard. For example, assume that Name()
and
Name(const string&)
have been defined as a getter and setter
method of the attribute name
, then one may define a member
Accessor<string> name { [this](){return this->Name();}, [this](const std::string& x){return this->Name(x);} };where the use of lambdas and brace initialisers makes it easy to assign code for the getter and setter components of the accessor. This member will be accessible as an attribute from TCL (just as if name had been defined as a string member), and also callable from C++ as
name()
or name("someName")
as appropriate.
One downside of the Accessor class is that it is not copy constructible, as copying the accessor will copy a reference to the wrong accessed object. Consequently, if copy construction is required for the object being accessed (eg for DCAS), then a custom copy constructor needs to be provided.
As an alternative to (int,char**)
arguments for implementing
TCL commands, one can also declare the arguments
(TCL_args)
. TCL_args
variables can be
assigned to numerical variables or strings variables, and the
appropriate argument is popped off the argument stack:
int x=args; double y=args;assigns the first argument to x and the second to y. This method use the
Tcl_Obj
structure, so the values needn't be converted to
strings at all.
The arguments may also be assigned using the >>
operator:
int x; double y; args >> x >> y;
A third style uses the []
operator:
int x=args[0]; double y=args[1];The number of remaining arguments is available as
TCL_args::count
.
If operator>>(istream,T)
is defined, then you may also use the
>>
operator to set a variable of type T
, eg:
void foo::bar(TCL_args args) { iarray x; args>>x; }the assignment operator cannot be used for this purpose, unlike simple types, because nonmember assignment operators are disallowed in the standard. Type conversion operators do not appear to work.
For technical reasons, the name of the TCL command is available as
args[-1]
.
The TCL_obj_t data type also implements checkpoint and restart functions, so that any class inheriting from TCL_obj_t also gains this functionality, as well as client-server functionality.
A helper macro that performs the above is make_model, which is used in a declarative sense, which also initialises the checkpoint functor.
Associated with each of these TCL commands, is an object of type
member_entry<T>
. Pointers to these objects
are stored in a hash table called
TCL_obj_properties
. The STL hash
table behaved rather stangely when used for this purpose, so a class
wrapper around TCL hash tables was employed instead:
template<class T> struct TCL_obj_hash { struct entry { entry& operator=(const T& x); operator T(); }; entry operator[](const char*x); };So objects of
member_entry<T>*
can be inserted into the hash
table as follows:
member_entry<T>* m; eco_string d; TCL_obj_properties[d]=m;but to extract the data, use
memberPtrCasted
if (T* m=TCL_obj_properties[d]->memberPtrCasted<T>()) ... *mwill allow you to access the TCL object
d
, if it is castable to
an object of type T
(is a T
, or is derived from a T
).
A utility macro allows these objects to be accessed simply:
declare(name,typename, tcl_name)where name is the name of a variable (in reality a reference), of type typename that will refer to the variable having the TCL handle tcl_name. The macro performs error checking to ensure such a variable actually exists, and that it is of the same type as typename.
Objects can be placed into TCL_obj_properties by a several different means:
TCL_obj_t
) into TCL_obj_properties, and also
completes the construction of the TCL_obj_t
object;
TCL_obj_register(
object,object name);
distrand PDF PDF.min -10 PDF.max 10 PDF.nsamp 100 PDF.width 3 PDF.Init dist ..... PDF.deleteThis macro also defines an x.delete procedure for deleting that object, once no longer desired.
A TCL registered object, particularly dynamically created
TCLTYPE
objects can be assigned to a member of type
TCL_obj_ref
. This is particularly useful
for random number generators:
class Foo: public TCL_obj_t { public: TCL_obj_ref<random_gen> rng; ... rng->rand(); };
Then the member Foo::rng
can be assigned an arbitrary random number
generator within the TCL script, such as the PDF example above.
distrand PDF PDF.min -10 ... foo.rng PDF ...
Using TCL_obj_ref
also allows that object to be serialised, and
to be reconnected after a restart, provided the object has been
created prior to the restart.


Caviar was created by @brunoziie and is maintained like a internal project by WEEDO.it
Follow us on GitHub


|
|
| WORK
EXPERIENCE :: |
323.578.8995 |
BEGRAFIC.COM
Freelance Designer/Developer :: 2007 – Present
Produce marketing collateral such as ads, brochures, newsletters,
and logos. Design and develop data-driven websites, including
search engine optimization and marketing (SEO/SEM), and web
metrics. Recently concluded a web usability study for Intergraph
Corporation; developed new information architecture and wireframes
according to research and analytics. |
| COMPUTER
KNOWLEDGE :: |
| Photoshop,
Illustrator, Flash, Dreamweaver, Fireworks, Acrobat,
InDesign, Quark, Final Cut Pro, MS Office, vi, UNIX,
HTML, CSS, Windows XP, Mac
OSX, familiarity with Java, XML, ASP, Spry |
| |
| EDUCATION
:: |
California
State University, Long Beach, 1991
B.A. Journalism/Public Relations, Minor in Spanish
University
of Alabama, Huntsville, 2006
XML Programming
DV
Creators, Santa Monica, 2003
Final Cut Pro 4
Art
Center College of Design, Pasadena, 1995-1997
QuarkXPress
Computer Imaging
Design with Computers
Website Development
Web Design Seminar
Photography
Package Design
CONFERENCES
::
Creative
Suite 3 + Web
MOGO
Media
Flash 8
Flash Forward, Lynda.com
Photoshop
Thunder Lizard Productions
Web Design
Thunder Lizard Productions
|
| |
| OTHER
SKILLS :: |
Fluent
in Spanish/Italian
Black and White Photography
Digital Photography/Film |
|
| References
available upon request |
|
WHITE
TIGER PRINTING
- Huntsville, AL
Art Director :: 2005 – 2007
Created identity branding for White Tiger Printing and partner companies.
Designed ads, logos, folders, business cards, billboards, calendars,
brochures, pop displays, holiday cards, and dvd collateral. Produced
photography, web pages with Flash animations, and sites using cascading
style sheets (CSS). |
FOXSPORTS.COM
- Los Angeles, CA
Photo Editor :: 2003 – 2005
Selected and prepared photos for online publication: Color-corrected,
collaged, and optimized photos for website. Designed centerpieces,
thumbnails, and compiled photo galleries. Cross-trained staff on
Photoshop techniques. Used CMS to upload all content. |
BEGRAFIC.COM
- Los Angeles, CA
Freelance Webmaster/Designer :: 2000 – 2003
Created websites and marketing materials for clients
such as Disney, RAND Corporation, MJ Hubbard Consulting, Basicline,
Gilbert USA, and Chinese Laundry Shoes. |
SHOPSPORTS.COM/COPELAND'S
- SLO, CA
Sr. Web Designer ::
2000 – 2000
Redesigned/restructured websites for online sporting goods company.
Developed page layouts and coded templates for affiliate sites. Translated
shopsports.com site into Spanish. Trained staff on Photoshop, Illustrator,
and Dreamweaver. |
EVENT
411.COM - Marina Del Rey, CA
Web Designer ::
1999 – 2000
Created site designs for business-to-business software company offering
online event planning tools. Tracked banner traffic, and tailored
ads accordingly. Designed and edited user manuals, and assisted programmers
with ASP and server-side include files. |
SFUSD LANGUAGE ACADEMY - San
Francisco, CA
Webmaster/Designer :: 1998 – 1998
Redesigned website, created print materials, and trained staff on
design, HTML and desktop publishing. Provided teachers at SFUSD
with instruction on using computers and teleconferencing equipment. |
NETSCAPE
COMMUNICATIONS - Mountain View, CA
Scheduling Coordinator :: 1998 – 1998
Coordinated all Netscape Learning classroom schedules. Redesigned
and maintained NL intranet and internet sites. Created print designs
for NL staff. |
CALTECH,
GPS DIVISION - Pasadena,
CA
Webmaster/Designer ::
1993 – 1998
Developed site structure and page layout designs to launch
the first-ever website for Caltech. Provided concept and
production of all print/web/logo designs for the Division
of Geological & Planetary Sciences and
the Seismological Laboratory. Served as editor and designer for the
original GPS Alumni Newsletter. Designed brochures, ads,
lectureship flyers, invitations, and building signage. Wrote
curriculum and conducted computer training classes in web
design for GPS staff and students. Wrote instructional guides
on desktop publishing for staff in all departments at Caltech. |
|
|
|
|


svyPVpack: A package for complex surveys including plausible values
This package deals with data which stem from survey designs including plausible values. This package has been created to handle data from Large Scale Assessments like PISA, PIAAC etc. which use complex survey designs to draw the sample and plausible values to report person related estimates. Various functions/statistics (mean, quantile, GLM etc.) are provided to handle this kind of data.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=svyPVpack
to link to this page.


{% extends "emails/reviews_base.html" %} {% load englishjoin %} {% block title %}Reviews on the way!{% endblock %} {% block content %}
Your apps are activated!Review Monitor is now tracking reviews for {{ app_names|englishjoin }}. |
This is a one-time notification.
{% endblock %}


Collapsible Group Item #1
This is collapsable division 1.
Collapsible Group Item #2
This is collapsable division 2.
Collapsible Group Item #3
This is collapsable division 3.


--- layout: example.html title: Icon Colors shortdesc: Example assigning a custom color to an icon docs: > Example assigning a custom color to an icon. The features in this examples are all using the same image with the different colors coming from the javascript file tags: "vector, style, icon, marker" resources: ---


Apache HTTP Server Version 1.3
Apache 1.3 User's Guide
Release Notes
New features in Apache 1.3
Upgrading to Apache 1.3
Apache License
Apache Reference Manual
Search
for key words
Compiling and Installing
Starting
Stopping or Restarting
Run-time configuration directives
Modules
Virtual Hosts
Dynamic Shared Object (DSO) support
Handlers
Special purpose environment variables
The Apache API
Using SetUserID Execution for CGI
Other Notes
Frequently Asked Questions
Performance hints
for heavily loaded web servers.
Security tips
Compatibility Notes with NCSA httpd
How do I? documentation
Discussion of the FIN_WAIT_2 problem
Known problems with various clients
Apache HTTP Server Version 1.3


The DAO Registry is the identity of the DAO. This is the contract address that is every adapter usually interacts with.
The scope of the registry is to manage the following:
Each non-constant function in the DAO has an access control modifier linked to it, to make sure the caller has the right to call it.
The DaoRegistry.sol contract tracks the state of the DAO for 1) Adapter and Extension access, 2) State of Proposals, 3) Membership status. For an Adapter to be used it must be registered to DaoRegistry.sol.
enum DaoState {CREATION, READY}
CREATION = the DAO has been deployed via initializeDao
, but is not ready to be used. READY = the function finalizeDao
has been called and is now ready to be used. Once the DaoState = READY
then the only way to add additional Adapters is to via the proposal process.
enum MemberFlag {EXISTS}
= EXISTS
is true if a member or a proposal exists.
enum ProposalFlag {EXISTS, SPONSORED, PROCESSED}
= EXISTS
true if a proposal has been been submitted. SPONSORED
is true if a Submitted proposal has been Sponsored by an existing Member.
enum AclFlag { REPLACE_ADAPTER, SUBMIT_PROPOSAL, UPDATE_DELEGATE_KEY, SET_CONFIGURATION, ADD_EXTENSION, REMOVE_EXTENSION, NEW_MEMBER }
REPLACE_ADAPTER
- if true, the caller adapter has access to add, remove, and replace adapters in the DAO, function dao.replaceAdapter
.SUBMIT_PROPOSAL
- if true, the caller adapter is allowed to submit/create proposals in the DAO, function dao.submitProposal
.UPDATE_DELEGATE_KEY
- if true, the caller adapter has the access to update the member's delegated key in the DAO, function dao.updateDelegatedKey
.SET_CONFIGURATION
- if true, the caller adapter is allowed to store custom configurations as key/value in the DAO, function dao.setConfiguration
.ADD_EXTENSION
- if true, the caller adapter is allowed to add new Extensions to the DAO, function dao.addExtension
.REMOVE_EXTENSION
- if true, the caller adapter is allowed to remove Extensions from the DAO, function dao.removeExtension
.NEW_MEMBER
- if true, the caller adapter has access to register new members in the DAO, function dao.potentialNewMember
.Events for Proposals - The proposal order follows Moloch v2, in 1) a proposal is submitted, 2) then it sponsored by a member, and 3) after a proposal is voted on, it can finally be processed.
`event SubmittedProposal(bytes32 proposalId, uint256 flags);`
`event SponsoredProposal(bytes32 proposalId, uint256 flags, address votingAdapter);`
`event ProcessedProposal(bytes32 proposalId, uint256 flags);`
Events for Adding and Removing Adapters
`event AdapterAdded(bytes32 adapterId,address adapterAddress,uint256 flags);`
`event AdapterRemoved(bytes32 adapterId);`
Events for Members
`event UpdateDelegateKey(address memberAddress, address newDelegateKey);`
Configuration Events
`event ConfigurationUpdated(bytes32 key, uint256 value);`
`event AddressConfigurationUpdated(bytes32 key, address value);`
struct Proposal
the structure to track all the proposals in the DAO and their state (EXISTS, SPONSORED, PROCESSED).
struct Member
the structure to track all the members in the DAO and their state (EXISTS).
struct Checkpoint
Tribute makes use of the off-chain voting mechanism Snapshot. The Checkpoint
struct assists with verifying the optimistic voting and proposal mechanisms at various blocktimes. See, https://github.com/snapshot-labs.
struct DelegateCheckpoint
A checkpoint for marking number of votes from a given block.
struct AdapterEntry
When an Adapter is added to DaoRegistry
via the function replaceAdapter
, a bytes32 id
and a uint256 acl
are parameters assigned to the Adapter for use in identifying the Adapter.
struct ExtensionEntry
When an Extension is added to DaoRegistry
via addExtenstion
a bytes32 id
and a uint256 acl
are parameters assigned to the Extension for use in identifying the Extension.
Mapping of all the members. Member struct contains the flags uint.
List of all the member addresses. Useful to iterate through members.
Mapping of the member address by delegate key (think inverted mapping from members by delegate key).
Delegate key checkpoints. This is useful to know what the delegate key is at a certain point in time.
Checkpoint lengths per member address.
Dao state. This is used to know if the DAO is currently being set up or if it is already running. Useful to configure it.
Mapping of all the proposals for the DAO. Each proposal has an adapterAddress (which adapter created it) and flags to define its state.
Mapping of all the adapters. bytes32 is the keccak256 of their name and address.
Mapping of adapter details. For each address, we can get its id (keccak256(name)) and its acl (access control, which function in the DAO it has access to).
Mapping of each extension. Like for adapters, the key here is keccak256(name) (e.g., keccak256("bank"))
Mapping of extension details. For each extension address, you get its id (keccak256(name)) and a mapping from adapter address => access control. Access control for each extension is centralized in the DaoRegistry to avoid each extension implementing its own ACL system.
Generic configuration mapping from key (keccak256(name)) to any type that can be encoded in 256 bytes (does not need to be uint, could be bytes32 too).
Since addresses are not encoded in 256 bytes, we need a separate configuration mapping for this type.
Note: the constructor function is non-existent, because this is a Cloneable contract. See, https://eips.ethereum.org/EIPS/eip-1167
Initializes the DAO by creating the initial members who are 1) the DAO creator passed to the function, 2) the account passed to the function which paid for the transaction to create the DAO, and 3) the DaoFactory calling this function.
Mark the DAO as finalized. After that, changes can only be made through adapters.
Set a generic configuration entry for the DAO. Only adapters with access to this function can do it.
Set an address configuration entry for the DAO. Only adapters with access to this function can do it.
This functions checks if the member exists in the DAO. If the member does not exist, it creates the entry for the new member. That means creating an entry in the members mapping, setting the delegate key to be the same address as the new member and adding the address to the members list.
Get the generic config entry by passing the keccak256(config name).
Get the address config entry by passing the keccak256(config name).
Add a new extension to the registry. It first checks if the extension id is already used and reverts if it is the case. It then adds the extension to the DAO and initializes it.
Removes the extension by extension id. It reverts if no extension has been registered for that id (keccak256(name)).
Sets the access control for a particular adapter (by address) to a specific extension. Both adapter and extension need to be already registered to the DAO.
Adds, removes or replaces an adapter om the DAO registry. It also sets the access control. The adapter can be added only if the adapter id is not already in use. To remove an adapter from the DAO just set the address to 0x0.
Checks whether the address is registered as an extension in the DAO.
Checks whether the address is registered as an adapter in the DAO.
Checks whether the adapter has access to a certain flag in the DAO.
Checks whether a certain adapter has access to a certain extension in the DAO.
Returns the adapter address registered for this adapterId and reverts if not found.
The reason we revert here is to avoid the need to check everywhere that the return value is 0x0 when we want to use an adapter.
Returns the extension address registered for this extensionId and reverts if not found.
The reason we revert here is to avoid the need to check everywhere that the return value is 0x0 when we want to use an extension.
Creates a proposal entry for the DAO. It checks that the proposal was not previously created.
Marks an existing proposal as sponsored. saves which voting adapter is being used for this proposal. Checks that the proposal has not been sponsored yet. Checks that the proposal exists. Checks that the adapter that sponsors the proposal is the one that submitted it. Checks that the proposal has not been processed yet. Checks that the member sponsoring the proposal is an active member.
Marks an existing proposal as processed. Checks that the proposal has not been processed already and that it exists.
Internal utility function to set a flag to a proposal. It checks that the proposal exists and that the flag has not been already set.
Returns true if the address is the delegate key of an existing member
Helper function to get the flag value for a proposal.
Helper function to get the flag value for a member.
Returns how many members have been registered in the DAO.
Gets an address at a certain index in the members list.
Updates the delegate key of a certain member. It checks that the delegate key is not being used by another member and is not the address of an existing member. It also checks that the member exists.
If all the checks pass, the delegate key is updated and a delegate key checkpoint is created.
Returns the member address if the address is used as a delegate key or the address itself if it is not.
Returns the current delegate key for a member address.
Returns the previous delegate key for a member address. It is used to prepare the checkpoint.
Returns the delegate key for a member at a certain block number. If none are found, the memberAddr is returned instead.
Writes a new checkpoint for a specific member.


---
layout: post
status: publish
published: true
title: BizTalk and Host Integration Server News
author:
display_name: Tomas Restrepo
login: tomasr
email<EMAIL_ADDRESS>url: http://winterdom.com/
author_login: tomasr
author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/
wordpress_id: 363
wordpress_url: http://winterdom.com/2006/12/biztalkandhostintegrationservernews
date: '2006-12-01 14:50:10 +0000'
date_gmt: '2006-12-01 14:50:10 +0000'
categories:
- BizTalk
- Host Integration Server
tags: []
comments: []
---
Some good news in the BizTalk and Host Integration Server (HIS) world:
- The new Host Integration Server Team Blog has launched! Looking forward to good content on the new features in HIS 2006.
- The BizTalk Developer Center in MSDN has new content for december, focusing on integrating BizTalk with Windows Communication Foundation and Workflow Foundation:
- The Reference Application Pack for Retail whitepaper: Presents one possible reference architecture for retail (store-oriented) applications based on Web Services and standards like IXRetail. The whitepaper comes with a sample implementation of a part of the model using WCF, BizTalk Server and Business Scorecard Manager.
- Windows Workflow Foundation and BizTalk Server 2006 Code Sample: This is a simple example of integrating WF with BizTalk by having a workflow invoke a BizTalk orchestration exposed as a WebService. The scenario is that of a purchase order workflow validating the order and based on the total amount it either suspends it or sends it over to BizTalk for further processing.


Displaying Beta Message
How to optionally display a message in your web site browser to indicate whether the version of DNN you are currently running is a Beta release.
Note: The "Display Beta Message" setting is only displayed when you are running a Beta version of DNN.
- Navigate to Host > Host Settings.
- Select the Basic Settings tab.
- Expand the Configuration section.
- At Display Beta Message?, select from these options:
- Mark the check box to display a message.
- Unmark the check box to hide message.
-
Click the Update button.


In this notebook, a template is provided for you to implement your functionality in stages, which is required to successfully complete this project. If additional code is required that cannot be included in the notebook, be sure that the Python code is successfully imported and included in your submission if necessary.
Note: Once you have completed all of the code implementations, you need to finalize your work by exporting the iPython Notebook as an HTML document. Before exporting the notebook to html, all of the code cells need to have been run so that reviewers can see the final implementation and output. You can then export the notebook by using the menu above and navigating to \n", "File -> Download as -> HTML (.html). Include the finished document along with this notebook as your submission.
In addition to implementing code, there is a writeup to complete. The writeup should be completed in a separate file, which can be either a markdown file or a pdf document. There is a write up template that can be used to guide the writing process. Completing the code template and writeup template will cover all of the rubric points for this project.
The rubric contains "Stand Out Suggestions" for enhancing the project beyond the minimum requirements. The stand out suggestions are optional. If you decide to pursue the "stand out suggestions", you can include the code in this Ipython notebook and also discuss the results in the writeup file.
Note: Code and Markdown cells can be executed using the Shift + Enter keyboard shortcut. In addition, Markdown cells can be edited by typically double-clicking the cell to enter edit mode.
# Load pickled data
import pickle
# TODO: Fill this in based on where you saved the training and testing data
training_file = "traffic-signs-data/train.p"
validation_file = "traffic-signs-data/valid.p"
testing_file = "traffic-signs-data/test.p"
with open(training_file, mode='rb') as f:
train = pickle.load(f)
with open(validation_file, mode='rb') as f:
valid = pickle.load(f)
with open(testing_file, mode='rb') as f:
test = pickle.load(f)
X_train, y_train = train['features'], train['labels']
X_valid, y_valid = valid['features'], valid['labels']
X_test, y_test = test['features'], test['labels']
The pickled data is a dictionary with 4 key/value pairs:
'features'
is a 4D array containing raw pixel data of the traffic sign images, (num examples, width, height, channels).'labels'
is a 1D array containing the label/class id of the traffic sign. The file signnames.csv
contains id -> name mappings for each id.'sizes'
is a list containing tuples, (width, height) representing the the original width and height the image.'coords'
is a list containing tuples, (x1, y1, x2, y2) representing coordinates of a bounding box around the sign in the image. THESE COORDINATES ASSUME THE ORIGINAL IMAGE. THE PICKLED DATA CONTAINS RESIZED VERSIONS (32 by 32) OF THESE IMAGESComplete the basic data summary below. Use python, numpy and/or pandas methods to calculate the data summary rather than hard coding the results. For example, the pandas shape method might be useful for calculating some of the summary results.
### Replace each question mark with the appropriate value.
### Use python, pandas or numpy methods rather than hard coding the results
# TODO: Number of training examples
n_train = len(X_train)
# TODO: Number of testing examples.
n_test = len(X_test)
# TODO: What's the shape of an traffic sign image?
image_shape = X_train[0].shape
# TODO: How many unique classes/labels there are in the dataset.
n_classes = len(set(y_valid))
print("Number of training examples =", n_train)
print("Number of testing examples =", n_test)
print("Image data shape =", image_shape)
print("Number of classes =", n_classes)
print(len(X_valid))
print(len(X_test))
Visualize the German Traffic Signs Dataset using the pickled file(s). This is open ended, suggestions include: plotting traffic sign images, plotting the count of each sign, etc.
The Matplotlib examples and gallery pages are a great resource for doing visualizations in Python.
NOTE: It's recommended you start with something simple first. If you wish to do more, come back to it after you've completed the rest of the sections.
### Data exploration visualization code goes here.
### Feel free to use as many code cells as needed.
import matplotlib.pyplot as plt
# Visualizations will be shown in the notebook.
%matplotlib inline
label_name = ["" for x in range(43)]
label_name[0] = "Speed limit (20km/h)"
label_name[1] = "Speed limit (30km/h)"
label_name[2] = "Speed limit (50km/h)"
label_name[3] = "Speed limit (60km/h)"
label_name[4] = "Speed limit (70km/h)"
label_name[5] = "Speed limit (80km/h)"
label_name[6] = "End of speed limit (80km/h)"
label_name[7] = "Speed limit (100km/h)"
label_name[8] = "Speed limit (120km/h)"
label_name[9] = "No passing"
label_name[10] = "No passing for vehicles over 3.5 metric tons"
label_name[11] = "Right-of-way at the next intersection"
label_name[12] = "Priority road"
label_name[13] = "Yield"
label_name[14] = "Stop"
label_name[15] = "No vehicles"
label_name[16] = "Vehicles over 3.5 metric tons prohibited"
label_name[17] = "No entry"
label_name[18] = "General caution"
label_name[19] = "Dangerous curve to the left"
label_name[20] = "Dangerous curve to the right"
label_name[21] = "Double curve"
label_name[22] = "Bumpy road"
label_name[23] = "Slippery road"
label_name[24] = "Road narrows on the right"
label_name[25] = "Road work"
label_name[26] = "Traffic signals"
label_name[27] = "Pedestrians"
label_name[28] = "Children crossing"
label_name[29] = "Bicycles crossing"
label_name[30] = "Beware of ice/snow"
label_name[31] = "Wild animals crossing"
label_name[32] = "End of all speed and passing limits"
label_name[33] = "Turn right ahead"
label_name[34] = "Turn left ahead"
label_name[35] = "Ahead only"
label_name[36] = "Go straight or right"
label_name[37] = "Go straight or left"
label_name[38] = "Keep right"
label_name[39] = "Keep left"
label_name[40] = "Roundabout mandatory"
label_name[41] = "End of no passing"
label_name[42] = "End of no passing by vehicles over 3.5 metric tons"
unique_label = set(y_valid)
maximum_traffic_signs_to_print = 20
def print_overite(title):
print(title, end='\r')
def fast_draw_all_traffic_signs_in_different_images():
size_dataset = len(y_valid)
for label in unique_label:
plt.figure(figsize=(16,0.8))
traffic_sign_index = 0
number_of_signs_printed = 0
for i in range(size_dataset):
#title = "Label: " + str(label) + "/" + str(len(unique_label) - 1) + " processing " + str(i) + "/" + str(size_dataset - 1)
#print_overite(title)
if (y_valid[i] == label):
traffic_signs = plt.subplot(1, maximum_traffic_signs_to_print, traffic_sign_index+1)
traffic_signs.imshow(X_valid[i], interpolation='nearest')
traffic_signs.axis('off')
traffic_sign_index += 1
number_of_signs_printed += 1
if (number_of_signs_printed == maximum_traffic_signs_to_print):
break
print(str(label+1) + "/" + str(len(unique_label)) + " - " + label_name[label])
plt.show()
def slow_draw_all_traffic_signs_in_one_image():
number_of_labels = len(unique_label)
size = 0.8
width = size * maximum_traffic_signs_to_print
height = size * number_of_labels
size_dataset = len(y_valid)
print("Number of labels: " + str(number_of_labels))
print("Total size of the image w:" + str(width) + " h:" + str(height))
print("Total size of the dataset: " + str(size_dataset))
print("Creating subplots, this might take a long time...")
fig, traffic_signs = plt.subplots(number_of_labels, maximum_traffic_signs_to_print, figsize=(width,height))
for label in range(number_of_labels):
traffic_sign_index = 0
number_of_signs_printed = 0
for i in range(size_dataset):
title = "Processing label: " + str(label) + "/" + str(number_of_labels - 1)
print_overite(title)
if (y_valid[i] == label):
traffic_signs[label][traffic_sign_index].imshow(X_valid[i], interpolation='nearest')
traffic_signs[label][traffic_sign_index].axis('off')
traffic_sign_index += 1
number_of_signs_printed += 1
if (number_of_signs_printed == maximum_traffic_signs_to_print):
break
print()
print("Painting...")
fast_draw_all_traffic_signs_in_different_images()
#slow_draw_all_traffic_signs_in_one_image()
Design and implement a deep learning model that learns to recognize traffic signs. Train and test your model on the German Traffic Sigwww.omgubuntu.co.uk/page/3n Dataset.
There are various aspects to consider when thinking about this problem:
Here is an example of a published baseline model on this problem. It's not required to be familiar with the approach used in the paper but, it's good practice to try to read papers like these.
NOTE: The LeNet-5 implementation shown in the classroom at the end of the CNN lesson is a solid starting point. You'll have to change the number of classes and possibly the preprocessing, but aside from that it's plug and play!
Use the code cell (or multiple code cells, if necessary) to implement the first step of your project.
### Preprocess the data here. Preprocessing steps could include normalization, converting to grayscale, etc.
### Feel free to use as many code cells as needed.
#X_train, y_train = train['features'], train['labels']
#X_valid, y_valid = valid['features'], valid['labels']
#X_test, y_test = test['features'], test['labels']
import cv2
import tensorflow as tf
import numpy as np
def preprocess(x):
x = [cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) for image in x]
return np.reshape(x, (-1, 32, 32, 1))
X_train = preprocess(X_train)
X_valid = preprocess(X_valid)
X_test = preprocess(X_test)
from sklearn.utils import shuffle
X_train, y_train = shuffle(X_train, y_train)
### Define your architecture here.
### Feel free to use as many code cells as needed.
from tensorflow.contrib.layers import flatten
def LeNet(x):
# Hyperparameters
mu = 0
sigma = 0.1
# Layer 1: Convolutional. Input = 32x32x1. Output = 28x28x6.
conv1_W = tf.Variable(tf.truncated_normal(shape=(5, 5, 1, 6), mean = mu, stddev = sigma))
conv1_b = tf.Variable(tf.zeros(6))
conv1 = tf.nn.conv2d(x, conv1_W, strides=[1, 1, 1, 1], padding='VALID') + conv1_b
# Activation.
conv1 = tf.nn.relu(conv1)
# Pooling. Input = 28x28x6. Output = 14x14x6.
conv1 = tf.nn.max_pool(conv1, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='VALID')
# Layer 2: Convolutional. Output = 10x10x16.
conv2_W = tf.Variable(tf.truncated_normal(shape=(5, 5, 6, 16), mean = mu, stddev = sigma))
conv2_b = tf.Variable(tf.zeros(16))
conv2 = tf.nn.conv2d(conv1, conv2_W, strides=[1, 1, 1, 1], padding='VALID') + conv2_b
# Activation.
conv2 = tf.nn.relu(conv2)
# Pooling. Input = 10x10x16. Output = 5x5x16.
conv2 = tf.nn.max_pool(conv2, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='VALID')
# Flatten. Input = 5x5x16. Output = 400.
fc0 = flatten(conv2)
# Layer 3: Fully Connected. Input = 400. Output = 120.
fc1_W = tf.Variable(tf.truncated_normal(shape=(400, 120), mean = mu, stddev = sigma))
fc1_b = tf.Variable(tf.zeros(120))
fc1 = tf.matmul(fc0, fc1_W) + fc1_b
# Activation.
fc1 = tf.nn.relu(fc1)
# Layer 4: Fully Connected. Input = 120. Output = 84.
fc2_W = tf.Variable(tf.truncated_normal(shape=(120, 84), mean = mu, stddev = sigma))
fc2_b = tf.Variable(tf.zeros(84))
fc2 = tf.matmul(fc1, fc2_W) + fc2_b
# Activation.
fc2 = tf.nn.relu(fc2)
# Layer 5: Fully Connected. Input = 84. Output = n_classes.
fc3_W = tf.Variable(tf.truncated_normal(shape=(84, n_classes), mean = mu, stddev = sigma))
fc3_b = tf.Variable(tf.zeros(n_classes))
logits = tf.matmul(fc2, fc3_W) + fc3_b
return logits
A validation set can be used to assess how well the model is performing. A low accuracy on the training and validation sets imply underfitting. A high accuracy on the test set but low accuracy on the validation set implies overfitting.
### Train your model here.
### Calculate and report the accuracy on the training and validation set.
### Once a final model architecture is selected,
### the accuracy on the test set should be calculated and reported as well.
### Feel free to use as many code cells as needed.
#Constants
EPOCHS = 10
BATCH_SIZE = 128
# Features and Labels
x = tf.placeholder(tf.float32, (None, 32, 32, 1))
y = tf.placeholder(tf.int32, (None))
one_hot_y = tf.one_hot(y, n_classes)
#Training Pipeline
rate = 0.001
logits = LeNet(x)
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits, one_hot_y)
loss_operation = tf.reduce_mean(cross_entropy)
optimizer = tf.train.AdamOptimizer(learning_rate = rate)
training_operation = optimizer.minimize(loss_operation)
#Model Evaluation
correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(one_hot_y, 1))
accuracy_operation = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
saver = tf.train.Saver()
def evaluate(X_data, y_data):
num_examples = len(X_data)
total_accuracy = 0
sess = tf.get_default_session()
for offset in range(0, num_examples, BATCH_SIZE):
batch_x, batch_y = X_data[offset:offset+BATCH_SIZE], y_data[offset:offset+BATCH_SIZE]
accuracy = sess.run(accuracy_operation, feed_dict={x: batch_x, y: batch_y})
total_accuracy += (accuracy * len(batch_x))
return total_accuracy / num_examples
#Train the Model
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
num_examples = len(X_train)
print("Training...")
print()
for i in range(EPOCHS):
X_train, y_train = shuffle(X_train, y_train)
for offset in range(0, num_examples, BATCH_SIZE):
end = offset + BATCH_SIZE
batch_x, batch_y = X_train[offset:end], y_train[offset:end]
sess.run(training_operation, feed_dict={x: batch_x, y: batch_y})
print("EPOCH {}".format(i+1) + ", accuracy: {:.3f}".format(evaluate(X_valid, y_valid)))
saver.save(sess, './lenet')
print("Model saved")
#Evaluate accuracy of the system
def evaluate(X_data, y_data):
num_examples = len(X_data)
total_accuracy = 0
sess = tf.get_default_session()
for offset in range(0, num_examples, BATCH_SIZE):
batch_x, batch_y = X_data[offset:offset+BATCH_SIZE], y_data[offset:offset+BATCH_SIZE]
accuracy = sess.run(accuracy_operation, feed_dict={x: batch_x, y: batch_y})
total_accuracy += (accuracy * len(batch_x))
return total_accuracy / num_examples
#Model Evaluation
correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(one_hot_y, 1))
accuracy_operation = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
def evaluate_accuracy(kind, x, y):
with tf.Session() as sess:
saver.restore(sess, tf.train.latest_checkpoint('.'))
accuracy = evaluate(x, y)
print(kind + " Accuracy = {:.3f}".format(accuracy))
evaluate_accuracy("Validation", X_valid, y_valid)
evaluate_accuracy("Training", X_train, y_train)
evaluate_accuracy("Test", X_test, y_test)
To give yourself more insight into how your model is working, download at least five pictures of German traffic signs from the web and use your model to predict the traffic sign type.
You may find signnames.csv
useful as it contains mappings from the class id (integer) to the actual sign name.
### Load the images and plot them here.
### Feel free to use as many code cells as needed.
import matplotlib.image as mpimg
#Images from http://benchmark.ini.rub.de/?section=gtsrb&subsection=dataset#Downloads
#newImageFileNames = [
# "new-images/00000.ppm",
# "new-images/00001.ppm",
# "new-images/00002.ppm",
# "new-images/00003.ppm",
# "new-images/00004.ppm"
#]
#y_newImages = [16, 1, 38, 33, 11]
#Images from Google search https://www.google.co.uk/search?q=german+road+signs
newImageFileNames = [
"random-web-images/label_1.jpg",
"random-web-images/label_17.jpg",
"random-web-images/label_18.jpg",
"random-web-images/label_25.jpg",
"random-web-images/label_28.jpg"
]
y_newImages = [1, 17, 18, 25, 28]
newImages = [mpimg.imread(newImageFileName) for newImageFileName in newImageFileNames]
def displayImages(images):
size = len(images)
for i in range(size):
image = plt.subplot(1, size, i+1)
image.imshow(images[i])
displayImages(newImages)
### Run the predictions here and use the model to output the prediction for each image.
### Make sure to pre-process the images with the same pre-processing pipeline used earlier.
### Feel free to use as many code cells as needed.
#Pre-Process images
newImages = [cv2.resize(newImage, (32, 32)) for newImage in newImages]
X_newImages = preprocess(newImages).astype(np.float32)
def predict_signs(X):
with tf.Session() as sess:
saver.restore(sess, tf.train.latest_checkpoint('.'))
softmax = tf.nn.softmax(logits)
label_predictions = sess.run(softmax, feed_dict={x: X})
return [np.argmax(label_prediction) for label_prediction in label_predictions]
predicted_labels = predict_signs(X_newImages)
print("Predicted labels: " + str(predicted_labels))
print("Correct labels: " + str(y_newImages))
### Calculate the accuracy for these 5 new images.
### For example, if the model predicted 1 out of 5 signs correctly, it's 20% accurate on these new images.
def ratio_correct_matches(predicted_labels, correct_labels):
number_of_correct_matches = 0
number_of_labels = len(predicted_labels)
for i in range(number_of_labels):
if (predicted_labels[i] == correct_labels[i]):
number_of_correct_matches += 1
return number_of_correct_matches * 100 / number_of_labels
ratio_success = ratio_correct_matches(predicted_labels, y_newImages)
print("Accuracy is " + str(ratio_success) + "%")
For each of the new images, print out the model's softmax probabilities to show the certainty of the model's predictions (limit the output to the top 5 probabilities for each image). tf.nn.top_k
could prove helpful here.
The example below demonstrates how tf.nn.top_k can be used to find the top k predictions for each image.
tf.nn.top_k
will return the values and indices (class ids) of the top k predictions. So if k=3, for each sign, it'll return the 3 largest probabilities (out of a possible 43) and the correspoding class ids.
Take this numpy array as an example. The values in the array represent predictions. The array contains softmax probabilities for five candidate images with six possible classes. tk.nn.top_k
is used to choose the three classes with the highest probability:
# (5, 6) array
a = np.array([[ 0.24879643, 0.07032244, 0.12641572, 0.34763842, 0.07893497,
0.12789202],
[ 0.28086119, 0.27569815, 0.08594638, 0.0178669 , 0.18063401,
0.15899337],
[ 0.26076848, 0.23664738, 0.08020603, 0.07001922, 0.1134371 ,
0.23892179],
[ 0.11943333, 0.29198961, 0.02605103, 0.26234032, 0.1351348 ,
0.16505091],
[ 0.09561176, 0.34396535, 0.0643941 , 0.16240774, 0.24206137,
0.09155967]])
Running it through sess.run(tf.nn.top_k(tf.constant(a), k=3))
produces:
TopKV2(values=array([[ 0.34763842, 0.24879643, 0.12789202],
[ 0.28086119, 0.27569815, 0.18063401],
[ 0.26076848, 0.23892179, 0.23664738],
[ 0.29198961, 0.26234032, 0.16505091],
[ 0.34396535, 0.24206137, 0.16240774]]), indices=array([[3, 0, 5],
[0, 1, 4],
[0, 5, 1],
[1, 3, 5],
[1, 4, 3]], dtype=int32))
Looking just at the first row we get [ 0.34763842, 0.24879643, 0.12789202]
, you can confirm these are the 3 largest probabilities in a
. You'll also notice [3, 0, 5]
are the corresponding indices.
### Print out the top five softmax probabilities for the predictions on the German traffic sign images found on the web.
### Feel free to use as many code cells as needed.
def softmax_top_probabilities(X, number_of_probabilities):
with tf.Session() as sess:
saver.restore(sess, tf.train.latest_checkpoint('.'))
softmax = tf.nn.softmax(logits)
softmax_probabilities = sess.run(softmax, feed_dict={x: X})
top_probabilities = tf.nn.top_k(softmax_probabilities, number_of_probabilities)
return sess.run(top_probabilities)
top_probabilities = softmax_top_probabilities(X_newImages, 5)
for i in range(len(X_newImages)):
print("Top five softmax probabilities for image number " + str(i+1))
print(top_probabilities.values[i])
print("-> top five labels: " + str(top_probabilities.indices[i]))
print()
Note: Once you have completed all of the code implementations, you need to finalize your work by exporting the IPython Notebook as an HTML document. Before exporting the notebook to html, all of the code cells need to have been run. You can then export the notebook by using the menu above and navigating to \n", "File -> Download as -> HTML (.html). Include the finished document along with this notebook as your submission.
#Traffic sign General Caution (label 18) analysis
problematic_label = 18
general_caution = []
general_caution_label = []
for i in range(len(y_test)):
if (y_test[i] == problematic_label):
general_caution.append(X_test[i])
general_caution_label.append(problematic_label)
evaluate_accuracy("General Caution", general_caution, general_caution_label)


listr
- terminal task list
progress
show statusfiglet
ASCII outputchalk, colors
for colorsclui
output tables, status, chartscli-table
print table dataclear
clear terminaldebug
wrap console logimport cli from 'cli-ux'
cli.prompt('What is your password?', {type: 'mask'})
url(), open()
for urlsaction()
immersive logstable(), tree()
to print lists and structuresUse @oclif/cli-ux or any other tools to
npx oclif command github:issues
my-oclif-cli github:issues
Getting a list of issues... done
Number Title Assignee State Link
66 workshop CLI korzio open https://github.com/korzio/note/issues/66
65 fix: Changed the formatting of exercises null open https://github.com/korzio/note/pull/65
64 Workshop CLI in TS on Saturday 9am 3 hours korzio open https://github.com/korzio/note/issues/64
63 Add test section and example to workshop paulcodiny open https://github.com/korzio/note/issues/63
...
1.
Create a Personal token
2.
Add it to the config file .githubrc
to variable GITHUB_PERSONAL_TOKEN
export GITHUB_PERSONAL_TOKEN=___TOKEN_GOES_HERE___
3.
Export this variable to the current shell with source
command
source config/.githubrc
4.
Use the auth key with @octokit/rest
5.
Get the list of Github issues
npm i cli-ux chalk @octokit/rest
1.
Import cli
from cli-ux
to use advanced formatting
import cli from 'cli-ux'
2.
Import chalk
from chalk
to use colors
import chalk from 'chalk'
3.
Require the Octokit. This library is imported in a specific way
import Octokit = require('@octokit/rest')
4.
Set a description for your command
static description = 'Get a list of issues'
5.
Add arguments: one for an owner and for a repository
static args = [
{
name: 'owner',
required: false,
description: 'An owner of a repository',
default: 'korzio',
},
{
name: 'repo',
required: false,
description: 'A repository',
default: 'note',
},
]
6.
Add a GITHUB_PERSONAL_TOKEN
flag to flags
definition so oclif will put the environment variable to a flag
static flags = {
help: flags.help({
char: 'h'
}),
githubPersonalToken: flags.string({
description: `Environment variable GITHUB_PERSONAL_TOKEN`,
env: 'GITHUB_PERSONAL_TOKEN',
required: true
})
}
7.
Use cli.action.start
to show the loader with some useful information what is happening
cli.action.start('Getting the list of the issues')
8.
Create a new instance of Octokit with an object argument containing the "auth" property with the auth key created in the previous section
const octokit = new Octokit({
auth: flags.githubPersonalToken
})
9.
Call the "issues.listForRepo" method with an object argument containing "owner" and "repo" keys. You can pass "korzio" as an owner and "note" as a repository. Documentation of the method https://octokit.github.io/rest.js/#octokit-routes-issues-list-for-repo.
The result of this method is an object containing "data" property
const { data: issues } = await octokit.issues.listForRepo({
owner: 'korzio',
repo: 'note',
})
10.
Stop the loader with cli.action.stop
cli.action.stop()
11.
Show tha table with the "data" as the first argument and the object with table description as the second. You can use columns "number", "title", "assignee" with a getter to get deep property, "state" with a getter to color the resulting state, "html_url" with a different header
cli.table(issues, {
number: {},
title: {},
assignee: {
get: row => row.assignee ? row.assignee.login : null,
},
state: {
get: row => row.state === 'open' ? chalk.green('open') : chalk.red('closed'),
},
html_url: {
header: 'Link'
},
})
Use @oclif/cli-ux
- prompt()
functionality.
my-oclif-cli github:assignee
Do you want to start working on an issue? (Y/n) [y]: y
Which issue you want to pick up? Please provide the ID: 62
What is your GitHub login?: paulcodiny
1.
Ask whether the user wants to start working on an issue. Use capital letter to communicate the default choice even though oclif helps with this
const startWorking = await cli.prompt('Do you want to start working on an issue? (y/N)', {
required: false,
default: 'y'
})
2.
If the choice is "y" then show additional promts
if (['y', 'yes'].includes(startWorking.toLowerCase())) {
const issueNumber = await cli.prompt('Which issue you want to pick up? Please provide the Number')
const assignee = await cli.prompt('What is your GitHub login?')
// ...
}
3.
After the CLI script gathers all required inputs we can perform an update
await octokit.issues.update({
owner: args.owner,
repo: args.repo,
issue_number: issueNumber,
assignees: [assignee]
})
4.
Do not forget to communicate back the success message.
this.log(`Assignee of the issue #${issueNumber} has been successfully changed to "${assignee}"!`)


v2.0.4 Fixed [MOD-2163] app crashes right after launching with this modulev2.0.3 [TIMODOPEN-253] Files added to the root of zip rather than in subdirectories based on the location.
v2.0.2 Fixed "file or directory does not exist" error when unzipping many files at once.
v2.0.1 [MOD-938] Building with 2.1.3.GA and open sourcing
v2.0 Upgraded to module api version 2 for <IP_ADDRESS>
v1.0 Initial Release


{% extends "base.html" %} {% block title %}View Homework{% endblock %} {% block head %} {% endblock %} {% block content %}
The user has submitted his/her homework. Please check it out using the below link
File: {{ student.originalfilename1 }}
The user has not submitted his/her homework


sometimes it's good to remind yourself of your own mortality.
your remaining life expectancy is calculated using the population.io API.
a project by sarah howorka. feel free to explore the code, contribute, remix, etc.!
based on a wonderful article by tim urban from waitbutwhy.
close


Toggle navigation
#TicTechTalk
Login
Mock Technical Interview
Practice
Full Name:
Email:
User Name:
Password:
Sign Up
Sign in with GitHub
Sign in with LinkedIn
Sign in with Google


val ref: Any?
is an optional field used for housekeeping in the caller. e.g. to point back at the original Vault state objects.
ref
- is an optional field used for housekeeping in the caller.
e.g. to point back at the original Vault state objects.
See Also


The Adventures of Tom Sawyer
by Mark Twain
Conclusion
Additional Information
- Year Published: 1876
- Language: English
- Country of Origin: United States of America
- Source: Twain, M. (1876). The Adventures of Tom Sawyer. Hartford, CT: American Publishing Co.
-
Readability:
- Flesch–Kincaid Level: 4.5
- Word Count: 126
- Genre: Adventure
- ✎ Cite This
Downloads
SO endeth this chronicle. It being strictly a history of a BOY, it must stop here; the story could not go much further without becoming the history of a MAN. When one writes a novel about grown people, he knows exactly where to stop—that is, with a marriage; but when he writes of juveniles, he must stop where he best can.
Most of the characters that perform in this book still live, and are prosperous and happy. Some day it may seem worth while to take up the story of the younger ones again and see what sort of men and women they turned out to be; therefore it will be wisest not to reveal any of that part of their lives at present.


Trying to think about a more systematic way to go about varying the parameters: the underlying parametric model has 3 parameters for the stock-recruitment curve’s deterministic skeleton, plus growth noise. (My first exploratory phase has been just to try different things. See my various tweaks in the history log Clearly time to be more systematic about both running and visualizing the various cases.)
Should I just choose a handful of parameter combinations to test? (Trying to think of a way to do this that is easy to summarize – at least I can summarize expected profit under each set). Presumably, for each set of these parameters, I’d want a few (many?) stochastic realizations of the calibration/training data.
Would it be worth digging up some real-world data-sets and base the selection of underlying model parameters on them?
Then there’s a variety of nuisance parameters: grid size, discount rate, price of fish (non-dimensionalization eliminates that one I guess), cost to fishing (and whether the cost is on effort or harvest, whether linear or quadratic, etc), harvest grid size / possible constraints on maximum or minimum allowable levels for the control; length of the calibration period (and related dynamics if we use any of the variable fishing effort models you showed me today).
Additionally there’s the MCMC-related nuisance parameters – parameters for the priors, possibly hyperpriors, and the MCMC convergence analysis (selecting burn-in period – currently 2000 steps out of 16000, etc) . Also the distributional shapes for the priors, and perhaps more meaningfully, the GP covariance function (using Gaussian for simplicity, but might want to look at Matern, and the various linear + Gaussian covariances).
New and progressing issues
- Vary harvest policy during the observation stage
- Add prior & posterior graphs (on same plot) to standard analysis (i.e. gaussian-process-control.R)
- GP process plots should show with and without nugget variance
- examples with non-stationary dynamics (e.g. Ricker with oscillations)
- evaluate GP under large noise conditions
- Characterize and develop a strategy for inferred GP that are not self-sustaining
from the commit log today
- prior/posterior plots added to the BH-Ricker example. Comparable but non-optimal performance by GP. 06:07 pm 2012/12/19
- oscillating ricker still does not give decent solutions 05:45 pm 2012/12/19
- shows posteriors and priors of hyperparameters 05:38 pm 2012/12/19
- fixed minor typo in calc of posterior distribution plots #18 05:15 pm 2012/12/19
- plotting for posteriors and priors added #18 04:13 pm 2012/12/19
- replicate 02:22 pm 2012/12/19
- time to start writing 09:16 am 2012/12/19
- Ah, good. With a bit more data, a very nice example of how GP can avoid problems of a structurally inaccurate parametric approach (Myers vs Ricker). 09:15 am 2012/12/19
- more data going up to positive equilibrium, better but still does not avoid crash 08:29 am 2012/12/19
- An interesting example – seems to work despite being calibrated on a crashing dataset. 08:08 am 2012/12/19
- With smaller K, GP cannot quite determine a proper policy 07:37 am 2012/12/19
- try different dynamic parameters on Myers (lower K) 05:59 am 2012/12/19
Misc: ropensci
- resolved some outstanding issues on rfigshare (rfigshare/issues?state=closed)


Clear explanation of how and why to do stream processing with Kafka from @thijsc. Love seeing this tech promoted more in Ruby! #railsconf
4/27/2017, 2:22:27 PM
Favs: 3
Retweets: 1
link--- layout: tweet ---
Clear explanation of how and why to do stream processing with Kafka from @thijsc. Love seeing this tech promoted more in Ruby! #railsconf
4/27/2017, 2:22:27 PM
Favs: 3
Retweets: 1
link


Did not find what you want?
Want to donate your service or good?
All DoingGood Services & Goods Results and Other Postings
Goods and Services Wanted
Post Details
Goods/Service:bike for sale
Description:Mens bike for sale, comfort bike.
Rate:
Rate Type:perhour
Please Login to Continue.


I typically take anywhere from 8-10 and sometimes 12 25mg tabs of a generic brand of this drug sold as an allergy medication at a large chain store. Comes in a box of 100 caps for under $5. A box of 100 will last me a little less than 10 days. I use this drug as a sleep aid.
200mg seems to be the magic dose for me anything higher than that and I risk being uncomfortable. In higher doses it does make me very uncomfortable, like I want to stretch. I feel very uncomfortable lying still. I've read that this drug is among the most euphoric of antihistamines in its class. The effects are indeed very euphoric. For me even after 5+ years of almost nightly use the euphoria has never gone away. It has dulled some after so many years but it is still quite pronounced. I've never used this med to experience any halluciations, etc. but just to relax and help me drift off to sleep.
I have experienced a few bothersome side-effects. This med is also used to treat nausea and motionsickness. On occassion when I have skipped an evening of my nightly dose I do experience mild nausea and just a general malaise. I wouldn't call it a withdrawl syndrome but my body does notice I have skipped my dose. Other than this I've not seen any bad side-effects.
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.


The Singapore Autonomous Underwater Vehicle Challenge, dubbed as SAUVC, is an effort by the IEEE Oceanic Engineering Society Singapore Chapter to engage and expose the tertiary students to the challenges of AUV design. The programme was started in 2013 and was originally intended to create awareness among the local students on the importance of underwater robotics and its relevance to Singapore.However, it grew into an international competition from its very inception as it was felt that opening up the competition at an international level would add diversity to the design approaches. The competition is designed in a swimming pool format and requires the AUV to perform a series of tasks, which requires a good understanding of sensors and algorithms to navigate underwater.The teams were also required to present their designs and share their experiences to an invited audience.
RoboSub is an international student competition. Student teams from around the world design and build robotic submarines, otherwise known as Autonomous Underwater Vehicles (AUV). The behaviors demonstrated by these experimental AUVs mimics those of real-world systems, currently deployed around the world for underwater exploration, seafloor mapping, and sonar localization, amongst many others.
ESSO-National Institute of Technology (NIOT), under the Ministry of Earth Sciences, organizes the National Student Autonomous underwater Vehicle Competition for students pursuing an engineering degree to visualize and design an autonomous underwater vehicle. The conceptual basis for Student Autonomous underwater Vehicle (SAVe), is a highly mobile Autonomous Underwater Vehicle (AUV) to be built based on engineering principles. The main focus of this competition is to involve students in the new frontier areas of ocean technology and kindle their innovative thinking in this unexplored area of ocean environment and observation.


Singapore - 60 days and Counting
I shifted to Singapore during mid June 2019. So, here is how my ~60 days in Singapore looks like.
The first week was mostly getting accustomed with the Commute system and routes here, definitely apart from understanding and learning more about the company you are part of.
Transportation: MRT, Buses and cabs (Grab, Go-Jek, running Taxi)
Tickets: * For local transport(MRT and buses both) you can get an ezlink card from any of the MRT stations and top-up the card whenever needed. * One alternative is setting up the Google Pay or Apple Pay (for iOS app - you should have Singapore apple ID). * You can also use your debit card for the same. To know more checkout SimplyGo app. * If none of these works out for you, you can also buy tickets from the bus driver or MRT ticket counter each time.
Cost: MRT/Buses as expected are the cheapest means of transportation (Range S$0.83 - S$2.08) Cabs are quite costly (avg. $10 to $20). Grab is usually costlier than Go-Jek. If you want to travel somewhere late at night, running taxi can be considered as there might be surge pricing for cab services.
The best app to navigate: City Mapper (honestly, I find it better than Google map’s navigation feature)
The second week is mostly the settling week.
A place to stay: There are multiple apps to help you find a place to stay, like PropertyGuru, 99.co, Roomgo, etc There is also a Facebook group named “Flat and Flatmates” where you can find good deals.
You can either rent 1bhk or rent a room in 3bhk or so. There are two types of apartment,
* Condo (Condominiums)
* HDB (Housing & Development Board)
Unlike HDB, Condo apartment has facilities like swimming pool and gym. 1bhk in a condo apartment will roughly cost you around S$1,700 to S$2,000 or more per month depending on the location. HDBs are comparatively cheaper, you can get a master room in about S$1,300 - S$1,500 monthly (fully furnished).
SIM card and Bank Account:
Recommended options for SIM
* Singtel: ~ $20 to $38 monthly
* Circles.Life: ~ $18 to $38 monthly (with more/unlimited data offers)
Popular bank options:
* OCBC (Oversea-Chinese Banking Corporation) - OCBC 360 Account
* DBS (Development Bank of Singapore) - DBS Multiplier account
You need an address proof for both, to get a sim card (postpaid) and to create a new bank account. You can get a prepaid sim card from the airport itself.
If you are here for anything other than tourism you should create a Singpass account. A Singpass is a common password that allows users to connect and transact with government agencies in Singapore.
Food: We usually either order food online or go out nearby to the office to have lunch during the weekdays.
There are two types of dining places,
-
Restaurant, Depending on the area, say, Clarke Quay, Arab Street, Robertson Quay, the cost will be $30 to $40 for a complete meal, whereas, in restaurants near Little India, you can get a full course meal in about $15 to $30.
-
Hawker Center, when you are out of your balance or feel like having a budget meal, hawker centre is a decent place for nonvegetarians and there are few options for vegetarians too.
Food ordering apps: Grab Food Deliveroo
Ordering food online via any of these apps, the avg cost per meal per person will range from $8(Subway) to $20(proper Indian meal). You can buy free delivery subscriptions in the Grab app if you plan to order food quite often.
Pharmacy:
- Guardian
- Watson
- Unity (fairprice pharmacy)
Supermarkets & Convenience Stores:
- NTUC FairPrice (Open 24 hours - Most of the stores)
- FairPrice Finest (Till 11 PM , only a few are open 24 hours)
- 7-Eleven (Open 24 hours - Most of the stores)
- Cheers (Open 24 hours - Most of the stores)
- Esso (Open 24 hours)
Last but not the least, you must know about Little India - especially Mustafa If you are from India or love Indian food, Little India is a must-visit place for you. There is a saviour for Indian people here called Mustafa centre (with three wings). You can find any and every needful thing from there.
Touristy places that I have explored so far: East coast park, Marquee, 1 Altitude, a Football match at the National Stadium, Sentosa, Arab street, Orchard Road, Clarke Quay, Boat Quay, Robertson Quay, Ce La Vi, Little India, Chimes, Bugis (Shopping zone), Fireworks on 54th birthday of Singapore….
Stay tuned. :)


We worked with the San Francisco Museum of Modern Art to redesign their ground floors from a lobby to a community space. Our team worked with SFMoMA's Board of Directors. See more at their website.
Turn the first floors of SFMoMA into a vibrant community hub using design principles.
Create marketing campaigns that will make SFMoMA as popular third place in SF.