[gecode-users] High memory consumption during execution
Christian Schulte
cschulte at kth.se
Tue Nov 10 09:48:31 CET 2009
Another hint: if your model uses the standard Gecode search engines, you can
inquire how much memory is occupied by the nodes of the search tree. If
there is a huge difference between what is reported by the search engine and
what is reported by your operating system, you program just has a memory
leak.
Then, how deep is the search tree? How many variables and propagators does
your problem have?
In the end: we could say much more if you provided a little bit more detail
about what you observe. The information that your program uses a lot of
memory is not that helpful in itself.
Christian
--
Christian Schulte, www.ict.kth.se/~cschulte/
-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Mikael Zayenz Lagerkvist
Sent: Tuesday, November 10, 2009 8:56 AM
To: benoit
Cc: users at gecode.org
Subject: Re: [gecode-users] High memory consumption during execution
Hi,
Please consult Section 9.2 in Modeling with Gecode.
Note that that will not help if your problem is due to a memory leak
in your program.
Cheers,
Mikael
On 9 nov 2009, at 23.17, benoit wrote:
> Hello,
>
> In a previous message
> (http://www.ps.uni-sb.de/pipermail/gecode-users/2009-November/003287.html
> ),
> I faced memory problems with the element constraint during the
> definition of my space. The concept of shared array implemented in the
> new version of Gecode (3.2.1) solved it.
>
> However, a high memory consumption problem now occurs during
> execution.
> I suppose that it is also related to the element constraint (but I'm
> not
> completely sure). I tried to isolate a simple piece of code but failed
> to reproduce the problem. I also tried to identify the problem in
> debug
> mode but, at some point, I can not have access to the code (I'm using
> Visual Studio Express 2008). With the few information provided, it may
> be difficult to solve my problem. Is there a "classical" mistake that
> could explain this behavior ?
>
> I can provide my code if needed but it is not very "digeste".
>
> Thank you in advance for your help.
>
> Benoît
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
More information about the gecode-users
mailing list


Definition in file CBsp.h.
Include dependency graph for CBsp.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Defines | |
| #define | BSP_USE_SPHERES |
| If uncommented, bounding spheres will be used for faster polygon classification against planes. (Eg. on front, on back, spanning). | |
| #define | BSP_DEFAULT_EPS 0.001 |
| Epsilon value to keep floating point happy and minimize splits. This value should generally be as small as possible, without breaking the proper function of the BSP compiler. |


- Open console and go to `Memory` tab
- Select `Heap snapshot`
- Click on `Take heap snapshot` button in left nav toolbar
- Click on `Initialize` button and then `Destroy` button in browser
- Now in console `Memory` tab` click on `Collect garbage` button (trash icon)
- Click again on `Take heap snapshot` button in left nav toolbar to create another snapshot
- Click on `Summrary` dropdown to change `Comparison`
- Type `Detached` to next input to filter
- See in column `# Delta`
- Check all numbers should be less-than or equal to zero


Please let us know how we can contact you in case we need to:
What a shame.We'd really appreciate it anyway if you could leave us your details so we can stay in touch:


Welcome to my leetcode channel
SOLUTION »
Passionate learner from School Of Software Engineering, Shanghai Jiao Tong University
Visit my GitHub, leave a star!
DP Binary Search BFS map 2 pointers DFS linked-list set array paxos bitwise heap map-reduce quicksort


|
App Engine Python SDK
v1.6.9 rev.445
The Python runtime is available as an experimental Preview feature.
|
Public Member Functions | |
| def | __init__ |
| def | start |
| def | quit |
| def | instances |
| def | num_outstanding_instance_requests |
| def | __call__ |
| Public Member Functions inherited from google.appengine.tools.devappserver2.module.Module | |
| def | __init__ |
| def | name |
| def | ready |
| def | balanced_port |
| def | host |
| def | balanced_address |
| def | max_instance_concurrent_requests |
| def | module_configuration |
| def | supports_interactive_commands |
| def | set_num_instances |
| def | get_num_instances |
| def | suspend |
| def | resume |
| def | get_instance_address |
| def | get_instance_port |
| def | get_instance |
| def | supports_individually_addressable_instances |
| def | create_interactive_command_module |
| def | build_request_environ |
Static Public Member Functions | |
| def | generate_instance_id |
| Static Public Member Functions inherited from google.appengine.tools.devappserver2.module.Module | |
| def | generate_request_log_id |
| def | generate_request_id_hash |
A pool of instances that is autoscaled based on traffic.
| def google.appengine.tools.devappserver2.module.AutoScalingModule.__init__ | ( | self, | |
| module_configuration, | |||
| host, | |||
| balanced_port, | |||
| api_host, | |||
| api_port, | |||
| auth_domain, | |||
| runtime_stderr_loglevel, | |||
| php_config, | |||
| python_config, | |||
| cloud_sql_config, | |||
| unused_vm_config, | |||
| default_version_port, | |||
| port_registry, | |||
| request_data, | |||
| dispatcher, | |||
| max_instances, | |||
| use_mtime_file_watcher, | |||
| automatic_restarts, | |||
| allow_skipped_files, | |||
| threadsafe_override | |||
| ) |
Initializer for AutoScalingModule. Args: module_configuration: An application_configuration.ModuleConfiguration instance storing the configuration data for a module. host: A string containing the host that any HTTP servers should bind to e.g. "localhost". balanced_port: An int specifying the port where the balanced module for the pool should listen. api_host: The host that APIServer listens for RPC requests on. api_port: The port that APIServer listens for RPC requests on. auth_domain: A string containing the auth domain to set in the environment variables. runtime_stderr_loglevel: An int reprenting the minimum logging level at which runtime log messages should be written to stderr. See devappserver2.py for possible values. php_config: A runtime_config_pb2.PhpConfig instances containing PHP runtime-specific configuration. If None then defaults are used. python_config: A runtime_config_pb2.PythonConfig instance containing Python runtime-specific configuration. If None then defaults are used. cloud_sql_config: A runtime_config_pb2.CloudSQL instance containing the required configuration for local Google Cloud SQL development. If None then Cloud SQL will not be available. unused_vm_config: A runtime_config_pb2.VMConfig instance containing VM runtime-specific configuration. Ignored by AutoScalingModule as autoscaling is not yet supported by VM runtimes. default_version_port: An int containing the port of the default version. port_registry: A dispatcher.PortRegistry used to provide the Dispatcher with a mapping of port to Module and Instance. request_data: A wsgi_request_info.WSGIRequestInfo that will be provided with request information for use by API stubs. dispatcher: A Dispatcher instance that can be used to make HTTP requests. max_instances: The maximum number of instances to create for this module. If None then there is no limit on the number of created instances. use_mtime_file_watcher: A bool containing whether to use mtime polling to monitor file changes even if other options are available on the current platform. automatic_restarts: If True then instances will be restarted when a file or configuration change that effects them is detected. allow_skipped_files: If True then all files in the application's directory are readable, even if they appear in a static handler or "skip_files" directive. threadsafe_override: If not None, ignore the YAML file value of threadsafe and use this value instead.
| def google.appengine.tools.devappserver2.module.AutoScalingModule.instances | ( | self | ) |
A set of all the instances currently in the Module.
| def google.appengine.tools.devappserver2.module.AutoScalingModule.num_outstanding_instance_requests | ( | self | ) |
The number of requests that instances are currently handling.
| def google.appengine.tools.devappserver2.module.AutoScalingModule.quit | ( | self | ) |
Stops the Module.
| def google.appengine.tools.devappserver2.module.AutoScalingModule.start | ( | self | ) |
Start background management of the Module.


--- layout: page title: About header-img: "img/about-bg.png" ---
A late bloomer. My plans were distracted by life. Now, in the last third of my life, after more than 30 years working on automotive assembly lines, I may have found my niche.


Reservation for Hotel Georgina
Web Dev Project
Body Mass Index Calculator
C# Project
Simple Calculator
Java Project
Hotel Reservation System
MySQL Project


The Scholarship Search Database highlights the creative pursuits and research interests of Colorado College faculty and staff. This system uses open knowledge graphs that link authoritative data and relationships such as departmental affiliations, research profiles, and contact information.
{{ "users"|get_stat }} people in {{ "orgs"|get_stat }} academic departments and administrative units.
Questions? Concerns? Contact Diane Westerfield
{#{{ "articles"|get_stat }} brief works including scholarly articles, conference papers, book reviews, and poems published in {{ "journals"|get_stat }} journals and conference proceedings.
{{ "books"|get_stat }} books, book chapters, and book contributions by {{ "authors"|get_stat }} CC authors.
#}


Gecode::Search::MemoryStop Class Reference
[Stop-objects for stopping search]
#include <search.hh>
Inherits Gecode::Search::Stop.
Detailed Description
Stop-object based on memory consumptionDefinition at line 137 of file search.hh.
Public Member Functions | |
| MemoryStop (size_t l) | |
| Stop if memory limit l (in bytes) is exceeded. | |
| size_t | limit (void) const |
| Return current limit. | |
| void | limit (size_t l) |
| Set current limit to l (in bytes). | |
| virtual bool | stop (const Statistics &s) |
| Return true if memory limit is exceeded. | |
Protected Attributes | |
| size_t | l |
| Size limit. |
Constructor & Destructor Documentation
| Gecode::Search::MemoryStop::MemoryStop | ( | size_t | l | ) | [inline] |
Member Function Documentation
| size_t Gecode::Search::MemoryStop::limit | ( | void | ) | const [inline] |
| void Gecode::Search::MemoryStop::limit | ( | size_t | l | ) | [inline] |
| bool Gecode::Search::MemoryStop::stop | ( | const Statistics & | s | ) | [virtual] |
Member Data Documentation
size_t Gecode::Search::MemoryStop::l [protected] |
The documentation for this class was generated from the following files:
- gecode/search.hh (Revision: 7310)
- gecode/search/stop.cc (Revision: 4790)
- gecode/search/stop.icc (Revision: 4790)


{% extends "header.html" %} {% block body %}
This Python 3 tutorial covers how to read CSV data in from a file and then use it in Python. For this, we use the csv module. CSV literally stands for comma separated variable, where the comma is what is known as a "delimiter." While you can also just simply use Python's split() function, to separate lines and data within each line, the CSV module can also be used to make things easy.
Here is the sample code that matches the video:
Example CSV file data:
1/2/2014,5,8,red 1/3/2014,5,2,green 1/4/2014,9,1,blue
Next, let's cover the reading of CSV files into memory:
import csv with open('example.csv') as csvfile: readCSV = csv.reader(csvfile, delimiter=',') for row in readCSV: print(row) print(row[0]) print(row[0],row[1],row[2],)
Above, we've shown how to open a CSV file and read each row, as well as reference specific data on each row.
Next, we will show how to pull out specific data from the spreadsheet and save it to a list variable:
import csv with open('example.csv') as csvfile: readCSV = csv.reader(csvfile, delimiter=',') dates = [] colors = [] for row in readCSV: color = row[3] date = row[0] dates.append(date) colors.append(color) print(dates) print(colors)
Once we have this data, what can we do with it? Maybe we are curious about what color something was on a specific date.
import csv with open('example.csv') as csvfile: readCSV = csv.reader(csvfile, delimiter=',') dates = [] colors = [] for row in readCSV: color = row[3] date = row[0] dates.append(date) colors.append(color) print(dates) print(colors) # now, remember our lists? whatColor = input('What color do you wish to know the date of?:') coldex = colors.index(whatColor) theDate = dates[coldex] print('The date of',whatColor,'is:',theDate)
Simple enough! If we enter something that doesn't exist, we get an ugly error.


We do not recommend a party based on what they promise but what they deliver
You say what you think about real motions, and we compare it to how the parties voted
Here you can also find information about the parlament's current activities


Watch Lana Del Rey team up with The Walkmen’s Hamilton Leithauser to cover Bob Dylan
It's the latest high profile cover from her...
Lana Del Rey has teamed up with former Walkmen frontman Hamilton Leithauser to cover Bob Dylan’s ‘Don’t Think Twice, It’s All Right’ – marking the latest illustrious duet on her US tour.
As she performed in Nashville on Tuesday evening, Del Rey surprised fans by inviting Leithauser to the stage. The pair performed Dylan’s 1963 tune ‘Don’t Think Twice, It’s Alright’ for the crowd at Music City.
“Singing w Lana tonight in Nashville,” Leithauser wrote on Instagram. “Thanks for having me.”

Opening up for Del Rey at Chicago’s Aragon Ballroom, Dacus later joined the ‘Blue Jeans’ singer during her set to perform a duet of her song ‘Night Shift’.
Later in the evening, Del Rey invited Best Coast’s Bethany Cosentino to join her on stage. Together the pair sang ‘When I’m With You’ before Cosentino was given the floor for a solo performance of ‘Up All Night’.
Last month, she also surprised fans by bringing out folk icon Joan Baez to perform two tracks. Before that she performed a cover of Leonard Cohen‘s ‘Chelsea Hotel #2’ with the late musician’s son, Adam Cohen.
Meanwhile, Lana Del Rey has also said that she wants to collaborate with The National.
Asked who she’d like to be her next collaborator in an interview, the singer replied: “Well, I really like The National. His voice, I think about it… a lot.”
“Every time a song is playing and I’m like, who’s that? It’s always them,” she finished.


|
MINT
Mimetic INTerpolation on the sphere
|
Edge-centred field regridding. More...
#include <mntRegridEdges.h>
Public Attributes | |
| vmtCellLocator * | srcLoc |
| cell locator (octree-based) for fast cell search More... | |
| std::vector< double > | weights |
| interpolation weights More... | |
| std::vector< vtkIdType > | weightDstCellIds |
| destination cell Ids of the weights More... | |
| std::vector< int > | weightDstFaceEdgeIds |
| destination face indices of the weights More... | |
| std::vector< vtkIdType > | weightSrcCellIds |
| source cell Ids of the weights More... | |
| std::vector< int > | weightSrcFaceEdgeIds |
| source face indices of the weights More... | |
| Grid_t * | dstGridObj |
| destination grid object More... | |
| Grid_t * | srcGridObj |
| source grid object More... | |
| QuadEdgeIter | edgeConnectivity |
| edge connectivity iterator More... | |
| int | ndims |
| number of dimensions More... | |
| std::vector< std::string > | dimNames |
| netcdf dimension names More... | |
| NcFieldRead_t * | srcReader |
| netcdf file source data reader More... | |
| int | srcNcid |
| netcdf source file Id More... | |
| int | srcVarid |
| netcdf variable Id More... | |
| std::vector< std::size_t > | srcDims |
| netcdf source data dimensions More... | |
| std::vector< std::size_t > | srcCounts |
| netcdf source data counts More... | |
| NcFieldWrite_t * | dstWriter |
| netcdf destination data writer More... | |
| std::vector< std::size_t > | dstDims |
| netcdf destination data dimensions More... | |
| std::vector< std::size_t > | dstCounts |
| netcdf destination data counts More... | |
| MultiArrayIter_t * | mai |
| multi-array iterator More... | |
| std::vector< std::size_t > | startIndices |
| start indices for multi-array iterator More... | |
| bool | srcGridIsOwned |
| whether the gridder owns the grids More... | |
| bool | dstGridIsOwned |
Edge-centred field regridding.
A class to compute the regridding weights of an edge-centred field
| std::vector<std::string> RegridEdges_t::dimNames |
netcdf dimension names
| std::vector<std::size_t> RegridEdges_t::dstCounts |
netcdf destination data counts
| std::vector<std::size_t> RegridEdges_t::dstDims |
netcdf destination data dimensions
| bool RegridEdges_t::dstGridIsOwned |
| Grid_t* RegridEdges_t::dstGridObj |
destination grid object
| NcFieldWrite_t* RegridEdges_t::dstWriter |
netcdf destination data writer
| QuadEdgeIter RegridEdges_t::edgeConnectivity |
edge connectivity iterator
| MultiArrayIter_t* RegridEdges_t::mai |
multi-array iterator
| int RegridEdges_t::ndims |
number of dimensions
| std::vector<std::size_t> RegridEdges_t::srcCounts |
netcdf source data counts
| std::vector<std::size_t> RegridEdges_t::srcDims |
netcdf source data dimensions
| bool RegridEdges_t::srcGridIsOwned |
whether the gridder owns the grids
| Grid_t* RegridEdges_t::srcGridObj |
source grid object
| vmtCellLocator* RegridEdges_t::srcLoc |
cell locator (octree-based) for fast cell search
| int RegridEdges_t::srcNcid |
netcdf source file Id
| NcFieldRead_t* RegridEdges_t::srcReader |
netcdf file source data reader
| int RegridEdges_t::srcVarid |
netcdf variable Id
| std::vector<std::size_t> RegridEdges_t::startIndices |
start indices for multi-array iterator
| std::vector<vtkIdType> RegridEdges_t::weightDstCellIds |
destination cell Ids of the weights
| std::vector<int> RegridEdges_t::weightDstFaceEdgeIds |
destination face indices of the weights
| std::vector<double> RegridEdges_t::weights |
interpolation weights
| std::vector<vtkIdType> RegridEdges_t::weightSrcCellIds |
source cell Ids of the weights
| std::vector<int> RegridEdges_t::weightSrcFaceEdgeIds |
source face indices of the weights


Maperial.js : Streaming demo
So, good for you, now you have access to Twitter firehose stream.
How about drawing beautiful heatmaps to vizualise your data ?
This map is an example displaying dynamical points received from a fake stream,
You can do the same with your own streams with about 20 JavaScript lines client side.
See details on github


A browser-based multiplayer Reddit-integrated RPG engine. The engine was built from scratch using a WebGL graphics library (PIXI.js) and Node.js. The project includes an asset compiler that generates spritesheets from 3D voxel models, random map generation using perlin noise, a server backend using websockets for communication, an in-game map editor, a dynamically updating pathfinding system for NPC movement, account data storage using Amazon S3, and Reddit account integration.
Data visualization of the Erowid Experience Vaults, a site with over 23,000 drug experience reports. Project included writing a scraper that programmatically performed searches of the Erowid database to amass the data I needed. The visualization shows correlations between the various categories reports are filed under in order to reveal relationships between drugs, types of experiences, contexts in which they're used, intensity of the experiences, and the gender of the user.
A Room Too Far is a 4-player cooperative dungeon crawler on an arcade machine, where players work together to defeat user-generated dungeons created via a level editor on our website. It's my senior project in the Computer Science: Computer Game Design major, being developed by a 9-person programming team and a slew of artists and other contributors. My main role has been the design and implementation of the front-end side of the level editor. My other tasks include the UI functionality across much the game, and a few chunks of the gameplay side, including the loot system, camera system, and some game feel features.
3D lunar lander-type game, in which the player controls a spacecraft designed for landing on alien planets. The game contains 6 levels, each one with its own theme and unique task. Levels include boss fights using wrecking balls, rock-transporting mining tasks, and flying through a series of beacons. Experimented with rope simulation (via a joint system), breakaway parts, events, and navigation systems.
Two-player deathmatch style game, using a voxel map as the playspace. Players have destruction and construction weapons, which are used to alternately destroy and construct terrain in various patterns, as well as to hurt the other player. The voxel framework was coded using this online tutorial. Gained experienced with animation timing, minimap functionality, and, of course, voxel systems. Using what I learned about them, I later created my own rhombic dodecahedral voxel system, which can be seen in the Other Projects section.
Created mainly as a joke to make my friends laugh, this is Sonic the Hedgehog-themed, nostalgia-inducing multiplayer experience. Using a networking framework called Photon and a large amount of assets ripped from classic console games, I implemented a pseudo-MMO (pseudo because there's no server storing player data). Despite being a joke project, I ended up learning a lot about multiplayer networking from it, and the fundamental differences between coding for a single-player game, and coding for a multiplayer online game. Programming challenges included creating a chat system, syncing each player's game world via RPCs, and storing player data (in this case, in the host's client).
First game ever created. Written in an introductory game design course. Hard-coded in JavaScript. Might want to turn down volume before playing.
Experiment with a size-changing mechanic, where you play as an Alice in Wonderland type character that can adjust her scale to explore the environment. Messed around with the concept of traversing gamespace through changes in scale rather than through changes in position. Experimented with cel-shading, shadows, and performance optimizations.
A project done in a class called Game AI. It's an implementation of decision tree-based AI for StarCraft: Brood War. The project uses an injection program called BWAPI, which allows custom scripts to modify unit behavior in-game. Our code causes 3 Terran Vultures to disable a large Zerg base using kiting tactics. The vultures perform checks around themselves and either attack or flee, depending on the density of zerglings nearby, and the availability of escape routes.
Created a system that can generate fractals using an L-system at runtime. The algorithm uses a depth-first strategy to generate the fractal in chunks and then render the chunks in sequence, avoiding the problem of generating large fractals all at once, which can take up to several minutes. The initial intent was to make a game where the environments are fractal in nature, as seen in videos like this. The next step in this project will either be adding a 3rd dimension in order to create a 3D fractal world, or attempting to turn this into a 2D infinite runner where an ever-generating fractal is the ground.
Implementation of a limb movement system for a humanoid ragdoll, which causes it to "dance" around. Certain body parts move in response to changes in the position of certain other body parts, while joints flex to generate a dancing-type motion. Inspired by evolutionary algorithms that generate bipedal locomotion.
A modeling of planetary orbit. Uses an addForce function, in conjunction with an initial velocity, in order to generate orbit. Many variables are modifiable via the user interface on the sides of the game screen. Began as an attempt to see how orbital paths gradually change in response the gravitational pull of other orbiting bodies. See n-body problem.
First attempt at procedural generation. The bees all follow a leader bee, which is invisible. If a follower collides with another, it does a speed check, changing its leader to who it collided with if it's moving slower than it. This eventually creates a serpent-like shape in the swarm. Different combinations of checks and behaviors lead to various other interesting swarm shapes. Created during a period when I was obsessed with crowd simulations like the one seen here.
Project made in an Android programming class. It's a workout assistant for gym-goers. My major contribution was a script that uses the inbuilt accelerometer to detect reptitions of an exercise, so the user can strap the phone to one of their limbs, press start, and let the app count reps for them.
Created a voxel system that tesselates rhombic dodecahedrons instead of cubes, creating a rhombic dodecahedral honeycomb. Each solid is manually generated with verts and tris. Faces inside the terrain are deleted so that the entire plot is a single airtight mesh. I chose rhombic dodecahedrons as the shape just to give myself to a tough problem to solve. In retrospect, it's about the worst shape for a voxel system. Walking on them looks painful.
Playing with cameras, culling, and filters. Attempt at simulating lateralization of brain function in a sort of artistic manner, by having each side of the screen correspond to an eye, and using filtering to make them see the world in different ways.
Pitch for a VR/trampoline hybrid game. Nothing could go wrong here.


Primitive Types¶
COGS provides a number of built-in primitive types you can use to define properties on items in your model.
Simple Types¶
boolean¶
Represents Boolean values, which are either true or false.
decimal¶
Represents arbitrary precision numbers.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
float¶
Represents single-precision 32-bit floating-point numbers.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
double¶
Represents double-precision 64-bit floating-point numbers.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
duration¶
Represents a duration of time. The pattern for duration is PnYnMnDTnHnMnS, where nY represents the number of years, nM the number of months, nD the number of days, T the date/time separator, nH the number of hours, nM the number of minutes, and nS the number of seconds.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
dateTime¶
Represents a specific instance of time. The pattern for dateTime is CCYY-MM-DDThh:mm:ss where CC represents the century, YY the year, MM the month, and DD the day, preceded by an optional leading negative (-) character to indicate a negative number. If the negative character is omitted, positive (+) is assumed. The T is the date/time separator and hh, mm, and ss represent hour, minute, and second respectively. Additional digits can be used to increase the precision of fractional seconds if desired. For example, the format ss.ss… with any number of digits after the decimal point is supported. The fractional seconds part is optional. This representation may be immediately followed by a “Z” to indicate Coordinated Universal Time (UTC) or to indicate the time zone. For example, the difference between the local time and Coordinated Universal Time, immediately followed by a sign, + or -, followed by the difference from UTC represented as hh:mm (minutes is required). If the time zone is included, both hours and minutes must be present.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
time¶
Represents an instance of time that recurs every day. The pattern for time is hh:mm:ss.sss with optional time zone indicator.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
date¶
Represents a calendar date. The pattern for date is CCYY-MM-DD with optional time zone indicator as allowed for dateTime
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
gYearMonth¶
Represents a specific Gregorian month in a specific Gregorian year. A set of one-month long, nonperiodic instances. The pattern for gYearMonth is CCYY-MM with optional time zone indicator.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
gYear¶
Represents a Gregorian year. A set of one-year long, nonperiodic instances. The pattern for gYear is CCYY with optional time zone indicator as allowed for dateTime.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
gMonthDay¶
Represents a specific Gregorian date that recurs, specifically a day of the year such as the third of May. A gMonthDay is the set of calendar dates. Specifically, it is a set of one-day long, annually periodic instances. The pattern for gMonthDay is –MM-DD with optional time zone indicator as allowed for date
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
gDay¶
Represents a Gregorian day that recurs, specifically a day of the month such as the fifth day of the month. A gDay is the space of a set of calendar dates. Specifically, it is a set of one-day long, monthly periodic instances. The pattern for gDay is —DD with optional time zone indicator as allowed for date
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
gMonth¶
Represents a Gregorian month that recurs every year. A gMonth is the space of a set of calendar months. Specifically, it is a set of one-month long, yearly periodic instances. The pattern for gMonth is –MM– with optional time zone indicator as allowed for date.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
anyURI¶
Represents a URI as defined by RFC 2396. An anyURI value can be absolute or relative, and may have an optional fragment identifier.
- Facets
- maxLength, minLength
Derived Types¶
langString¶
Represents a character string and an associated language tag (defined by BCP 47).
- Facets
- maxLength, minLength, enumeration, pattern
int¶
Represents an integer with a minimum value of -2147483648 and maximum of<PHONE_NUMBER>. This data type is derived from long.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
long¶
Represents an integer with a minimum value of -9223372036854775808 and maximum of<PHONE_NUMBER>854775807. This data type is derived from integer.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
unsignedLong¶
Represents an integer with a minimum of zero and maximum of<PHONE_NUMBER>3709551615. This data type is derived from nonNegativeInteger.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
nonNegativeInteger¶
Represents an integer that is greater than or equal to zero. This data type is derived from integer.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
nonPositiveInteger¶
Represents an integer that is less than or equal to zero. A nonPositiveIntegerconsists of a negative sign (-) and sequence of decimal digits. This data type is derived from integer.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
negativeInteger¶
Represents an integer that is less than zero. Consists of a negative sign (-) and sequence of decimal digits. This data type is derived from nonPositiveInteger.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
positiveInteger¶
Represents an integer that is greater than zero. This data type is derived from nonNegativeInteger.
- Facets
- minInclusive, minExclusive, maxInclusive, maxExclusive
cogsDate¶
A union of dateTime, date, gYearMonth, gYear, and duration which allows for the use of a date-time combination (YYYY-MM-DDTHH:MM:SS), date (YYYYY-MM-DD), year-month (YYYY-MM), year (YYYY), and duration (PnYnMnDnHnMnS) as valid values.
- Facets
- None


Hello friends my name is Allison and I’m aspiring web developer from Berkeley, California. I’m a proud member of Women who Code and Lesbians Who Tech. When I’m not coding I love seeing musicals, meeting new people, and watching cat videos on the internet.
While I enjoy my day-job in technology as an Account Executive, I have craved the opportunity to pursue my passion for making beautiful websites and applications. So in April of 2017 I applied and I was accepted to be a Software Engineering Apprentice at Learner's Guild in Oakland, California. My goal is to become a full-time working full-stack developer.
Please add/follow me on social media. You can also view the original repo for this project on GitHub by clicking here. I can't wait to connect with you!


{% extends "base.html" %} {% block title %}myTBA Team {{team.team_number}} - The Blue Alliance{% endblock %} {% block meta_description %}Manage your favorites and subscriptions{% endblock %} {% block content %}
Favorite this team for personalized content and quick access to it later.
Subscribe to this team for push notifications on
{% include "mytba_partials/mytba_push.html" %}


Yes!


Dependencies
Bazel works alongside your existing package manager, either npm or yarn.
You manage your package.json
file, editing by hand or by running commands like npm install
or yarn add
.
The package manager will also write a lock file, indicating exact versions for all transitive dependencies, which keeps your build hermetic and reproducible.
Bazel will run the package manager when the package.json
or *lock.json
files change, but you can also run the package manager yourself.
Bazel-managed vs self-managed dependencies
You have two options for managing your node_modules
dependencies: Bazel-managed or self-managed.
With the Bazel-managed dependencies approach, Bazel is responsible for making sure that node_modules
is
up to date with your package[-lock].json
or yarn.lock
files. This means Bazel will set it up when the
repository is first cloned, and rebuild it whenever it changes. With the yarn_install
or npm_install
repository rules, Bazel will setup your node_modules
for you in an external workspace named after the
repository rule. For example, a yarn_install(name = "npm", ...)
will setup an external
workspace named @npm
with the node_modules
folder inside of it as well as generating targets for each
root npm package in node_modules
for use as dependencies to other rules.
For Bazel to provide the strongest guarantees about reproducibility and the
fidelity of your build, it is recommended that you use Bazel-managed dependencies.
This approach also allows you to use the generated fine-grained npm package dependencies
which can significantly reduce the number of inputs to actions, making Bazel sand-boxing and
remote-execution faster if there are a large number of files under node_modules
.
Note that as of Bazel 0.26, and with the recommended
managed_directories
attribute on theworkspace
rule in/WORKSPACE
, the Bazel-managednode_modules
directory is placed in your workspace root in the standard location used by npm or yarn.
Using Bazel-managed dependencies
To have Bazel manage its own copy of node_modules
, which is useful to avoid
juggling multiple toolchains, you can add one of the following to your WORKSPACE
file:
Using Yarn (preferred):
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
yarn_install(
name = "npm",
package_json = "//:package.json",
yarn_lock = "//:yarn.lock",
)
Using NPM:
load("@build_bazel_rules_nodejs//:index.bzl", "npm_install")
npm_install(
name = "npm",
package_json = "//:package.json",
package_lock_json = "//:package-lock.json",
)
If you don’t need to pass any arguments to
node_repositories
, you can skip calling that function.yarn_install
andnpm_install
will do it by default.
You should now add the @npm
workspace to the managed_directories
option in the workspace
rule at the top of the file. This tells Bazel that the node_modules
directory is special and is managed by the package manager.
Add the workspace
rule if it isn’t already in your /WORKSPACE
file.
workspace(
name = "my_wksp",
managed_directories = {"@npm": ["node_modules"]},
)
As of Bazel 0.26 this feature is still experimental, so also add this line to the .bazelrc
to opt-in:
common --experimental_allow_incremental_repository_updates
yarn_install vs. npm_install
yarn_install
is the preferred rule for setting up Bazel-managed dependencies for a number of reasons:
yarn_install
will use the global yarn cache by default which will improve your build performance (this can be turned off with theuse_global_yarn_cache
attribute)- npm has a known peer dependency hoisting issue that can lead to missing peer dependencies in some cases (see https://github.com/bazelbuild/rules_nodejs/issues/416)
Fine-grained npm package dependencies
You can then reference individual npm packages in your BUILD
rules via:
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
nodejs_binary(
name = "bar",
data = [
"@npm//foo",
"@npm//baz",
]
...
)
In this case, the bar
nodejs_binary depends only the foo
and baz
npm packages
and all of their transitive deps.
For other rules such as jasmine_node_test
, fine grained
npm dependencies are specified in the deps
attribute:
jasmine_node_test(
name = "test",
...
deps = [
"@npm//jasmine",
"@npm//foo",
"@npm//baz",
...
],
)
Multiple sets of npm dependencies
If your workspace has multiple applications, each with their own package.json
and npm deps, yarn_install
(or npm_install
) can be called separately for
each.
workspace(
name = "my_wksp",
managed_directories = {
"@app1_npm": ["app1/node_modules"],
"@app2_npm": ["app2/node_modules"],
},
)
yarn_install(
name = "app1_npm",
package_json = "//app1:package.json",
yarn_lock = "//app1:yarn.lock",
)
yarn_install(
name = "app2_npm",
package_json = "//app2:package.json",
yarn_lock = "//app2:yarn.lock",
)
Your application would then reference its deps as (for example) @app1_npm//lodash
, or @app2_npm//jquery
.
Fine-grained npm package nodejs_binary targets
If an npm package lists one or more bin
entry points in its package.json
,
nodejs_binary
targets will be generated for these.
For example, the protractor
package has two bin entries in its package.json
:
"bin": {
"protractor": "bin/protractor",
"webdriver-manager": "bin/webdriver-manager"
},
These will result in two generated nodejs_binary
targets in the @npm//protractor/bin
package (if your npm deps workspace is @npm
):
@npm//protractor/bin:protractor
@npm//protractor/bin:webdriver-manager
These targets can be used as executables for actions in custom rules or can be run by Bazel directly. For example, you can run protractor with the following:
$ bazel run @npm//protractor/bin:protractor
Note: These targets are in the protractor/bin
package so they don’t
conflict with the targets to use in deps[]. For example, @npm//protractor:protractor
is target to use in deps[] while @npm//protractor/bin:protractor
is the binary target.
Coarse node_modules dependencies
Using fine grained npm dependencies is recommended to minimize
the number of inputs to your rules. However, for backward compatibility
there are also filegroups defined by yarn_install
and npm_install
that include all packages under node_modules
and which can be used
with the node_modules
attribute of nodejs rules.
@npm//:node_modules
includes all packages undernode_modules
as well as the.bin
folder
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
nodejs_binary(
name = "bar",
node_modules = "@npm//:node_modules",
)
Using self-managed dependencies
If you’d like to have Bazel use the node_modules
directory you are managing,
then next you will create a BUILD.bazel
file in your project root containing:
package(default_visibility = ["//visibility:public"])
filegroup(
name = "node_modules",
srcs = glob(
include = ["node_modules/**/*"],
exclude = [
# Files under test & docs may contain file names that
# are not legal Bazel labels (e.g.,
# node_modules/ecstatic/test/public/中文/檔案.html)
"node_modules/test/**",
"node_modules/docs/**",
# Files with spaces are not allowed in Bazel runfiles
# See https://github.com/bazelbuild/bazel/issues/4327
"node_modules/**/* */**",
"node_modules/**/* *",
],
),
)
The example in examples/user_managed_deps
uses self-managed dependencies.
To use the Yarn package manager, which we recommend for its built-in verification command, you can run:
$ bazel run @nodejs//:yarn_node_repositories
If you use npm instead, run:
$ bazel run @nodejs//:npm_node_repositories install
The @nodejs//:yarn_node_repositories
and @nodejs//:npm_node_repositories
targets will run yarn/npm on all of the
package.json contexts listed package_json
attribute of the node_repositories
repository rule in your WORKSPACE file (node_repositories(package_json = [...])
).
If there are multiple package.json contexts in this rule but you would like to run the bazel managed yarn or npm on a single context this can be done using the following targets:
$ bazel run @nodejs//:yarn -- <arguments passed to yarn>
If you use npm instead, run:
$ bazel run @nodejs//:npm -- <arguments passed to npm>
This will run yarn/npm in the current working directory. To add a package with the yarn add
command,
for example, you would use:
$ bazel run @nodejs//:yarn -- add <package>
Note: the arguments passed to bazel run
after --
are forwarded to the executable being run.


remote
— Remote Slave Context¶
API Documentation¶
-
class
pymodbus.datastore.remote.
RemoteSlaveContext
(client)[source]¶ TODO This creates a modbus data model that connects to a remote device (depending on the client used)
-
__init__
(client)[source]¶ Initializes the datastores
Parameters: client – The client to retrieve values with
-
validate
(fx, address, count=1)[source]¶ Validates the request to make sure it is in range
Parameters: - fx – The function we are working with
- address – The starting address
- count – The number of values to test
Returns: True if the request in within range, False otherwise
-
getValues
(fx, address, count=1)[source]¶ Validates the request to make sure it is in range
Parameters: - fx – The function we are working with
- address – The starting address
- count – The number of values to retrieve
Returns: The requested values from a:a+c
-
setValues
(fx, address, values)[source]¶ Sets the datastore with the supplied values
Parameters: - fx – The function we are working with
- address – The starting address
- values – The new values to be set
-
__str__
()[source]¶ Returns a string representation of the context
Returns: A string representation of the context
-
_RemoteSlaveContext__build_mapping
()¶ A quick helper method to build the function code mapper.
-
_RemoteSlaveContext__extract_result
(fx, result)¶ A helper method to extract the values out of a response. TODO make this consistent (values?)
-


I was born on July 23, 2000 in Boston, Massachusetts, and have lived in "Bean Town" ever since.
I attended a small college preparatory high school in Belmont, Massachusetts. Academically, I took a vast range of courses, but found a passion for computer science while taking my school's pilot AP Computer Science course during my junior year (an adapted version of the Harvard CS50 class). Additionally, I enjoyed a senior year Statistics class that gave me a new lens through which to look at the world: statistics and numbers. It was after this course when I knew I wanted to further pursue Computer Science in college. Extracurricularly, starting in 7th grade, I played soccer, squash, and baseball. However, in 9th grade, I fell in love with three new sports: cross country, nordic skiing, and track & field. I made the varsity team for all three sports my freshmen year, which led me down the road to competing at the collegiate level.
During a summer internship, I worked for Dr. David Barash on combatting the Opioid Epidemic in the Commonwealth of Massachusetts, focusing on creating an overdose risk prediction algorithm using Machine Learning, building a campaign to tackle stigma of substance use disorders, and creating prevention resources for youth, teens, and adults.
I am currently pursuing a Bachelor's degree in Computer Science at Middlebury College, where I am on the College Scholars List. Additionally, I am a varsity member of the Men's Cross Country and Men's Indoor and Outdoor Track & Field teams.


When a build is triggered by Polling, Build Now or an external Action, the workspace will flush only to the specified label or changelist number. Any other specified change or label will be ignored.
Supports variable expansion e.g. ${VAR}. If 'now' is used, or a variable that expands to 'now', then the latest change is used (within the scope of the workspace view).


Logout
Profile area
Mood area
Album
add
Your album
×
*required
Photo link*
Please provide your photolink.
Date
Description
Upload
Your photo is uploaded!
×
2018-05-24
Some description
Modify
Modify album
×
*required
Photo link*
Please provide your photolink.
Date
Description
Save changes
Delete
This photo is removed from your album
×
2018-05-24
Some description
Modify
Delete
2018-05-24
Some description
Modify
Delete
2018-05-24
Some description
Modify
Delete
2018-05-24
Some description
Modify
Delete
2018-05-24
Some description
Modify
Delete
First Image
어흥
Second Image
어흥어흥
Previous
Next


--- layout: post title: Neige date: '2016-11-24T14:52:31+01:00' categories: - Storyboards - Grand Froid picture_url: https://film-Storyboards.tumblr.com/post/153614110216 ---


Topic 1¶
Notes about topic 1.
Clickers¶
Doing clicker questions using JupyterBook is very seamless for students!
One can use any of the web-based options that exist.
Some examples I have used before are:
There are many others, most should work if they have some sort of web interface.
In general, here are the steps to do this:
Create your poll as you would
Grab the embed URL from the website (see
figure-slido
)Paste it into a jupyter notebook file as a markdown cell or as an IFrame
Introduction to Kinematics in 1D¶
Short Quiz¶
You may imagine giving students a short comprehension quiz after they watch a video to make sure they grasped the finer points of the lesson. You can also embed quizzes directly into your JupyterBook so it’s a seamless experience for the students. Here we will use Qualtrics, but other options are also possible!
The example quiz with automatic scoring below is from the University of Michigan Qualtrics wiki!
Making quizzes on Qualtrics¶
Qualtrics has some extremely good resources on creating quizzes and automatically scoring them. There are sophisticated options for creating quizzes, I encourage you to check it out. At UBC and UBCO, we have an institutional license to Qualtrics, so you can even ask students to authenticate via CWL and collect student identification information. In other words - if used correctly - this is fully FIPPA compliant!
Here’s the qualtrics survey embedded in the IFrame.
Quiz IN a video¶
Scenario B is pretty good, but it’s still a bit clunky as the quiz and the video are separated. That is often a desired feature, especially if students want to come back and re-visit the quiz after thinking about the video.
Sometimes though, it would be good to pause the video and ask students one or several clicker-type questions, and give them some feedback.
This is where the Kaltura Video Service (and a few others) can help facilitate these types of interactions.


jQuery SimpleImageHover plugin demo
Move the mouse over the images.
Usage: $('.hoverimage').SimpleImageHover({placement:'inside'});
Possible options:
- "placement" : "inside" or "outside". "inside" to enlarge the image itself. You have to take care for css of the images in this case! Make "position:static;" and set top and left css attributes! Using "outside" you get a simple pop-over with the image enlarged. (This is the default.)
- "ratio" : how much times enlarge the images. (Default: 2)
- "originalpane": what shall be the id of the pop-over. (To avoid id conflict. Default: hoverimage_pane)


Before Change
name = "H5 File Writer BigDataset"
category = "Output"
inputSlots = [InputSlot("hdf5File"), // Must be an already-open hdf5File (or group) for writing to
InputSlot("hdf5Path", stype = "string"),
InputSlot("Image"),
InputSlot("CompressionEnabled", value=False), // h5py uses single-threaded gzip comression, which really slows down export.
InputSlot("BatchSize", optional=True)]
outputSlots = [OutputSlot("WriteImage")]
loggingName = __name__ + ".OpH5WriterBigDataset"
After Change
CompressionEnabled = InputSlot(value=False) // h5py uses single-threaded gzip comression, which really slows down export.
BatchSize = InputSlot(optional=True)
WriteImage = OutputSlot()
loggingName = __name__ + ".OpH5WriterBigDataset"
logger = logging.getLogger(loggingName)
traceLogger = logging.getLogger("TRACE." + loggingName)


tempfile is deprecated. Use mktemp instead.
tmp=$(tempfile)
tmp=$(mktemp)
tempfile
is a Debian specific utility for creating temporary files. Its man page notes:
tempfile is deprecated; you should use mktemp(1) instead.
Neither tempfile
nor mktemp
are POSIX, but tempfile
is Debian specific while mktemp
works on GNU, OSX, BusyBox, *BSD and Solaris.
ShellCheck will not recognize when a function overrides this name.


Rainn Wilson gets quizzed on 'The Office' superfan Billie Eilish and crushes it
by Rachel ThompsonBillie Eilish is a superfan of The Office. So much so that when she met Rainn Wilson, AKA Dwight Schrute, she absolutely wowed him with her next-level knowledge of the iconic show. But how does Wilson's knowledge of the "Bad Guy" singer compare?
In fact, she was even a little bit nervous about meeting Wilson. We would be too, to be fair.
Wilson said that at the time he interviewed Eilish, she'd watched the show from start to finish 12 times. "I asked them to get the hardest Office trivia possible known to man and she nailed it," said Wilson.
Lilly Singh quizzed Wilson on his knowledge of Eilish and, you know what, he got every single question right. He correctly guessed that she was born on the same year as the iPod came out. He knew which of her songs shares a name with a TV show of his. He even knew about her former crush on Justin Bieber.
Impressive stuff.


Our Story
Theresa Stamegna and Christopher Griffith were engaged on February 20, 2016 at The Point — where the Delaware Bay meets the Atlantic Ocean.
They invite friends and family to join them to celebrate their marriage on May 26, 2017 (details below).


Kumbalgodu plant was commissioned in 2005 and it had been upgraded in 2010-2011 to meet the Global Regulatory Requirements.
The facility is approved by WHO. The facility is designed to handle Anti-TB products containing Rifampin combination amongst other products.
The facility is currently producing products for Domestic & ROW markets and for WHO submission.
The following projects are under process for WHO submission,
1) Rifampin and Isoniazid Dispersible Tablets 75 mg/50 mg
2) Rifampin, Isoniazid and Pyrazinamide Dispersible Tablets 75mg /50mg/150mg
3) Rifampin and Isoniazid Tablets 150 mg / 75 mg
4) Rifampin and Isoniazid Tablets 300 mg / 150 mg
5) Rifampin,Isoniazid and Ethambutol Hydrochloride Tablets 150mg /75mg/275mg
6) Rifampin, Isoniazid, Pyrazinamide and Ethambutol Hydrochloride Tablets USP 150 mg / 75 mg / 400 mg / 275 mg
7) Trimethoprim and Sulfamethoxazole Tablets BP 80 mg / 400 mg
8) Trimethoprim and Sulfamethoxazole Tablets BP 160 mg / 800 mg
9) Ethambutol Tablets BP 400 mg
10) Sulfadoxine and Pyrimethamine Tablets USP 500 mg / 25 mg
The following products are being manufactured at site for Domestic & ROW markets,
1) Dolo-650 Tablets
2) Amalar Tablets
3) Alben-400 Tablets
4) Albendol Tablets
5) Paracetamol Tablets IP 500mg
6) Miten-400 Tablets
7) Mortin Tablets Tablets
8) Mortin - DS Tablets
9) Wormplex-400 Tablets


Before Change
print("Val Loss: {:.4f}, Test Accuracy: {:.3f} ± {:.3f}, Duration: {:.3f}".
format(loss.mean().item(),
acc.mean().item(),
acc.std().item(),
duration.mean().item()))
return loss.mean().item(), acc.mean().item(), acc.std().item()
After Change
loss, argmin = loss.min(dim=1)
accs = accs[torch.arange(folds, dtype=torch.long), argmin]
loss_mean = loss.mean().item()
accs_mean = accs.mean().item()
accs_std = accs.std().item()
print("Val Loss: {:.4f}, Test Accuracy: {:.3f} ± {:.3f}, Duration: {:.3f}".
format(loss_mean,
accs_mean,
accs_std,
duration.mean().item()))
return loss_mean, accs_mean, accs_std
def k_fold(dataset, folds):


I am a Machine Learning PhD student at Georgia Tech advised by Zsolt Kira and Dhruv Batra. I am interested in embodied AI and reinforcement learning. I am currently interning at Apple working with Alexander Toshev. From Summer 2022 to Winter of 2022, I interned at Meta AI working with Akshara Rai and Ruta Desai. From Summer to Winter of 2021 I interned at Meta AI working with Franziska Meier on inverse reinforcement learning. I completed my undergrad in Computer Science at the University of Southern California with a minor in Mathematics, where I worked with Joseph Lim. My email is "andrewszot 1 @ gmail com" (no spaces).

Spring 2023 - Present
-
Meta AI:
With Akshara Rai and Ruta Desai.
Zero-shot coordination in multi-agent RL (ICML 2023).
Summer 2022 - Winter 2022
-
Facebook AI Research:
With Franziska Meier.
Developed a new inverse reinforcement learning method for learning generalizable reward functions (ICLR 2023).
Summer 2021 - Winter 2021
-
USC CLVR Lab:
With Professor Joseph Lim.
Researched imitation from observation (NeurIPS 2021), generalization to new actions in reinforcement learning (ICML 2020), and benchmarks for tool usage and physical reasoning in RL.
Fall 2018 - Summer 2020 (Summer 2019 included)
-
USC MCL:
With Professor C.-C. Jay Kuo.
Researched weakly supervised CNNs using clustering approaches to pre-train.
Fall 2016 - Winter 2017
-
Airbnb:
Deployed a model to production that predicted and took automated action against account takeover fraud using Scikit-learn, XGBoost, Hive and Presto, resulting in a 50% reduction in account takeover fraud.
Summer 2018
-
eBay:
Delivered a data analytics platform using Scala, Spark, Hadoop and Druid to process petabytes of eBay metrics.
Summer 2017
Awards
- Georgia Tech Institute-Wide Outstanding Online Teaching Assistant of the Year (2021)
- NSF GRFP Honorable Mention. (2021)
- USC Viterbi Fellowship: Research funding given to the top 20 engineering students per class. (2016-2020)
- USC Trustee Scholarship: Full tuition scholarship. (2016-2020)
- USC Provost Fellowship: Merit based fellowship for summer research funding. (2019)
Service and Teaching
- Lead organizer of Habitat Rearrangement Challenge at NeurIPS 2022.
- Organizer of Embodied AI Workshop at CVPR 2022.
- Graduate Deep Learning Class Teaching Assistant (CS 7643, won outstanding TA award). See the homework assignment I created for the class. (Fall 2021)
- Reviewer: ICCV 2021, IROS 2021, ICLR 2022, CVPR 2022.
Press Coverage
Habitat 2.0
- CNET: How Facebook’s AI is training home robots to tackle the chores you hate
- TechCrunch: Facebook and Matterport collaborate on realistic virtual training environments for AI
- VentureBeat: Facebook updates Habitat environment to train ’embodied AI’”
- Culture Geek (broadcast, France): Facebook wants to put butler robots in our homes
- WIRED (Middle East): Facebook wants to train robot butlers to tidy your house
- Siècle Digital (France): Facebook unveils Habitat 2.0: a virtual environment to train AI to navigate a house
- Ynet (Israel): Shopping Assistants and Home Robots: The Future of Artificial Intelligence According to Facebook


{% extends "base.html" %} {% block content %}
Here be some placeholding text...
... or do you prefer to admire a few badges?


ACCELEROMETER
Introduce
Accelerometer and libraries
before
This code is just for testing the code blocks!!!!
from rstem.led_matrix import FrameBuffer
import time
fb = FrameBuffer()
spaceship_position = fb.width / 2
while True:
fb.erase()
# Draw spaceship
fb.point(round(spaceship_position), 0)
# Show FrameBuffer on LED Matrix
fb.show()
time.sleep(0.01)
after
accel = Accel()
while True:
x_force, y_force, z_force = accel.forces()
print(x_force, y_force, z_force)
prev |
next


Testing HPX¶
To ensure correctness of HPX we ship a large variety of unit and regression tests. The tests are driven by the CTest tool and are executed automatically by buildbot (see HPX Buildbot Website) on each commit to the HPX Github repository. In addition, it is encouraged to run the test suite manually to ensure proper operation on your target system. If a test fails for your platform, we highly recommend submitting an issue on our HPX Issues tracker with detailed information about the target system.
Running tests manually¶
Running the tests manually is as easy as typing make tests && make test
.
This will build all tests and run them once the tests are built successfully.
After the tests have been built, you can invoke separate tests with the help of
the ctest
command. You can list all available test targets using make help
| grep tests
. Please see the CTest Documentation for further details.
Issue tracker¶
If you stumble over a bug or missing feature missing feature in HPX please submit an issue to our HPX Issues. For more information on how to submit support requests or other means of getting in contact with the developers please see the Support Website.
Continuous testing¶
In addition to manual testing, we run automated tests on various platforms. You can see the status of the current master head by visiting the HPX Buildbot Website. We also run tests on all pull requests using both CircleCI and a combination of CDash and pycicle. You can see the dashboards here: CircleCI HPX dashboard and CDash HPX dashboard .


About
Hey There! My name is Dakota. I am a graduate of the University at Buffalo, with a Bachelor degree in Computer Science.Now that the boring stuff is out of the way, let's get into more interesting facts and tidbits about me.
Adventurer | Developer | Free Spirit
This is bold and this is strong. This is italic and this is emphasized.
This is superscript text and this is subscript text.
This is underlined and this is code: for (;;) { ... }
. Finally, this is a link.
Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.


Get up and running with HTML, SCSS, and TypeScript in seconds.
Hi. I'm Nono. I host Getting Simple—a podcast about how you can live a more meaningful, creative & simple life—sketch things that call my attention, and write about enjoying a slower life.


| //A var declared anywhere in a function will be automatically included at the top level of that function and assigned ‘undefined’. For instance: | |
| function hello( assign ) { | |
| console.log(message); //prints undefined | |
| if (assign) { | |
| var message = "Hello there!"; | |
| console.log(message); // prints "Hello there!" | |
| } | |
| } | |
| //Notice that you can print out the contents of message even though it may have never been initialized. This is because Javascript actually rewrites that code into: | |
| function hello( assign ) { | |
| var message = undefined; | |
| console.log(message); //prints undefined | |
| if (assign) { | |
| message = "Hello there!"; | |
| console.log(message); // prints "Hello there!" | |
| } | |
| } |


VDI abstracts the hardware, virtualizes the OS and apps, and redirects the data. So, VDI centralizes the desktop while decentralizing the individual desktop layers within the datacenter.
That’s a mouthful and it sure sounds complicated but in reality it’s not. Let me pull the divide and conquer technique to make sense of things. Some people believe that VDI is no more than moving the desktop to to the data center. I previously wrote about VDI and the new Virtual Order challenging that notion. I’m here again to provide yet another perspective on why VDI is more than simply moving your desktop to the data center. VDI takes a layered approach to the desktop and divides it into four major layers:
- Hardware
- OS
- Apps/Software
- Data - User & Application
Given that layered approach, let’s tackle the opening statement:
VDI abstracts the hardware by moving the desktop into the data center and granting the user the ability to access it from anywhere and from practically any device (vendor/protocol related).
Virtualizes the OS and apps by mainly running the OS (Windows, Linux … ) as a Virtual Machine on servers housed in the data center. In addition, in most instances (not all apps can be virtualized at this point), it keeps the OS layer separate from the apps layer through application virtualization.
Redirects Data by means of folder redirection in its simplest implementation and there are lots of rumblings now about User Virtualization. User and Application Data are stored on file servers within the data center.
Through the layered approach, VDI has centralized the desktop by abstracting the first layer (hardware), virtualizing layer two and three (OS and Apps) and redirecting the data, layer four (data).
VDI centralizes the desktop while decentralizing the individual desktop layers within the datacenter.
Through VDI, the desktop exists centrally in the data center, but due to the layered approach discussed above, the layers themselves exist in different areas of the data center. In that sense one can view VDI as virtual assembly of Desktops on login since all the different layers come together as soon as the end user logs in.


Despite our apparent physical differences and diversity, we all came together as a single team.
Read more June 12, 2016Almost everyone was telling us that we were behind...it was quite depressing...
Read more July 17, 2016We pitched our new idea to Amy Belew and she loved it...there's hope!
Read more July 29, 2016I would like to posit that there is a positive relationship between screwage and stress, but an inverse relationship between screwage and hours of sleep. I don't have concrete research, but I think this is relatively common sense.
Read more August 3, 2016On this day, we won the Innovation Challenge (and saved the world).
August 6, 2016


You can get a list of know bugs and register bugs you find in the software on the BaseTen framework website.


Hire us. Our top professionals are ready to help with your business.
If you would like to find out more about how we can help you, please give us a call or drop us an email.


Jiawen (Jack) Zhang
SFU MSc Student,UW Honours CS,Cybersecurity Specialist,Software Engineer,Robotics Engineer
-
Resume of Jiawen Zhang
PROGRAMMING LANGUAGES
-
Java/C/C++/C#
-
Python/Shell/SQL
-
Swift/Kotlin/Scala
OTHER SKILLS
Cybersecurity/
Pen Test/
Ethical HackingArtificial Intelligence/
Machine LearningRobotics
EDUCATIONS
-
Master's degree, Computer Sciene, SFU
University of Waterloo (2020 - Present)
I started my journey at Simon Fraser University as a Master's student in September, 2020. My research interests lie in Cybersecurity and Cryptography. I am proficient in Penetration Testing and Ethical Hacking. I am building my skills in the field of Cyber Security.
-
Honours Bachelor's degree, Computer Sciene, UW
University of Waterloo (2016 - 2020)
During my undergraduate study at the University of Waterloo. I took several essential CS courses such as Data Structure, Algorithm, Computer System, etc. In addition, I took many CS courses in a variety of professional fields like Aritifical Intelligence, Computer Security, Database Management and so on. The reason why I didn't study in depth in one specific research area is to discover my most interested research direction in the future career. Eventually, I intend to create an AI-enabled software vulnerabilities scanner for automatically scanning source code to protect users’ privacy and confidentiality.
-
High School, The NPU High School
The NPU High School (西工大附中)(2013 - 2016)
The high school locates in my hometown, and it is the top 10 high school in China. In high school, I continued working on robotics competitions like what I was doing in middle school. In addition, I started to mentor the soccer and VEX robotics competition teams; moreover, I found the first FRC team in the Northwestern China. I acquired knowledge from not only the coursework but also the experience in robotic area; this experience established my interests in CS and it has influenced my choice of undergraduate program.
Experience
-
Career Consultant | IT Security Team Lead (Permanent Part-time)
ALba inc.
Oct 2020 - PresentConducting penetration testing on the ERP system. Gathering vulnerabilities and generating report includes detailed finding and mitigation solutions. Contributing to ERP development and providing IT supports.
Responsible for designing, developing, and deploying Data Analytics to improve case transferability. -
Graduate Teaching Assistant
Simon Fraser University
Aug 2020 - PresentTeaching Assistant for the course MACM 101 - Discrete Mathematics
Teaching Assistant for the course CMPT 404 - Cryptography and ProtocolsConducting tutorials and live Q&A sessions each week.
Holding office hours and monitor an online discussion forum.
Assisting the instructor in preparing and marking assignments and tests. -
C# Developer Intern
ChinaSoft International
May 2019 - Aug 2019Worked for Minyuanyun Project (Intelligent business solutions and management systems; provider); mainly working on the costing component of ERP systems using C# and MS SQL.
Responsible for the development of the new database structure and migrated the active and archived case data from the current database. Translated marketing/business requirements into technical requirements. -
Part-time Research Assistant
Xi'an Technological University
Aug 2018 - Dec 2018Worked with Prof. Yufeng Zhao on Network Intrusion Detection System and Edge Detection Algorithm (in-person and remotely).
Participated in the development of an edge detection algorithm simulator.
Contributed to the reporting of the research concepts in English journals. -
Robotics and Software Engineer Intern
Roboterra, Inc.
Jun 2016 - Aug 2016Built around 20 kinds of robots and designed the corresponding training materials.
Developed an interactive teaching software to help students learn to code. -
Co-Founder & Team Leader of Team 6227
FIRST
Nov 2015 - May 2016Led team to participate in FRC (First Robotics Competition) and received 2016 Rookie Inspiration Award.
Established the first FRC robotics competition team in Northwestern China.
Instructed the team to design and build a robot. Worked for mechanical and electronic parts, as well as the robot driver. -
Team Leader & Mentor of VEX Robotics Team 8165
VEX Robotics, Inc.
Oct 2013 - Jul 20151 provincial-level award, 1 national-level award, 1 international-level award.
Designed and build robots for 2 VEX Robotics competitions; worked as robot drivers.
Started coaching a VEX team in 2015 and led the team to get the first prize in the provincial competition and the second prize in the national competition. -
Team Leader & Mentor of Robotics Soccer Development Team
The Middle School Attached to Northwestern Polytechnical University
Apr 2011 - Jul 20157 provincial-level awards, 5 national-level awards.
Designed, built and optimized robotics soccer players and participated in robotics soccer games yearly.
Having rich experience in robotics competitions. Working as a team mentor from 2014, and the coached team got several awards in both provisional and national-level awards.
-
-
Projects of Jiawen Zhang
-
Contact Info of Jiawen Zhang
8888 University Dr, Burnaby, BC, Canada V5A 1S6
jzdevelopments <at> gmail <dot> com


Welcome to Zipadee!
Please Login to Your Chore List:
Username or Password is invalid.
Username:
Password:
New User? Register Here.


This class encapsulates the behaviour on a subscribed message.
Unsubscribes from the channel. After this you should not receive any more event on this channel.
Example:
channel.unsubscribe();
Sends an event to this channel.
Example:
channel.trigger('eventname', {foo: 'bar', zbr: 123});
Please notice that, to use this method, the channel type must be Private or Presence. Public channels will not accept messages.
Binds to an event on this channel. You should enter the event name as the first argument, and a callback function on the second argument.
The callback receives a single argument with the payload of the message.
Example:
channel.bind('testingevent', function(data) {
Ti.API.warn("RECEIVED EVENT DATA: " + data);
});
Please notice that to stop receiving events on that callback, you should
use the unbind
function.
It is possible to bind to all events at either the global or channel level by using the method bind_all. This is used for debugging, but may have other utilities.
Example:
channel.bind_all(function(name, data) {
Ti.API.warn("Received event named " + name);
Ti.API.warn("DATA: " + JSON.stringify(data));
});
Returns a reference to the members object, if this is a presence channel. For more information see the members documentation.
If you bind the event named 'bind_all' you will automatically receive all the events that your device receives on this channel, regardless of the event name. Useful for debugging purposes.
See the example/app.js
provided with this module.


This chapter describes how to create weakly typed string-based Criteria API queries.
The following topics are addressed here:
String-based Criteria API queries ("string-based queries") are Java programming language queries that use strings rather than strongly typed metamodel objects to specify entity attributes when traversing a data hierarchy. String-based queries are constructed similarly to metamodel queries, can be static or dynamic, and can express the same kind of queries and operations as strongly typed metamodel queries.
Strongly typed metamodel queries are the preferred method of constructing Criteria API queries.
The main advantage of string-based queries over metamodel queries is the ability to construct Criteria queries at development time without the need to generate static metamodel classes or otherwise access dynamically generated metamodel classes.
The main disadvantage to string-based queries is their lack of type safety; this problem may lead to runtime errors due to type mismatches that would be caught at development time if you used strongly typed metamodel queries.
For information on constructing criteria queries, see Chapter 40, "Using the Criteria API to Create Queries".
To create a string-based query, specify the attribute names of entity classes directly as strings, instead of specifying the attributes of the metamodel class. For example, this query finds all Pet
entities where the value of the name
attribute is Fido
:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class);
Root<Pet> pet = cq.from(Pet.class);
cq.where(cb.equal(pet.get("name"), "Fido"));
The name of the attribute is specified as a string. This query is the equivalent of the following metamodel query:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class); Metamodel m = em.getMetamodel(); EntityType<Pet> Pet_ = m.entity(Pet.class); Root<Pet> pet = cq.from(Pet.class); cq.where(cb.equal(pet.get(Pet_.name), "Fido"));
|
Note: Type mismatch errors in string-based queries will not appear until the code is executed at runtime, unlike in the above metamodel query, where type mismatches will be caught at compile time. |
Joins are specified in the same way:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class); Root<Pet> pet = cq.from(Pet.class); Join<Owner, Address> address = pet.join("owners").join("addresses");
All the conditional expressions, method expressions, path navigation methods, and result restriction methods used in metamodel queries can also be used in string-based queries. In each case, the attributes are specified using strings. For example, here is a string-based query that uses the in
expression:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class); Root<Pet> pet = cq.from(Pet.class); cq.where(pet.get("color").in("brown", "black"));
Here is a string-based query that orders the results in descending order by date:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class); Root<Pet> pet = cq.from(Pet.class); cq.select(pet); cq.orderBy(cb.desc(pet.get("birthday")));
String-based queries are executed similarly to strongly typed Criteria queries. First create a javax.persistence.TypedQuery
object by passing the criteria query object to the EntityManager.createQuery
method, then call either getSingleResult
or getResultList
on the query object to execute the query:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class); Root<Pet> pet = cq.from(Pet.class); cq.where(cb.equal(pet.get("name"), "Fido")); TypedQuery<Pet> q = em.createQuery(cq); List<Pet> results = q.getResultList();


During the time span of about 1830 to the late 1880’s, and great historical event occurred in America. Thousands of people voluntarily uprooted their lives to cross the vast and uncharted west to travel to the Oregon Territory. This great migration was known as the Oregon Trail.
The Oregon Trail was not an easy venture, nor was it a journey for the faint of heart. It was a long strenuous trek which claimed the lives of many who set out west. This is known by the many firsthand accounts written by those travelers, through these accounts it is easy to obtain a vivid picture of what that journey was like.
This particular story is about a party made of four families, the Akin, Booth, Ingram, and Ritchey families. In 1852 they decided to make the large move from Salem, Iowa to Portland, Oregon taking the Oregon Emigrant trail. In total the party was made up of 39 people, 10 adults and 29 children, the children ranging from age nineteen to infancy. A party of this size, especially one of such a large age range, was not an easy move. There were an abundance of hardships and trials that these families faced.
James Akin, Jr., who was 19 years old when his family set off for the Oregon Trail, was the eldest of the children. He kept a journal where he nearly entered their progress and any major events they encountered on the trail nearly everyday. Each entry was short and to the point, but it still gave a good outline of the family's journey and struggles.
He starts his diary on Thursday, April 15, 1852 when the party leaves their old home, Salem, Iowa. For the first couple days he comments on the weather, that the roads are good, that they crossed a creek, and that their wood supply is good.
Crossing rivers and streams was common along the Oregon Trail. Many times throughout the diary, Akins speaks of how the party forded a river, took a ferry, or a toll bridge across. Crossing rivers, however, did lead to several mishaps to many emigrants. For instance, on May 7th, Akins reported that a boat sank on the Nishnabotna River. Additionally, as the party approached the Missouri river, Akins mentions that one man in a different party drowned on May 11th from a ferry flipping over. He mentions again that a boat sinks on May 14th.
To sustain themselves for the whole journey, they had to use what they could long the way, so hunting and gathering was a regular part of their routine. Akins reports that on June 7th the party hunted for antelope. They also collected Buffalo chips (dried buffalo dung) to use for fire fuel.
Sickness was the greatest hardship and killer which took the lives of many emigrants, including those in this party. On June 14th, as the party approached two major landmarks on the trail, Chimney rock and Scotts bluff, where they stopped to camp because of the sickness of a party member. On June 16th,the first life is claimed on the trail as Louisa Ritchey, wife of Stuart Ritchey, dies of cholera at the age of 29.
Hardships continue on the trail as once again sickness makes its rounds among the company. Another death occurs on June 23st, as the Elva Ingram, young daughter of James and Ritta Ingram, dies. The party continues, but hardship still continues as the party goes without water for several miles. They finally run into the Platte River, where they can quench their thirst, but resources still run low as they cannot find grass for the cattle. They find themselves in a wood shortage as well until they pass more timber and grass filled areas on June 28th.
The Oregon Trail did not lack in natural beauty. Along the way were an abundance of amazing scenery and iconic natural features. On July 2nd the company passed two of these features, Independence Rock and Devil Gate.
The trek continues as the company passes over summits of Rocky Mountains on July 10th through the South Pass. The climb is gradual, and Akins comments on the pleasant weather and good roads.
The party is coming closer and closer to their goal as the Idaho boarder quickly approaches. Nearing the Idaho Line in late July. They have to go over the more rugged summit of the Bear Mountains which Akins describes as rough and hilly. A week later, however, the company becomes sick again, and one of the children of Caleb and Alice Ritchey, Miranda Ritchey, passes away on July 31st.
On August 8th, Akins reports that they had gone without water for over 13 miles as they travel dusty roads with dead cattle scattered through the landscape. The hot, dry trek goes on, the party even travels at night more often than day to avoid the heat. On August 14th, they come across some Native Americans and they trade tea and salt for fresh salmon. Fresh food at this point in the journey was more scarce and therefore highly valued.
A tragic few weeks is about to begin when Eliza Akin (mother 38) become sick and dies of typhoid fever. A couple days later, on August 22nd, Moses Rhodes dies. There is nothing else to do but continue the journey. They reach Fort Boise, but after leaving, the party becomes sick once again in early September. The party decides to rest for a while, but still the lives of Eliza Ritchey (6 years old) and Abe Gilliam are claimed on September 9th and 15th.
On September 16th, the party approaches the west Side of Grande Ronde river and are about to cross the Blue mountains. Akins reports that they unfortunately lose 9 head of cattle, which causes a great nuisance to the travelers. They spend some time looking for the renegade cattle and then continue their journey.
The party continues, however hardships do not cease even as they come closer and closer to their destination.  They finally come across the John Day river five days later on October 1st.
On October 1st, the party is within 2 miles from the Dales and is extremely close to their goal. The last leg involves rafting down the Columbia river. This endeavor of making their own raft takes a lot of preparation. Akins states that they “cut logs and cork wagon beds water tight all day” (55). They continue with their rafting preparations for several days, and then they take off on it on October 6th. Even after the raft is in the water, they have to take it out to make modifications on October 11th.
The rafting leg of the journey finishes on October 14th when the party lands in a small settlement in the Cascades. From there, they take a steamboat the rest of the way to Portland. Tired, sick, and ragged they finish their journey of nearly 2,000 miles in a timespan of six months. All families are able to make Donation Land Claims in the Willamette Valley. The story of the long journey of the Akin, Booth, Ingram, and Ritchey families ends there.


| decompose {stats} | R Documentation |
Decompose a time series into seasonal, trend and irregular components using moving averages. Deals with additive or multiplicative seasonal component.
decompose(x, type = c("additive", "multiplicative"), filter = NULL)
x |
A time series. |
type |
The type of seasonal component. Can be abbreviated. |
filter |
A vector of filter coefficients in reverse time order (as for
AR or MA coefficients), used for filtering out the seasonal
component. If |
The additive model used is:
Y[t] = T[t] + S[t] + e[t]
The multiplicative model used is:
Y[t] = T[t] * S[t] * e[t]
The function first determines the trend component using a moving
average (if filter
is NULL
, a symmetric window with
equal weights is used), and removes it from the time series. Then,
the seasonal figure is computed by averaging, for each time unit, over
all periods. The seasonal figure is then centered. Finally, the error
component is determined by removing trend and seasonal figure
(recycled as needed) from the original time series.
This only works well if x
covers an integer number of complete
periods.
An object of class "decomposed.ts"
with following components:
x |
The original series. |
seasonal |
The seasonal component (i.e., the repeated seasonal figure). |
figure |
The estimated seasonal figure only. |
trend |
The trend component. |
random |
The remainder part. |
type |
The value of |
The function stl
provides a much more sophisticated
decomposition.
David Meyer<EMAIL_ADDRESS>M. Kendall and A. Stuart (1983) The Advanced Theory of Statistics, Vol.3, Griffin. pp. 410–414.
require(graphics) m <- decompose(co2) m$figure plot(m) ## example taken from Kendall/Stuart x <- c(-50, 175, 149, 214, 247, 237, 225, 329, 729, 809, 530, 489, 540, 457, 195, 176, 337, 239, 128, 102, 232, 429, 3, 98, 43, -141, -77, -13, 125, 361, -45, 184) x <- ts(x, start = c(1951, 1), end = c(1958, 4), frequency = 4) m <- decompose(x) ## seasonal figure: 6.25, 8.62, -8.84, -6.03 round(decompose(x)$figure / 10, 2)


Successfully logging data from emonTX via Raspberry PI emonBase to emoncms.org
Q. What 'should' happen to logged data if the emonBase looses internet connectivity (e.g. Broadband outage)
Will the emonBase resend failed transmission when connectivity is restored or will gaps exist in the emoncms.org database?
I am struggling to determine version number or update the emonBase software version on the raspberry Pi despite the instructions provided at http://openenergymonitor.org/emon/emoncms/upgrading so apologies if synchronizing has been addressed / implemented recently.
Many thanks,
Andrew
Re: Catchup - Local Serer writing to emoncms.org?
Hi.
Currently, the data is just lost.
I was thinking of adding some kind of buffer to address this. Data could be stored on the SD card if the http request did not succeed. I don't know which solution would be the best, file(s) or database. I suppose database is better but I don't consider myself qualified.
I'm working on a new implementation of the gateway. This "offline" option would be a further step.


First, you'll need to install Docker.
Then to run MockServer as a Docker container run the following command:
docker run -d -P jamesdbloom/mockserver
This command will map the ports exposed by MockServer and Proxy to dynamic ports using the -P option. To specify which ports are used you can specify one or more port mappings using the -p <host port>:<container port> option. You only need to specify mapping for ports you need to use, for example, if you are not using the proxy there is no need to provide port mapping options for the proxy ports.
To run MockServer specifying as a Docker container run the following command (replacing each < ... > section with the appropriate port value):
docker run -d -p <serverPort>:1080 -p <proxyPort>:1090 jamesdbloom/mockserver
Note: you only need to specify mapping for ports you need to use, for example, if you are only using MockServer to mock HTTP endpoints then only specify -p <serverPort>:1080 as follows (replacing each < ... > section with the appropriate port value):
docker run -d -p <serverPort>:1080 jamesdbloom/mockserver
This MockServer docker container exposes the following ports:


Web Developer
Agency Work
(All designs by The Johnson Group)Peugeot
A recent project I built out utilizing Scrolltrigger by Greensock. This project ended up getting scrapped, so it's not mobile responsive, but pretty cool nonetheless.
West Tennessee Healthcare
One of the first sites I built out as a junior developer. It utilizes multiple plugins that required extensive customizations in order to achieve the design and functionality goals required by the project.
Rugged Road Outdoors
Site refresh for new marketing campaign. Updated theme to provide support for Shopify's media object to allow for 3D models and videos on the product page. There are several interactive components on the landing page that were all built by me.
Northwest Lineman College
Site refresh and migration from Expression Engine to WordPress. Everything was redesigned by JG and updated by me throughout my tenure with them.
Sunbelt Bakery
Just a Shopify store theme update.
Driver Resource Center
Custom WordPress theme and website built from the ground up utilizing Roots Sage 9 and Pantheon.
Freelance Work
Twigby
Refresh of all main pages on the site. Built on Kahana/Koseven.
Boys & Girls Clubs of Chattanooga
I currently maintain this site. Originally a pro-bono project of JG that I built from scratch. Eventually took over as a freelance client. Utilizes a custom WordPress theme and hosted on Pantheon.
Tom Bible Law
I maintain this site and I've also built several different landing pages for this client, a few of which utilize Google AMP.


Bubbles
Everyone 10 minutes ago
Lingo Kids the playlearning Season 1
Everyone 11 minutes ago
Lingo Kids Interactive Games
+2 Years ago, 11 minutes ago
Story in English, a great way to learn
Everyone 12 minutes ago
Dream centres in India to Address Digital Divide
Everyone 115 minutes
LingoKids A, B, C, D
Everyone 11 minutes
LingoKids A, B, C, D
Everyone 11 minutes
LingoKids A, B, C, D
Everyone 11 minutes
LingoKids A, B, C, D
Everyone 11 minutes
Bubbles
Everyone 10 minutes ago
Lingo Kids the playlearning Season 1
Everyone 11 minutes ago
Lingo Kids Interactive Games
+2 Years ago, 11 minutes ago
Story in English, a great way to learn
Everyone 12 minutes ago
Dream centres in India to Address Digital Divide
Everyone 115 minutes
LingoKids Apples and bananas!
Everyone 11 minutes
LingoKids Apples and bananas!
Everyone 11 minutes
LingoKids Apples and bananas!
Everyone 11 minutes
LingoKids Apples and bananas!
Everyone 11 minutes


We show how to estimate the memory reduction obtained by the usage of
Boost.Flyweight in a particular scenario and study the impact on the execution
time for the different functional areas of flyweight
.
Some experimental results are provided.
As we saw in the tutorial rationale, the flyweight pattern is based on two types of objects:
The only data member of a flyweight
object is a so-called
handle, an opaque object of small size provided by the internal
flyweight factory to refer to the entries it stores. For the default
hashed_factory
,
this handle is merely a pointer, so sizeof(flyweight<T>)=sizeof(void*)
,
4 bytes in typical 32-bit architectures.
For other types of factories, the handle is an iterator to an internal
container used in the implementation of the factory: again, its size
is typically that of a pointer.
The entries stored in the factory associated to flyweight<T,...>
need not only hold a value of T
, but also contain additional
information related to the internal implementation of
flyweight<T,...>
:
entry = sizeof(T)
+ overhead.
For the current implementation of Boost.Flyweight, the following aspects contribute to overhead:
flyweight
instantiation. Values are given in words,
i.e. the size of a pointer, which is 4 bytes in a typical 32-bit architecture.
Alignment may introduce additional overhead.
| component | overhead (words) | |
|---|---|---|
key_value |
with key extractor | 1(1) |
| without key extractor | 1 + sizeof(Key) |
|
| factory | hashed_factory |
~2.5 |
set_factory |
4(2) | |
assoc_container_factory |
depends on the container used | |
| tracking mechanism | refcounted |
2(3) |
no_tracking |
0 |
sizeof(Key)<=sizeof(Value)
.std::set
this overhead reduces to 3.
For instance, for the default configuration parameters of flyweight
,
overhead is typically 2.5(hashed_factory
) + 2(refcounted
)
= 4.5 words.
Consider a scenario where there are N different objects of type T
jointly taking M different values. The objects consume then
S = N·T bytes, where T is defined as the
average size of T
(sizeof(T)
plus dynamic
memory allocated by T
objects).
If we now replace T
by some instantiation
flyweight<T,...>
, the resulting memory consumption
will be
SF = N·P + M·(T + overhead),
where P is sizeof(flyweight<T,...>)
, typically
equal to sizeof(void*)
, as seen before.
The ratio SF / S is then
SF / S = (P / T)+ (M / N)(1 + overhead / T).
SF / S tends to its minimum, P / T,
as M / N tends to 0, i.e. when the degree of value redundancy
among T
objects grows higher. On the other hand, the worst possible case
SF / S = 1 + (P + overhead) / T
happens when M / N = 1, that is, if there is no value redundancy at all; in this situation there is
no point in applying the flyweight pattern in the first place.
Fig. 1: Relative memory consumption of Boost.Flyweight as a function of value diversity.
The introduction of the flyweight pattern involves an extra level of indirection that, in general, results in some execution overhead when accessing the values. On the other hand, manipulation of flyweight objects is considerably faster than moving around the heavy values they stand for. We analyze qualitatively the execution overheads or improvements associated to the different usage contexts of Boost.Flyweight.
As compared with the initialization an object of type T
, constructing
a flyweight<T>
performs important extra work like looking
up the value in the flyweight factory and inserting it if it is not present.
So, construction of flyweights (other than copy construction, which is
cheap), is expected to be noticeably slower than the construction of the
underlying type T
. Much of the time spent at constructing
the associated T
value proper can be saved, however, by
using key-value flyweights.
Assignment of flyweight objects is extremely fast, as it only involves
assigning an internal handle type used to refer to the shared value. Moreover,
assignment of flyweight
objects never throws. Assignment time
is influenced by the type of tracking
policy used; in this regard,
no_tracking
is the fastest option.
Comparing two flyweight
objects for equality reduces to
checking that the addresses of the values they are associated to
are equal; in general, this operation is much faster than comparing the
underlying values. This aspect is of particular relevance when the flyweight
objects stand for complex values like those arising in the application of
the composite pattern.
The conversion from flyweight<T>
to const T&
relies on a level of indirection relating the flyweight objects to the
values they are associated to; so, value access is expected to be slower
when using Boost.Flyweight as compared to using the associated values
directly. This overhead, however, can be masked by an indirect improvement
resulting from locality and cache effects: as the set of different T
values handled by an instantiation of flyweight<T>
is
generally much smaller than the equivalent family of T
objects
when Boost.Flyweight is not used, active values can fit better
into the processor cache.
A profiling program was devised to test
the space and time efficiency of different instantiations of flyweight
against a base situation not using Boost.Flyweight. The profiled scenarios are:
std::string
.flyweight<std::string>
with default configuration aspects
(hashed_factory
,
refcounted
tracking,
simple_locking
).
flyweight<std::string,no_tracking
>
.flyweight<std::string,set_factory
>
.flyweight<std::string,set_factory
,no_tracking
>
.Actually the types tested are not exactly those listed above, but instrumented versions that keep track of the allocated memory for profiling purposes. The program parses a text file into an array of words and then perform various manipulations involving the different context usages of Boost.Flyweight discussed previously. As our text file we have used the plain text version of Project Gutenberg edition of Don Quijote (2.04 MB).
The program was built with default release settings and _SECURE_SCL=0
.
Tests were run under Windows XP in a machine equipped with an Intel Core 2 Duo T5500
processor and 1 GB of RAM.
Fig. 2: Memory consumption, MSVC++ 8.0. Values in MB.
The results show the memory consumption figures for the different profiled
scenarios.
The standard library implementation of MSVC++ 8.0 features the so-called
small buffer optimization for strings, by which std::string
objects hold a small buffer that can be used when the string is short,
thus avoding dynamic allocations. This results in sizeof(std::string)
being quite high, 28 bytes. In our particular test strings are almost always
held in the small buffer, so the minimum SF / S
achievable is 4/28 = 14.3%, which is quite close to the experimental
results, given that the memory devoted to storage of shared values
is residual (around 3% of total memory) due to the high word redundancy
of the text source.
Fig. 3: Execution time, MSVC++ 8.0. Values in seconds.
The figure displays execution times for the profiled scenarios in different
usage contexts. In accordance with our previous
qualitative analysis, initialization of flyweight
s
carries an important overhead with respect to the base case scenario (between 20% and 40%
of additional execution time), while the other usage contexts
(assignment, equality comparison and value access) have performance gains,
with speedup factors of more than 10 in some cases. The use of a
refcounted
tracking policy introduces penalties with respect to
no_tracking
in initialization and assignment, but has no effect in equality comparison
and value access.
The Cygwin/MinGW version of the compiler was used, with command options
-ftemplate-depth-128 -O3 -finline-functions -DNDEBUG
.
Tests were run under a Cygwin terminal in the same machine as before.
Fig. 4: Memory consumption, GCC 3.4.4. Values in MB.
The standard library used by GCC 3.4.4 implements std::string
using copy-on-write
optimization techniques, which leads to very small value redundancy for
some usage patterns. This explains why the memory reduction achieved
by Boost.Flyweight is so poor in this case. Other contexts where assignment
is much less used than direct construction will favor Boost.Flyweight
over plain copy-on-write std::string
s.
Fig. 5: Execution time, GCC 3.4.4. Values in seconds.
Relative performance figures are similar to those obtained for
MSVC++ 8.0, although some of the
speedups achieved by Boost.Flyweight are higher here (×25
in equality comparison and up to ×100 in assignment when
no_tracking
is in effect).
The introduction of Boost.Flyweight in application scenarios with very
high value redundancy yields important reductions in memory consumption:
this is especially relevant when data volume approaches the limits of
physical memory in the machine, since Boost.Flyweight can avoid virtual
memory thrashing thus making the application viable. We have shown
how to estimate the achievable reduction in memory consumption from
some basic value statistics and knowledge of the flyweight
configuration aspects being used.
Boost.Flyweight can also accelerate execution times in areas other than object initialization, due to the fastest manipulation of small flyweight objects and to locality and cache effects arising from the drastic reduction of the set of allocated values.
Revised September 1st 2014
© Copyright 2006-2014 Joaquín M López Muñoz. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


, years old, from . My birthday is . I was graduated from with my Bachelor's Degree on .
{{.}}
{{#personal_traits}} {{name}} {{description}}. {{/personal_traits}}
{{description}}


TRENDING STREETWEAR
SUPREME, KITH, Y-3, BAPE, STUSSY, CDG, MOSCHINO
Supreme
The Hype
HOT ITEMS
KITH
Sneaker Culture
HOT KICKS
BAPE
Tokyo Fashions
HOT ITEMS AND COLLABS
STÜSSY
Cali Trends
HOT ITEMS
PALACE
Russian Skate Culture
HOT ITEMS AND RELEASES
LUXURY FASHIONS
CDG
French Fashions
ACNE STUDIOS
Gucci


Xhwlay_Renderer_AbstractRenderer | --Xhwlay_Renderer_Json
It requires Jsphon package(pear.hawklab.jp), PHP mb_string() module.
By default, don't convert to UTF-8. If you output JSON as UTF-8, your code like below:
[line 72]
[line 83]
[line 91]
string render( )


DevOps cloud on the fly provides automated virtual machine creation on demand. This is accomplished using two very powerful software tools: Packer and Vagrant.
Packer by Hashicorp is a software which specializes in the creation, provisioning, and packaging of virtual environments from scratch. It does this by reading a .json file in which the developer can give specific options for the virtual environment. In this .json file there are options for building the VM, providing unattended install files, and provisioning with command line arguments and shell scripts. Additionally packer can package up the virtual machine into a number of forms after the process is completed including .iso files, virtual box images, vagrant boxes, and Docker files.
Vagrant, also by Hashicorp, is a software which can open, provision, and re-package virtual machines from pre-made boxes. These “vagrant boxes” can be compressed for easy portability and can run identically across multiple platforms. Vagrant works by reading a “Vagrantfile” in which the user can specify various build options including provisioning system specifications, environmental variables, configuring shared storage, running custom scripts, and executing command line arguments.
These two tools can be used in tandem to create any number of virtual machines on demand, and then destroy them completely when testing is finished.
Click here to view the vagrant boxes available to download
Click the pictures to learn more!


--- layout: post title: I Must Have Bobo by Eileen Rosenthal, illustrated by Marc Rosenthal date: 2011-06-28 09:17:19.000000000 -07:00 type: post parent_id: '0' published: true pd: '' status: publish categories: - Book Reviews - Guest Posts tags: - I Must Have Bobo book review author: login: k email: k@k display_name: mcary first_name: '' last_name: '' ---
I Must Have Bobo! Review by Jessica of Vegbooks.org Poor Willy! He loves his stuffed monkey Bobo. But so does Earl, his mischievous cat. The simple and silly plot of I Must Have Bobo revolves around Earl sneaking off with Bobo and Willy retrieving him. Just when you think they’ve resolved the problem – all cuddled together in a pile on an armchair – the last page features Earl slinking off with Bobo yet again.
Children who live with cats or dogs may recognize something of their companions in Earl. While not all kitties are nearly so sneaky (or persistent!), they’re all individuals who have their own likes and dislikes. And it’s really not Earl’s fault that he loves Bobo. After all, he’s a pretty great stuffed monkey, or else why would Willy love him so?
Teachers and parents will appreciate the sparse and well chosen text, as well as the elegant line drawings, which are reminiscent of classics like Harold and the Purple Crayon.
Great for reading aloud, or to spark the interest of an early reader, I Must Have Bobo makes a funny addition to story time.
To get your copy of I Must Have Bobo from Amazon.com, Click Here