Use this configuration helper to create your Telegraf configuration file
Generated telegraf.conf: Use the following content as the definition for your telegraf.conf to monitor and collect the metrics of the component.
message config sample
Sorry but you didn't set a value for the Telegraf env tag. Use the form provided to paste the value of the env tag for Telegraf.
Sorry but you didn't set a value for the Telegraf label tag. Use the form provided to paste the value of the label tag for Telegraf.
Sorry but you didn't set a value for the Splunk HEC URL. Use the form provided to paste the value of your HTTP Event Collector endpoint URL (Fully Qualified Domain Name or IP address).
Sorry but you didn't set a value for the Splunk HEC token. Use the form provided to paste the value of your HTTP Event Collector token.
Sorry but you didn't select a Kafka component as the target of the configuration generator. Use the form provided to select which type of component you want to generate a configuration for.
Sorry but you have selected the target to be a remote host without entering a value for it. Use the form provided to enter the value of the remote host, as an host name, FQDN or IP address.
Sorry but the port number is invalid or empty. Use the form provided to enter the value of the port number, the default port number is automatically defined when selecting a component.


Touch
UIkit detected touch support on your device! :)
UIkit did not detect touch support on your device! :(
In IE11, swipe-gestures are only detected on the grey panel.


--- layout: base.html permalink: /about/ title: ABOUT // David Wesst description: Who is DW anyway? ---
I am a lot of things, but if you have to give me a label I would like to think I'm someone who likes to code cool stuff.
I am a firm believer that your data is your data, not mine.
That being said, you generate data just by using this website that can help me improve the site. This is why I use Application Insights from Microsoft to monitor behaviour and performance of the site itself, along with how user interact with the site (assuming the user has opted-in for cookie usage).
The usage data is collected through the use of cookies, which are NOT enabled by default (although I would appreciate it if you opted-in).
For more information about how data is collected and managed with Application Insights, please read through the Microsoft documentation about Application Insights.


Eventually we will be able to auto-generate a WADL from com.liaison.service binding configuration. Additionally, and to support this effort, we'll add functionality to specify expected headers and payload types (ie xsd).


perl5203delta - what is new for perl v5.20.3
This document describes differences between the 5.20.2 release and the 5.20.3
release.
If you are upgrading from an earlier release such as 5.20.1, first
read perl5202delta, which describes differences between 5.20.1 and
5.20.2.
There are no changes intentionally incompatible with 5.20.2. If any exist, they
are bugs, and we request that you submit a report. See "Reporting
Bugs" below.
- Errno has been upgraded from version 1.20_05 to 1.20_06.
Add -P to the pre-processor command-line on GCC 5. GCC
added extra line directives, breaking parsing of error code definitions.
[perl #123784]
<https://rt.perl.org/Ticket/Display.html?id=123784>
- Module::CoreList has been upgraded from version 5.20150214 to 5.20150822.
Updated to cover the latest releases of Perl.
- perl5db.pl has been upgraded from 1.44 to 1.44_01.
The debugger would cause an assertion failure. [perl #124127]
<https://rt.perl.org/Ticket/Display.html?id=124127>
perlfunc
- •
- Mention that "study()" is currently a
no-op.
perlguts
- •
- The OOK example has been updated to account for COW changes and a change
in the storage of the offset.
perlhacktips
- •
- Documentation has been added illustrating the perils of assuming the
contents of static memory pointed to by the return values of Perl wrappers
for C library functions doesn't change.
perlpodspec
- •
- The specification of the POD language is changing so that the default
encoding of PODs that aren't in UTF-8 (unless otherwise indicated) is
CP1252 instead of ISO-8859-1 (Latin1).
- •
- h2ph now handles hexadecimal constants in the compiler's predefined
macro definitions, as visible in
$Config{cppsymbols}. [perl #123784]
<https://rt.perl.org/Ticket/Display.html?id=123784>
- t/perf/taint.t has been added to see if optimisations with taint
issues are keeping things fast.
- t/porting/re_context.t has been added to test that utf8 and its
dependencies only use the subset of the
"$1..$n" capture vars that
Perl_save_re_context() is hard-coded to localize, because that
function has no efficient way of determining at runtime what vars to
localize.
- Win32
- Previously, when compiling with a 64-bit Visual C++, every Perl XS module
(including CPAN ones) and Perl aware C file would unconditionally have
around a dozen warnings from hv_func.h. These warnings have been
silenced. GCC (all bitness) and 32-bit Visual C++ were not affected.
- miniperl.exe is now built with -fno-strict-aliasing,
allowing 64-bit builds to complete with GCC 4.8. [perl #123976]
<https://rt.perl.org/Ticket/Display.html?id=123976>
- Repeated global pattern matches in scalar context on large tainted strings
were exponentially slow depending on the current match position in the
string. [perl #123202]
<https://rt.perl.org/Ticket/Display.html?id=123202>
- The original visible value of $/ is now preserved
when it is set to an invalid value. Previously if you set
$/ to a reference to an array, for example, perl
would produce a runtime error and not set PL_rs, but Perl code that
checked $/ would see the array reference. [perl
#123218] <https://rt.perl.org/Ticket/Display.html?id=123218>
- Perl 5.14.0 introduced a bug whereby "eval { LABEL:
}" would crash. This has been fixed. [perl #123652]
<https://rt.perl.org/Ticket/Display.html?id=123652>
- Extending an array cloned from a parent thread could result in
"Modification of a read-only value attempted" errors when
attempting to modify the new elements. [perl #124127]
<https://rt.perl.org/Ticket/Display.html?id=124127>
- Several cases of data used to store environment variable contents in core
C code being potentially overwritten before being used have been fixed.
[perl #123748]
<https://rt.perl.org/Ticket/Display.html?id=123748>
- UTF-8 variable names used in array indexes, unquoted UTF-8 HERE-document
terminators and UTF-8 function names all now work correctly. [perl
#124113] <https://rt.perl.org/Ticket/Display.html?id=124113>
- A subtle bug introduced in Perl 5.20.2 involving UTF-8 in regular
expressions and sometimes causing a crash has been fixed. A new test
script has been added to test this fix; see under "Testing".
[perl #124109]
<https://rt.perl.org/Ticket/Display.html?id=124109>
- Some patterns starting with "/.*..../"
matched against long strings have been slow since Perl 5.8, and some of
the form "/.*..../i" have been slow
since Perl 5.18. They are now all fast again. [perl #123743]
<https://rt.perl.org/Ticket/Display.html?id=123743>
- Warning fatality is now ignored when rewinding the stack. This prevents
infinite recursion when the now fatal error also causes rewinding of the
stack. [perl #123398]
<https://rt.perl.org/Ticket/Display.html?id=123398>
- "setpgrp($nonzero)" (with one argument)
was accidentally changed in Perl 5.16 to mean
setpgrp(0). This has been fixed.
- A crash with "%::=();
J->${\"::"}" has been fixed. [perl #125541]
<https://rt.perl.org/Ticket/Display.html?id=125541>
- Regular expression possessive quantifier Perl 5.20 regression now fixed.
"qr/"PAT"{"min,max"}+""/"
is supposed to behave identically to
"qr/(?>"PAT"{"min,max"})/".
Since Perl 5.20, this didn't work if min and max were equal.
[perl #125825]
<https://rt.perl.org/Ticket/Display.html?id=125825>
- Code like "/$a[/" used to read the next
line of input and treat it as though it came immediately after the opening
bracket. Some invalid code consequently would parse and run, but some code
caused crashes, so this is now disallowed. [perl #123712]
<https://rt.perl.org/Ticket/Display.html?id=123712>
Perl 5.20.3 represents approximately 7 months of development since Perl 5.20.2
and contains approximately 3,200 lines of changes across 99 files from 26
authors.
Excluding auto-generated files, documentation and release tools,
there were approximately 1,500 lines of changes to 43 .pm, .t, .c and .h
files.
Perl continues to flourish into its third decade thanks to a
vibrant community of users and developers. The following people are known to
have contributed the improvements that became Perl 5.20.3:
Alex Vandiver, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs'
Williams, Craig A. Berry, Dagfinn Ilmari Mannsaaker, Daniel Dragan, David
Mitchell, Father Chrysostomos, H.Merijn Brand, James E Keenan, James McCoy,
Jarkko Hietaniemi, Karen Etheridge, Karl Williamson, kmx, Lajos Veres, Lukas
Mai, Matthew Horsfall, Petr PisaX, Randy Stauner, Ricardo Signes, Sawyer X,
Steve Hay, Tony Cook, Yves Orton.
The list above is almost certainly incomplete as it is
automatically generated from version control history. In particular, it does
not include the names of the (very much appreciated) contributors who
reported issues to the Perl bug tracker.
Many of the changes included in this version originated in the
CPAN modules included in Perl's core. We're grateful to the entire CPAN
community for helping Perl to flourish.
For a more complete list of all of Perl's historical contributors,
please see the AUTHORS file in the Perl source distribution.
If you find what you think is a bug, you might check the articles recently
posted to the comp.lang.perl.misc newsgroup and the perl bug database at
https://rt.perl.org/ . There may also be information at http://www.perl.org/ ,
the Perl Home Page.
If you believe you have an unreported bug, please run the perlbug
program included with your release. Be sure to trim your bug down to a tiny
but sufficient test case. Your bug report, along with the output of
"perl -V", will be sent off to
<EMAIL_ADDRESS>to be analysed by the Perl porting team.
If the bug you are reporting has security implications, which make
it inappropriate to send to a publicly archived mailing list, then please
send it to<EMAIL_ADDRESS>This points to a closed
subscription unarchived mailing list, which includes all the core
committers, who will be able to help assess the impact of issues, figure out
a resolution, and help co-ordinate the release of patches to mitigate or fix
the problem across all platforms on which Perl is supported. Please only use
this address for security issues in the Perl core, not for modules
independently distributed on CPAN.
The Changes file for an explanation of how to view exhaustive details on
what changed.
The INSTALL file for how to build Perl.
The README file for general stuff.
The Artistic and Copying files for copyright
information.


There was nothing special about this site, nothing was left to be seen, not even a kite.
Lobster Two!


I think for me the pleasure, passion, purpose idea is really true.  I feel much better when I have a purpose, even if it's a really small step towards something bigger than myself, and even better if I'm good at it.
I also think, at least for me, it's important to look for purpose and inspiration in everything. There is always something you to learn. Like, I worked at McDonalds for several years, and most of the time it sucked. But I wrote this blog post about what I learned there, and it went viral and ended up getting translated to like 10 different languages and published in a book which was awesome and would have never happened if I hadn't looked at the positive!
I'm embarrassed to say my purpose/goal cos it seems too big and Tall Poppy Syndrome tells me I can't do it, but I guess that's the point. Basically I want to massively change the world with technology/business/whatever. Like on a Steve Jobs/Elon Musk kind of level.
The resiliance stuff was cool, but I think for me it wasn't super relevant, cos weirdly even though I have depression I have high self esteem? I quite like failure (at least professionally/ with projects) because it gives me more information about what to learn/do next. I don't like personal failure, because often that involves hurting someone, and I think I'd be psychopathic if that didn't bother me. Possibly I could try developing less of a grapsing/aversion like relationship with personal failure though.


It looks like you don't have javascript enabled. If it helps to convince you to enable it there is no third-party js on this site and no trackers except for google analytics that can be blocked with a browser addon. Thanks!
about
gitlab
report an issue
reset
twitter
contact
_____ _____ ____ _____ _____ _____ __ __ _____ _____ _____ _____ | | | \ | | | | _ | | | | | __| | | __| __| | --| | | | | | | --| | | |__| |__| __| | | | | | __| |_____|_|_|_|____/ |_____|__|__|__|__|_____|_____|_____|_|___|_____|_____|
sound
OFF
(press s to toggle)
^‿^
¯\_(ツ)_/¯
ʘ‿ʘ
♥‿♥
(◕‿◕)
( ͡° ͜ʖ ͡° )
~~
See
user submitted solutions
for this challenge
~~
Challenges
User Contributed Challenges


Your browser does not support the HTML5 canvas tag.
R min:
Stripes
G min:
Stripes
B min:
Stripes
R max:
G max:
B max:
Zoom in
Reset
Download current image
Make video
Your browser does not support HTML5 video.
Click image with left mouse button to center view.


{% extends '/entry.html' %} {% block entrybody scoped %} {% if entry.attached %}
see also: {% for attached in entry.attached %} {{attached.title}} {% endfor %}
{% endif %} {{ super() }} {% endblock %} {% block entrymore scoped %} {{ super() }} {% for attach in entry.attachments(order='title') %}Attachments of this entry via get_view:
What this entry is attached to via get_view:


{{- define "title" -}} home {{- end -}} {{- define "description" -}} JavaScript Package Inspector {{- end -}} {{- define "style" -}} {{- end -}} {{- define "body" -}}
Published packages don't always include a link to their source on GitHub.
The linked repository is not necessarily representative of published package.
Package root provides links to all available versions, and highlights the one tagged as latest
.
https://npmfs.com/<name> https://npmfs.com/package/<name>
When viewing a package on npm, it is conveniently accessible with a one-char edit to the page url.
https://www.npmjs.com/package/<name> https://www.npmfs.com/package/<name>
Specific package versions can be accessed directly.
https://npmfs.com/package/<name>/<version>
Directories and files inside the package are viewed by appending the path.
https://npmfs.com/package/<name>/<version>/<path> https://npmfs.com/package/<name>/<version>/example/ https://npmfs.com/package/<name>/<version>/example/index.js
Package diffs (version-0 .. version-1
) are viewed by navigating to the root directory of version-0
, clicking on the diff
link in the top right, and selecting version-1
in the version list.
https://npmfs.com/compare/<name>/<version-0>/<version-1>
In this compare view, line numbers are a shortcut to their respective file's source.
Deep links are found on the right side of lines in both the file and diff views. These links will add a hash to the url which scrolls the browser to the selected line, and highlights it.
https://npmfs.com/package/<name>/<version>/index.js#<line> https://npmfs.com/compare/<name>/<version-0>/<version-1>#<line>
More precise selections can be created by editing the URL's hash. These can link to line ranges and highlight specific substrings within a line.
The sticky header sections contain useful links to navigate between pages.


Java script Calculator
Don't divide any number by zero
Clear
0
9
8
7
+
6
5
4
-
3
2
1
*
0
.
=
/
Reset Universe?


Bootstrap Challenge Demo
Shields up! Rrrrred alert! I guess it's better to be lucky than good. We finished our first sensor sweep of the neutral zone. The look in your eyes, I recognize it.
I've had twelve years to think about it. And if I had it to do over again, I would have grabbed the phaser and pointed it at you instead of them.
Flair is what marks the difference between artistry and mere competence. Maybe if we felt any human loss as keenly as we feel one of those close to us, human history would be far less bloody
Flair is what marks the difference between artistry and mere competence
Flair is what marks the difference between artistry and mere competence
Flair is what marks the difference between artistry and mere competence
Flair is what marks the difference between artistry and mere competence


Vowpal Wabbit is a long-standing (since 2007!) open source project jointly developed by a broad community. Get involved by contributing code or documentation on GitHub. Ask a question on StackOverflow or chat with the development team and community on Gitter.


The ASCT+B Reporter combines two different types of Angular visualizations to form a tree visualization: A partonomy tree of anatomical structures interlinked via a bimodal network to cell types and biomarkers.
The ASCT+B Reporter also provides a list of the anatomical partonomy for a hierarchical view.
The ASCT+B Reporter computes various statistics of anatomical structures, cell types, and biomarker sets. Reports can be downloaded.
The Debug Log lists warnings and errors that occurred during data parsing and visualization creation—for individual organs and for all organs.
This features lets the user to compare their own data on Google Sheets with the Master Tables.
The Reporter is equipped with an efficient search functionality that allows the user to browser though hundreds of structure names, and highlight them via an autocomplete text field.
Properties like the height can be controlled and changed on the fly to make the visualization more cleaner and more receptive though the Visualization Control Panel.
The nodes in the bimodal networks can be size-coded by their number of links (in degree, out degree, and total degree). They can be sorted by node degree and alphabetically by node label.
The ASCT+B Reporter visualization can be saved out in PNG (Portable Network Graphics) and SVG (Scalable Vector Graphics File) format but also as Vega Specification.
Copyright © 2020, Cyberinfrastructure for Network Science Center, Indiana University


Unfortunately the system is not advanced enough to show you the exact error.
Most common causes are:
- You are missing a semi-colon after some line.
- You have written an incorrect signature, like 'void double method(){}'. It can return either void or double.


--- layout: default title: Borrow, Renew, Request ---
Keep your book, journal, or iPad a little longer.
If UCSF doesn't own an article, journal, or book that you need, you can request it for free.
Book Delivery Between Campuses
Document Express (fee-based)


{% extends "hint.html" %} {% block hint %}
The evil CTF cyborg overlords have taken control of Glennan. They've replaced the RFID scanners with password locks which change every 5 minutes. They've been communicating the passwords to eachother via beep noises.
The rebel forces have managed to take one of them down- you've hacked into their system and found the program they use to encode messages into the beeps.
To escape Glennan and help save the school, crack the current password!
require 'wavefile' include WaveFile #Ask CTF Overlords for flag value puts "Enter flag: " flag = gets.chomp() #Unpack ASCII to 8-digit binary #EG character "C" >> 01100011 flag_binary_string = flag.unpack("B*")[0] #Gonna put each single bit from ASCII char byte into array #EG "abc" will produce flag_samples = "011000010110001001100011" flag_samples = [] # split by each character so we can actually turn this into an array # flag_binary_string ="011000010110001001100011" # will produce flag_samples =[0,1,1,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,1] flag_binary_string.split("").each do |c| # Let's pick something we can hear- instead of 1's and 0's, # values will be 0.5 and -0.5. Don't ask why. Trust the science*. value = ((c.to_i)) - 0.5 flag_samples << value # Since this is a waveform, add negative value right after so # we can hear it! Even though we didn't encode this value! flag_samples << -1*value end puts flag_binary_string # specify a duration to repeat each binary value # so the .wav is long enough for us to hear.... duration = 1 buffer = Buffer.new(flag_samples, Format.new(:mono, :float, 44100)) Writer.new("flag.wav", Format.new(:mono, :pcm_16, 44100)) do |writer| # write to file value # again and again and again # the number of times we specified in duration variable duration.times { output = writer.write(buffer) } end # * or read about it: http://wavefilegem.com/getting_started.html{% endblock %}


Hi. In this post I’ll show how can get struct tag values in Golang. Firstly, very simple don’t be afraid.
Let’s start. Before starting, this post will show you reflection package’s a little part.
import (
"fmt"
"reflect"
"strconv"
)
Let’s suppose we have struct like this to create database columns. Our scenario is about ORM’s table generator:
// This table will generate automatically by our ORM. Just imagine it.
type Employee struct {
ID string `auto_increment:"true" increment:"1"`
Name string `varchar: "255"`
Surname string `"varchar: "255"`
}
Our model is ready. But we still can’t create database table. Because there are no code blocks :).
Okay, we understood what will we do now. We need to struct tags and their values. As you know we imported reflected package.
e := Employee{}
After that we’ll need reflection package. For example:
e := Employee{}
// c variable represents table columns
c := reflect.TypeOf(e).Field(0).Tag
As I said, c variable represents the database columns we will create. If we try to print c variable we’ll see this output:
fmt.Printf("%s\n\n", c)
//Output: auto_increment:"true" increment:"1"
Yes you know what’s the Field(0). Every struct field has index number in reflection package. We’ll call them by their numbers. That’s like arrays. Okay, we know our column has two properties. But we still don’t know how to parse struct tags? Don’t worry.
There are two ways to parse struct tags.
e := Employee{}
// c variable represents table columns
c := reflect.TypeOf(e).Field(0).Tag
//g variable represents get
g := c.Get("increment")
fmt.Printf("Get method: %s\n", g)
Above code will output this result: Get method: 1. That’s what we want. In some cases you will want to know tag is declared. For example tag isn’t declared you won’t get any error message or boolean result. If variable isn’t declared output will be empty. So, you can check like this:
if g == "" {
// blah blah
}
Okay. We know how to parse with Get method now. What about the other way?
Firstly you should need to know Lookup and Get are different methods. As I said the Get method does not give any error message or boolean result.
Lookup method is different. Because if variable isn’t declared in the struct you can get boolean result. How?
e := Employee{}
// c variable represents table columns
c := reflect.TypeOf(e).Field(0).Tag
//g variable represents get
g := c.Get("increment")
fmt.Printf("Get method: %s\n", g)
// val variable represents tag value, ok variable represents true / false
val, ok := c.Lookup("auto_increments") // ---> auto_increments isn't declared
fmt.Printf("Lookup method: %s - %s", val, strconv.FormatBool(ok))
Above code will show this output: Lookup method: - false That’s what we want. Again I’ll say, in some cases you will want to know tag is declared. This is the best way to control more efficiently. For example:
if !ok {
panic("Hey dude, the tag isn't there")
}
fmt.Printf("Lookup method: %s - %s", val, strconv.FormatBool(ok))
/*
auto_increment:"true" increment:"1"
Get method:
panic: Hey dude, the variable isn't there
goroutine 1 [running]:
main.main()
/tmp/sandbox622013167/main.go:25 +0x4a0
*/
You’re program won’t work because of the tag isn’t there. You don’t have to use panic. If your data is important you should use panic method to avoid errors.
That’s all I can tell.
Yorumlar


Recording for 5 min (accuracy: 2562 m)
Unamed track
✍
0
passengers
🚏
New stop
⚠
Incident
🛑
End track
New stop 🚏
×
Name
Up
previously ...
Down
Type:
Cancel
Save
Edit track info
×
Mode
bus
boat
tram
subway
Number
Origin
Destination
Network
Operator
Price
Frequency
Comment
Cancel
Save


apTreeshape: Analyses of Phylogenetic Treeshape
Simulation and analysis
of phylogenetic tree topologies using statistical indices. It
is a companion library of the 'ape' package. It provides
additional functions for reading, plotting, manipulating
phylogenetic trees. It also offers convenient web-access to
public databases, and enables testing null models of
macroevolution using corrected test statistics. Trees of class
"phylo" (from 'ape' package) can be converted easily.
Implements methods described in Bortolussi et al. (2005)
<doi:10.1093/bioinformatics/bti798> and Maliet et al. (2017)
<doi:10.1101/224295>.
| Version: |
1.5-0 |
| Depends: |
R (≥ 2.0.0), ape |
| Imports: |
quantreg, cubature, coda, pbapply |
| Published: |
2018-04-04 |
| Author: |
Nicolas Bortolussi, Michael Blum, Eric Durand, Olivier Francois, Odile Maliet |
| Maintainer: |
Michael Blum <michael.blum at univ-grenoble-alpes.fr> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: |
no |
| Materials: |
README |
| In views: |
Phylogenetics |
| CRAN checks: |
apTreeshape results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=apTreeshape
to link to this page.


  We have the best Barnes Paper Company Rebate anywhere. thesis_keywords: Barnes Paper Company, Barnes Paper Company Coupon Code, Barnes Paper Company Discount, Barnes Paper Company Rebate product_name: Barnes Paper Company hop_url: http://www.icouponblog.com/hop.php?id=2944 ---
Are you looking for the perfect box, bag and wrapping items? Will you be wrapping lots of presents for Christmas, a church event or birthday? Do you need the perfect gift bags, tissues, wrappers, ribbons and other gift wrapping accessories? You will love Barnes Paper Company products. They carry a large selection of bags, boxes and gift wrapping items ideal for parties, weddings and favors. Check them out online at www.barnespaper.com. Use our discount coupons to get the best deals.
www.barnespaper.com has a wide range of bags to choose from. You can find beautiful, attractive, practical bags in all materials, designs and colors. You can get bamboo shopping bags, garment bags, food service bags, jute bags, organza market bags and many other varieties of bags at a low affordable price. You can also find boxes for various needs and services. There are handy jewelry boxes, pop up apparel boxes, candy boxes, laminated gift card boxes and much more, check out www.barnespaper.com. You will love the quality, the creativity and the price.
For high quality gift wrapping paper and beautiful, unique designs in gift wraps, wrapping paper cutters and dispensers and for bows and ribbons and all beautiful accessories that will make your gift stand out and get positive attention, shop at www.barnespaper.com. Get great boxes and bags. All items are low priced, efficient, high quality and practical. You will love all Barnes Paper Products. Visit www.barnespaper.com and see for yourself. Use our discount coupons to save money on a great product


|
Earthquakemodels
Here is the official documentation for generating Earthquake Risk Models using Genetic Algorithms.
|
Functions | |
| def | evaluationFunction (individual, modelOmega, mean) |
| def | gaModel (NGEN, CXPB, MUTPB, modelOmega, year, region, mean, n_aval=50000) |
Variables | |
| toolbox = base.Toolbox() | |
| Fitness | |
| weights | |
| array | |
| typecode | |
| fitness | |
| pool = multiprocessing.Pool() | |
This GA code creates the gaModel
| def code.gaModel.gaModel_Yuri.evaluationFunction | ( | individual, | |
| modelOmega, | |||
| mean | |||
| ) |
This function calculates the loglikelihood of a model (individual) with the real data from the prior X years (modelOmega, with length X). It selects the smallest loglikelihood value.
Definition at line 18 of file gaModel_Yuri.py.
| def code.gaModel.gaModel_Yuri.gaModel | ( | NGEN, | |
| CXPB, | |||
| MUTPB, | |||
| modelOmega, | |||
| year, | |||
| region, | |||
| mean, | |||
n_aval = 50000 |
|||
| ) |
The main function. It evolves models, namely modelLamba or individual. It uses 1 parallel system: 1, simple, that splits the ga evolution between cores
Definition at line 44 of file gaModel_Yuri.py.
| code.gaModel.gaModel_Yuri.array |
Definition at line 40 of file gaModel_Yuri.py.
| code.gaModel.gaModel_Yuri.Fitness |
Definition at line 39 of file gaModel_Yuri.py.
| code.gaModel.gaModel_Yuri.fitness |
Definition at line 40 of file gaModel_Yuri.py.
| code.gaModel.gaModel_Yuri.pool = multiprocessing.Pool() |
Definition at line 41 of file gaModel_Yuri.py.
| code.gaModel.gaModel_Yuri.toolbox = base.Toolbox() |
Definition at line 38 of file gaModel_Yuri.py.
| code.gaModel.gaModel_Yuri.typecode |
Definition at line 40 of file gaModel_Yuri.py.
| code.gaModel.gaModel_Yuri.weights |
Definition at line 39 of file gaModel_Yuri.py.


My project was a car powered by the bluetooth DFrobot. I used the laser cutter to make the car's body. The axis and wheels were 3D printed. The DFrobot is an Arduino project so I downloaded the code into the Arduino program. Also, I downloaded the remote control app to control the car. Unfortunately, the car did not work. For some reason, the motor would not turn even though it showed that the motor should be turning on the computer. Despite this mishap, I am still determined to make it work and will look into what went wrong over the summer.
3D Printer
Laser engraver
Arduino BLE Romeo DFrobot
Hot Glue
Motor
Batteries
I spent multiple hours on this project, both working on it and making a plan for it.
Laser Engraver:
I learned sometimes things I make will not work out. I also feel much more comfortable with the process of arduino, laser cutting, CAD, and additive manufacturing.
Step 1: I decided what project I wanted to do: A car powered by Arduino.
Step 2: I laser printed a box to be the body of my car. I used Makercase (See Rotation 4) to make the box and then cut it out on the laser engraver.
Step 3: I 3D printed the wheels and Axles. I made the design using CAD. I used the program Fusion 360 to make the design, then I uploaded the stl file into makerbot. Next I printed it on the 3D printer.
Wheel File
Step 4: I coded the DFrobot. Unfortunately, even though the computer said it was working, the motor would not turn. Mr. Gerber and I tried changing the code, the motor, and the power source, but nothing worked.
Step 5: I put the car together. I glued the wheels to the axles and put the axis through the car body. Next I put the Arduino in the car body and the motor into the front wheel.


import com.sleepycat.db.*;public void set_mp_mmapsize(long mmapsize);
Files that are opened read-only in the pool (and that satisfy a few other criteria) are, by default, mapped into the process address space instead of being copied into the local cache. This can result in better-than-usual performance, as available virtual memory is normally much larger than the local cache, and page faults are faster than page copying on many systems. However, in the presence of limited virtual memory it can cause resource starvation, and in the presence of large databases, it can result in immense process sizes.
Set the maximum file size, in bytes, for a file to be mapped into the process address space. If no value is specified, it defaults to 10Mb.


Plotting¶
This will be a quick tutorial for plotting results from Anemoi. Plotting in Anemoi is based on the Plotly visualization library. If you haven’t used Plotly in Jupyter before you can go here for a tutorial on how to get setup the first time using Plotly.
Some users will wonder why Plotly was chosen as the default plotting library over the myriad of other Python visualization libraries available such as matplotlib, seaborn, bokeh, altair, and ggplot. While there are benefits to each of these and we expect consolidation in this space in the years to come, right now the authors think Plolty provides the cleanest interactive visuals for the least amount of overhead. Obviously, this can be debated. But given Plotly is built upon the very powerful and prolific D3.js library, it offers quite a few benefits. Including Mapbox maps and standalone exports to .html from Jupyter. If that doesn’t mean anything to you, just know Plotly was chosen to give us all access to beautiful plots (including maps) which are easy to package and distribute throughout our respective organizations.
Import initialization for plotting¶
1 2 3 4 5 6 7 8 9 | import anemoi as an
import plotly.plotly as py
import plotly.graph_objs as go
import plotly.offline as offline
offline.init_notebook_mode(connected=True)
from IPython.core.display import display, HTML
display(HTML("<style>.container { width:99% !important; }</style>"))
|
Introduction¶
Generally speaking, Plotly needs two Python dictionaries to create a figure: data and layout. Data describes your actual data, such as the frequencies in a wind rose or the wind speeds in a correlation, along with the formatting information for the data traces, like bar or scatter. Layout describes the general formatting of your plot like title, axes, background color, margins, and figure size.
To produce standardized plots from Anemoi results the template is as follows:
1 2 3 4 | # pseaudo code
analysis_results = an.analysis.shear.annual(mast)
results_figure = an.plotting.shear.annual_figure(analysis_results)
offline.iplot(results_figure)
|
There are a couple things I’d like to highlight before covering what is going on in the back ground. Firstly, returning analysis results will involve calling: an.analysis.analysis_library. Plotting those same results will involve calling the same analysis library from the plotting module: an.plotting.analysis_library. The shear analysis library is being used in the example above.
Behind the scenes, Anemoi is constructing both the data and layout dictionaries. The data describes the individual traces, such as:
1 2 3 4 5 6 | plot_data = [go.Scattergl(
x=data[ref_ws_col],
y=data[site_ws_col],
mode='markers',
name='data',
marker=dict(color=EDFBlue))]
|
The layout describes the general properties of the plot:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | plot_layout = dict(autosize=False,
width=600,
height=600,
font=dict(color='#CCCCCC'),
titlefont=dict(color='#CCCCCC', size='12'),
margin=dict(l=35,r=0,b=0,t=25),
hovermode="closest",
legend=dict(font=dict(size=10), orientation='h'),
title='Wind speed correlation',
xaxis=dict(title='Reference [m/s]',
rangemode='normal'),
yaxis=dict(title='Site [m/s]',
rangemode='normal')
)
|
The data and layout dictionaries are combined into a plotly figure and displayed in a Jupyter notebook using the following:
1 2 | fig = go.Figure(data=plot_data, layout=plot_layout)
offline.iplot(fig)
|
Formatting¶
EDF branding colors used:
1 2 3 4 5 6 7 8 | # Colors for plotting
EDFGreen = '#509E2F'
EDFLightGreen = '#C4D600'
EDFOrange = '#FE5815'
EDFLightOrange = '#FFA02F'
EDFBlue = '#001A70'
EDFLightBlue = '#005BBB'
EDFColors = [EDFGreen, EDFBlue, EDFOrange, EDFLightGreen, EDFLightBlue, EDFLightOrange]
|


Environment Variables (or Project Secrets) are present in the vast majority of software projects. Whether they be API Keys, Passwords, Tokens or other sensitive information; they should never be pushed to an unencrypted remote repository. That being said, all too often, this is not the case and sensitive information finds its way into unencrypted repos. 😬
This is a big problem, particularly when we start to think about CI/CD pipelines too. 🤔 However, fear not! In this blog post, we'll look at this problem in an Xcode specific context and how we can avoid sensitive information being checked into source control.
Our goal here is to pass the environment variables into our project at build time; and then for our build process to generate a .swift
file containing our secrets that can be used within the codebase. The solution has 3 main steps; Bash Script, Xcode Injection and Swift codegen. Lets look at each step in turn.
First let’s create a file named env-vars.sh
which contains the environment variables we need to use in our project. For example:
export EXAMPLE_API_KEY=ABCDEF123456
export EXAMPLE_PASSWORD=PASSWORD
Example env-vars file.
We’ll add this into the root directory of our Xcode project and also add it to our .gitignore
to avoid the file being committed to source control.
Once we’ve created our env-vars.sh
file, we need to make these variables available to Xcode and our Swift code. To do this, we’ll use a combination of build run scripts and a Swift codegen tool called Sourcery.
First, lets install Sourcery via CocoaPods. To do this, add pod 'Sourcery'
to your Podfile
before running pod install
to install the dependency. Once installed, we’ll head into Xcode and open the ‘Build Phases’ tab within our example app target. Here we’ll create a new ‘Run Script’ that will run each time our target builds.
(Note: This script must be added before the ‘Compile Sources’ script for reasons we’ll come to).
Adding a new run script into Build Phases
Below is the script used. Each time a new variable is added to our env-vars.sh
file; the script will need to be updated to parse out the variable.
if [ -f ./env-vars.sh ]
then
source ./env-vars.sh
fi
${PODS_ROOT}/Sourcery/bin/sourcery --templates ./Swift-Music/Helpers/ --output ./Swift-Music/Helpers/ --sources ./Swift-Music/ --args example_api_key=$EXAMPLE_API_KEY,example_password=$EXAMPLE_PASSWORD
Example run script.
In a nutshell, the script will source our env-vars.sh
file, parse out each environment variable before using Sourcery to do its magic and generate our Swift secrets file ✨.
You’ll notice our run script makes reference to a --templates
argument. This directory requires a .stencil
template file to be present which Sourcery will use to generate our .swift
file containing our environment variables. We’ll create and name this file APIConfig.stencil
so that APIConfig.generated.swift
is generated.
//
// APIConfig.swift
// Swift-Music
//
// Created by James Shaw on 21/08/2021.
// Copyright © 2021 James Shaw. All rights reserved.
//
import Foundation
import UIKit
public struct APIConfig {
static let apiKey = "{{ argument.example_api_key }}"
static let password = "{{ argument.example_password }}"
}
Example APIConfig.stencil file.
Now, build the project (⌘+B) once so that our APIConfig.generated.swift
file gets generated like the example below. 🚀
// Generated using Sourcery 0.15.0 — https://github.com/krzysztofzablocki/Sourcery
// DO NOT EDIT
//
// APIConfig.swift
// Swift-Music
//
// Created by James Shaw on 21/08/2021.
// Copyright © 2021 James Shaw. All rights reserved.
//
import Foundation
import UIKit
struct APIConfig {
static let apiKey = "ABCDEF123456"
static let password = "PASSWORD"
}
Example APIConfig.generated.swift file.
Sourcery will add the generated file into the directory passed as the --output
argument in our build script. Once we drag the file from Finder into our Xcode project, we’ll be able to access the variables from inside our source code. 🎉
...
let client = APIClient(key: APIConfig.apiKey)
...
Now given this file contains all our secrets, we’ll need to make sure it’s added to our .gitignore
too. The file will also need to be added to the ‘Compile Sources’ and this is the reason why our build script needs to run first. 👍🏻
PS: Please do make sure your .generated.swift
and env-vars.sh
files get added to your .gitignore
so your secrets don’t accidentally end up in your repo 😅.
So there we have it, a simple way to generate environment variables or project secrets in Xcode whilst keeping them out of source control. It's a really important tool and one that becomes even more powerful when building with a CI/CD pipeline. 🔁 Perhaps I'll cover this in a future blog post.
Thanks for reading my post! If you have any questions, feel free to contact me on Twitter @jsh8w.


--- title: tftools keywords: fastai sidebar: home_sidebar summary: "Functions for use with TensorFlow 2.x" ---
The functions below are based on the below sources. Please visit attached links for further understanding.:
random_crop
and central_crop
are usedSample:
# datapath = Path('path/to/data')
# train_aug = [rcrop, rflip]
# valid_aug = [crop]
# aug = (train_aug, valid_aug)
# train_ds = read_img_dataset(str(datapath/train/'*/*'), shuffle=1024, img_size=224, batch_size=32, n_parallel=4, augments=aug, mode='train')
# valid_ds = read_img_dataset(str(datapath/valid/'*/*'), img_size=224, batch_size=32, n_parallel=4, augments=aug, mode='valid')
# datapath = Path('path/to/data')
# all_files = get_all_files(datapath, recurse=True) # read from folder, can be list
# train_filepaths, tmp_filepaths = train_test_split(all_files, valid_pct=0.3, seed=42)
# valid_filepaths, test_filepaths = train_test_split(tmp_filepaths, valid_pct=0.5, seed=42)
# train_ds = read_img_dataset([str(x) for x in train_filepaths], shuffle_size=1024, img_size=IMG_SIZE, batch_size=BATCH_SIZE, n_parallel=4, augments=aug, mode='train')
# valid_ds = read_img_dataset([str(x) for x in valid_filepaths], img_size=IMG_SIZE, batch_size=BATCH_SIZE, n_parallel=4, augments=aug, mode='valid')
# test_ds = read_img_dataset([str(x) for x in test_filepaths], img_size=IMG_SIZE, batch_size=BATCH_SIZE, n_parallel=4, augments=aug, mode='test')
# plot_history(history)


About Me
Hello! My name is Yixian Huang. I am a first-year Ph.D. Student at the University of Texas at Austin (UT Austin).
I am focusing on
Learning Disabilities and Behavioral Disorders(LD/BD).
Before that, I studied
Educational & Counselling Psychology(ECP) at McGill Univeristy.
I am a quantitative researcher, and am interested in doing randomized controlled trial (RCT) and meta-analysis research.
Research Interests
My research interests center around language and literacy development in children, with attention to English learners and students with special needs. Specifically, I am focusing on developing evidence-based interventions and assessments for children with dyslexia and/or dyscalculia.
Projects & Publications
Find my projects on my Notion.so
Find my publications on my ResearchGate


Actions, resources, and condition keys for Amazon WorkDocs
Amazon WorkDocs (service prefix:
workdocs
) provides the following service-specific resources, actions, and condition context keys for use in IAM permission policies.
References:
-
Learn how to configure this service .
-
View a list of the API operations available for this service .
-
Learn how to secure this service and its resources by using IAM permission policies.
Topics
Actions defined by Amazon WorkDocs
You can specify the following actions in the
Action
element of an IAM policy statement. Use policies to grant permissions to perform an operation in AWS. When you use an action in a policy, you usually allow or deny access to the API operation or CLI command with the same name. However, in some cases, a single action controls access to more than one operation. Alternatively, some operations require several different actions.
The
Resource types
column of the Actions table indicates whether each action supports resource-level permissions. If there is no value for this column, you must specify all resources ("*") to which the policy applies in the
Resource
element of your policy statement. If the column includes a resource type, then you can specify an ARN of that type in a statement with that action. If the action has one or more required resources, the caller must have permission to use the action with those resources. Required resources are indicated in the table with an asterisk (*). If you limit resource access with the
Resource
element in an IAM policy, you must include an ARN or pattern for each required resource type. Some actions support multiple resource types. If the resource type is optional (not indicated as required), then you can choose to use one of the optional resource types.
The
Condition keys
column of the Actions table includes keys that you can specify in a policy statement's
Condition
element. For more information on the condition keys that are associated with resources for the service, see the
Condition keys
column of the Resource types table.
For details about the columns in the following table, see Actions table .
| Actions | Description | Access level | Resource types (*required) | Condition keys | Dependent actions |
|---|---|---|---|---|---|
| AbortDocumentVersionUpload | Grants permission to abort the upload of the specified document version that was previously initiated by InitiateDocumentVersionUpload | Write | |||
| ActivateUser | Grants permission to activate the specified user. Only active users can access Amazon WorkDocs | Write | |||
| AddNotificationPermissions [permission only] | Grants permission to add principals that are allowed to call notification subscription APIs for a given WorkDocs site | Write | |||
| AddResourcePermissions | Grants permission to create a set of permissions for the specified folder or document | Write | |||
| AddUserToGroup [permission only] | Grants permission to add a user to a group | Write | |||
| CheckAlias [permission only] | Grants permission to check an alias | Read | |||
| CreateComment | Grants permission to add a new comment to the specified document version | Write | |||
| CreateCustomMetadata | Grants permission to add one or more custom properties to the specified resource | Write | |||
| CreateFolder | Grants permission to create a folder with the specified name and parent folder | Write | |||
| CreateInstance [permission only] | Grants permission to create an instance | Write | |||
| CreateLabels | Grants permission to add labels to the given resource | Write | |||
| CreateNotificationSubscription | Grants permission to configure WorkDocs to use Amazon SNS notifications | Write | |||
| CreateUser | Grants permission to create a user in a Simple AD or Microsoft AD directory | Write | |||
| DeactivateUser | Grants permission to deactivate the specified user, which revokes the user's access to Amazon WorkDocs | Write | |||
| DeleteComment | Grants permission to delete the specified comment from the document version | Write | |||
| DeleteCustomMetadata | Grants permission to delete custom metadata from the specified resource | Write | |||
| DeleteDocument | Grants permission to permanently delete the specified document and its associated metadata | Write | |||
| DeleteDocumentVersion | Grants permission to delete versions of a specified document | Write | |||
| DeleteFolder | Grants permission to permanently delete the specified folder and its contents | Write | |||
| DeleteFolderContents | Grants permission to delete the contents of the specified folder | Write | |||
| DeleteInstance [permission only] | Grants permission to delete an instance | Write | |||
| DeleteLabels | Grants permission to delete one or more labels from a resource | Write | |||
| DeleteNotificationPermissions [permission only] | Grants permission to delete principals that are allowed to call notification subscription APIs for a given WorkDocs site | Write | |||
| DeleteNotificationSubscription | Grants permission to delete the specified subscription from the specified organization | Write | |||
| DeleteUser | Grants permission to delete the specified user from a Simple AD or Microsoft AD directory | Write | |||
| DeregisterDirectory [permission only] | Grants permission to deregister a directory | Write | |||
| DescribeActivities | Grants permission to fetch user activities in a specified time period | List | |||
| DescribeAvailableDirectories [permission only] | Grants permission to describe available directories | List | |||
| DescribeComments | Grants permission to list all the comments for the specified document version | List | |||
| DescribeDocumentVersions | Grants permission to retrieve the document versions for the specified document | List | |||
| DescribeFolderContents | Grants permission to describe the contents of the specified folder, including its documents and sub-folders | List | |||
| DescribeGroups | Grants permission to describe the user groups | List | |||
| DescribeInstances [permission only] | Grants permission to describe instances | List | |||
| DescribeNotificationPermissions [permission only] | Grants permission to describe principals that are allowed to call notification subscription APIs for a given WorkDocs site | List | |||
| DescribeNotificationSubscriptions | Grants permission to list the specified notification subscriptions | List | |||
| DescribeResourcePermissions | Grants permission to view a description of a specified resource's permissions | List | |||
| DescribeRootFolders | Grants permission to describe the root folders | List | |||
| DescribeUsers | Grants permission to view a description of the specified users. You can describe all users or filter the results (for example, by status or organization) | List | |||
| DownloadDocumentVersion [permission only] | Grants permission to download a specified document version | Read | |||
| GetCurrentUser | Grants permission to retrieve the details of the current user | Read | |||
| GetDocument | Grants permission to retrieve the specified document object | Read | |||
| GetDocumentPath | Grants permission to retrieve the path information (the hierarchy from the root folder) for the requested document | Read | |||
| GetDocumentVersion | Grants permission to retrieve version metadata for the specified document | Read | |||
| GetFolder | Grants permission to retrieve the metadata of the specified folder | Read | |||
| GetFolderPath | Grants permission to retrieve the path information (the hierarchy from the root folder) for the specified folder | Read | |||
| GetGroup [permission only] | Grants permission to retrieve details for the specified group | Read | |||
| GetResources | Grants permission to get a collection of resources | Read | |||
| InitiateDocumentVersionUpload | Grants permission to create a new document object and version object | Write | |||
| RegisterDirectory [permission only] | Grants permission to register a directory | Write | |||
| RemoveAllResourcePermissions | Grants permission to remove all the permissions from the specified resource | Write | |||
| RemoveResourcePermission | Grants permission to remove the permission for the specified principal from the specified resource | Write | |||
| RestoreDocumentVersions | Grants permission to restore versions of a specified document | Write | |||
| SearchResources | Grants permission to search metadata and the content of resources | List | |||
| UpdateDocument | Grants permission to update the specified attributes of the specified document | Write | |||
| UpdateDocumentVersion | Grants permission to change the status of the document version to ACTIVE | Write | |||
| UpdateFolder | Grants permission to update the specified attributes of the specified folder | Write | |||
| UpdateInstanceAlias [permission only] | Grants permission to update an instance alias | Write | |||
| UpdateUser | Grants permission to update the specified attributes of the specified user, and grants or revokes administrative privileges to the Amazon WorkDocs site | Write |
Resource types defined by Amazon WorkDocs
Amazon WorkDocs does not support specifying a resource ARN in the
Resource
element of an IAM policy statement. To allow access to Amazon WorkDocs, specify
"Resource": "*"
in your policy.
Condition keys for Amazon WorkDocs
WorkDocs has no service-specific context keys that can be used in the
Condition
element of policy statements. For the list of the global context keys that are available to all services, see
Available keys for conditions
.


| Search type: | ||
|---|---|---|
| | ||
| Single Entry | Multiple Entry | |
|
Event Name
Defaults to today Defaults to "2099-12-31" Stop after times RESET will re-enable both End date and Frequency text box Recur Every Starting from |
|
Enter one row in each line. Following parameters are supported:
|
|
|


Brightness, most simply, is how light or dark an image is. An image can range from pure black (0 brightness) to pure white (full, or 255 brightness) and everything in between.
Each pixel has an RGB value between (0, 0, 0) and (255, 255, 255). Each pixel's brightness is an average of its RGB components: (red + green + blue)/3. For example, red (255, 0, 0) has a brightness value of (255+0+0)/3 = 85.
A one-dimensional (ie. grey-level) pixel (having just one value), has a brightness equal to its value. For example, each of the values on the greyscale below has the brightness value of itself. You can also think of this as a "brightness" scale, if you average each of the RGB triples into a singular-valued brightness value:
0 (the absense of light) is the darkest possible value. 255 is the maximum amount of light. In a greyscale example, 0 is black, 255 is white, and the numbers in between are varying shades of grey.
Light intensity ranges from 0-255
Intensity values range between 0 and 255 for a total of 256 possible values. Why 256? Pixel information is stored in bits. 8 bits = 1 byte. One byte can represent 2^8=256 options. If we allot 1 byte to red, green and blue we end up with 3 byes or 24-bits of storage. This is what is referred to as 24-bit color.
Change the value of all values and you slide up and down the scale. Change the value of only one compnent, however, and you deviate from the grey scale into the RGB color space.
Click on the greyscale above to expand more information on pixel values.
The brightness of an entire image is the average of each of its pixels' brightness. The human brain does this sort of averaging when it views an image. If most of the pixels are dark, the image is read as dark. If most of the pixels are bright, the image is read as bright. A desirable brightness level tends to be right in the middle, as image information is lost if an image is too dark or too light. However, a wide range of brightness levels is also desired for proper image exposure(this is known as contrast)
The histogram plots each of the image pixel brightness values in order to glean an overall "birds-eye" view of image exposure. Because pixel values range from 0-255, there are 256 "bins" within the histogram along the x-axis. Each of the lines is as tall as the number of pixel values that fall into the bin. For example, if there are 200 pixels with brightness 50, the line at 50 will be 200 units tall. The taller the line for a bin, the more pixels in that brightness value. An underexposed image will have most of its values concentrated on the left of the histogram. This is also called a low-key image. A bright or overexposed image will have most of its values at the right side of the histogram. This is also called a high-key image. Ideally, a properly exposed image will span all of the values of the histogram, 0-255, with a bell curve distribution.
As an image becomes darker through brightness manipulation, all of its brightness values shift to the left of the histogram, because pixel intensity is being subtracted from it in a linear fashion. As an image becomes brighter, all of the values shift right on the histogram, as pixel intensity is being added linearly. For example, if you have a bright value of +50, 50 gets added to every pixel in the image. Brightness is therefore a linear operation.
Brightness is also known as pixel intensity or light intensity, because it relates physically back to the amount and strength of light that was captured by the camera sensor. A white pixel (value 255 out of 255) is analagous to a sensor reading of full light strength. A black pixel (value 0 out of 255) is analagous to a sensor reading of zero light strength.


Two-player local multiplayer competitive action game made in 48 hours with five friends.
For most of us this was our first time making a game in the Godot game engine, and we were interested in how easy it would be to learn. We all agreed by the end that it is much easier to learn than other widely-used engines in 2019 and is a worthy choice for game jams, primarily due to its simplicity and speed.
Download the game here: electric-jammers.itch.io/slappin-stackers


Twilio Client iOS Frequently Asked Questions
How do I Handle Multi-Threading?
How do I Set up Backgrounding?
How do I Build an App?
The Twilio Client iOS library works with iOS 6 and higher, and has been tested on iOS 6, 7 and 8.
If you are using CocoaPods, please include the TwilioSDK PodSpec in your Podfile. CocoaPods sets up header and library files and includes necessary frameworks in your project.
If you do not use CocoaPods, please follow the steps below to setup your project:
- Add the static libraries (files ending in
.a
) in theLibraries/
folder to your project. - Add the
Headers/
folder to "Header Search Paths" in your target's Build Settings. - Add the following iOS SDK frameworks to your project:
- AudioToolbox.framework
- AVFoundation.framework
- CFNetwork.framework
- SystemConfiguration.framework
- Add
-ObjC
to "Other Linker Flags" in your target's Build Settings.
You will also need to configure "Audio and AirPlay" and "Voice over IP" background flags for your application. See How do I Set up Backgrounding? for more information.
Optionally, if you are using the sound resources provided by the Twilio
Client library, add the contents of Resources/
to the Resources of your project.
The Twilio Client package requires and includes
OpenSSL static libraries that you must add to
your project. We currently ship pre-built versions of OpenSSL 1.0.1k
for you to use. If you require a modified or newer version of OpenSSL
that you build yourself, you may substitute your own copies of
libcrypto.a
and libssl.a
. However, using an older version
(especially from the obsolete 0.9.8 or 1.0.0 series) is unlikely to
work properly and is unsupported.
For convenience, the libTwilioClient.a
library, as well as the
OpenSSL libraries, are universal binaries containing code for the
following processor architectures:
- i386 (for iOS Simulator)
- x86_64 (for iOS Simulator)
- armv7
- armv7s
- arm64
iOS devices that use a processor that only supports the older armv6 architecture are not supported, including the following:
- Original iPhone
- iPhone 3G
- iPod Touch 1st generation
- iPod Touch 2nd generation
Note that some older (but supported) devices, such as the iPhone 3GS and iPod Touch 3rd generation, may struggle to perform well given the CPU-intensive audio processing performed during calls.
How do I Handle Multi-Threading?
Much of the work in Twilio Client iOS SDK is performed in background threads. This includes callbacks to Twilio Client delegate objects. You should ensure that you are on the main thread when performing any UI updates in response to a Twilio Client delegate callback.
For example, if one of your objects implements the TCConnectionDelegate
protocol and you have a view which should update in response to the
-(void)connectionDidDisconnect:(TCConnection*)connection
method, you
should write code similar to the following:
-(void)connectionDidDisconnect:(TCConnection*)connection { // add code to update necessary model objects or other state // ... // finally, update the view's UI, being sure to do so on the main thread [myView performSelectorOnMainThread:@selector(syncUI:) withObject:param waitUntilDone:NO]; }
The internal architecture of Twilio Client for iOS makes use of an asynchronous queuing system to route the heavy lifting of API calls onto a background thread managed by the library. This helps ensure that API calls made from the main thread will not cause UI stuttering, and it also allows you to invoke the Twilio Client API from any thread in your application.
How do I Set up Backgrounding?
You want to ensure that the proper iOS flags (audio
, voip
) are
set for your application plist key "UIBackgroundModes" if your
application supports backgrounding. Please, note that the HelloMonkey-Info.plist
file has the following entries in the Quickstart project:
<key>UIBackgroundModes</key> <array> <string>audio</string> <string>voip</string> </array>
In Xcode 6, you can set this in your application target by navigating to the "Capabilities" pane and under "Background Modes" and checking "Audio and AirPlay" and "Voice over IP".
When TCDevice
is initialized with incoming connection capability,
the Twilio Client iOS SDK uses setKeepAliveTimeout:handler:
to
maintain its registration to Twilio's servers. You are therefore unable
to use setKeepAliveTimeout:handler:
in your application code as this
would interfere with the SDK's background behavior.
For more information on backgrounding apps, including how to present notifications for incoming calls when your app is in background, see "Scheduling Local Notifications" in Local and Remote Notification Programming Guide.
How do I Configure Sounds?
Twilio Client comes with optional audio files for various connection
events including an outgoing connection sound, an incoming connection
sound, a disconnected sound, and tones for the
-[TCConnection sendDigits:(NSString*)digits]
API.
If these resources are included in your project (see How do I Build an App?),
they will be automatically invoked by Twilio Client
library at appropriate times during a connection's life-cycle unless
you have overridden the relevant sound property on TCDevice
.
If no other connections are pending or in-progress, the incoming connection sound will be played in a loop through the device's primary speaker as long as the Core Audio route description for output is either the speaker or receiver (the built-in speaker you hold to your ear when you make a call; not all iOS devices have a receiver), otherwise the sound will be played through the current output audio route (e.g. headphones, Bluetooth accessory, etc.).
Once a connection is in-progress, the first of any additional incoming connections will trigger the sound once through the current output audio route.
All other sounds will be played through the current output audio route.
For more information about audio routes, please see Audio Session Programming Guide.
If you need more advanced control over playback of sounds, you may
provide audio resources with alternate names (and/or disable the sounds
using the relevant properties on TCDevice
) and manage playback using
your own classes.


| Package | system.i18n.gettext |
|---|---|
| Inheritance | abstract class CGettextFile » CComponent |
| Subclasses | CGettextMoFile, CGettextPoFile |
| Since | 1.0 |
| Version | $Id$ |
| Source Code | framework/i18n/gettext/CGettextFile.php |
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | CComponent |
| __get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
| __isset() | Checks if a property value is null. | CComponent |
| __set() | Sets value of a component property. | CComponent |
| __unset() | Sets a component property to be null. | CComponent |
| asa() | Returns the named behavior object. | CComponent |
| attachBehavior() | Attaches a behavior to this component. | CComponent |
| attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
| attachEventHandler() | Attaches an event handler to an event. | CComponent |
| canGetProperty() | Determines whether a property can be read. | CComponent |
| canSetProperty() | Determines whether a property can be set. | CComponent |
| detachBehavior() | Detaches a behavior from the component. | CComponent |
| detachBehaviors() | Detaches all behaviors from the component. | CComponent |
| detachEventHandler() | Detaches an existing event handler. | CComponent |
| disableBehavior() | Disables an attached behavior. | CComponent |
| disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
| enableBehavior() | Enables an attached behavior. | CComponent |
| enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
| getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
| hasEvent() | Determines whether an event is defined. | CComponent |
| hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
| hasProperty() | Determines whether a property is defined. | CComponent |
| load() | Loads messages from a file. | CGettextFile |
| raiseEvent() | Raises an event. | CComponent |
| save() | Saves messages to a file. | CGettextFile |
|
abstract public array load(string $file, string $context)
| ||
| $file | string | file path |
| $context | string | message context |
| {return} | array | message translations (source message => translated message) |
abstract public function load($file,$context);
Loads messages from a file.
|
abstract public void save(string $file, array $messages)
| ||
| $file | string | file path |
| $messages | array | message translations (message id => translated message). Note if the message has a context, the message id must be prefixed with the context with chr(4) as the separator. |
abstract public function save($file,$messages);
Saves messages to a file.


Tiny
Small
Minor
Normal
Major
Big unclickable
Huge Active
Giant Primary Loading
Divine Disabled
Combinations
Button
Hover
Active
Primary theme
Primary loading
Primary loading
Disabled
Disabled loading
Unstyled
Unstyled primary
Unstyled primary disabled


The Initialize method is called to set up your strategy. Here you can request data, set starting cash, or warm up periods. It is called just once at the start of your algorithm.


Appearance
His body color is purple. The shape of its body is close to round, but there are several flaws. The muzzle vaguely resembles a cat's. On the crown there are sharp ears, and along the perimeter of the body there are something like spikes. He has very large eyes and a lot of small but sharp teeth in his mouth. His hands are not attached to his body; they fly near him. Each hand has 3 fingers. Pokemon moves by levitation.


{% extends "home/home_base.html" %} {% block howto_active %}active{% endblock %} {% block home_content %}
First time? Try it in TEST MODE
To play, transfer a small bitcoin amount ($10 - $30) to the following address. Once the transaction is confirmed, type your wallet number in home page.


I am a third year Ph.D student at School of Automation, Northwestern Polytechnical University (NWPU). My supervisor is Prof. Junwei Han. Since Oct. 2015, I have been working with Dong Huang and Fernando de la Torre as a visiting PHD student at the Human Sensing Laboratory in Carnegie Mellon University (CMU), which is directed by Prof. Fernando de la Torre.
I am mainly interested in developing effective computer vision algorithms that are inspired by the human vison and human learning procedure. Currently, I am working on developing weakly supervised learning systems for computer vision tasks like object detection, segmentation, 3D shape reconstruction. I also work on computational visual attention modeling and its application in computer vision tasks like remote sensing imagery analysis and video content analysis.
2 papers are accepted by CVPR 2017.
2 papers are accepted by IJCAI 2017.
2 papers are accepted by T-IP.
1 paper is accepted by T-PAMI.
1 paper is accpeted by IJCV.
| Teaser | Title | Link |
|---|---|---|
| Longfei Han, Dingwen Zhang, Dong Huang, Xiaojun Chang. Self-paced Mixture of Regression. IJCAI, 2017. | [pdf] |
2016: The Innovative and Entrepreneurship Scholarship of the Chinese Ministry of Industry and Information Technology
2016: “Bao Gang” Excellent Student Award
2016: The “postgraduate pacesetter” of Northwestern Polytechnical University
2016: The postgraduate “Academic Star” of Northwestern Polytechnical University
2016: National Scholarship (rank 1st out of 35 students)
2016: MSRA Fellowship Nomination Award
2016: Doctoral Consortium travel award of IJCAI
2015: National Scholarship (rank 1st out of 35 students)
2015: the Excellent Doctorate Foundation of Northwestern Polytechnical University
2014: the Doctorate Foundation of Northwestern Polytechnical University
2014: National Scholarship (rank 2nd out of 35 students)
2014: Outstanding prize for Graduate Students Entrepreneurial Seed Funding in Northwestern Polytechnical University
2013: National Scholarship (rank 3rd out of 263 students)
2012: Undergraduate thesis award in Shaanxi province (major of Automation)
2012: Excellent graduate student in the university (30 winners out of 317 students)
2011: Excellent Student in the university (top 10%)
IEEE Transactions on Neural Networks and Learning Systems (T-NNLS); IEEE Transactions on Circuits and Systems for Video Technology (T-CSVT); IEEE Transactions on Image Processing (T-IP); IEEE Transactions on Cybernetics (T-CYB); IEEE Signal Processing Letters (SPL); Neurocomputing (ELSEVIER); Machine Vision and Applications (Springer); Signal Processing: Image Communication (ELSEVIER); Automation in Construction (ELSEVIER); Journal of Electronic Imaging (SPIE)


To prevent the website visit the file arbitrarily, the html5 standard demands that file read must be interacted with the user. The method is that before read the file, the user must fill a form which demands the user select a file. The browser can only access the file which user has selected.


Memento is a company that was created in the year 2015 when the current partners found a gap
in the photography industry. The gap came about from the fact that clients looking for
photographers found a hard time finding their dream photographer. Well,this is where
Memento jumped in to help. We came up with a company that connects clients to their dream
photographer for any single event available and the price rates for each photographer for
each event to save time when looking for photographers and discussing and bargaining prices.
We believe that our company is for every single one of you. Do not worry about the prices
because, let's be honest, by the end of the day we want satisafactory work but the money
also has it's role to play hence we have the best photographers in the country offering
great services at affordable and various prices.
We as the memento fraternity try everyday to live by our mission which is we capture
your moments from today as we create memories for a lifetime.


Module: Basecamp3::Concerns::Recordingable
- Included in:
- Basecamp3::Comment, Document, Forward, Message, ScheduleEntry, Todo, TodoList
- Defined in:
- lib/basecamp3/concerns/recordingable.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
5 6 7 |
# File 'lib/basecamp3/concerns/recordingable.rb', line 5 def self.included(base) base.extend(ClassMethods) end |


Gateway
BOT
07-Dec-18 10:36 PM
[dscrdeql] <Jellysmash> @AndronicusBass varies a lot
[dscrdeql] <AndronicusBass-Founder> True. And people don't check Twitter. I was thinking of making a channel with updates but we have too many channels. Maybe we just direct people to check out Twitter and link them to it, then to feel free to ask if they have any questions. People seem to forget we are a different coin project to most, and building is what gives us more strength and given the setbacks earlier this year, we are still working our asses off and not even paying ourselves, in fact we are working to put in to equaliser. Most people are only speculative in crypto which is natural however many also don't understand the projects or the tech they hold.
[dscrdeql] <Jellysmash> Last week I've been listening to 1980s music...tears for fears...rule the world
[dscrdeql] <Jellysmash> @AndronicusBass true that
[dscrdeql] <Jellysmash> But investors are predominantly crypto investors, and they have expectations such as exchanges, coin market cap, master node rewards, etc....that's where the initial money will come from, so gotta play the game.
[dscrdeql] <AndronicusBass-Founder> Rome wasn't built in a day and projects take a little time to build momentum, it's a marathon not a sprint. Scammy shit coins are sprints with fancy marketing and anonymous teams.
[dscrdeql] <AndronicusBass-Founder> Lol
[dscrdeql] <Jellysmash> Haha..Yea
[dscrdeql] <Jellysmash> Current potential investors are mostly crypto, when crypto markets turns to bull market then it's gonna be crazy
[dscrdeql] <Jellysmash> Just gotta keep chugging along till then
[dscrdeql] <Jellysmash> Keep our exchanges going with min volume to keep the listing
[dscrdeql] <AndronicusBass-Founder> If I were to go back, I would have recommended we list on small exchanges and build up from that, problem with listing on well known exchanges is volume has to be kept up or risk delisting. If so, we will just list on smaller exchanges and keep building up in the market
[dscrdeql] <Jellysmash> That's very important. Without exchanges you'd be lucky to get even 10% of potential investors
[dscrdeql] <Jellysmash> @AndronicusBass what's the min volume required for stex? Can we simply buy and sell to ourselves to keep volume up?
[dscrdeql] <AndronicusBass-Founder> I'm not sure, cowboy knows all that stuff. I've never been a trader, I belive in blockchain tech and HODL for long, I am grateful have extreme patience, think I learned it with computers in the 486 and Pentium 1 days as a kid lol
[dscrdeql] <AndronicusBass-Founder> I could sit and stare at a loading screen the entire time, maybe a placid soul has a bit to do with it
[dscrdeql] <Jellysmash> maybe we should create a second stex account now and buy and sell to ourselves then to create some volume...depending on what fees are charged


No more wondering if a tip is split or not. Tipsease explains exactly where your money is going.
Once you send a tip the receiving party has it in their account immediately. No more waiting until payday.
Yes, no fees. We will never charge anyone a fee who uses Tipsease.


Status: Proposal ERROR accepted 12/91Issue: ASSERT-ERROR-TYPE
Forum: Cleanup
References: ASSERT (Condition System, Revision #18, p27)
Category: CHANGE
Edit history: 15-Mar-91, Version 1 by Pitman
Problem Description:
The condition system proposal says that ASSERT signals SIMPLE-ERROR
if the datum is omitted. This unnecessarily restricts an
implementation's options.
Proposal (ASSERT-ERROR-TYPE:ERROR):
Define that if the datum is omitted, ASSERT signals ERROR.
Test Case:
(HANDLER-CASE (HANDLER-CASE (ASSERT NIL) (SIMPLE-ERROR 1)) (ERROR 2))
Under Conditions System revision #18, this must return 1.
Under proposal ASSERT-ERROR-TYPE:ERROR, this might return either 1 or 2.
Rationale:
This leaves an implementation free to experiment with error types
specific to assertions. Since the user is free to specify whatever
type he needs, he can always work around any implementation-specific
type in any way he wants.
Current Practice:
In Symbolics Genera 8.1, the test case returns 1.
Cost to Implementors:
None. (Since SIMPLE-ERROR is a subtype of ERROR, no change is forced.
This just adds flexibility to implementations which want to do this
differently.
Cost to Users:
Little or none. There are probably very few people who are
specifically doing HANDLER-CASE for SIMPLE-ERROR with the intent
of specifically catching ASSERT.
Cost of Non-Adoption:
Implementations have their hands tied unnecessarily.
Benefits:
Aesthetics. Implementation flexibility.
Aesthetics:
Makes language more consistent in that this was the only place where
SIMPLE-ERROR was forced in a situation where the user wasn't supplying
a format string.
Discussion:
This issue was raised by Barrett several meetings ago, but was never
formally written up.
Pitman supports this.


{% extends 'sitewide/site.html' %} {% block nav %}
View Reports | Admin
Admin Bonds
Summary of Brokers and Bonds Create Bonds, Brokers (using Admin) Transfer Funds, Add Transaction, Add Fee


Performance Requirements
This test category is intended to test the performance and capacity requirements for the rtnv app.
PERF-010 - rtnv meets its time and capacity requirements


Reports the code that seems to use a wrong encoding.
Possible indications of issues:
Non-ASCII characters in identifiers, literals, and comments, for example, int поле = 0
Several alphabets mixed in a single identifier, for example, void printСообщение()
Unicode symbols in comments and literals, for example, →
or —
Files containing BOM


Apollo has average exposure in developing selenium scripts using IDE (Eclipse) and on Mobile app and automation using perfecto. Next to this, he has started learning and contributing to front-end development to emerge as a Full-stack developer (Testing and Development). With respect to Manual Testing - he has involved in activities like Test Planning, Test design Preparation and Review, Test Case Execution, Test Closure reports and coordinating with the Onshore leads.


Below is a recipe to make Pizza.
for 16 servings
1.2 ½ cups warm water (600 mL)
2.1 teaspoon sugar.
3.2 teaspoons active dry yeast.
4.7 cups all-purpose flour (875 g), plus more for dusting.
5.6 tablespoons extra virgin olive oil, plus more for greasing
1 ½ teaspoons kosher salt
¼ cup semolina flour (30 g)
28 oz canned whole tomatoes (795 g)
1 tablespoon kosher salt.
fresh basil leaf
TASTY’S BIANCA
extra virgin olive oil
ricotta cheese
fresh basil pesto
dried oregano
“Bloom” the yeast by sprinkling the sugar and yeast in the warm water. Let sit for 10 minutes, until bubbles form on the surface.
In a large bowl, combine the flour and salt. Make a well in the middle and add the olive oil and bloomed yeast mixture. Using a spoon, mix until a shaggy dough begins to form.
Once the flour is mostly hydrated, turn the dough out onto a clean work surface and knead for 10-15 minutes. The dough should be soft, smooth, and bouncy. Form the dough into a taut round.
Grease a clean, large bowl with olive oil and place the dough inside, turning to coat with the oil. Cover with plastic wrap. Let rise for at least an hour, or up to 24 hours.
Punch down the dough and turn it out onto a lightly floured work surface. Knead for another minute or so, then cut into 4 equal portions and shape into rounds.
Lightly flour the dough, then cover with a kitchen towel and let rest for another 30 minutes to an hour while you prepare the sauce and any other ingredients.
Preheat the oven as high as your oven will allow, between 450-500˚F (230-260˚C). Place a pizza stone, heavy baking sheet (turn upside down so the surface is flat), or cast iron skillet in the oven.
Meanwhile, make the tomato sauce: Add the salt to the can of tomatoes and puree with an immersion blender, or transfer to a blender or food processor, and puree until smooth.
Once the dough has rested, take a portion and start by poking the surface with your fingertips, until bubbles form and do not deflate.
Then, stretch and press the dough into a thin round. Make it thinner than you think it should be, as it will slightly shrink and puff up during baking.
Sprinkle semolina onto an upside down baking sheet and place the stretched crust onto it. Add the sauce and ingredients of your choice.
Slide the pizza onto the preheated pizza stone or pan. Bake for 15 minutes, or until the crust and cheese are golden brown.
Add any garnish of your preference.
Nutrition Calories: 1691 Fat: 65 grams Carbs: 211 grams Fiber: 12 grams Sugars: 60 grams Protein: 65 grams
Enjoy!


Step 2
Find a Meeting Time
Meeting Duration
hours
minutes
Generate meeting times
Manually
Using Google Calendar
Next


Brave dad catches paedophile released by mistake then takes victory selfie
Graham Lamb was on the bus in Hull when he noticed a familiar face getting on - after checking on his phone he felt confident enough it was wanted paedophile Valerijs Gordijis to make a citizen arrest
by Milo Boyd, Michael Mutch, https://www.mirror.co.uk/authors/milo-boyd/A man detained a convicted paedophile who was released from prison by mistake after spotting his wanted notice on Facebook .
Graham Lamb was sitting on a bus when he clocked a familiar figure boarding the vehicle.
After checking the Hull Live website on his phone, the 45-year-old felt certain it was Valerijs Gordijis - a convicted paedophile wrongly released just the day before.
“He got on and I thought 'it can’t be',” said Mr Lamb.

“I was checking Facebook and it popped up saying convicted paedophile was out of prison, and he was right in front of me on the bus.
“I kept looking at him and he kept looking at me. I brought up his picture on my phone and that was when I realised it was the same guy.”
Gordijis had been serving a sentence at HMP Hull for sexual offences against children.
On Tuesday morning police issued an appeal for the 46-year-old after he was released by accident.
Realising he was in the pervert's presence, Mr Lamb decided he could not let him go free.
Mr Lamb said: “I said to the bus driver it was him and that she needed to stop the bus so I could ring the police.
“I showed her the picture and he looked at the phone and tried getting off the bus so I went after him. He tried to avoid me so I said ‘stay there’ and I rang the police.
“I was ready to grab him and pin him down but I did not need to. He was only a small guy and would not have put up much of a fight.
“As soon as I said 'stay there' he had a worried look on his face. He had the same scar above his left eye. I knew it was him.”
As luck would have it there was a police car parked nearby.
"As soon as the bus pulled away there was a police car right next to it so I flagged it down," the dad continued.

The Ministry of Justice confirmed that Gordijs was released by mistake : "Valerijs Gordijs was released in error from HMP Hull yesterday but has since been recaptured.
“Releases in error are very rare but we take them extremely seriously and working closely with police to bring offenders back into custody quickly.
A Humberside Police spokesman added: "Following our media appeal, Valerijs Gordijis was located on Hessle Road this morning. He was arrested and will be returned to prison.
"We want to thank everyone who shared our appeal."


BetterTLS is a collection of test suites for TLS clients. At the moment, two test suites have been implemented. One tests a client's validation of the Name Constraints certificate extension. This extension is placed on CA certificates which restrict the DNS/IP space for which the CA (or sub-CAs) can issue certificates. The other test suite evaluates a TLS client's ability to discover a valid certificate path (a certificate "chain") from an unordered collection of certificates.
The BetterTLS project was originally created to ensure that we could create a name-constrained CA that could not be abused. We were only able to gain this confidence by evaluating whether clients (such as popular web browsers) were correctly handling the name constraints extension.
We later added an additional test suite for certificate path building because of the recurring pains we experienced during transitions in the web PKI ecosystem, such as intermediate CA expiry and signature algorithm deprecation. The goal is to help TLS implementations identify and verify changes that could alleviate these pain points and to help application developers pick TLS implementations that won't break during these transitions.
This project is inspired in part by badssl.com. In a similar vein, we want to highlight some of the issues and difficulties we've found with HTTPS/TLS implementations so that they can be corrected. By doing so, we hope to make TLS better for everyone.
BetterTLS is open source software. We encourage you to help add more tests, fix any issues you find in the existing test suites, or even fork it for use in your own software project. Pull requests are welcome!


--- layout: post title: P4 Runtime date: 2017-10-02 author: P4.org permalink: p4-runtime/ header-img: assets/p4-background.png ---
P4 Runtime is a silicon-independent and protocol-independent API that can be autogenerated from an unambiguous definition of a packet processing pipeline in P4. P4 Runtime API can be used for local or remote control plane applications.
P4 Runtime is a project under P4.org's API working group. For more details on P4 Runtime please see the blog post penned by the API working group chairs Lorenzo Vicisano and Antonin Bas here. The P4.org API working group's charter can be found here.
We have a version of P4 Runtime designed and implemented for the P4 Runtime
Below are a few helpful resources for you to learn more about P4 Runtime.
P4 Runtime presentation by Google at P4 Workshop 2017
Initial draft specification for P4 Runtime
Compiler with P4 Runtime support
P4 Runtime: Putting the Control Plane in Charge of the Forwarding Plane
We've made significant progress but there is more to be done. You can get involved by joining P4.org and then be joining API working group activities in one or more of the following ways.
Join the API working group's mailing list<EMAIL_ADDRESS>to join the community of engineers working on P4 Runtime. To subscribe, visit http://lists.p4.org/mailman/listinfo/p4-api_lists.p4.org You can check out the public archive of the mailing list here.
Join the API working group meetings - stay tuned for the announcement for next meeting date on<EMAIL_ADDRESS>mailing list.


--- layout: post status: publish published: true title: The Importance of testing backups author: display_name: neil login: neil email<EMAIL_ADDRESS>url: '' author_login: neil author_email<EMAIL_ADDRESS>categories: - Infrastructure tags: [backups,DR] comments: true ---
Another incidence of a tired admin fixing an outage to cause a bigger outage isn't news as such, however I have to hand it to gitlab with their open honesty about this weeks incident.
After a spam storm created serious (4GB) replication lag on the firms postgresql database cluster, to fix the replication a very very tired on-call team-member then deleted the data folder on the active rather than the replicating server.
The full incident is documented here
I embrace the honesty that they have shown as this enables the whole community to learn from this and offer better services to our clients. This is very much the message in Black Box Thinking by Matthew Syed. Matthew describes the difference between closed cultures where mistakes are hidden vs an open hostest culture where mistakes are open and much learning and prevention occurs as a result.
As shown by the support on Twitter the DevOps and cloud reliability engineers agree.
Lessons so far? Test your backups, you never know when you will really need them.
With my ethos about servers being disposible, I love destroying and rebuilding servers, to prove in any Disaster Recovery situation, the service can be restored. This relies on well designed recovery processes and code, keeping the focus away from avoiding failure, to focus on embracing failure and reducing the mean time to recovery.


--- title: QuTiP Historical Benchmarks: Qobj Matmul --- {% include header.html %} {% include navbar.html %}


Josh Kerr
Startups + Gadgets + Geekery
RSS
Blog
About
Featured
Archives
Feb 3
rd
, 2011
Automating the Creation of Posts in Jekyll
Feb 1
st
, 2011
Apple Purposely Adds Bugs to iOS Releases
Jan 31
st
, 2011
Bullet Train Offers Desktop Keyboard With Form Factor of Notebook
Jan 31
st
, 2011
Zosh Gets a Shout-out in the Wall Street Journal
Jan 31
st
, 2011
Yes, This Is My First Post.
Jan 30
th
, 2011
Sushi Ran in San Francisco Is Amazing
Jan 28
th
, 2011
Best Peel-out Ever
Jan 28
th
, 2011
Tooth Decay by PFFR
Jan 28
th
, 2011
Taco Bell, Real Beef or Not, Damage Is Done
Jan 24
th
, 2011
Best Peel-out EVER.
Jan 23
rd
, 2011
Twitter, Did You Just Change Your Icon Again?
Jan 23
rd
, 2011
Twitter, Did You Just Change Your Icon Again?
Jan 23
rd
, 2011
See You Latr Tumblr
Jan 23
rd
, 2011
Your Exchange Server Doesn’t Have Imap? No Problem.
Jan 13
th
, 2011
Women Everywhere Are Offended by This
Jan 13
th
, 2011
Lucy the Cat Is 39 Years Old. (Oldest Ever.)
Jan 7
th
, 2011
The Funniest Website EVER
Dec 31
st
, 2010
My First Tweet Ever.
Dec 31
st
, 2010
Fantastic Business Card
Dec 29
th
, 2010
Second Largest Fish Tank in the World
← Older
Blog Archives
Newer →


---
layout: page
header-img: "img/mcgill_univ_winter.gif"
---
Yuankai Wu
Ph.D. / Postdoc
Github
Google Scholar
Website
Yuankai Wu received his Ph.D. degree in vehicle operation engineering from Beijing Institute of Technology, Beijing, China, in Jun. 2019. He was a visiting PhD student with Department of Civil and Environmental Engineering, University of Wisconsin-Madison, from Nov. 2016 to Dec. 2017. During this time, he was doing research on connected & automated vehicles. His research has focused on various machine learning technologies, e.g., tensor decomposition, graph neural networks, deep reinforcement learning, with the aim to facilitate the applications on intelligent transportation systems.
Research Interests
- Spatiotemporal Data Modeling
- Data-driven Transportation System Control
- Connected & Automated Vehicle
Selected Publications
- Wu Y, Tan H, Qin L, et al. A hybrid deep learning based traffic flow prediction method and its understanding[J]. Transportation Research Part C: Emerging Technologies, 90, 166-180
- Wu Y, Zhuang D, Labbe A, et al. Inductive graph neural networks for spatiotemporal kriging[J]. arXiv preprint arXiv:2006.07527, 2020.
- Wu Y, Tan H, Li Y, et al. A fused CP factorization method for incomplete tensors[J]. IEEE transactions on neural networks and learning systems, 2018, 30(3): 751-764.
- Wu Y, Tan H, Peng J, et al. Deep reinforcement learning of energy management with continuous control strategy and traffic information for a series-parallel plug-in hybrid electric bus[J]. Applied energy, 2019, 247: 454-466.
- Wu Y, Tan H, Qin L, et al. Differential variable speed limits control for freeway recurrent bottlenecks via deep actor-critic algorithm[J]. Transportation research part C: emerging technologies, 2020, 117: 102649.


A transformation that batches ragged elements into tf.SparseTensor
s.
tf.compat.v1.data.experimental.dense_to_sparse_batch
tf.compat.v2.data.experimental.dense_to_sparse_batch
tf.data.experimental.dense_to_sparse_batch( batch_size, row_shape )
Like Dataset.padded_batch()
, this transformation combines multiple
consecutive elements of the dataset, which might have different
shapes, into a single element. The resulting element has three
components (indices
, values
, and dense_shape
), which
comprise a tf.SparseTensor
that represents the same data. The
row_shape
represents the dense shape of each row in the
resulting tf.SparseTensor
, to which the effective batch size is
prepended. For example:
# NOTE: The following examples use `{ ... }` to represent the # contents of a dataset. a = { ['a', 'b', 'c'], ['a', 'b'], ['a', 'b', 'c', 'd'] } a.apply(tf.data.experimental.dense_to_sparse_batch( batch_size=2, row_shape=[6])) == { ([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1]], # indices ['a', 'b', 'c', 'a', 'b'], # values [2, 6]), # dense_shape ([[0, 0], [0, 1], [0, 2], [0, 3]], ['a', 'b', 'c', 'd'], [1, 6]) }
batch_size
: A tf.int64
scalar tf.Tensor
, representing the number of
consecutive elements of this dataset to combine in a single batch.row_shape
: A tf.TensorShape
or tf.int64
vector tensor-like object
representing the equivalent dense shape of a row in the resulting
tf.SparseTensor
. Each element of this dataset must have the same rank as
row_shape
, and must have size less than or equal to row_shape
in each
dimension.A Dataset
transformation function, which can be passed to
tf.data.Dataset.apply
.


News
-
November 6, 2014
REVAMP project added.
-
September 3, 2014
VA GitHub Page Goes Live.
-
July 15, 2014
VistA Tops EHRs Overall.
-
July 11, 2014
VA Seeking Improved Collection of Eye, Ear Information; You Can Help!
OSS Project List
-
Alert Watch And Respond Engine (AWARE)
-
Chemotherapy Ordering Management System (COMS)
-
GI Bill Comparison Tool
-
Hazardous Pharmaceuticals
-
Maternity Tracker
-
Mental Health e-Screening
-
Mobile Distance Hearing Aid Application (Phonak)
-
OpenInfoButton
-
OSEHRA VistA (VistA 3)
-
Otovation GSI Interface
-
Pressure Ulcer
-
Radiology Protocol Tool Recorder (RAPTOR)
-
Remote Veteran Apnea Management Platform
-
TBI Toolbox
-
Veteran Appointment Notification System (VANS)
-
VistA Evolution (VistA 4)
-
VistA Immunization Project
Welcome to the VA GitHub page
The US Department of Veterans Affairs is committed to collaboratively working with the open source community to develop better software applications, tools, and services in support of Veterans. This page provides information on some of our most important projects as well as an index to all VA source code repositories available on GitHub.
VistA 3: Current VistA
OSEHRA VistA
This Open Source Electronic Healthcare Record Alliance (OSEHRA) product is based upon FOIA VistA and contains additional enhancements and improvements from the open source community. The code here is continuously monitored and utilized by a wide range of community members using software quality testing methods and agile software development practices. This is the primary code repository to use for working with both the VA and the open source community.
FOIA VistA
This repository contains VA VistA as released under the Freedom of Information Act (FOIA), and certified by OSEHRA for use by the Open Source community.
VistA Immunization Project
This repository contains source code and documentation for the collaboration between VA and OSEHRA community developers to enhance the Immunization module of the Patient Care Encounter package.
GI Bill Comparison Tool
This is a web application for veterans to calculate their educational benefits and research approved programs. The tool makes it easier for Veterans, Servicemembers, and dependents to calculate their Post-9/11 GI Bill benefits and learn more about VA’s approved colleges, universities and other education and training programs across the country.
VistA 4: VistA Evolution
VistA 4 Planning Documents
Here you will find a repository containing VistA Evolution planning documents.
VistA NOVO
The goal of this project is to allow developers to use and contribute to VistA capabilities using mainstream architectural approaches and modern programming languages. Here you will find test and demonstration code for the VistA Novo SDK.
VA Center for Innovation Projects
AWARE: Alert Watch and Respond Engine
An automated tool enabling clinicians, supervisors, and administrations to monitor and track alert responses in CPRS.
COMS: Chemotherapy Ordering Management System
A web-based application providing oncology teams with ordering, preparation, and documentation of chemotherapy.
REVAMP: Remote Veteran Apnea Management Platform
A personalized, interactive web application designed to improve management of Veterans with obstructive sleep apnea (OSA).


Preparation time
30 mins to 1 hour
Cooking time
10 to 30 mins
Serves
Serves 8
An authentic seafood and chicken paella that boasts some of Spain’s finest ingredients, from calasparra rice to chorizo.
Each serving provides 660kcal, 51g protein, 65g carbohydrate (of which 5g sugars), 20g fat (of which 6g saturates), 3.5g fibre and 2.1g salt.
Heat half the olive oil in a paella dish or heavy-based saucepan. Add the chorizo and pancetta and fry until crisp. Add the garlic, onion and pepper and heat until softened. Add the thyme, chilli flakes and calasparra rice, and stir until all the grains of rice are nicely coated and glossy.
Now place the clams into the dish with the join facing down so that the edges open outwards. Sprinkle in the peas and chopped tomatoes and continue to cook gently for another 10 minutes.
Meanwhile, heat the remaining oil with the garlic cloves in a separate pan and add the prawns. Fry quickly for a minute or two then add them to the paella. Now do the same with the squid and add them to the paella too.
Scatter the chopped parsley over the paella and serve immediately.


Germany 4-0 Belarus: Qualification clinched in comfortable home win
by FSA EditorToni Kroos scored twice but Matthias Ginter and Manuel Neuer were unlikely Germany heroes against Belarus as they qualified for Euro 2020.
Germany qualified for Euro 2020 with an ultimately comfortable 4-0 win over Belarus following Toni Kroos’ brace at Borussia Park.
Needing Northern Ireland to fail to beat Netherlands in order to secure their place at the finals with victory on Saturday, Joachim Low’s men initially struggled to hold up their end of the bargain.
Indeed, Germany laboured for 41 minutes until Matthias Ginter belatedly netted and teed up a second-half stroll.
Leon Goretzka swept in the second, Kroos added the third and then a brilliant fourth, while Group C rivals Northern Ireland were held, setting celebrations in motion in Monchengladbach.
Germany were quickly on top and Aleksandr Gutor had to be alert to react to a deflected Ginter drive, smartly turning the ball around the post.
But the wayward hosts then toiled and an unmarked Timo Werner miscued a header in the centre of goal with the 20th attempt of the first half.
Manuel Neuer was required to bail out his wasteful colleagues, springing to his left to deny Igor Stasevich before blocking from Denis Laptev on the follow-up.
That scare shocked Germany into action, and Ginter’s deft flick from a low Serge Gnabry cross deceived Gutor for the opener.
Ginter had a role to play in the second shortly after the restart, too, dummying Kroos’ corner for Goretzka to pick out the bottom-left corner.
Gutor dived low to keep out Werner’s latest effort but was helpless as Kroos sidefooted inside the right-hand post from 20 yards, assisted by Ginter.
There was time for further Neuer heroics, however, as the Bayern Munich star saved Stasevich’s penalty after a clumsy foul on Pavel Nekhajchik from Robin Koch.
Kroos would have the final say, controlling on the turn inside the area, dummying into space and sliding in a low finish for number four.
What does it mean? Work to do – despite the scoreline
It is mission accomplished for Germany, with their place at Euro 2020 clinched. But this is far from a vintage German side and, if they are to be contenders at the finals, improvement is needed from an outfit that struggled early on against relative minnows Belarus, who were also able to cause the 2014 world champions problems going the other way.
Neuer proves his worth
There has been plenty of discussion of late of the goalkeeping role for Germany, with Neuer competing with Barcelona’s Marc-Andre ter Stegen. While there have been some difficult outings in the past 18 months, this was one of Neuer’s better evenings.
His double-stop at 0-0 from Stasevich and Laptev kept the hosts on track after a frustrating first 40 minutes. The penalty save then preserved a deserved clean sheet.
Wasteful Werner’s woes
Werner will be grateful to both Neuer and Ginter, as he should have broken the deadlock before they both crucially intervened. An awful attempted header with the goal gaping summed up an underwhelming display from Germany’s star attacker. Such misses at Euro 2020 will likely be far more costly.
What’s next?
Germany host Northern Ireland on Tuesday in a match that now means little to either side. Belarus are into the play-offs but have appeared for the final time in this group, instead playing Montenegro in a friendly next week.