--- layout: post title: EEE PC starts to look intresting as well tags: - EEE PC - Work Practices status: publish type: post published: true meta: _edit_last: '451289' --- DailyTech - ASUS Shows Off 8.9" Eee PC 900
ASUS Shows Off 8.9" Eee PC 900I considered the EEE PC some time ago and decided that it was not really for me because of storage and screen limitations. However the new 900 has a 1024x600 display and 12Gb flash drive. With USB ports for mouse & keyboard and a monitor port plus storage expansion via SD and USB could this become a serious machine?


This theme will look great on any device, no matter the size!
Featuring the latest build of the new Bootstrap 6 framework!
Ready to use with your own content, or customize the source files!


Design overall architecture of the web application, maintain quality and ensure responsiveness of application. Develop a front end with tools such as graphQL, ReactJS, HTML, CSS Create functioning backend with SQl server and RESTful APIs such as Plaid & Stripes.
Key Accomplishments: Proposed, designed overall application structure with detailed documentation and UI/UX models to ensure efficient product cycle
Support and assist students at UC Davis Extension learning web development best practices with a variety of technologies which include but are not limited to HTML5, CSS3, JavaScript, jQuery, Bootstrap, Express.js, ReactJS, Node.js, Database Theory, MongoDB, MySQL, Command Line, Git and Java. Substitutes and fill the role as instructor team for multiple on-going full stack development classes.
Design, develop, troubleshoot, and debug mission-critical software source code using modern software development languages and tools, such as java. Participate in the full software development lifecycle, working within broadly defined parameters. Use MERN stack, Stash-Git/Subversion development operations, collaboration, and source control tools.
Deliver to Company the deliverables, designs, modules, software, products, documentation and other materials specified in the Statement of Work. Review, recommend the direction of the software product, and comprehensively stress-test the product for its efficiency and productivity in the first-hand point of view.
Mobile-First, Responsive Design
Create interactive and functional code
Efficient Workflow
Modify and Improve existing design
I mustache you a question...
Apart from being a web developer, I enjoy calm and quiet outdoors. During the warmer months here in Sacramento, I enjoy hiking and fishing. When I am indoors, I love playing online games. In my book, fun and competitive is a same word; acheivement after a difficult challenge bring the best joy. Not only a video game, but works are the same. I enjoy challenging most difficult codes and learn new Technologies to achieve better me everyday.
▸ Built with React/ react-create-app.
▸ As a user, click each 12 cards once to complete the game. Cards shuffles upon clicking them.
▸ Mysql handlebars node highlight--Fully built backend & frontend app
▸ As a user, create an account, sumbmit information, and app will automatically build resume for you.
▸ combination of express, node & path highlight.
▸ Emphasizes on keeping specific file structures.
▸ a compatibility-based "FriendFinder" application -- basically a dating app.
▸ A new React-based Google Books Search app. This app utilize React lifecycle methods to query and display books based on user searches. As a user, you can save books to review or save them for later.
▸ built using jQuery& Javascript, HTML5, CSS3, googlefont, Awesomefont, giphy API, Gmail API, firebase, d3.org, choreography.js, popper.js and honeycomb.js
▸ Simple JavaScript showcase
▸ As a user, guess the random number within limited try.
▸ Amazon Firebase/JavaScript multiplayer web game.
▸ multiplayer rock | paper | scissor game.
▸ combination of node.js and constructor highlight.
▸ Emphasizes on keeping codes shallow.


Hi! I'm Wesley.
I am a Web Developer. I create things, talk, take photos, work and sometimes write.
I love New York, JavaScript, IPAs and TV.
Some of my past projects happened on Booking.com, Scup, Univision, MTV, among others.
You can find me online, via e-mail or wandering around Brooklyn.


Toggle navigation
Consultant
Dashboard
Welcome, CrossTab
Logout
View Job Posting
View Candidate Status
Logout
Submit Candidate Additional Details
Web Developer - Noida, India
Preference
Regular/Temporary
Select
1
2
3
Full/Part-Time
Select
1
2
3
Pre-Screening Questionnaire
Are you at least 18 years of age?
Yes
No
Are you authorized to work for any employer in the “Enter Country”?
Yes
No
Will you require future visa sponsorship to continue working in the “Enter Country”?
Yes
No
Please indicate your highest completed level of education?
High School (Diploma, DEP, GED, or Equivalent)
2 Year College/University Degree (Associate’s Degree, Diploma, etc)
3 Year Technical Degree
Bachelor’s Degree
Master’s Degree
MBA
PhD
MD, DO, MBBS, or similar medical degree
PharmD
JD
Other
Please select any of the following certifications that you have (Check all that apply)
Finance Certification (CPA, CA, CMA, or related)
Six Sigma Green Belt
Six Sigma Black Belt
PMP
HR Certification (PHR, SPHR, CCP, CPLC, CRIA, or related)
CPM
CPSM
HVAC
IBFR
RAC
APICS
Order of Engineers
Order for Chemists
Association for Microbiology
Other
None of the Above
Please indicate your total years of professional work experience?
Up to 1 year
1 year but less than 3 years
3 years but less than 5 years
5 years but less than 10 years
10 years but less than 15 years
15 years or more
Please select the days you are available to work (Check all that apply)
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Please select the shifts you are available to work (Check all that apply)
Day Shift
Afternoon Shift
Evening/Night Shift
Weekend Day Shift
Weekend Evening Shift
Weekend Swing Shift (6pm-6am Fri, Sat, Sun) *Spokane, WA Only*
Any Shift
Please select all of the following programs in which you have experience (Check all that apply)
MS Word
MS Excel
MS PowerPoint
MS Access
SAP or Similar ERP system
Payroll Systems (ADP, Ceridian, etc)
Auto CAD
Salesforce
Applicant Tracking Systems
HR Information Systems
Other
None of the Above
Please select all of the following locations where you are able to commute or be willing to relocate to:
Montreal, QC, Canada
Salisbury, MD, United States
Spokane, WA, United States
Yardley, PA, United States
Orlando, FL, United States
India locations
Other
Other Information
How did you hear about the job?
Career Portal
Sub Source
Career Portal
Friend
Internet
Newspaper
Television
Others
Last Day of Employment:
Are you a former employee?
Yes
No
Are you willing to relocate?
Yes
No
Have you ever been interviewed by Jubilant?
Yes
No
Notice Period
Specify your Notice Period
Immediate
Less than 15 days
15-30 days
30-60 days
60-90 days
More than 90 days
Describe your professional background in one line
Privacy Agreement
Gender
Select
Male
Female
Transgender
Date of Birth
Ethnicity
Select
Asian
American
Afro American
Veteran Status
Select
1
2
3
Disability Status
Select
1
2
3
Success
Thanks for contacting us, we will get back to you shortly.
Success
Thanks for contacting us, we will get back to you shortly.


Many companies can`t afford an extensive set of consulting services. Therefore our company`s departments also provide free consultations for individual entrepreneurs and owners of small businesses and start-ups.
RETINA READY
Now you can enjoy razor sharp text, vibrant colors and crisp images ...
UNLIMITED COLORS
Includes powerful color pickers to change color throughout the ...
MULTIPLE LAYOUTS
Theme has multiple layouts namely left sidebar, right sidebar, no sidebar ...
RESPONSIVE DESIGN
Theme is Responsive. Optimized to adapt any screen size ...


Course Outline of DSP
Video and Text(ppt)
chapter2 Discrete time signals and system
chapter2 Discrete time signals and system
chapter3 Discrete Fourier transform
chapter4 discrete system transformation domain analysis
chapters Signal sampling and reconstruction
Interactive animation for learning
Signal transmission in life
understandingof sampling theory
Formulas derivation
Properties and dertvation ofZ change


| Student Id | UPRC | Student Name | Student Address | Student Phone | Student Sex | Student Bdate | Student Department | Student Major |
|---|---|---|---|---|---|---|---|---|
| {{ row.sID }} | {{ row.sUPRC }} | {{ row.sName }} | {{ row.sAddress }} | {{ row.sPhoneNumber }} | {{ row.sSex }} | {{ row.sBDate }} | {{ row.sDepartment }} | {{ row.sMajor }} |


Name: Dustin Nguyen
Email<EMAIL_ADDRESS>Skills
Hello! I am currently a mobile app devleoper at Falkon Technologies. I build mobile apps, implement new features or updates, and find solutions for bugs.
I'm in the process of becoming Microsoft Certified Solutions Associate: Web Applications and Microsoft Certified Solutions Associate: App Builder certifited.
Have an app idea? Need a bussiness solution for a mobile app? Get in touch!


Sylvanian Families Petite Little Bear Family
The original Petites were the first "small mold" bears!
UK Biography Information
Father Patrick Petite spends all his time in the attic gazing through his telescope at the stars at night, dreaming of all the extra-terrestrial Sylvanians in other worlds.
Mother Margaret Petite known to her friends as Meg, thinks that Patrick gets too carried away with his stargazing. She much prefers the mystery of astrology to astronomy.
Brother Piers Petite wants to be an astronaut when he grows up and is always designing and building new toy rockets.
Sister Andromeda Petite enjoys both her parents' hobbies. She always reads her horoscope written by her mother in the local newspaper.


📌 Notes:
-
You can interact with the current instance directly in the CONSOLE.
-
All the inputs above are being evaluated using
eval
to allow all data types like
object
, array
, number
, etc.
example:
4
is evaluated as number
, to pass string use '4'
.
Empty input is equal to undefined
.
For errors please check console because eval
can and will fail.
-
All the outputs/values above are being visualized using
JSON.stringify
, and may not be 100% accurate, as JSON
is only a
subset of JavaScript.
example:
JSON.stringify(null)
produces "null"
JSON.stringify(Infinity)
produces "null"
JSON.stringify(NaN)
also produces "null"


Generate Random Art With The 1 Monkey App
Embrace Randomness
Find Meaning
psst... want to know the secrets of 1 Monkey?
Check this out.


---
layout: post
title: 2/18 schoolwork
date: '2014-02-18T22:19:00.000-07:00'
author: Jacob .
tags:
- homeschool-journal
modified_time: '2014-02-18T22:19:35.006-07:00'
blogger_id: tag:blogger.com,1999:blog-6400085873105072120.post-4930356596733367829
blogger_orig_url: http://www.svlark.com/2014/02/218-schoolwork.html
---
History


<script type="text/javascript" src="/abc/js/angular.js"></script>
AngularJS extends HTML attributes with Directives, and binds data to HTML with Expressions.
Learn more on AngularJS from https://docs.angularjs.org/tutorial/step_00
Learn to build an application using Angular.js http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro
Youtube video on AngularJS : https://www.youtube.com/embed/i9MHigUZKEM


Xavier Rubio Jansana
A framework is a collection of...
In both cases, manual integration
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
$ gem install cocoapods --user-install
$ pod init
$ pod install
$ pod update
$ pod outdated
platform :ios, '9.0'
target 'MyApp' do
use_frameworks!
pod 'Alamofire', '~> 4.5.0'
target 'MyAppTests' do
inherit! :search_paths
end
end
MAJOR.MINOR.PATCH
semver.org0.1
> 0.1
>= 0.1
< 0.1
<= 0.1
~> 0.1.2
~> 0.1
$ pod spec create Lipsum
Specification created at Lipsum.podspec
$
Pod::Spec.new do |s|
s.name = "Lipsum"
s.version = "0.0.1"
s.summary = "Simple Lorem Ipsum generator framework example."
s.description = <<-DESC
Simple Lorem Ipsum generator to support the talk Swify Framework Development for
pragmatic developers.
DESC
s.homepage = "http://xrubio.com/talks"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = "Xavier Rubio Jansana"
s.social_media_url = "http://twitter.com/teknik_tdr"
s.platform = :ios, "9.0"
s.source = { :git => "https://github.com/xrubioj/swifty-framework-Lipsum.git",
:tag => "#{s.version}" }
s.source_files = "Lipsum", "Lipsum/**/*.{h,m,swift}"
end
platform :ios, '9.0'
target 'SampleLipsumApp' do
use_frameworks!
pod 'Lipsum', :path => '../Lipsum'
#target 'SampleLipsumAppTests' do
# inherit! :search_paths
#end
end
$ pod install
Analyzing dependencies
Fetching podspec for `Lipsum` from `../Lipsum`
Downloading dependencies
Installing Lipsum (0.0.1)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use
`SampleLipsumApp.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the
Podfile and 1 total pod installed.
$ open SampleLipsumApp.xcworkspace
public
pod update
not neededecho "4.0" > .swift-version
pod lib lint
pod trunk push Lipsum.podspec
--allow-warnings
pod lib lint
pod trunk push Lipsum.podspec
--allow-warnings
pod repo add private-repo https://github.com/xrubioj/swifty-framework-private-repo.git
pod repo push private-repo Lipsum.podspec
source
platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/xrubioj/swifty-framework-private-repo.git'
target 'SampleLipsumApp' do
use_frameworks!
pod 'Lipsum', '~> 0.0.1'
#target 'SampleLipsumAppTests' do
# inherit! :search_paths
#end
end
Xavier Rubio Jansana
@teknik_tdr
https://xrubio.com
https://github.com/xrubioj/
This talk is available at:
https://xrubio.com/talks/talk-swifty-frameworks/


8 Get synonyms of all accepted taxa
In this chapter we retrieve all synonyms of the taxa in the unified checklist. Together with the accepted names, such a list allows to search for non-native scientific names in e.g. occurrence databases.
8.1 Get unified taxa
Read
data/interim/taxa_unified.csv
.Define columns of interest.
Select/rename columns of interest.
8.2 Find synonyms
Retrieve all synonyms (from the GBIF Backbone Taxonomy) of the taxa in our list. Synonym taxa won’t return results, but are fine to leave in the list. Note: this step can take few minutes.
Select columns of interest in synonyms.
Merge input taxa with their synonyms.
Save as CSV.


{% extends 'layout.html' %} {% block layout-content %}
There are currently no active contests for {{ object }}.
{% else %}Go to Active Tests to join a contest. {% if num_active == 1 %} There is currently 1 active contest for {{ object }}. {% else %} There are currently {{ num_active }} active contests for {{ object }}. {% endif %}
{% endif %}


meta(name="viewport" content="width=device-width, initial-scale=1")
Students will explore relationships between the areas of circles and squares, as functions of radius and side, respectively. In addition, students will attempt to use Plato's rules of geometric construction to construct a square with exact area equal to a given circle. The main goal of this lesson are that students will become familiar with Plato's rules of construction and explore one of the most impossible problems of antiquity.
This lesson is suitable for a high school introductory Geometry course.
G.10 The student will investigate and solve practical problems involving circles, using properties of angles, arcs, chords, tangents, and secants. Problems will include finding arc length and the area of a sector, and may be drawn from applications of architecture, art, and construction.
G.14 The student will a) use proportional reasoning to solve practical problems, given similar geometric objects; and b) determine how changes in one dimension of an object affect area and/or volume of the object.
What does it mean to square a circle? Well, think about this: if you are given a circle with a specific area, try to construct a square with the same exact area using only these rules of construction (specified by Plato):
Is it possible to square the circle? Check out this web applet to try it!
In addition to the web applet, I would include more in-depth activities for the lesson. The applet is superficial and students may become bored easily after a short amount of time. I would like to either include more lesson problems with Squaring The Circle, or introduce all three major problems of antiquity in one class period. The other two problems of antiquity are Trisecting The Angle and Doubling The Cube.
This lesson utilizes an online Internet applet and it introduces students to state-of-the-art technology. Students will be aware that there is a multitude of tools used for instruction these days, not limited to textbooks and worksheets.
Although this lesson is a fun and interesting activity, it is short and superficial. Try to incorporate more activities in the classroom alongside this lesson.


CONGO A film review by<EMAIL_ADDRESS>Copyright 1995<EMAIL_ADDRESS>NO STARS
To put it succinctly, this movie was a piece of utter trash. If you did or did not read the book, you will certainly find it utterly disappointing. The plot is extremely *weak*, and the whole main idea from the book was *completely* changed. The book was about finding special diamonds for use in the super-computer industry, which would set the finder five years ahead of the competition, while the movie seemed to concern itself with finding the diamonds for use with some dumb laser, a totally *stupid* idea, and also with the bonds of father-son love, which has been totally overdone. They really might have had something if they had stuck with the book.
Another MAJOR black eye for this movie was its so called "special effects." The gorillas (especially amy) looked more like dogs than Gorillas, or maybe just people in suits. Also, some genius over at the production company thought it would be cool if this gorilla could talk using virtual reality gloves which interpret sign language into a voice (a really dumb one, I might add).
Some idiot also decided that the gorillas would be better if they just beat up their victims rather than smashing their heads in with a couple of stone bats. Now, that would have made the movie *almost* worth watching if there was some good blood and gore. Another fault in the movie was the ease with which the characters found the city of Zinj. It seemed that they just bumped into it, while in the book *major* research was done to find where the probable location of the city would be. This made the book more believable, and the movie totally unbelievable!
Finally, seeing CONGO was probably the low point of last week.
Conclusion: Save yourself six bucks on this one, and don't go see it.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


| Home | Libraries | People | FAQ | More |
The library uses either Libre Office API or Microsoft Office API as the underlaying API to provide an easy interface to manipulate Spreadsheets. For example we can open a spreadsheet document and export it to PDF format like this.
boost::document d("file_path"); d.open_document(); d.export_document(boost::document_file_format::PDF); d.close_document();
We can perform other simple operations to the document like this, See the Reference of document header file.
A document needs to be opened first to manipulate it. It may or may not be closed explicitly as the destruction automatically triggers a close if it is open. However, closing and reopening causes buggy behaviour right now and thus should be avoided. The interface is designed to accomodate all the differences between the API's and thus uniform behaviour can be expected irregardless of the base.
Simple Sheet Operations such as inserting sheets, deleting sheets, counting the number of sheets, getting sheets by indices are currently supported. A simple example can be seen as follows.
boost::document d(file_path); d.open_document(); boost::sheet s = d.get_sheet("Anurag"); s.rename_sheet("Vatika"); d.delete_sheet(0); for(int i = 0;i < d.sheet_count(); i++) { sheet sx = d.getSheet(i); sx.rename_sheet("AnuragSheet" + std::to_string(i)); }
| Warning | |
|---|---|
Sheets are zero indexed irrespective of the underlaying API! |
There are various ways of getting a cell from a sheet or a document. The []
operator has been overloaded, also there
are get_cell()
functions which also provide exception handling.
boost::document d(file_path); boost::sheet s = d["Anurag"]; boost::cell c = s.get_cell(4,5); // row, column boost::cell c1 = s[4][5]; // 5,4 actually boost::cell c2 = s["C4"]; // 4,2
| Warning | |
|---|---|
Cells are zero indexed irrespective of the underlaying API! |
Certain cell operations are also supported currently, such as setting and getting strings, doubles and formulas. For Example,
if(c1.get_content_type() == boost::cell_content_type::EMPTY) { return; } c1 = 14.66; c1 = "Anurag"; c1.set_cell_formula("=C3+C4"); c1.set_cell_value("Anurag"); std::string s = c1.get_string();
Row and column classes are iteratable and can be used to manipulate the cells. The iterators themselves are random - access iterators and can be taken advantage of.
boost::sheet s1 = c["Anurag"]; boost::row r = s1.get_row(3); std::fill(r.begin(), r.begin() + 50, 1); double sum = 0; const boost::row_iterator end(r.begin() + 50); for (auto it = r.begin(); it != end; ++it) { sum += (*it).get_value(); }


Visitors
Sales
Orders
Revenue
|
|
USA | 2.920 | 53.23% |
|
|
Germany | 1.300 | 20.43% |
|
|
Australia | 760 | 10.35% |
|
|
United Kingdom | 690 | 7.87% |
|
|
Romania | 600 | 5.94% |
|
|
Brasil | 550 | 4.34% |
Your products, all the kits that I have downloaded from your site and worked with are sooo cool!. Keep up the great work!
| ID | Name | Salary | Country |
|---|---|---|---|
| 1 | Bob Williams | $23,566 | USA |
| 2 | Mike Tyson | $10,200 | Canada |
| 3 | Tim Sebastian | $32,190 | Netherlands |
| 4 | Philip Morris | $31,123 | Korea, South |
| 5 | Minerva Hooper | $23,789 | South Africa |
| 6 | Cooper | $27,789 | Canada |
| 7 | Philip | $13,789 | South Africa |


Team Fobs
Dashboard
Bike List
Map
Tech Stack
Toggle navigation
Bike List
RUN
Bikes with Some Feature Filter
Bike Filter Options
Action
Another action
Something
Another action
Something
Separated link
Bike Name
ID
Flag
Message


My Team
alex
Manager
ID: 1
email:
<EMAIL_ADDRESS>Office Number : 100
Tom
Engineer
ID: 2
email:
<EMAIL_ADDRESS>GitHub :
alex-bailon
Sam
Intern
ID: 3
email:
<EMAIL_ADDRESS>School : Northwestern


Place one or two hands over the Leap Motion device to see the data that we are taking from the Leap Motion in a live manner.


| case_when {dplyr} | R Documentation |
This function allows you to vectorise multiple if_else()
statements. It is an R equivalent of the SQL CASE WHEN
statement.
If no cases match, NA
is returned.
case_when(...)
... |
< The LHS must evaluate to a logical vector. The RHS does not need to be logical, but all RHSs must evaluate to the same type of vector. Both LHS and RHS may have the same length of either 1 or
|
A vector of length 1 or n
, matching the length of the logical
input or output vectors, with the type (and attributes) of the first
RHS. Inconsistent lengths or types will generate an error.
x <- 1:50 case_when( x %% 35 == 0 ~ "fizz buzz", x %% 5 == 0 ~ "fizz", x %% 7 == 0 ~ "buzz", TRUE ~ as.character(x) ) # Like an if statement, the arguments are evaluated in order, so you must # proceed from the most specific to the most general. This won't work: case_when( TRUE ~ as.character(x), x %% 5 == 0 ~ "fizz", x %% 7 == 0 ~ "buzz", x %% 35 == 0 ~ "fizz buzz" ) # If none of the cases match, NA is used: case_when( x %% 5 == 0 ~ "fizz", x %% 7 == 0 ~ "buzz", x %% 35 == 0 ~ "fizz buzz" ) # Note that NA values in the vector x do not get special treatment. If you want # to explicitly handle NA values you can use the `is.na` function: x[2:4] <- NA_real_ case_when( x %% 35 == 0 ~ "fizz buzz", x %% 5 == 0 ~ "fizz", x %% 7 == 0 ~ "buzz", is.na(x) ~ "nope", TRUE ~ as.character(x) ) # All RHS values need to be of the same type. Inconsistent types will throw an error. # This applies also to NA values used in RHS: NA is logical, use # typed values like NA_real_, NA_complex, NA_character_, NA_integer_ as appropriate. case_when( x %% 35 == 0 ~ NA_character_, x %% 5 == 0 ~ "fizz", x %% 7 == 0 ~ "buzz", TRUE ~ as.character(x) ) case_when( x %% 35 == 0 ~ 35, x %% 5 == 0 ~ 5, x %% 7 == 0 ~ 7, TRUE ~ NA_real_ ) # case_when() evaluates all RHS expressions, and then constructs its # result by extracting the selected (via the LHS expressions) parts. # In particular NaN are produced in this case: y <- seq(-2, 2, by = .5) case_when( y >= 0 ~ sqrt(y), TRUE ~ y ) # This throws an error as NA is logical not numeric ## Not run: case_when( x %% 35 == 0 ~ 35, x %% 5 == 0 ~ 5, x %% 7 == 0 ~ 7, TRUE ~ NA ) ## End(Not run) # case_when is particularly useful inside mutate when you want to # create a new variable that relies on a complex combination of existing # variables starwars %>% select(name:mass, gender, species) %>% mutate( type = case_when( height > 200 | mass > 200 ~ "large", species == "Droid" ~ "robot", TRUE ~ "other" ) ) # `case_when()` is not a tidy eval function. If you'd like to reuse # the same patterns, extract the `case_when()` call in a normal # function: case_character_type <- function(height, mass, species) { case_when( height > 200 | mass > 200 ~ "large", species == "Droid" ~ "robot", TRUE ~ "other" ) } case_character_type(150, 250, "Droid") case_character_type(150, 150, "Droid") # Such functions can be used inside `mutate()` as well: starwars %>% mutate(type = case_character_type(height, mass, species)) %>% pull(type) # `case_when()` ignores `NULL` inputs. This is useful when you'd # like to use a pattern only under certain conditions. Here we'll # take advantage of the fact that `if` returns `NULL` when there is # no `else` clause: case_character_type <- function(height, mass, species, robots = TRUE) { case_when( height > 200 | mass > 200 ~ "large", if (robots) species == "Droid" ~ "robot", TRUE ~ "other" ) } starwars %>% mutate(type = case_character_type(height, mass, species, robots = FALSE)) %>% pull(type)


Secure an api with api keys
Before you start
If you already have an up and running otoroshi instance, you can skip the following instructions
Let’s start by downloading the latest Otoroshi.
curl -L -o otoroshi.jar 'https://github.com/MAIF/otoroshi/releases/download/v16.8.0-dev/otoroshi.jar'
then you can run start Otoroshi :
java -Dotoroshi.adminPassword=password -jar otoroshi.jar
Now you can log into Otoroshi at http://otoroshi.oto.tools:8080 with<EMAIL_ADDRESS>Create a simple route
From UI
- Navigate to http://otoroshi.oto.tools:8080/bo/dashboard/routes and click on the
create new route
button - Give a name to your route
- Save your route
- Set
myservice.oto.tools
as frontend domains - Set
https://mirror.otoroshi.io
as backend target (hostname:mirror.otoroshi.io
, port:443
, Tls:Enabled
)
From Admin API
curl -X POST http://otoroshi-api.oto.tools:8080/api/routes \
-H "Content-type: application/json" \
-u admin-api-apikey-id:admin-api-apikey-secret \
-d @- <<'EOF'
{
"id": "myservice",
"name": "myapi",
"frontend": {
"domains": ["myservice.oto.tools"]
},
"backend": {
"targets": [
{
"hostname": "mirror.otoroshi.io",
"port": 443,
"tls": true
}
]
}
}
EOF
Secure routes with api key
By default, a route is public. In our case, we want to secure all paths starting with /api
and leave all others unauthenticated.
Let’s add a new plugin, called Apikeys
, to our route. Search in the list of plugins, then add it to the flow. Once done, restrict its range by setting up /api
in the Informations>include
section.
From Admin API
curl -X PUT http://otoroshi-api.oto.tools:8080/api/routes/myservice \
-H "Content-type: application/json" \
-u admin-api-apikey-id:admin-api-apikey-secret \
-d @- <<'EOF'
{
"id": "myservice",
"name": "myapi",
"frontend": {
"domains": ["myservice.oto.tools"]
},
"backend": {
"targets": [
{
"hostname": "mirror.otoroshi.io",
"port": 443,
"tls": true
}
]
},
"plugins": [
{
"enabled": true,
"plugin": "cp:otoroshi.next.plugins.ApikeyCalls",
"include": [
"/api"
],
"config": {
"validate": true,
"mandatory": true,
"wipe_backend_request": true,
"update_quotas": true
}
}
]
}
EOF
Navigate to http://myservice.oto.tools:8080/api/test again. If the service is configured, you should have a Service Not found error
.
The expected error on the /api/test
, indicate that an api key is required to access to this part of the backend service.
Navigate to any other routes which are not starting by /api/*
like http://myservice.oto.tools:8080/test/bar
Generate an api key to request secure services
Navigate to http://otoroshi.oto.tools:8080/bo/dashboard/apikeys/add or when clicking on the Add apikey button on the sidebar.
The only required fields of an Otoroshi api key are :
ApiKey id
ApiKey Secret
ApiKey Name
These fields are automatically generated by Otoroshi. However, you can override these values and indicate an additional description.
To simplify the rest of the tutorial, set the values:
my-first-api-key-id
asApiKey Id
my-first-api-key-secret
asApiKey Secret
Click on Create and stay on this ApiKey button at the bottom of the page.
Now you created the key, it’s time to call our previous generated service with it.
Otoroshi supports two methods to achieve that. Once by passing Otoroshi api key in two headers : Otoroshi-Client-Id
and Otoroshi-Client-Secret
(these headers names can be override on each service). And the second by passing Otoroshi api key in the authentication Header (basically the Authorization
header) as a basic encoded value.
Let’s ahead and call our service :
curl -X GET \
-H 'Otoroshi-Client-Id: my-first-api-key-id' \
-H 'Otoroshi-Client-Secret: my-first-api-key-secret' \
'http://myservice.oto.tools:8080/api/test' --include
And with the second method :
curl -X GET \
-H 'Authorization: Basic bXktZmlyc3QtYXBpLWtleS1pZDpteS1maXJzdC1hcGkta2V5LXNlY3JldA==' \
'http://myservice.oto.tools:8080/api/test' --include
Tips : To easily fill your headers, you can jump to the
Call examples
section in each api key view. In this section the header names are the default values and the service url is not set. You have to adapt these lines to your case.
Override defaults headers names for a route
In some case, we want to change the defaults headers names (and it’s a quite good idea).
Let’s start by navigating to the Apikeys
plugin in the Designer of our route.
The first values to change are the headers names used to read the api key from client. Start by clicking on extractors > CustomHeaders
and set the following values :
api-key-header-id
asCustom client id header name
api-key-header-secret
asCustom client secret header name
Save the route, and call the service again.
curl -X GET \
-H 'Otoroshi-Client-Id: my-first-api-key-id' \
-H 'Otoroshi-Client-Secret: my-first-api-key-secret' \
'http://myservice.oto.tools:8080/api/test' --include
This should output an error because Otoroshi are expecting the api keys in other headers.
{
"Otoroshi-Error": "No ApiKey provided"
}
Call one again the service but with the changed headers names.
curl -X GET \
-H 'api-key-header-id: my-first-api-key-id' \
-H 'api-key-header-secret: my-first-api-key-secret' \
'http://myservice.oto.tools:8080/api/test' --include
All others default services will continue to accept the api keys with the Otoroshi-Client-Id
and Otoroshi-Client-Secret
headers, whereas our service, will accept the api-key-header-id
and api-key-header-secret
headers.
Accept only api keys with expected values
By default, a secure service only accepts requests with api key. But all generated api keys are eligible to call our service and in some case, we want authorize only a couple of api keys.
You can restrict the list of accepted api keys by giving a list of metadata
or/and tags
. Each api key has a list of tags
and metadata
, which can be used by Otoroshi to validate a request with an api key. All api key metadata/tags can be forward to your service (see Otoroshi Challenge
section of a service to get more information about Otoroshi info. token
).
Let’s starting by only accepting api keys with the otoroshi
tag.
Click on the ApiKeys
plugin, and enabled the Routing
section. These constraints guarantee that a request will only be transmitted if all the constraints are validated.
In our first case, set otoroshi
in One Tag in
array and save the service. Then call our service with :
curl -X GET \
-H 'Otoroshi-Client-Id: my-first-api-key-id' \
-H 'Otoroshi-Client-Secret: my-first-api-key-secret' \
'http://myservice.oto.tools:8080/api/test' --include
This should output :
// Error reason : Our api key doesn't contains the expected tag.
{
"Otoroshi-Error": "Bad API key"
}
Navigate to the edit page of our api key, and jump to the Metadata and tags
section. In this section, add otoroshi
in Tags
array, then save the api key. Call once again your call and you will normally get a successful response of our backend service.
In this example, we have limited our service to API keys that have otoroshi
as a tag.
Otoroshi provides a few others behaviours. For each behaviour, Api key used should:
All Tags in
: have all of the following tagsNo Tags in
: not have one of the following tagsOne Tag in
: have at least one of the following tags
All Meta. in
: have all of the following metadata entriesNo Meta. in
: not have one of the following metadata entriesOne Meta. in
: have at least one of the following metadata entries
One Meta key in
: have at least one of the following key in metadataAll Meta key in
: have all of the following keys in metadataNo Meta key in
: not have one of the following keys in metadata


Zombies are no longer your only enemy! Alliance-Gaming brings its much requested PVP server online. A full zone PVP with a small city safe zone, players are at constant
risked of being attacked and raided. Slighty raised zombie difficulty means players should always watch their backs for the dead and the living.
A bounty system in introduced to help take out those wanted any annoying players and give players a bit something extra do do with their zCoins. Players can feel a bit safer when ofline as the multiplier for
LCB protection is set for x32. So think smart, watch your back, and protect your stuff at all times! Welcome to PVP.
{% endblock %}


Bitcoin Unlimited
v<IP_ADDRESS> release (fix for 2nd memory exhaustion incident)
Another release (<IP_ADDRESS>), fixing another Xthin exploitable bug similar to the previous memory exhaustion issue.
Again, the problem and a workaround were quickly identified. Having use-thinblocks=0
disables Xthin more effectively since <IP_ADDRESS> - fortunately that worked and probably protected quite a few nodes. Still, having 1/3 of the BU nodes killed again obviously shakes confidence.
A lot of fixes were brought together for the <IP_ADDRESS> release, which made it take longer. Good things take time, but bad code can waste a lot of time. I guess BU is paying the price for changing p2p protocol code without sufficient review and testing in the early days. While some of the easily exploited holes have now been closed, there are some worries remaining, like the risk of someone producing relatively cheap collisions, or the memory limit while reconstructing thinblocks being perhaps a little higher than needed.
Still, my feeling is BU is getting more robust with each attack. However, recovery was a little more protracted with this one, as it tool longer for the official binaries to be released. Source code fixes were available in PR form quite early on.
There was however again a percentage of users who probably will not come back to BU because of this incident. Classic seems to have made some small gains (not visible on chart below).
With the aid of a little script from thezerg, I managed to get my BU gitian build working for this release, and was thus able to sign the <IP_ADDRESS> checksums. I think I will need to abandon my gitian build VM though, it seems just to slow compared to others.
pruning.py problems not local to BU
After getting such poor pass rates on the pruning test, I executed it on Classic and Core latest builds as well.
On Classic, it went into a loop, which I stopped after several hours.
On Core, it timed out as well. I raised Github issue 10393 which has yet to receive a response.
Miscellaneous
I opened an issue for the overly verbose keypool traces in the log file. These have been bugging myself and others - they often lead to questions whether something is wrong. I have not decided which debug flag to use for them.
BUIPs
There are some interesting coordination-related proposals which have been raised on the forum (in Draft BUIP form):
- Peter Rizun's BUIP055
- Tomas van der Wansem's threshold-based BUIP (no number yet)
- Sancho Panza's BUIP to add BIP135
I'm looking forward to the upcoming voting - I will raise BUIP038 too since it did not get quorum the time before last, and I think that it should be put to the vote now that membership and participation have increased. I am undecided on whether to make it into a new BUIP with a toggle to enable the sticky gate instead of just removing it as BUIP038 proposed. If anyone has strong feelings about that, I'd like to hear about them!
Bitcoin-ABC
The failing regression tests have been sorted out - ABC is now passing its Travis tests.
- Removed SegWit regression tests
- Fixed p2p-compactblocks.py
- Fixed wallet transaction check which failed lots of regtests
- Removed leftover bumpfee code
- Removed replace-by-fee.py
- Fixed maxuploadtarget.py
While looking at fixing the failing nulldummy.py test, I considered removing the NULLDUMMY support entirely. It is a soft-fork which is actually functionally separate from SegWit, but deployed on the same bit! This is a bit unorthodox, but on the mailing list Johnson Lau defended this with the reason that it would reduce testing effort for SegWit not to handle it as an independent soft-fork.
After raising an issue to decide on the right course of action, I discussed it with deadalnix, who was in favor of retaining it for now.
I have created an ABC branch (on my personal fork repo) where I have executed a more aggressive removal of this currently unused feature and its test. I will be cherry-picking from the mainline ABC repo, trying to keep it clean of features which are not yet present or needed in today's Bitcoin Core, and focusing only on the basic blocksize scaling part.
As part of resolving the failing tests, I did 10 runs of the '-extended' regression test suite, excluding the 'pruning' test which takes too long. The results were interesting - not all tests are passing reliably on my (old) system. Times are in seconds, and only the times of passes are counted for mean/stdev statistics.
The next step will be adding a true Adjustable Blocksize Cap. This will be where the fun really starts!
If anyone is interested in assisting with the ABC effort, contact us or submit PRs / issues directly on Github!
parity-unlimited
There is some more developer interest for giving parity support for bigger blocks. Personally, I did not find time to continue test experiments with parity-bitcoin or parity-unlimited, but it's been nice to chat with other people on the BU slack about it.


configurer module¶
-
class
configurer.
Configurer
(cfg_file)[source]¶ Bases:
object
The class which holds all the information about the client and the OP metadata
-
get
(section, key)[source]¶ get function reads the config value for the requested section and key and returns it
- Parameters:
- section (string): the section to look for the config value either - oxd, client
- key (string): the key for the config value required
- Returns:
- value (string): the function returns the value of the key in the appropriate format if found or returns None if such a section or key couldnot be found
- Example:
- config = Configurer(location) oxd_port = config.get(‘oxd’, ‘port’) # returns the port of the oxd
-
set
(section, key, value)[source]¶ set function sets a particular value for the specified key in the specified section and writes it to the config file.
- Parameters:
- section (string): the section under which the config should be saved. Only accepted values are - oxd, client
- key (string): the key/name of the config value
- value (string): the value which needs to be stored as a string
- Returns:
- success (bool): a boolean indication of whether the value was stored successfully in the file
-


Advised by Dr. Andrew McCallum, Nick, Ari and Rajarshi, I am researching ways to navigate large scale graphs to find nearest neighbours efficiently using Reinforcement Learning for my master's project.
IESL at UMass develops techniques to mine actionable knowledge from unstructured text.
As part of an industry collaboration project, I worked [github] on the Enron Email Dataset to infer organizational hierarchy and model user behaviour to detect possible phishing attacks in an unsupervised manner
The ISI at University of Southern California is a world leader in research and development of advanced information processing, computer and communications technologies
Under the guidance of Dr. Beverly Woolf, I worked on the full stack development of a crowd sourced question authoring tool for MathSpring, a Mathematics tutor
The Center for Knowledge Communication at UMass builds Web-based intelligent tutors that understand a student's learning needs, optimize teaching materials and use effective tutoring strategies


--- title: dtype_diet keywords: fastai sidebar: home_sidebar summary: "Optimize your dataset memory print with minimal dtype." description: "Optimize your dataset memory print with minimal dtype." nb_path: "00_core.ipynb" ---
# sell_prices.csv.zip
# Source data: https://www.kaggle.com/c/m5-forecasting-uncertainty/
df = pd.read_csv('data/sell_prices.csv')
report_on_dataframe(df)
report_on_dataframe
shows you the possible dtype conversion and the improvement. Note that the library try to optimize the memory base on current values of the data, you should still be careful about overflow for further transformation.
if __name__ == "__main__":
print("Given a dataframe, check for lowest possible conversions:")
nbr_rows = 100
df = pd.DataFrame()
df["a"] = [0] * nbr_rows
df["b"] = [256] * nbr_rows
df["c"] = [65_536] * nbr_rows
df["d"] = [1_100.0] * nbr_rows
df["e"] = [100_101.0] * nbr_rows
df["str_a"] = ["hello"] * nbr_rows
df["str_b"] = [str(n) for n in range(nbr_rows)]
report_on_dataframe(df)
print("convert_dtypes does a slightly different job:")
print(df.convert_dtypes())


Your speaker profile is incomplete! We won't be able to submit your talks until you fill in all information.
Fill out your speaker profile
{% endif %}
{% block content %}{% endblock %}
{% load gravatar %} {% load staticfiles %}


Toggle Info
BAY 1
BAY 2
BAY 3
BAY 4
BAY 5
BAY 6
BAY 7
BAY 8/9
M1
M2
AUX
TIE
Recent Commands
Phase 2
Phase 1
System Messages


--- layout: article title: Home Education permalink: homeschool.html comments: true ---
Year by year plans: 2010, 2009.
This is my homeschooling webpage. It paints a picture of our family's approach to homeschooling. A related page is my Teaching resources page which I started pre-motherhood. There you can find bits and pieces related to specific areas of learning. Here more general resources about homeschooling.
You might also check my blog posts on homeschooling
There are lots of web sites about homeschooling out there. Love2learn is a website of favourite resources for Catholic homeschoolers based in America. It is a good start for browsing the multitude of publishers and curriculum providers in the US. They also post new links via twitter.
Here in Australia we have the Home Education Association Inc., Australia. It provides public liability insurance for smaller groups who need insurance to hire halls and to hold certain activities. There's also Homeschool Australia Newsletter by Beverley Paine, a great work encouraging practical day to day learning.
Catholic Homeschoolers Forum A group of Australian homeschoolers, open to new members. A descendent of the Keeping In Touch newsletter.
Marium Regnum Familiae - a group of mostly mothers sharing their journey through homeschooling. They also set up an online forum.
Cardinal Newman Faith Resources Merrylands, Western Sydney. This is a great shop with links to Fr. Tierney, author of the Bush Boys books about homeschooling families in settings not dissimilar to the Blue Mountains. There, under downloads, you'll find archives of Keeping In Touch - a quarterly newsletter edited by different homeschooling families around Australia (though mostly NSW)
Mustard Seed Bookshop Fantastic shop in Lidcombe, Sydney. I'm writing this just after their mid year sale. They are part of the Catholic Education Office - or something like that - which has been revitalised since Cardinal Pell came to Sydney.
Fidelity Books an offshoot of the J23 co-op. Lots of Catholic books. Based in Melbourne.
Fountain Resources sells specifically Catholic homeschooling books, especially with a Charlotte Mason style.
St. Rita's Books Traditional Catholic bookshop.
Portico Books with a beautiful shop right near the historic St. Patrick's Church in Sydney. Many beautiful books too, as well as stationery.
Adnil Press A Classical Homeschooling publisher and bookshop supplying Australia and beyond. They have some home grown Australian history resources. Probably the best place for Australian history. Also stocking Latina Christiana and other language resources.
Blogs are more personal websites that some families use to share day to day news and events. The mailing lists and forums listed above can be a great starting point for finding more of these websites. A homeschooling mother from Hawaii has set up the Catholic Homeschooling Blog Directory which can help you find other homeschoolers in your area.
Here are a handful to start with:
and me: Veronica's miscellaney


@import models.users.User @import helper._ @(env: play.api.Environment,user: User, pf:Form[models.users.User])
Search through space and become the strongest in the all new online FPS.
Check it out in our products listExplore the world after nukes have destroied the earth!
Check it out in our products listI loved this game the open world was amazing!

Recommend this game to anyone looking for a challenge I really enjoyed it!
So much fun going around wreaking havok this game is amazing!


Label Addition Menu
Label Size:
Label Text:
Light Creation Menu
Light Radius:
Light Strength:
Map Trigger Creation Menu
Trigger Radius:
MapID:
Operations Cheat Sheet:
- Click at two points to form a Wall between them.
- Click and drag to pan the Editor screen.
- Press Z to delete the last formed Wall.
- Click at one end of a Wall, then click at the other (holding the Del key) to delete it.
- Shift+Click and drag to set the Spawn Point and aim it.
- Ctrl+Click to select a Map Spot.
- Space to spawn a Sprite at the selected Map Spot.
- Shift + Space to create a Light at the selected Map Spot.
- Ctrl + Space to spawn a Label (text Sprite) at the selected Map Spot.
- Ctrl + Shift + Space to create a Map Change Trigger at the selected Map Spot.
- Ctrl+Shift+Click to delete a Sprite or Light.


Before Change
predictions.append(pred)
return (np.mean(predictions, axis=0), np.mean(biases, axis=0),
np.mean(contributions, axis=0))
After Change
mean_bias = None
mean_contribution = None
for i, tree in enumerate(model.estimators_):
pred, bias, contribution = _predict_tree(tree, X)
if i < 1: // first iteration
mean_bias = bias
mean_contribution = contribution
mean_pred = pred
else:
mean_bias = _iterative_mean(i, mean_bias, bias)
mean_contribution = _iterative_mean(i, mean_contribution, contribution)
mean_pred = _iterative_mean(i, mean_pred, pred)
return mean_pred, mean_bias, mean_contribution
def predict(model, X, joint_contribution=False):


My desire to explore Delegates and Anonymous Methods came from my next exploration, which will be the the Lambda feature. So, I will probably do an article on it in a near future.
So, what exactly is an anonymous method? It’s a C# 2.0 feature. Whenever you encounter the need to pass something as a delegate parameter, you can use an anonymous method.
Example :
This class has a method that expect a delegate that has no parameter and no return value.
public class Action
{
public delegate void MyActionDelegate();
public void Execute(MyActionDelegate myActionDelegate)
{
myActionDelegate.Invoke();
}
}
Previously, you would have declared a method that has no parameter and no return value and passed it to the Execute method. Like this :
public static void DoSomething()
{
Console.WriteLine("This is not an anonymous method.");
}
static void Main(string[] args)
{
Action action = new Action();
action.Execute(DoSomething);
}
An the output would be :
With an anonymous method, we reduce the code and by the same occasion, augment code readability.
static void Main(string[] args)
{
Action action = new Action();
action.Execute(delegate() { Console.WriteLine("This is inside an anonymous method."); });
}
If the delegate has expected a parameter you could have done it like :
action.Execute(delegate(string s) { Console.WriteLine(s); });
And if the delegate have an return value, make sure you return one of the correct type :
action.Execute(delegate(string s) { return s; });
Accessing variables located outside the anonymous block :
A feature of an anonymous method is the ability to access variables located outside the anonymous scope (anonymous-method-block). Those variables called “outer variables”. It is better explained by an example :
string myString = "Outside the anonymous method.";
action.Execute(delegate(string s) { Console.WriteLine(myString); });
The exception to this rule are the ref and out parameters, which cannot be accessed by the anonymous method. You also can’t put unsafe code in the anonymous method.
Real life example
Maybe not (it’s always hard to come with great example), but it illustrate how you can use an anonymous method to find all string matching “String5” inside a collection of string. Just imagine doing the same thing in your collection of orders or products.
List<string> myListOfString = new List<string>();
for (int x = 0; x < 10; x++)
{
myListOfString.Add("String" + x);
}
List<String> returnedStrings = myListOfString.FindAll(delegate(string s) { return s == "String5"; });
Conclusion
Mastering Anonymous Methods is a great skill to have in you toolbox. But be careful, if you need to reuse the same code again and again, you better have to create a method and put the code in it. Don’t try to impress your friends too much. :)


A zero-inflated quasi-Poisson factor model to display similarity between samples visually in a low (2 or 3) dimensional space.
| Version: | 1.0 |
| Published: | 2017-05-14 |
| Author: | Michael B. Sohn |
| Maintainer: | Michael B. Sohn <msohn at mail.med.upenn.edu> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| CRAN checks: | gomms results |
| Reference manual: | gomms.pdf |
| Package source: | gomms_1.0.tar.gz |
| Windows binaries: | r-devel: gomms_1.0.zip, r-release: gomms_1.0.zip, r-oldrel: gomms_1.0.zip |
| OS X binaries: | r-release: gomms_1.0.tgz, r-oldrel: gomms_1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=gomms to link to this page.


| Bank statetement id | Account number | Section number | Date | Previous balance | Number of deposits | Total deposited | Number of withdrawals | Total withdrawn | New balance | |
| {{x.id}} | {{x.accountNumber}} | {{x.sectionNumber}} | {{x.date}} | {{x.previousBalance}} | {{x.numberOfDeposits}} | {{x.totalDeposited}} | {{x.numberOfWithdrawals}} | {{x.totalWithdrawn}} | {{x.newBalance}} |


Let's Play
Rules
Ping Pong will count your number from 1 with the following exception:
- Numbers that are divisible by 3 are replaced by "ping"
- Numbers that are divisible by 5 are replaced by "pong"
- Numbers that are divisible by 15 are replaced by "pingpong"


PCD @ Los Angeles is an inclusive event that will bring together people of all ages to celebrate and explore art, code, and activism. The day-long event features four themed-tracks — Accessibility, Disability, and Care, Radical Pedagogy, Under the Silicon, the Beach!, and Epic Play!. Each themed track contains lightning talks and sessions presented by conference guests we invite through an open call.
In addition to a full day of programming, we want to make space for anyone to share ideas and projects with the community. We will set up Show & Tell Stations, a Processing Community Cafe, and a Community Open Mic Session for participants to sign-up on the day of the event. The program will wrap up with an after party consists of performances, food, and drinks.
January 19, 2019, 10 AM PST
UCLA Broad Art Center
240 Charles E. Young Dr N.
Los Angeles, CA
Early bird tickets are available from September 1st - October 31st, 2018. Regular ticketing and PCD Scholarship application opens on November 1st, 2018. Sign up for our newsletter to receive a reminder.
Every conference pass includes access to all lightning talks, entries to two workshops, performances, and the after party. The package also includes a lunch box (vegetarian / vegan options available), all day coffee & snacks, and PCD / Processing / P5 combo stickers.
Children under 12 will gain free entries to PCD @ Los Angeles. Children's diet varies widely at different age, therefore we would like to ask you to either bring lunch boxes for your children on the day of the event, or order PCD @ Los Angeles' children's meals when purchasing your ticket.
PCD @ Los Angeles provides free on-site childcare, and access to a private room for breastfeeding and pumping. Once ticketing opens, please make sure that you fill out the ticketing survey to let us know the number of children you plan to bring and whether you will need on-site childcare and access to the breastfeeding facility.
Our entire day of programming is open to all ages, however the Epic Play! track is specifically dedicated to children, teenagers, and adults to participate and collaborate. Teenagers and children are welcomed to present at the Show & Tell Stations, the Processing Community Cafe, and the Community Open Mic — sign-up sheets will be available on the day of the event.
All children under 12 years of age must be accomodated by a parent or a guardian throughout the conference.
All lightning talks will include ASL interpretation and be live-streamed over the Internet. Our venues are wheelchair-accessible, and we will provide reserved seatings for attendees with mobility devices. Once ticketing opens, please fill out our ticketing survey so that we can learn more about your needs.
At the moment we are unable to provide real-time captioning for the lightning talks and the sessions. Our current plan is to add closed captions to the recorded lightning talks in post-production and publish documentation of the sessions after the event.
The closest parking lot to UCLA Broad Art Center is Parking Structure 3. Visitor parking is $12 per day, and accessible parking for individuals with disabilities is $8 per day.
We strongly recommend arranging carpool, using a ridesharing service or public transportation to commute to the venue.
We are currently fundraising for the scholarship and will be announcing application details on November 1st, 2018. PCD scholarship is made possible by PCD @ Los Angeles supporters and sponsors. Learn how you can support us.


DXR-RTX Path Tracer Project HLSL Shader Code
Information
Links to series
- DXR Path Tracer Introduction
- DXR Path Tracer Usage
- DXR Path Tracer Host-Side Explanation
- DXR Path Tracer HLSL Explanation
Just a heads up, I did not work on the main path tracing hlsl code, but I will try my best to explain it. I worked on mainly the host code and linking the hlsl with the host
Here are links to my group members who handled most of the HLSL part, if you wish to contact them:
What is HLSL?
HLSL stands for have long sleep lie
, which is when you sleep for so long that you feel tired.
Haha, jokes aside, HLSL or High Level Shading Language, is the shader language used alongside DirectX.
High level, more like Hard Level
You can skip down to path tracing if you’re more interested in that part. This part answers questions mentioned in the previous host post)
From the last post about the host code, there are some answers answers to be answered:
- Why did each descriptor range have its own space?
- Why did objects have offsets to each resource?
- What are instance ids used for?
Spaces
Here is the image of the resource layout again:
Why did I use a different space for each descriptor range? This is because HLSL actually allows for dynamic indexing, which is basically a unbounded array
It’s sort of like a pointer with an unbounded amount of indexing
Why does it matter?
The goal is to load as many vertices, indices, textures, materials and objects as possible!
How would this be done with having a defined array size?
instead of
It still can be, but what if a new texture is to be added? Oops, the entire root signature and heap descriptor has to be updated!
Let’s say we didn’t defined spaces, where by default, everything starts in space0.
One would still have to manually offset to the next index.
For example,
Instead of,
the code had this:
HLSL Compiler yells, stating why is t0
register exist in both Vertices
and Indices
?. The correct register for Indices
is the end of the number of Vertices
Let’s say, we have five vertex elements, Indices
should actually be like this:
Welp, hardcoded array sizes. One can’t arbitrarily load number of vertices/indices.
This is why spaces is used; they allow for arbitrary number of array of resources without messing with offsets.
Object Offsets
Here’s what is actually contained in the object structure:
It’s called Info, but it will still be referred as the object structure
As you may recall, each top level instance points to a lower level structure.
Here is the image from Nvidia again:
*image taken from the Nvidia post
How does each top level instance refer to what texture/material it needs?
The instance structure can’t hold that information since it only can contain the transformation, instance id and the bottom level acceleration structure (model), it is referring to.
So, this is where the object structure comes in. It contains the offset to the model, the textures and materials. (Why model again?, because the vertices may contain the normals as well if there isn’t a normal map)
Thus, in the code, we can grab the correct diffuse texture by indexing the diffuse texture array with the info offset:
Wait so, how do we index into the infos structure then?
Instance ID
Remember from the last post about instance id
?
where i is the object’s index. The instance id
is passed to the hlsl side.
One can access the instance id
by doing the following:
Now, we know which object index the code tracing on, so the infos
array can be accessed as so:
Awesome. If you didn’t fully understand that part, no worries. The whole idea is to access the proper textures from the object’s id.
Now to the more interesting part – path tracing
Path tracing
Path tracing is a graphics technique that produces realistic images by shooting a ray into the scene from the pixel on the screen and randomly bouncing off walls until the ray hits a light. As the ray bounces off the walls, the color from the object that was bounced off of contributes to the ray’s color. Thus, when the ray hits a light, the ray’s color becomes the pixel’s color.
The image below shows a ray being show from the pixel and bouncing until it hits a light source:
Unlike a ray tracer, where rays bounces towards a light source, a path tracer bounces rays in a random direction, making the ray colors more natural, but also can take longer to compute since there may be more bounces.
Show codez pls
Okay, okay…
The path tracer code begins by calling DispatchRays (A DXR function to generate rays)
Then, we have three special functions in the hlsl shader code
These shaders are explained very well in Nvidia’s videos/post
Ray Generation Shader
The ray generation shader is invoked when a ray ready to be spawned and one can grab the pixel that the ray is spawning with DispatchRaysIndex().xy
In this shader, one can invoke TraceRay(...)
to generate a new ray
With path tracing, it needs to accumulate colors to make the image more realistic, so, for each pixel, the code makes depth
calls to TraceRay
for each pixel. This is creates more realistic images as the ray bounces are random, so colors accumulate differently.
Closest Hit Shader
When a ray hits an object, the closest hit
shader is invoked
There, the payload
is updated by computing the new color from the object that was hit. (payload is the information the ray is carrying, which in our path tracer, only contains the color)
So, for example, if the object had a diffuse texture, the color could be computed by doing the following:
So, for each bounce, if the ray strikes an object, the color will be sampled from the object and multiplied by the payload’s color
This part is where also the normals
are factored in and the material
properties such as reflectiveness
and refractiveness
to influence the payload’s color.
Miss Shader
The miss shader is invoked when the ray did not hit any object. For example, if there were no objects in the scene, then the miss shader will always be invoked.
The miss shader just sets the payload
color to the background color, which is black.
Working path tracer!
That’s pretty much how the path tracer works!
Let me know if you have any questions!


--- layout: post title: 'Ep. 9: Dave Sims - The Philosophy of Ruby, Music, & Satellites' date: 2017-01-13 11:25:05.000000000 -06:00 type: post parent_id: '0' published: true password: '' status: publish categories: - Podcast tags: [] meta: _edit_last: '1' slide_template: default _at_widget: '1' _yoast_wpseo_content_score: '30' fw:opt:ext:pb:page-builder:json: "[]" fw_options: a:9:{s:12:"page-builder";a:2:{s:4:"json";s:2:"[]";s:14:"builder_active";b:0;}s:9:"title_bar";s:7:"default";s:15:"footer_settings";s:7:"default";s:12:"header_style";a:2:{s:6:"option";s:0:"";s:11:"transparent";a:2:{s:16:"background_color";s:21:"rgba(255,255,255,0.3)";s:12:"border_color";s:0:"";}}s:12:"social_icons";s:0:"";s:12:"contact_info";s:0:"";s:12:"slider_above";a:2:{s:6:"option";s:2:"no";s:3:"yes";a:2:{s:5:"slide";s:1:"c";s:13:"scroll_effect";a:1:{s:6:"option";s:0:"";}}}s:22:"seo-titles-metas-title";s:0:"";s:28:"seo-titles-metas-description";s:0:"";} _yoast_wpseo_primary_category: '' _yoast_wpseo_post_image_cache: a:0:{} author: login: superuser email<EMAIL_ADDRESS>display_name: Administrator first_name: '' last_name: '' ---
For our first episode of 2017, we interviewed our good friend Dave Sims, the current CTO of Kubos (a favorite satellite startup in Denton). Dave also has a diverse history of writing software ranging from all types of industries including education, healthcare, enterprise, and even coupons.
Email Dave at<EMAIL_ADDRESS>Email the wrong Dave, in Australia, at<EMAIL_ADDRESS>[soundcloud url="https://api.soundcloud.com/tracks/302534604" params="auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="100%" height="450" iframe="true" /]


Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to<EMAIL_ADDRESS>so we can send you a copy immediately.
string
$_afterDate= 'null'
Date after which search results must have been added
null
Detailsstring
$_beforeDate= 'null'
Date before which search results must have been added
null
Detailsstring
$_date= 'null'
Date on which search results must have been added
null
DetailsgetAfterDate(
)
:
string
Returns the date after which search results must have been added
| Type | Description |
|---|---|
| string |
getBeforeDate(
)
:
string
Returns the date before which search results must have been added
| Type | Description |
|---|---|
| string |
getDate(
)
:
string
Returns the date on which search results must have been added
| Type | Description |
|---|---|
| string |
getLimit(
)
:
int
Returns the maximum number of search results to return
| Type | Description |
|---|---|
| int |
getQueryString(
)
:
string
Returns the query string set for this query
| Type | Description |
|---|---|
| string |
setAfterDate(
string $date
)
:
\Zend_Service_Simpy_LinkQuery
Sets the date after which search results must have been added, which will override any existing values set using setDate()
| Name | Type | Description |
|---|---|---|
| $date | string |
| Type | Description |
|---|---|
| \Zend_Service_Simpy_LinkQuery | Provides a fluent interface |
setBeforeDate(
string $date
)
:
\Zend_Service_Simpy_LinkQuery
Sets the date before which search results must have been added, which will override any existing values set using setDate()
| Name | Type | Description |
|---|---|---|
| $date | string |
| Type | Description |
|---|---|
| \Zend_Service_Simpy_LinkQuery | Provides a fluent interface |
setDate(
string $date
)
:
\Zend_Service_Simpy_LinkQuery
Sets the date on which search results must have been added, which will override any existing values set using setAfterDate() and setBeforeDate()
| Name | Type | Description |
|---|---|---|
| $date | string |
| Type | Description |
|---|---|
| \Zend_Service_Simpy_LinkQuery | Provides a fluent interface |
setLimit(
int $limit
)
:
\Zend_Service_Simpy_LinkQuery
Sets the maximum number of search results to return
| Name | Type | Description |
|---|---|---|
| $limit | int |
| Type | Description |
|---|---|
| \Zend_Service_Simpy_LinkQuery | Provides a fluent interface |
setQueryString(
string $query
)
:
\Zend_Service_Simpy_LinkQuery
Sets the query string for the query
| Name | Type | Description |
|---|---|---|
| $query | string | Query string in valid Simpy syntax |
| Type | Description |
|---|---|
| \Zend_Service_Simpy_LinkQuery | Provides a fluent interface |


final
Such methods can't be overridden and may indicate a lack of object-oriented design. Some coding standards discourage final methods.


Japanese restaurants rocket to top of best in world list
TOKYO, Nov 29 — Two Japanese restaurants have shot to the top of the La Liste ranking of best places to eat in the world, with a third one getting the second highest mark from the authoritative “guide of guides”.
Yosuke Suga’s tiny Tokyo restaurant Sugalabo, which has only 20 tables, does not have a Michelin star but shares the top spot on the French-based list alongside the reigning leaders, Guy Savoy in Paris and New York’s Le Bernardin under Eric Ripert.
The famously innovative Ryugin restaurant in the Japanese capital run by chef Seiji Yamamoto jumped 30 places to also reach the shared number one spot.
A delighted Yamamoto, known as the “king of kaiseki” — the traditional multi-course Japanese meal — told AFP that he now knows what the mysterious invitation he received to come to Paris next month was for.
“I’m honoured. When I opened my own restaurant I was 33 and was told I was young and green.
“It’s been 16 years since then and I now feel the responsibility as a chef carrying on (the tradition) of Japanese cuisine.”
Kyoto’s Kitcho Arashiyama was one of seven restaurants including Alain Ducasse’s Monaco base that split second place.
The French celebrity chef’s Paris table at the Plaza Athenee hotel was ranked fourth by the classification, which aggregates reviews from guides, newspapers and websites including TripAdvisor.
Meteoric rise
But it is the rapid rise of Suga, 43, once a personal assistant to the legendary late French superchef Joel Robuchon, that will make most headlines.
Last year Sugalabo did not even make La Liste’s top 1,000.
His “secret” introduction-only dining room is hidden away behind a coffee house in the Azabudai neighbourhood, and closes for a few days every month so Suga can go off around Japan looking for new ideas and ingredients.
Although he comes from a family of chefs schooled in the French tradition, the produce Suga uses is almost entirely Japanese.
The playful Yamamoto, who invented edible inks to decorate his plates, got the maximum three Michelin stars four years ago.
He once served up what he called a “Chateau Ryugin 1970 soup” of potatoes, seashells and beetroot served in a bottle of wine corked with salsify.
Although he also trained in France, he insisted that “before I send a plate to a client I always ask myself, ‘Is this Japanese food?’ If the answer is no, I won’t serve it.”
Japan, China lead pack
Japan and China have more of the planet’s best restaurants than anywhere else according to the ranking, which was set up four years ago as a “more scientific” rival to the British-based 50 Best list.
Japan leads the country table with 130 restaurants in the top 1,000 but Chinese cuisine is closing the gap with 126, up three on last year if you include restaurants in Hong Kong, Macao and Taiwan.
France — the historic home of haute cuisine — comes in third with 116 and the United States just behind with 113.
The Mirazur restaurant at Menton on the French Riviera, which topped the 50 Best list, is joint fourth on the ranking.
It’s Argentinian chef Mauro Colagreco became the first foreign chef in France ever to win three Michelin stars earlier this year.
British celebrity chef Gordon Ramsay came joint fifth for his London base.
Most popular food
La Liste’s co-founder Jorg Zipprick said China’s rise is partly because of the large number of restaurants there and the boom in local gastronomic guides.
But Italian food is still the most popular on the planet after Japanese cooking, he said, judging from what was being cooked in the 20,000 establishments on La Liste’s database.
Zipprick said that environmental consciousness such as “local producers, sustainable fish, organic ingredients, plus the need to avoid food waste” were playing an increasingly important role in how people rate restaurants.
The highest ranking Australian restaurant was Melbourne’s Attica (joint eighth) while Toronto’s Alo was the pick of the bunch in Canada in seventh place. — AFP


|
|
Chapter 3: Defining FunctionsJ comes with a collection of functions built-in; we have seen a few, such as * and +. In this section we take a first look at how to put together these built-in functions, in various ways, for the purpose of defining our own functions.3.1 RenamingThe simplest way of defining a function is to give a name of our own choice to a built-in function. The definition is an assignment. For example, to define square to mean the same as the built-in *: function:square =: *: square 1 2 3 4 1 4 9 16We might choose to do this if we prefer our own name as more memorable. We can give two different names to the same built-in function, intending to use one for the monadic case and the other for the dyadic. Ceiling =: >. Max =: >.
3.2 InsertingRecall that (+/ 2 3 4) means 2+3+4, and similarly (*/ 2 3 4) means 2*3*4. We can define a function and give it a name, say sum, with an assignment:sum =: + / sum 2 3 4 9Here, sum =: +/ shows us that +/ is by itself an expression which denotes a function. This expression +/ can be understood as: "Insert" (/) applied to the function + to produce a list-summing function. That is, / is itself a kind of function. It takes one argument, on its left. Both its argument and its result are functions. 3.3 Terminology: Verbs, Operators and AdverbsWe have seen functions of two kinds. Firstly, there are "ordinary" functions, such as + and *, which compute numbers from numbers. In J these are called "verbs".Secondly, we have functions, such as /, which compute functions from functions. Functions of this kind will be called "operators", to distinguish them from verbs. Operators which take one argument are called "adverbs". An adverb always takes its argument on the left. Thus we say that in the expression (+ /) the adverb / is applied to the verb + to produce a list-summing verb. The terminology comes from the grammar of English sentences: verbs act upon things and adverbs modify verbs. 3.4 CommutingHaving seen one adverb, (/), let us look at another. The adverb ~ has the effect of exchanging left and right arguments.
The scheme is that for a dyad f with arguments x and y x f~ y means y f xFor another example, recall the residue verb | where 2 | 7 means, in conventional notation, "7 mod 2". We can define a mod verb: mod =: | ~
Let me draw some pictures. Firstly, here is a diagram of function f applied to an argument y to produce a result (f y). In the diagram the function f is drawn as a rectangle and the arrows are arguments flowing into, or results flowing out of, the function. Each arrow is labelled with an expression.
3.5 BondingSuppose we wish to define a verb double such that double x means x * 2 . That is, double is to mean "multiply by 2". We define it like this:double =: * & 2 double 3 6Here we take a dyad, *, and produce from it a monad by fixing one of the two arguments at a chosen value (in this case, 2). The & operator is said to form a bond between a function and a value for one argument. The scheme is: if f is a dyadic function, and k is a value for the right argument of f, then (f & k) y means y f kInstead of fixing the right argument we could fix the left, so we also have the scheme (k & f) y means k f yFor example, suppose that the rate of sales tax is 10%, then a function to compute the tax, from the purchase-price is: tax =: 0.10 & * tax 50 5Here is a diagram illustrating function k&f. 3.6 Terminology: Conjunctions and NounsThe expression (*&2) can be described by saying that the & operator is a function which is applied to two arguments (the verb * and the number 2), and the result is the "doubling" verb.A two-argument operator such as & is called in J a "conjunction", because it conjoins its two arguments. By contrast, recall that adverbs are operators with only one argument. Every function in J, whether built-in or user-defined, belongs to exactly one of the four classes: monadic verbs, dyadic verbs, adverbs or conjunctions. Here we regard an ambivalent symbol such as - as denoting two different verbs: monadic negation or dyadic subtraction. Every expression in J has a value of some type. All values which are not functions are data (in fact, arrays, as we saw in the previous section). In J, data values, that is, arrays, are called "nouns", in accordance with the English-grammar analogy. We can call something a noun to emphasize that it's not a verb, or an array to emphasize that it may have several dimensions. 3.7 Composition of FunctionsConsider the English language expression: the sum of the squares of the numbers 1 2 3, that is, (1+4+9), or 14. Since we defined above verbs for sum and square, we are in a position to write the J expression as:sum square 1 2 3 14A single sum-of-the-squares function can be written as a composite of sum and square: sumsq =: sum @: square sumsq 1 2 3 14The symbol @: (at colon) is called a "composition" operator. The scheme is that if f and g are verbs, then for any argument y (f @: g) y means f (g y)Here is a diagram for the scheme:
For another example of composition, a temperature in degrees Fahrenheit can be converted to Celsius by composing together functions s to subtract 32 and m tomultiply by 5%9. s =: - & 32 m =: * & (5%9) convert =: m @: s
For clarity, these examples showed composition of named functions. We can of course compose expressions denoting functions: conv =: (* & (5%9)) @: (- & 32) conv 212 100We can apply an expression denoting a function, without giving it a name: (* & (5%9)) @: (- & 32) 212 100The examples above showed composing a monad with a monad. The next example shows we can compose a monad with a dyad. The general scheme is: x (f @: g) y means f (x g y)For example, the total cost of an order for several items is given by multiplying quantities by corresponding unit prices, and then summing the results. To illustrate: P =: 2 3 NB. prices Q =: 1 100 NB. quantities total =: sum @: *
For more about composition, see Chapter 08. 3.8 Trains of VerbsConsider the expression "no pain, no gain". This is a compressed idiomatic form, quite comprehensible even if not grammatical in construction - it is not a sentence, having no main verb. J has a similar notion: a compressed idiomatic form, based on a scheme for giving meaning to short lists of functions. We look at this next.3.8.1 HooksRecall the verb tax we defined above to compute the amount of tax on a purchase, at a rate of 10%. The definition is repeated here:tax =: 0.10 & *The amount payable on a purchase is the purchase-price plus the computed tax. A verb to compute the amount payable can be written: payable =: + taxIf the purchase price is, say, $50, we see:
In the definition (payable =: + tax) we have a sequence of two verbs + followed by tax. This sequence is isolated, by being on the right-hand side of the assignment. Such an isolated sequence of verbs is called a "train", and a train of 2 verbs is called a "hook". We can also form a hook just by isolating the two verbs inside parentheses: (+ tax) 50 55The general scheme for a hook is that if f is a dyad and g is a monad, then for any argument y: (f g) y means y f (g y)Here is a diagram for the scheme:
wholenumber =: = <.
3.8.2 ForksThe arithmetic mean of a list of numbers L is given by the sum of L divided by the number of items in L. (Recall that number-of-items is given by the monadic verb #.)
A verb to compute the mean as the sum divided by the number of items can be written as a sequence of three verbs: sum followed by % followed by # . mean =: sum % # mean L 6An isolated sequence of three verbs is called a fork. The general scheme is that if f is a monad, g is a dyad and h is a monad then for any argument y, (f g h) y means (f y) g (h y)Here is a diagram of this scheme:
Recall from Chapter 01 that the largest number in a list is given by the verb >./ and so the smallest will be given by <./ range =: <./ , >./
Hooks and forks are sequences of verbs, also called "trains" of verbs. For more about trains, see Chapter 09. 3.9 Putting Things TogetherLet us now try a longer example which puts together several of the ideas we saw above.The idea is to define a verb to produce a simple display of a given list of numbers, showing for each number what it is as a percentage of the total. Let me begin by showing you a complete program for this example, so you can see clearly where we are going. I don't expect you to study this in detail now, because explanation will be given below. Just note that we are looking at a program of 7 lines, defining a verb called display and its supporting functions. frac =: % +/ percent =: (100 & *) @: frac round =: <. @: (+ & 0.5) comp =: round @: percent br =: ,. ; (,. @: comp) tr =: ('Data';'Percentages') & ,: display =: tr @: brIf we start with some very simple data: data =: 3 1 4then we see that the display verb shows each number as given and as a percentage (in round figures) of the total: 4 is 50% of 8. display data +----+-----------+ |Data|Percentages| +----+-----------+ |3 |38 | |1 |13 | |4 |50 | +----+-----------+First, we aim to divide each number by the total, to show the contribution of each as a fraction. The hook (% +/) is suitable: it can be read as divide-by-sum. If we call it frac frac =: % +/then we see
The percentages are given by multiplying the fractions by 100. percent =: (100 & *) @: frac
Let us round the percentages to the nearest whole number, by adding 0.5 to each and then taking the floor (the integer part) with the verb <. The verb round is: round =: <. @: (+&0.5)Then the verb to compute the displayed values from the data is: comp =: round @: percent
Now we want to show the data and computed values in columns. To make a 1-column table out of a list, we can use the built-in verb ,. (comma dot, called "Ravel Items").
To make the bottom row of the display, we define verb br as a fork which links together the data and the computed values, both as columns: br =: ,. ; (,. @: comp)
To add the top row of the display (the column headings), there is a useful built-in verb ,: (comma colon, "Laminate", which will be covered in Chapter 05) tr =: ('Data';'Percentages') & ,:
and so we put everything together: display =: tr @: br display data +----+-----------+ |Data|Percentages| +----+-----------+ |3 |38 | |1 |13 | |4 |50 | +----+-----------+This display verb has two aspects: the function comp which computes the values (the rounded percentages), and the remainder which is concerned to present the results. By changing the definition of comp, we can display a tabulation of the values of other functions. Suppose we define comp to be the built-in square-root verb (%:) . comp =: %:We would also want to change the column-headings in the top row, specified by the tr verb: tr =: ('Numbers';'Square Roots') & ,: display 1 4 9 16 +-------+------------+ |Numbers|Square Roots| +-------+------------+ | 1 |1 | | 4 |2 | | 9 |3 | |16 |4 | +-------+------------+In review, we have seen a small J program with some characteristic features of J: bonding, composition, a hook and a fork. As with all J programs, this is only one of the many possible ways to write it. In this chapter we have taken a first look at defining functions. There are two kinds of functions: verbs and operators. So far we have looked only at defining verbs. In the next chapter we look at another way of defining verbs, and in Chapter 13 onwards we will look at defining operators. This is the end of Chapter 3. |
The examples in this chapter
were executed using J version 701.
This chapter last updated 29 Jul 2012
Copyright © Roger Stokes 2012.
This material may be freely reproduced,
provided that this copyright notice is also reproduced.


OPENSOOQ Page Speed
Home
Manage URL
Dashboard
Mobile. Desktop.
Analyze the load speed of our platforms
Analyze
Desktop.
Mobile.


Checkr-front
- by Space Elephant Labs
Check your identifier validity
Type
Coins
Socials
Personals
Sub-type
Identifier
Check validity
is invalid for the type
is valid for the type
An error occured:


{% extends "base.html" %} {% block head %} {% endblock %} {% block content %}
Buildbots at the following IP addresses are permitted to post data to the dashboard. If you're not sure what IP to add, check the logs.


Jessika Carter leads No. 10 Mississippi State past UT Martin
by ROBBIE FAULKSTARKVILLE, Miss. (AP) - Jessika Carter knows she has big shoes to fill for Mississippi State with the graduation of All-American Teaira McCowan.
Carter’s transition for the bigger role was aided by the work she put in behind McCowan a year ago. The sophomore center had a career-high 19 points and eight rebounds in the No. 10 Bulldogs 82-46 win over UT Martin on Monday night.
“I’m much more comfortable than last year,” Carter said. “I’ve worked hard watching Teaira and Anriel (Howard) play and I’ve gotten more comfortable as the game goes.”
It was a night of many new or newer faces that were taking over expanded roles for a team that is reloading from back-to-back Southeastern Conference championships. The lone senior, Jordan Danberry, played just 12 minutes and scored just one point as head coach Vic Schaefer let his young group find their way on their own.
“She’s going to log some long minutes in some long games,” Schaefer said of Danberry. “(Monday) gave us an opportunity to play some of these young kids. Jessika was really good. She’s focused.”
One of the guards that shined with extended minutes from freshman point guard Aliyah Matharu , who had her second double-digit scoring contest in as many games. She hit three 3-pointers and had no turnovers.
The zero turnovers were most impressive for Schaefer who puts a premium on his point guards protecting the ball. Matharu has already picked up on that and was happy with the performance after having seven turnovers in the first game against Southern Miss.
“I struggle with sometimes making the best passes.  “I wanted to set them up in a spot where they could score where they’re comfortable. That’s what I tried to do (Monday).”
The Skyhawks (0-2) had issues against MSU’s defense for most of the ball game as they failed to score in the first 6:30 of the game and again in the fourth quarter for the first five minutes. They finished with 20 turnovers and State had 29 points off them.
MSU led 41-20 at halftime and extended that lead in the third and fourth quarters.
Zaire Hicks had 12 points and Damiah Griffin added 10 for UT Martin.
BIG PICTURE
Mississippi State: Monday night felt like an experiment of sorts for Schaefer with his young players. The lone senior, Jordan Danberry, played just 12 minutes and scored just one point while the four true freshmen averaged 15 minutes.
UT Martin: The Skyhawks had a pair of Mississippians on the team that were able to return back home. Former Choctaw Central High School twin guards Kyarrah and Kyannah Grant are sophomores. Kyannah scored one point and played two minutes.
UP NEXT
Mississippi State hosts Troy on Friday.
UT Martin travels to No. 23 Gonzaga on Thursday.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


People involved in shooting incident not patrons, says News Cafe
News Cafe has issued a statement about the shooting incident that happened on Friday November 15.
by Supplied Content“News Cafe management acknowledges that there was a shooting incident this weekend outside its premises and a video that has been circulating on social media. However, the people fighting in the video were not patrons.”
Owner, Harris Zwane wanted it to be on the record that, according to witnesses, the men had been involved in a road rage incident at a filling station across the road before they proceeded to the City Centre’s parking lot.
“I am aware of the video and I can confirm that nobody was shot. Shots were fired in the air. It is unfortunate that their fight ended at the shopping centre where News Cafe is located. We can assure patrons that security measures have been set up and to date there have been no reports of carjacking or any criminal activities. We want to make sure that patrons are always safe with the services of a private security company. People should refrain from spreading false information about the incident.”
News Cafe’s management has said the safety of its patrons remains a priority.
Watch the video here.


How to build a button box for a toddler
by Mark FrauenfelderThe creator of the CodeParade video channel made an interactive pushbutton busyboard for his toddler. He bought a bunch of knobs and switches, wired them to an Arduino, LEDs and beepers, and put them in a craft box. It has a simple mode, in which pushing a button triggers a sound or light, and an advanced mode, which includes a Simon game. It looks like something people of all ages would enjoy playing with.


Greenhouse Temperature Regulator
Home
Contact
Control the temperature in your greenhouses easily!
Threshold temperature for shade
Threshold temperature for fan
Tempreature Buffer
Submit
Developed by:
Kanishk Parihar
,
Sameer Agrawal
,
Aditya Bhandari
,
Akshay Gaikwad
.


Bind Paths and Mounts¶
If enabled by the system administrator, Singularity allows you to map directories on your host system to directories within your container using bind mounts. This allows you to read and write data on the host system with ease.
Overview¶
When Singularity ‘swaps’ the host operating system for the one inside your container, the host file systems becomes inaccessible. But you may want to read and write files on the host system from within the container. To enable this functionality, Singularity will bind directories back into the container via two primary methods: system-defined bind paths and user-defined bind paths.
System-defined bind paths¶
The system administrator has the ability to define what bind paths will be
included automatically inside each container. Some bind paths are automatically
derived (e.g. a user’s home directory) and some are statically defined (e.g.
bind paths in the Singularity configuration file). In the default
configuration, the system default bind points are $HOME
, /sys:/sys
,
/proc:/proc
, /tmp:/tmp
, /var/tmp:/var/tmp
, /etc/resolv.conf:/etc/resolv.conf
,
/etc/passwd:/etc/passwd
, and $PWD
. Where the first path before :
is the path from the host and the second path is the path in the container.
User-defined bind paths¶
If the system administrator has enabled user control of binds, you will be able to request your own bind paths within your container.
The Singularity action commands (run
, exec
, shell
, and
instance start
will accept the --bind/-B
command-line option to specify
bind paths, and will also honor the $SINGULARITY_BIND
(or
$SINGULARITY_BINDPATH
) environment variable. The argument for this option is
a comma-delimited string of bind path specifications in the format
src[:dest[:opts]]
, where src
and dest
are paths outside and inside
of the container respectively. If dest
is not given, it is set equal to
src
. Mount options (opts
) may be specified as ro
(read-only) or
rw
(read/write, which is the default). The --bind/-B
option can be
specified multiple times, or a comma-delimited string of bind path
specifications can be used.
Specifying bind paths¶
Here’s an example of using the --bind
option and binding /data
on the
host to /mnt
in the container (/mnt
does not need to already exist in
the container):
$ ls /data
bar foo
$ singularity exec --bind /data:/mnt my_container.sif ls /mnt
bar foo
You can bind multiple directories in a single command with this syntax:
$ singularity shell --bind /opt,/data:/mnt my_container.sif
This will bind /opt
on the host to /opt
in the container and /data
on the host to /mnt
in the container.
Using the environment variable instead of the command line argument, this would be:
$ export SINGULARITY_BIND="/opt,/data:/mnt"
$ singularity shell my_container.sif
Using the environment variable $SINGULARITY_BIND
, you can bind paths even
when you are running your container as an executable file with a runscript. If
you bind many directories into your Singularity containers and they don’t
change, you could even benefit by setting this variable in your .bashrc
file.
A note on using --bind
with the --writable
flag¶
To mount a bind path inside the container, a bind point must be defined within the container. The bind point is a directory within the container that Singularity can use as a destination to bind a directory on the host system.
Starting in version 3.0, Singularity will do its best to bind mount requested paths into a container regardless of whether the appropriate bind point exists within the container. Singularity can often carry out this operation even in the absence of the “overlay fs” feature.
However, binding paths to non-existent points within the container can result in
unexpected behavior when used in conjuction with the --writable
flag, and is
therefore disallowed. If you need to specify bind paths in combination with the
--writable
flag, please ensure that the appropriate bind points exist within
the container. If they do not already exist, it will be necessary to modify the
container and create them.
Using --no-home
and --containall
flags¶
--no-home
¶
When shelling into your container image, Singularity allows you to mount your current working directory (CWD
)
without mounting your host $HOME
directory with the --no-home
flag.
$ singularity shell --no-home my_container.sif
Note
Beware that if it is the case that your CWD
is your $HOME
directory, it will still mount your $HOME
directory.
--containall
¶
Using the
--containall
(or-C
for short) flag,$HOME
is not mounted and a dummy bind mount is created at the$HOME
point. You cannot use-B`
(or--bind
) to bind your$HOME
directory because it creates an empty mount. So if you have files located in the image at/home/user
, the--containall
flag will hide them all.
$ singularity shell --containall my_container.sif


|
Vc
0.7.5-dev
SIMD Vector Classes for C++
|
|
Vc uses CMake as its buildsystem.
It also provides much of the CMake logic it uses for itself for other projects that use CMake and Vc. Here's an (incomplete) list of features you can get from the CMake scripts provided with Vc:
To make use of these features simply copy the FindVc.cmake as installed by Vc to your project. Add
to your CMakeLists.txt. After that you can use the following variables:
The following variables might be of interest, too:
The macro vc_compile_for_all_implementations is provided to help with compiling a given source file multiple times with all different possible SIMD targets for the given architecture. Example:
vc_compile_for_all_implementations(objs src/trigonometric.cpp FLAGS -DSOME_FLAG EXCLUDE Scalar SSE2)
You can specify an arbitrary number of additional compiler flags after the FLAGS argument. These flags will be used for all compiler calls. After an optional EXCLUDE argument you can specify targets that you want to exclude. After an optional ONLY argument you can specify targets that you want to compile for. (So either you exclude some, or you explicitly list the targets you want.)
Often it suffices to have SSE2 or SSE3 as the least common denominator and provide SSE4_1 and AVX. Here is the currently complete list of possible targets the macro will compile for:
If your project does not use CMake all you need to do is the following:


Login
Checkout
(
items)
Empty Cart
Home
Shop
Accessories
Bags
Caps & Hats
Hoodies & Sweatshirts
Jackets & Coats
Jeans
Jewellery
Jumpers & Cardigans
Leather Jackets
Long Sleeve T-Shirts
Loungewear
Shirts
Shoes, Boots & Trainers
Shorts
Suits & Blazers
Sunglasses
Sweatpants
Swimwear
Trousers & Chinos
T-Shirts
Underwear & Socks
Vests
Popular Brands
Levis
Persol
Nike
Edwin
New Balance
Jack & Jones
Paul Smith
Ray-Ban
Wood Wood
Lookbook
Accessories
Bags
Caps & Hats
Hoodies & Sweatshirts
Jackets & Coats
Jeans
Jewellery
Jumpers & Cardigans
Leather Jackets
Long Sleeve T-Shirts
Loungewear
Shirts
Shoes, Boots & Trainers
Shorts
Suits & Blazers
Sunglasses
Sweatpants
Swimwear
Trousers & Chinos
T-Shirts
Underwear & Socks
Vests
Popular Brands
Levis
Persol
Nike
Edwin
New Balance
Jack & Jones
Paul Smith
Ray-Ban
Wood Wood
Blog
Conact
Categories
Men
Cute Kittens
Strange Stuff
Automatic Fails
Women
Cute Kittens
Strange Stuff
Automatic Fails
Kids
Cute Kittens
Strange Stuff
Automatic Fails
Accesories
Cute Kittens
Strange Stuff
Automatic Fails
Shoes
Cute Kittens
Strange Stuff
Automatic Fails
Lorem Ipsum
SHOP NOW
Tags
design
fashion
lorem
dress
fashion
dress
design
dress
design
fashion
lorem
dress
Best Sellers
Lorem ipsum dolor sit amet consectetuer
$40.00
Lorem ipsum dolor sit amet consectetuer
$40.00
DISCOUNT
Up to
60%
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
Buy Now
It is a long established fact that a reader
$500.00
«
1
(current)
2
3
4
5
»


Hi, and welcome! I'm a musician and a software developer, looking to make fun and useful things at the intersection of technology and the arts. Please have a look around, and get in touch.


We are a multicultural and customer centric trip support company that is always striving for excellence in the services we provide. Our testament that we will never tire in serving our clients around the clock is our team’s creed and is instilled in our core values.
We are one of the few companies that can truly offer worldwide trip support services with the highest service standards, is ISO certified and cost efficient, and will effectively allow you to save valuable time and resources.
Our extensive portfolio of into-wing suppliers provides a variety of choices with the assurance that your fuel is of the highest quality and will be there on time every time.
Our extensive portfolio of into-wing suppliers provides a variety of choices.
Our extensive portfolio of into-wing suppliers provides a variety of choices.
Our extensive portfolio of into-wing suppliers provides a variety of choices.
Our extensive portfolio of into-wing suppliers provides a variety of choices.
Our extensive portfolio of into-wing suppliers provides a variety of choices with the assurance that your fuel is of the highest quality and will be there on time every time.
Our extensive portfolio of into-wing suppliers provides a variety of choices with the assurance that your fuel is of the highest quality and will be there on time every time.
Our extensive portfolio of into wing suppliers provides a variety of choices with the assurance.
Our extensive portfolio of into wing suppliers provides a variety of choices with the assurance.
Our extensive portfolio of into wing suppliers provides a variety of choices with the assurance.
Our extensive portfolio of into wing suppliers provides a variety of choices with the assurance.
Our extensive portfolio of into wing suppliers provides a variety of choices with the assurance.
Our extensive portfolio of into wing suppliers provides a variety of choices with the assurance.
Our extensive portfolio of into-wing suppliers provides a variety of choices with the assurance that your fuel is of the highest quality and will be there on time every time.
Our extensive portfolio of into-wing suppliers provides a variety of choices with the assurance that your fuel is of the highest quality and will be there on time every time.
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here.
Our extensive portfolio of into-wing suppliers provides a variety of choices with the assurance that your fuel is of the highest quality and will be there on time every time.
Our extensive portfolio of into-wing suppliers provides a variety of choices with the assurance that your fuel is of the highest quality and will be there on time every time.