This section describes alerts for and appropriate responses to various kinds of system failures. It also helps you plan a strategy for data recovery.
If a system member withdraws from the distributed system involuntarily because the member, host, or network fails, the other members automatically adapt to the loss and continue to operate. The distributed system does not experience any disturbance such as timeouts.
Planning for Data Recovery
In planning a strategy for data recovery, consider these factors:
- Whether the region is configured for data redundancy—partitioned regions only.
- The region’s role-loss policy configuration, which controls how the region behaves after a crash or system failure—distributed regions only.
- Whether the region is configured for persistence to disk.
- The extent of the failure, whether multiple members or a network outage is involved.
- Your application’s specific needs, such as the difficulty of replacing the data and the risk of running with inconsistent data for your application.
- When an alert is generated due to network partition or slow response, indicating that certain processes may, or will, fail.
The rest of this section provides recovery instructions for various kinds system failures.
Network Partitioning, Slow Response, and Member Removal Alerts
When a network partition detection or slow responses occur, these alerts are generated:
- Network Partitioning is Detected
- Member is Taking Too Long to Respond
- No Locators Can Be Found
- Warning Notifications Before Removal
- Member is Forced Out
For information on configuring system members to help avoid a network partition configuration condition in the presence of a network failure or when members lose the ability to communicate to each other, refer to Understanding and Recovering from Network Outages.
Network Partitioning Detected
Alert:
Membership coordinator id has declared that a network partition has occurred.
Description:
This alert is issued when network partitioning occurs, followed by this alert on the individual member:
Alert:
Exiting due to possible network partition event due to loss of {0} cache processes: {1}
Response:
Check the network connectivity and health of the listed cache processes.
Member Taking Too Long to Respond
Alert:
15 sec have elapsed while waiting for replies: <ReplyProcessor21 6 waiting for 1 replies
from [ent(27130):60333/36743]> on ent(27134):60330/45855 whose current membership
list is: [[ent(27134):60330/45855, ent(27130):60333/36743]]
Description:
Member ent(27130):60333/36743 is in danger of being forced out of the distributed system because of a suspect-verification failure. This alert is issued at the warning level, after the ack-wait-threshold is reached.
Response:
The operator should examine the process to see if it is healthy. The process ID of the slow responder is 27130 on the machine named ent. The ports of the slow responder are 60333/36743. Look for the string, Starting distribution manager ent:60333/36743, and examine the process owning the log file containing this string.
Alert:
30 sec have elapsed while waiting for replies: <ReplyProcessor21 6 waiting for 1 replies
from [ent(27130):60333/36743]> on ent(27134):60330/45855 whose current membership
list is: [[ent(27134):60330/45855, ent(27130):60333/36743]]
Description:
Member ent(27134) is in danger of being forced out of the distributed system because of a suspect-verification failure. This alert is issued at the severe level, after the ack-wait-threshold is reached and after ack-severe-alert-threshold seconds have elapsed.
Response:
The operator should examine the process to see if it is healthy. The process ID of the slow responder is 27134 on the machine named ent. The ports of the slow responder are 60333/36743. Look for the string, Starting distribution manager ent:60333/36743, and examine the process owning the log file containing this string.
Alert:
15 sec have elapsed while waiting for replies: <DLockRequestProcessor 33636 waiting
for 1 replies from [ent(4592):33593/35174]> on ent(4592):33593/35174 whose current
membership list is: [[ent(4598):33610/37013, ent(4611):33599/60008,
ent(4592):33593/35174, ent(4600):33612/33183, ent(4593):33601/53393, ent(4605):33605/41831]]
Description:
This alert is issued by partitioned regions and regions with global scope at the warning level, when the lock grantor has not responded to a lock request within the ack-wait-threshold and the ack-severe-alert-threshold.
Response:
None.
Alert:
30 sec have elapsed while waiting for replies: <DLockRequestProcessor 23604 waiting
for 1 replies from [ent(4592):33593/35174]> on ent(4598):33610/37013 whose current
membership list is: [[ent(4598):33610/37013, ent(4611):33599/60008,
ent(4592):33593/35174, ent(4600):33612/33183, ent(4593):33601/53393, ent(4605):33605/41831]]
Description:
This alert is issued by partitioned regions and regions with global scope at the severe level, when the lock grantor has not responded to a lock request within the ack-wait-threshold and the ack-severe-alert-threshold.
Response:
None.
Alert:
30 sec have elapsed waiting for global region entry lock held by ent(4600):33612/33183
Description
This alert is issued by regions with global scope at the severe level, when the lock holder has held the desired lock for ack-wait-threshold + ack-severe-alert-threshold seconds and may be unresponsive.
Response:
None.
Alert:
30 sec have elapsed waiting for partitioned region lock held by ent(4600):33612/33183
Description:
This alert is issued by partitioned regions at the severe level, when the lock holder has held the desired lock for ack-wait-threshold + ack-severe-alert-threshold seconds and may be unresponsive.
Response:
None.
No Locators Can Be Found
Note: It is likely that all processes using the locators will exit with the same message.
Alert:
Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException:
There are no processes eligible to be group membership coordinator
(last coordinator left view)
Description:
Network partition detection is enabled, and there are locator problems.
Response:
The operator should examine the locator processes and logs, and restart the locators.
Alert:
Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException:
There are no processes eligible to be group membership coordinator
(all eligible coordinators are suspect)
Description:
Network partition detection is enabled, and there are locator problems.
Response:
The operator should examine the locator processes and logs, and restart the locators.
Alert:
Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException:
Unable to contact any locators and network partition detection is enabled
Description:
Network partition detection is enabled, and there are locator problems.
Response:
The operator should examine the locator processes and logs, and restart the locators.
Alert:
Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException:
Disconnected as a slow-receiver
Description:
The member was not able to process messages fast enough and was forcibly disconnected by another process.
Response:
The operator should examine and restart the disconnected process.
Warning Notifications Before Removal
Alert:
Membership: requesting removal of ent(10344):21344/24922 Disconnected as a slow-receiver
Description:
This alert is generated only if the slow-receiver functionality is being used.
Response:
The operator should examine the locator processes and logs.
Alert:
Network partition detection is enabled and both membership coordinator and lead member
are on the same machine
Description:
This alert is issued if both the membership coordinator and the lead member are on the same machine.
Response:
The operator can turn this off by setting the system property gemfire.disable-same-machine-warnings to true. However, it is best to run locator processes, which act as membership coordinators when network partition detection is enabled, on separate machines from cache processes.
Member Is Forced Out
Alert:
Membership service failure: Channel closed: org.apache.geode.ForcedDisconnectException:
This member has been forced out of the Distributed System. Please consult GemFire logs to
find the reason.
Description:
The process discovered that it was not in the distributed system and cannot determine why it was removed. The membership coordinator removed the member after it failed to respond to an internal are-you-alive message.
Response:
The operator should examine the locator processes and logs.
Restart Fails Due To Out-of-Memory Error
This section describes a restart failure that can occur when the stopped system is one that was configured with persistent regions. Specifically:
- Some of the regions of the recovering system, when running, were configured as PERSISTENT regions, which means that they save their data to disk.
- At least one of the persistent regions was configured to evict least recently used (LRU) data by overflowing values to disk.
How Data is Recovered From Persistent Regions
Data recovery, upon restart, always recovers keys. You can configure whether and how the system recovers the values associated with those keys to populate the system cache.
Value Recovery
Recovering all values immediately during startup slows the startup time but results in consistent read performance after the startup on a “hot” cache.
Recovering no values means quicker startup but a “cold” cache, so the first retrieval of each value will read from disk.
Retrieving values asynchronously in a background thread allows a relatively quick startup on a “warm” cache that will eventually recover every value.
Retrieve or Ignore LRU values
When a system with persistent LRU regions shuts down, the system does not record which of the values
were recently used. On subsequent startup, if values are recovered into an LRU region they may be
the least recently used instead of the most recently used. Also, if LRU values are recovered on a
heap or an off-heap LRU region, it is possible that the LRU memory limit will be exceeded, resulting
in an OutOfMemoryException
during recovery. For these reasons, LRU value recovery can be treated
differently than non-LRU values.
Default Recovery Behavior for Persistent Regions
The default behavior is for the system to recover all keys, then asynchronously recover all data values, leaving LRU values unrecovered. This default strategy is best for most applications, because it strikes a balance between recovery speed and cache completeness.
Configuring Recovery of Persistent Regions
Three Java system parameters allow the developer to control the recovery behavior for persistent regions:
gemfire.disk.recoverValues
Default = true
, recover values. If false
, recover only keys, do not recover values.
How used: When true
, recovery of the values “warms up” the cache so data retrievals will find
their values in the cache, without causing time consuming disk accesses. When false
, shortens
recovery time so the system becomes available for use sooner, but the first retrieval on each key
will require a disk read.
gemfire.disk.recoverLruValues
Default = false
, do not recover LRU values. If true
, recover LRU values. If
gemfire.disk.recoverValues
is false
, then gemfire.disk.recoverLruValues
is ignored, since
no values are recovered.
How used: When false
, shortens recovery time by ignoring LRU values. When true
, restores
more data values to the cache. Recovery of the LRU values increases heap memory usage and
could cause an out-of-memory error, preventing the system from restarting.
gemfire.disk.recoverValuesSync
Default = false
, recover values by an asynchronous background process. If true
, values are
recovered synchronously, and recovery is not complete until all values have been retrieved. If
gemfire.disk.recoverValues
is false
, then gemfire.disk.recoverValuesSync
is ignored since
no values are recovered.
How used: When false
, allows the system to become available sooner, but some time must elapse
before all values have been read from disk into cache memory. Some key retrievals will require disk access, and some will not.
When true
, prolongs restart time, but ensures that when available for use, the cache is fully
populated and data retrieval times will be optimal.


View Covid Hotspots
Local Statistics:
New Cases:
-
Active Cases:
-
Tests:
-
Zone Radius
250m
500m
1km
5km
10km


Headings are role names (qualified by view). Checkboxes represent the expected access of each test persona on a view. A box is checked if and only if the labelled persona is expected to have access.
If a box is red, the changes you are making have altered the expected state. Please either modify your changes to maintain the expected state, or click the checkbox to explicitly change the expected access.
You don’t yet have any active roles. Please continue configuring your view, roles, and policies before configuring test persona access.
There are no personas configured. You can create personas in the “Test Personas” tab to generate test cases for your resource policies.


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.collections4.trie; | |
| 18 | ||
| 19 | import java.util.Map; | |
| 20 | ||
| 21 | import org.apache.commons.collections4.trie.analyzer.StringKeyAnalyzer; | |
| 22 | ||
| 23 | /** | |
| 24 | * Implementation of a PATRICIA Trie (Practical Algorithm to Retrieve Information | |
| 25 | * Coded in Alphanumeric). | |
| 26 | *
 | |
| 27 | * A PATRICIA {@link org.apache.commons.collections4.Trie} is a compressed | |
| 28 | * {@link org.apache.commons.collections4.Trie}. Instead of storing | |
| 29 | * all data at the edges of the {@link org.apache.commons.collections4.Trie} | |
| 30 | * (and having empty internal nodes), PATRICIA stores data in every node. | |
| 31 | * This allows for very efficient traversal, insert, delete, predecessor, | |
| 32 | * successor, prefix, range, and {@link #select(Object)} | |
| 33 | * operations. All operations are performed at worst in O(K) time, where K | |
| 34 | * is the number of bits in the largest item in the tree. In practice, | |
| 35 | * operations actually take O(A(K)) time, where A(K) is the average number of | |
| 36 | * bits of all items in the tree. | |
| 37 | *
 | |
| 38 | *
 | |
| 39 | * Most importantly, PATRICIA requires very few comparisons to keys while | |
| 40 | * doing any operation. While performing a lookup, each comparison (at most | |
| 41 | * K of them, described above) will perform a single bit comparison against | |
| 42 | * the given key, instead of comparing the entire key to another key. | |
| 43 | *
 | |
| 44 | *
 | |
| 45 | * The {@link org.apache.commons.collections4.Trie} can return operations in | |
| 46 | * lexicographical order using the 'prefixMap', 'submap', or 'iterator' methods. | |
| 47 | * The {@link org.apache.commons.collections4.Trie} can also | |
| 48 | * scan for items that are 'bitwise' (using an XOR metric) by the 'select' method. | |
| 49 | * Bitwise closeness is determined by the {@link KeyAnalyzer} returning true or | |
| 50 | * false for a bit being set or not in a given key. | |
| 51 | *
 | |
| 52 | *
 | |
| 53 | * This PATRICIA {@link org.apache.commons.collections4.Trie} supports both variable | |
| 54 | * length & fixed length keys. Some methods, such as {@link #prefixMap(Object)} | |
| 55 | * are suited only to variable length keys. | |
| 56 | *
 | |
| 57 | * | |
| 58 | * @param <E> the type of the values in this map | |
| 59 | * | |
| 60 | * @see Radix Tree | |
| 61 | * @see PATRICIA | |
| 62 | * @see Crit-Bit Tree | |
| 63 | * @since 4.0 | |
| 64 | */ | |
| 65 | public class PatriciaTrie<E> extends AbstractPatriciaTrie<String, E> { | |
| 66 | ||
| 67 | private static final long serialVersionUID =<PHONE_NUMBER>901817838L; | |
| 68 | ||
| 69 | public PatriciaTrie() { | |
| 70 |
1
1. |
super(new StringKeyAnalyzer()); |
| 71 | } | |
| 72 | ||
| 73 | public PatriciaTrie(final Map<? extends String, ? extends E> m) { | |
| 74 |
1
1. |
super(new StringKeyAnalyzer(), m); |
| 75 | } | |
| 76 | ||
| 77 | } | |
Mutations | ||
| 70 |
1.1 |
|
| 74 |
1.1 |


Before Change
152: [3, 8, 36, 3]
}
_models = {
"fb": {
50: {},
101: {},
152: {}
},
"he": {
50: {
"imagenet": {
"param": {"n_class": 1000, "mean": _imagenet_mean},
"overwritable": {"mean"},
"url": "https://github.com/yuyu2172/share-weights/"
"releases/download/0.0.6/"
"resnet50_imagenet_convert_2018_03_07.npz"
},
},
101: {
"imagenet": {
"param": {"n_class": 1000, "mean": _imagenet_mean},
"overwritable": {"mean"},
"url": "https://github.com/yuyu2172/share-weights/"
"releases/download/0.0.6/"
"resnet101_imagenet_convert_2018_03_07.npz"
},
},
152: {
"imagenet": {
"param": {"n_class": 1000, "mean": None},
"default": {"mean": _imagenet_mean},
"url": "https://github.com/yuyu2172/share-weights/"
"releases/download/0.0.6/"
"resnet152_imagenet_convert_2018_03_07.npz"
After Change
152: [3, 8, 36, 3]
}
_models = {
"fb": {
50: {},
101: {},
152: {}
},
"he": {
50: {
"imagenet": {
"param": {"n_class": 1000, "mean": _imagenet_mean},
"overwritable": {"mean"},
"url": "https://github.com/yuyu2172/share-weights/"
"releases/download/0.0.6/"
"resnet50_imagenet_convert_2018_03_07.npz"
},
},
101: {
"imagenet": {
"param": {"n_class": 1000, "mean": _imagenet_mean},
"overwritable": {"mean"},
"url": "https://github.com/yuyu2172/share-weights/"
"releases/download/0.0.6/"
"resnet101_imagenet_convert_2018_03_07.npz"
},
},
152: {
"imagenet": {
"param": {"n_class": 1000, "mean": _imagenet_mean},
"overwritable": {"mean"},
"url": "https://github.com/yuyu2172/share-weights/"
"releases/download/0.0.6/"
"resnet152_imagenet_convert_2018_03_07.npz"


Checklist
Checker
Configure web hooks for Pull Requests in Azure DevOps
and use the URL in address bar as action URL.


If you've never done it before, it can be a bit tricky to navigate Amazon's "security groups," Linux's firewalls, and ip forwarding. I've created a tutorial to demonstrate, step-by-step, how to set up a skeleton Node.js app on Amazon EC2.
First, create an account on aws.amazon.com and set up two-factor authentication.
Next, click on EC2 - Virtual Servers in the Cloud. (EC2 stands for "Elastic Compute Cloud.") In the left-hand nav, click on "Instances." From the next screen, click the button "Launch Instance." If you are a new user, you can run a micro instance for free for a year.
Select the "Quick Launch Wizard," give your new server a name, and create a new key pair. Download your key. The key basically secures the server, so that only you can ssh onto it. Be sure to keep your key safe. For this demo, I chose to use Ubuntu 13.04, but any relatively recent Linux flavor should work fine.
Next, move your ssh key from your Downloads folder to someplace more permanent:
mv key_for_nodejs_demo_server.pm ~/.ssh
Check it's in the new place:
cd ~/.ssh
ls
Now, it's time to ssh onto your server. Check the tick-box next to your server name. You should see your server name — something like ec2-75-101-178-88.compute-1.amazonaws.com. You'll need this name to ssh on:
ssh -i ~/.ssh/key_for_nodejs_demo_server.pem<EMAIL_ADDRESS>Oops! That didn't work. You need to restrict the permissions on your key_for_nodejs_demo_server.pem file so that only your user can access it — not anyone else on your computer.
chmod -R 700 ~/.ssh/key_for_nodejs_demo_server.pem
Now you can ssh.
ssh -i ~/.ssh/key_for_nodejs_demo_server.pem<EMAIL_ADDRESS>Now, you should see that your command prompt changed, indicating you're now on the EC2 server. You should see something like this:
ubuntu@ip-10-164-108-235:-$
If you don't already have a github account, you should sign up for a free one.
Next, it's time to install some programs we're going to need. First, install git (for version control):
sudo apt-get install git
Sudo, which stands for "superuser do," and will run a command as root. You need to use sudo in order to install programs.
Now verify that git is installed:
which git
Next, let's fork the heroku/node-js-sample repository. Fork it via the github web interface; this will essentially make you a copy of the repository. Now clone the repository you just forked, so that you put a local copy of the source code on your EC2 machine:
git clone https://github.com/yourusername/node-js-sample.git
Now change directories into your new repo:
cd node-js-sample
And take a look at the files in your skeleton app:
ls
Let's try to run the app now.
node web.js
Oops! Looks like we need to install node first.
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
Make sure that you install the latest version. Sometimes ubuntu will install an older version, which you do NOT want.
node --version
Make sure that you see version 0.10.13 (current version at the time of this writing) or higher. You can find the current version of node.js here.
Let's try to run our app again:
node web.js
OK, a new error this time! That means we're making progress.
module.js:340
throw err;
Error: Cannot find module 'express'
This means we need to install a node package manager, and the required packages.
npm install express
Now, let's try our server again.
node web.js
You should see a message "Listening on 5000." The web server is up and running now!
Try to visit your web server by pasting its url into your browser:
http://ec2-75-101-178-88.compute-1.amazonaws.com/
This won't work. We need to open the right ports first.
Back in your AWS management console, select your instance, then in the "Network & Security" section click on "Security Groups." Select your instance's security group (it will be something like "quicklaunch-1". Open up port 80 (http) to allow connections from all ip addresses. Be sure to apply your changes (doesn't happen automatically). Now, you should have three security groups, like this:
Let's change the app to listen on port 8080:
vim web.js
Change the port from 5000 to 8080. For security reasons, we're not going to allow any connections on ports below 1024. Now, in order to allow requests on the standard HTTP port, 80, let's set up some port forwarding. First, run this command to see if you have ip forwarding enabled already:
cat /proc/sys/net/ipv4/ip_forward
If it returns 0, then ip forwarding is disabled. A 1 means it's enabled.
sudo vim /etc/sysctl.conf
In this file, uncomment this line:
net.ipv4.ip_forward
This will enable ip forwarding. Then, to enable the changes made in sysctl.conf:
sudo sysctl -p /etc/sysctl.conf
Now, let's check that ip forwarding is enabled:
cat /proc/sys/net/ipv4/ip_forward
That should return a 1 now.
Now, let's set up forwarding from 80 to 8080:
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Next, we need to open the Linux firewall to allow connections on port 80:
sudo iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
Now, let's try starting our app again:
node web.js
It should say it's "Listening on 8080."
Now, in your browser, enter the public ip of your EC2 machine (e.g., <IP_ADDRESS>). It should greet you with, "Hello, World!" Congratulations, you have a node.js server up and running!


Note: You are viewing the Sails.js v0.9.0 documentation. If you're looking for information on v0.8.x, please visit here.
Sails uses a very powerful tool called Grunt to manage assets.
Grunt is a javascript task manager that has a fast growing ecosystem of plugins that help automate any task that you could think of. Why did we decide to use this task runner to manage assets? From Grunt's very own website.
In one word: automation. The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes. After you've configured it, a task runner can do most of that mundane work for you—and your team—with basically zero effort.
With that in mind, Grunt not only allows you to manage assets very easily, but most of the code to do this is already written and accessable through grunt plugins. Just find a plugin you need, configure the task, and Grunt takes care of the rest.
If you'd like a more comprehensive understanding of Grunt, here is a good place to start.
Here is what the default grunt file does:
To customize your own Grunt task, you must first ensure that the Grunt plugin you are going to use is installed. You can install it from your terminal. If you wanted to use Grunt's Handlebars plugin you could do this:
npm install --save-dev grunt-contrib-handlebars
We can then configure the plugin options, load the task, and include it in a registered Grunt task. Here is a snippet of code for these steps:
module.exports = function(grunt) {
...
// configure the handlebars task
handlebars: {
dev: {
options : {
namespace: "JST"
},
files: {
"path/to/results.js": "path/to/source.hbs",
"path/to/another.js": ["path/to/sources/*.hbs", "path/to/more/*.hbs"]
}
}
}
// load the handlebars plugin
grunt.loadTasks('grunt-contrib-handlebars');
// A simple default task that runs the handlebars task
grunt.registerTask('default', [
'handlebars:dev'
]);
...
}
Here is a very well documented example of a full Gruntfile.


ALSDev File Menu
File Menu | - Select a file for editing
FORMS
New, Open, Close, Save, and SaveAs apply to editor windows, and have their
usual meanings. New opens a fresh editor window with no content, while Open allows one to select an existing file for editing. Quit allows you to exit from the ALS Prolog IDE.


--- title: Who Needs Fireworks When There Are Flowers! date: 2015-07-07 00:00:00 -06:00 categories: - whats-blooming layout: post blog-banner: whats-blooming-now-summer.jpg post-date: July 7, 2015 post-time: 3:45 PM blog-image: wbn-default.jpg ---
Red-Hot PopsicleTM Poker Kniphofia 'Red Hot Popsicle'
Walking through the Rose Garden you won't be able to miss this firecracker of a flower from the Aloe family.
Henry's Clematis Clematis 'Henryi'
This vine doesn't need bright color to leave you star struck, it's pure white petals are sure to leave a lasting impression.
Munro's Globemallow Sphaeralcea munroana
Small but not to be missed, this Utah native is a favorite for its brilliant apricot-orange blooms.
Crane's Bill Geranium 'Rozanne'
For such small blooms, this gorgeous perennial creates a sea of purple attracting animals and humans alike.
Red Yucca Hesperaloe parviflora
And for the grand finale, this Agave family member is a show stopper with high marks from hummingbirds as they cannot stay away.
Come see for yourself the vibrant show of summer blooms today!


| DOSE: |
4 hits |
oral |
LSD |
(blotter / tab) |
| |
3 hits |
oral |
LSD |
(blotter / tab) |
My boyfriend and I, Harry and Marry I'll call us, finally got ahold of some LSD. Anticipation was high, like a drug in itself. He was 18, and I 19. I got home to his apartment with it late, and with different news than Harry had expected. Instead of handing my friend 80 dollars, giving us 5 hits each. I'd given her a hundred and twenty, and she'd returned with fourteen hits.
'I'm only taking two' Harry says.
'I'm taking four.' I say.
And so, we dose. We tear apart the little squares of paper, printed with a funky little design. We were instructed to keep the paper under our tongues as long as possible, and so we do. The stuff is tasteless, except for a very, very strong chemical sensation in my mouth. My stomach was not happy with me, so I chewed an antacid and it settled. Doses taken, we wait. Eventually, he says the stuff is bunk and goes to bed, leaving me to watch Napoleon Dynamite and wait by myself.  There, I began to notice effects similar to ecstasy. A bit of a body high, and halos around candle flames and lights.
I yell to Harry 'Baby you have no idea what's going on.'
He wakes up, says he feels nothing, and gets up. I see his eyes widen a bit and he grins 'Oh yea, I feel it... '
a pause between us. Mischief.
'Let's take the rest.'
 He fubs around on his guitar a bit more, and then we sit on opposite couches, turn on the black lights, and music. I experience a slight revolving sensation and close my eyes. When I open them again, small bolts of lighting are shooting out from the light on the ceiling. I can hear Harry laughing.
'Are you hallucinating?'
'haaaaahahahahaha!!!'
The lightning bolts stretch to the edge of the ceiling, where they turn into a canopy of green vines which sweep down the wall. After following the vines to the bottom of the wall, I look up, and the room is shifting.  Repeating downwards, then sliding up to original position and doing the same shift-slide thing again. It is rapidly becoming too intense and I do not remember who suggested we move to the next room, but my next memory is of our bedroom, in complete stillness but buzzing with energy as I viewed it from the door. As I walk to the window, I can see the outside stairs and overhang carved in wood. LOTR's style. Elven. Like our palace carved in mahogany.
 I talk about mysterious things. Inner wishes and identities I had no idea existed. I was no longer myself. In one I was a long haired, slightly heavy, peasantish woman with a babe in a sling, working with heavy pieces of meat. In another thought I saw a stretch of several tapestries, floating in a purple energy field, which I realized will be my gifts to the women and their men I love later in life.
Harry is hearing all of these thoughts, and responding. The trip is mostly in my mind, but our minds are one. He is tripping in me, I guess, though now he says that he cannot remember anything that occurred. I remember, though. I remember the sound of bells and the ghostly image of antlers over his head. The cracking of a nut and the sound of water. I had many thoughts of chestnuts, and liquid pouring from them. Chestnuts preserved in glass and other thoughts I cannot remember any more. I also had the strong image of a saddle in black velvet. More water, more chestnuts, more antlers and bells. One of the last images I had was of vast, grey wings laying beneath my on the bed. I have wings tattooed on my shoulder.
 I only experienced this place briefly before I heard Harry say
'Do you want me to stop?'
We were locked together in a hurricane of sensation and my visuals were of a hurricane, I think. A wall of grey wind circling and storming until it's vertigo sucked it into itself, at the point of climax and peak of the trip. After, no memory, until we are lying on the bed and Harry is calling someone. Later, we go driving.
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!] My little Ford Ranger hums and transports our energy through town to coffee, the green and yellow landscape swirling, up and down ways. The coffee he buys me is not chestnut, but I am drinking hot, sweet chestnut milk.
The rest is come down, and unpleasant, so I will spare details, but it was worth it. The best 15 hours of my life so far. This was several months ago. Perhaps next weekend will merit another description.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


slog.link - admin
{{ slog_links|length }} Short Links
{% for link in slog_links %}
https://slog.link/{{ link[0] }}
(last used: {{ link[2] }})
{% endfor %}
Delete
Create Custom Vanity Link
Valid link keys have no spaces and can include A-Z, a-z, 0-9, '-' and '_'.
Add link
to
https://slog.link/
Submit
{{ link_response }}


matroska.dll
Downlaods
Table of contents
General
1. By meaning
- Opening a file
- Closing a file
- Retrieving information on a segment
- Retrieving information about a Track
- Retrieving information about a Chapter
- Retrieving an Attachment
- Retrieving DLL version information
- older stuff
2. By function name
- mtrClose
- mtrGetAttachment
- mtrGetChapterInfo
- mtrGetDLLInfo
- mtrGetSegmentInfo
- mtrGetTrackInfo
- mtrOpen
General
Backward compatibility of future versions of this DLL
The interface should be stable now, and it should not be required to
make changes that require older applications to be recompiled to work
with future versions of the DLL. That means, if anyone wants to make
include files for other languages, please go on.
Calling convention
All functions use _stdcall and return MTR_OK to signal that a call succeeded. If an invalid parameter is passed, the return value is MTR_INVALIDPARAM.
Units
All sizes of structures and buffers are indicated in bytes. This also applies to buffers receiving unicode strings.
cbSize
All structures have a member in common: cbSize. This member must be set to the size of the structure, if it does not match, the call fails.
Buffers
All structures that contain a pointer to a buffer (pBuffer) receiving data have a member max_buffer_size which must be set to the size of that buffer. These structures also have a member required_buffer_size which will be set to the size the buffer must have to receive all data the function could return.
Character sets
Structures having a charset member allow the user to specify if the input and/or output strings use ANSI, UTF-8 or UTF-16 encoding (values MTR_ANSI, MTR_UTF8, MTR_UTF16).
Titles
All structures designed to receive titles include the following member values:
| number_of_titles | number of titles that could be returned if the buffer was large enough |
| number_of_titles_returned | number of titles for which at least one character has been returned. If this number is smaller than number_of_titles, the buffer was (far) too small |
| title_txt | Array of pointers to titles. All pointers will point somewhere into pBuffer |
| title_lng | Array
of pointers to language codes identifying the language the title is
written in. If a language is not indicated in the source file, this
pointer will either be NULL or point to an empty string. |
Opening a file
typedef struct
{
int cbSize;
int charset;
int access;
char* filename;
} OPEN_MATROSKA_FILE_STRUCT;
| access | MTROF_READ - open file for reading |
| filename | name of the file to open, using the character set indicated in charset |
Call:
mtrOpen(
OPEN_MATROSKA_FILE_STRUCT* open_file_struct,
void** matroska
);
| open_file_struct | Pointer to a valid OPEN_MATROSKA_FILE_STRUCT struct |
| matroska | Pointer
to a pointer that will receive a pointer to an internal structure of
matroska.dll that you'll need each time you want to access the file. |
Closing a file
Call:
mtrClose(
void** matroska
);
| matroska | Pointer to a pointer that was obtained using mtrOpen . |
Retrieving DLL version information
Call:
int mtrGetDLLInfo(
int info;
char* build_date;
);
| info | Value indicating what information is to be retrieved:- MTRDLL_VERNBR return version number as result of the function call
- MTRDLL_BUILDDATE return build date of this DLL as string
|
| build_date | buffer to receive the build date. This buffer is never required to be larger than 128 bytes |
Retrieving information about a Segment
typedef struct
{
// input
int cbsize;
int index;
int max_buffer_len;
int charset;
// output
char* pBuffer;
int required_buffer_len;
int flags;
char* segment_uid;
char* segment_filename;
char* next_uid;
char* next_filename;
char* prev_uid;
char* prev_filename;
char* segment_family;
char* muxing_app;
char* writing_app;
int number_of_titles;
int number_of_titles_returned;
char** title_txt;
char** title_lng;
int number_of_chapters;
int number_of_tracks;
int number_of_attachments;
__int64 timecode_scale;
__int64 duration;
__int64 date;
} GET_SEGMENT_INFO_STRUCT;
| index | retrieve information on the index-th segment |
| flags | This
member indicates which values were present in the source file. If the
buffer was too small, some may not have been returned. The following
flags are defined: - GSISF_SEGMENTUIDGSISF_NEXTUID
- GSISF_PREVUID
- GSISF_SEGMENTFAMILY
- GSISF_MUXINGAPP
- GSISF_WRITINGAPP
- GSISF_DATE
A flag not being set means the corresponding member is undefined |
| *_uid, *_filename | Pointer to the corresponding UID and filenames as stored in the segment. |
| *_app | Pointer to muxing and writing app as stored in the matroska files. Those strings are usually present. |
| number_* | Contains the number of chapters (or better: editions), attachments and tracks the segment contains. |
| timecode_scale | Contains the value all scaled timecodes must be multiplied with to get nanoseconds. |
| duration | Contains the scaled duration of the segment. |
| date | Production date, timecode in nanoseconds relative to 2001-01-01, 12am earth standard time. |
Call:
mtrGetSegmentInfo(
void* matroska
GET_SEGMENT_INFO_STRUCT* segment_info_struct,
);
| segment_info_struct | Pointer to a valid GET_SEGMENT_INFO_STRUCT struct |
| matroska | Pointer retrieved by mtrOpen |
Retrieving information about a Track
typedef struct
{
// input
int cbsize;
int index;
int max_buffer_len;
int charset;
// output
char* pBuffer;
int flags;
int required_buffer_size;
double bitrate;
int track_number;
__int64 track_uid;
int track_type;
int flag_enabled;
int flag_default;
int flag_forced;
int flag_lacing;
int min_cache;
int max_cache;
__int64 default_duration;
double timecode_scale;
int number_of_titles;
int number_of_titles_returned;
char** title_txt;
char** title_lng;
char* codec_id;
void* codec_private;
int codec_private_size;
char* codec_name;
__int64 attachment_link;
__int64 track_overlay;
int pixel_width;
int pixel_height;
int pixel_crop_left;
int pixel_crop_top;
int pixel_crop_right;
int pixel_crop_bottom;
int display_width;
int display_height;
int display_unit;
int aspect_ratio_type;
__int32 color_space;
double sampling_frequency;
double output_sampling_frequency;
int channels;
int compression;
int compression_settings_length;
char* compression_settings;
} GET_TRACK_INFO_STRUCT;
| index | retrieve information on the index-th track of the segment (1st track -> index = 0) |
| flags | This
member indicates which values were present in the source file. If the
buffer was too small, some may not have been returned. The following
flags are defined: A flag not being set means the corresponding member is undefined |
| bitrate | contains
the bitrate of the track if the segment contains a tag stating this
bitrate. The DLL will NOT start reading into the segment in order to get
an estimation of the track's bitrate. If such a tag is not present, the
GTISF_BITRATE flag is not set and this value is undefined. |
| track_uid | UID of the track, usually 32 or 64 bits |
| track_number | Number of the track, usually one-based increasing (note: the index is zero-based) |
| track_type | Can be- MTR_TRACKTYPE_VIDEO
- MTR_TRACKTYPE_AUDIO
- MTR_TRACKTYPE_SUBTITLES
|
| flag_* | Conains
the flags as specified in the track header. Those flags are returned as
they are, they are not auto-corrected or otherwise changed if they are
nonsense (p.e. if 2 video tracks are marked as default) |
| default_duration | Duration of one frame of this track in nanoseconds. For VFR tracks, this value will be 0 |
| timecode_scale | Factor
by which timecodes of this track are to be multiplied. This value will
usually be one, as the code the DLL is based on already performs this
multiplication before delivering any data. This member is only there in
order to avoid a change of this structure in the case that this
behaviour is changed. |
| codec_id | Points to a string describing the codec used for this track. |
codec_private codec_private_size | Pointer to the CodecPrivate data of this track and size of CodecPrivate. |
| codec_name | A human readable name of the codec. At the moment, this is rarely used. |
pixel_width pixel_height | the resolution the video track is encoded in. |
| pixel_crop_* | number of pixels to be cropped during replay. This is applied after decoding, but before changing aspect ratio |
display_width display_height display_unit | the size the picture is to be stretched to during replay |
sampling_frequency output_sampling_frequency | The
sampling rate the stream is encoded at, and the sampling rate it is to
be replayed at. Those values are identical for most audio codecs, the
only acception currently being HE-AAC. Note: In a matroska file, the
second value is usually not stored if it does not differ from the first
one. This is of no importance for this DLL, both values will always be
returned. |
| compression | Inidicates
what compression algorithm has been used for this track. Note:
Theoretically, Matroska allows to use several compression algorithms one
after another on the same track. This is not supported by this DLL,
neither by the underlying code. |
compression_settings compression_settings_length | Like codec_private and codec_private_size, but for the lossless compressor used for this track. |
Call:
mtrGetTrackInfo(
void* matroska
GET_TRACK_INFO_STRUCT* track_info_struct
);
| track_info_struct | Pointer to a valid GET_TRACK_INFO_STRUCT struct |
| matroska | Pointer retrieved by mtrOpen |
Retrieving information about a Chapter
typedef struct
{
// input
int cbSize;
int* pIndex;
int max_buffer_len;
int charset;
// output
char* pBuffer;
int error;
int is_edition;
int is_enabled;
int is_hidden;
int is_ordered;
int is_default;
int has_segmentuid;
__int64 start_time;
__int64 end_time;
int number_of_titles;
int number_of_titles_returned;
char** title_txt;
char** title_lng;
int number_of_subchapters;
int required_buffer_size;
unsigned char* pSegmentUID;
} GET_CHAPTER_STRUCT;
| pIndex | Pointer
to an array describing the index of the chapter. The first element
contains the number of valid values.
Example: [3, 2, 5, 1] refers to chapter 2.5.1.
If an invalid chapter is indicated, the return value will be MTR_OK , but the error member will be MTRCHI_INVALIDINDEX |
| is_* | Those values are one if the chapter has the property in question, i.e. is hidden, is an edition etc. |
has_segmentuid pSegmentUID | When
this value is not zero, pSegmentUID is valid and points to an array of
16 bytes containing the UID of the segment this chapter is refering to. |
start_time end_time | Unscaled time when the chapter starts and ends. If the end time is not indicated in the source file, the end_time member is set to -1. |
| number_of_subchapters | contains the number of subchapters this chapter has. |
Call:
mtrGetChapter(
void* matroska
GET_CHAPTER_STRUCT* chapter_struct,
);
| chapter_struct | Pointer to a valid GET_CHAPTER_STRUCT struct |
| matroska | Pointer retrieved by mtrOpen |
typedef struct
{
// input
int cbsize;
int index;
int max_buffer_len;
int charset;
// input/output
__int64 uid;
// output
char* pBuffer;
char* filename;
char* description;
char* mime_type;
char* binary_data;
int binary_data_size;
int required_buffer_size;
} GET_ATTACHMENT_STRUCT;
| index | Retrieve the index-th attachment. If this value is -1, retrieve the attachment having the uid uid |
| uid | If index is not -1, this member will be set to the uid the index-th attachment has. |
| filename | pointer to filename of this attachment |
| description | Pointer to human readable description of this attachment |
| mime_type | Pointer to a string describing the type of this attachment |
binary_data binary_data_size | Pointer to binary data of the attachment and size of the attachment. |
Call:
mtrGetChapter(
void* matroska
GET_ATTACHMENT_STRUCT* attachment_struct,
);
| attachment_struct | Pointer to a valid GET_CHAPTER_STRUCT struct |
| matroska | Pointer retrieved by mtrOpen |
Older functions
| Function |
Decription |
int mtrOpenRead
| char* | pFilename |
| MATROSKA_DESCR** | pDescr |
|
Opens a matroska file for reading and returns a descriptor which you need each time you want to access this file.
The internal structure of this is not of any importance for you. Declare it as a Pointer, void* or whatever it is called in
the language you want to use this library with.
The function returns
MTR_OK if it succeeds, and will set *pDescr to NULL and
return MTR_OPEN_INVALIDFILE if the indicated source file could not be opened.
|
int mtrRead(
| MATROSKA_DESCR* | pDescr |
| int | iTrack |
| READ_STRUCT* | pRead |
|
Reads one block from the specified track iTrack, or as few as possible, if the next block of that stream
is laced and if delacing is not supported for this track, and returns this block(s) along with some information
on it in *pRead.
Return values:
| MTR_RD_OK | no error has occured |
| MTR_RD_ENDOFSEGMENT | end of active segment has been reached when trying to fill input queues |
| MTR_RD_SPARSEQUEUEEMPTY | you are trying to read from a sparse stream, but the input queue for that stream is empty. |
READ_STRUCT {
| void* | pBuffer |
| int | iSize |
| REFERENCES | references |
| FRAMES | frames |
| __int64 | iTimecode |
| __int64 | iDuration |
}
REFERENCES {
}
FRAMES {
}
|
mtrSetReadConfig(
| MATROSKA_DESCR* | pDescr |
| int | iState |
| int | iIndex |
| int | iVal |
| Set parameters for reading from a matroska file.
| iState | | usage |
| MTRRCFG_QUEUETRACK |
| iVal = 1 | enable queuing for track iIndex |
| iVal = 0 | disable queuing for track iIndex |
| iIndex = -1 | refer to all tracks |
| Note: You cannot read data from any track
which is not queued, and you will waste a lot of RAM if you queue tracks
you don't read from |
|
| MTRRCFG_ACTIVESEGMENT |
activate the iIndex - th segment of a matroska file |
| MTRRCFG_SPARSE |
| iVal = 1 | set sparse read mode for track iIndex |
| iVal = 0 | set normal read mode for track iIndex |
|
|


• On the donate page, select or enter the amount you wish to give, and whether or not this gift is in memory or in honor of someone.
• Add the gift to your Gift Basket and continue browsing, or click “Give Now” to complete your donation.
• Please make sure you enter "13403130 Han CS Sr Entrepreneurial Capstone, CU Foundation: 0125610" in the comments section of the form.


-
Download iOS Firmware for iPhone, iPad, iPod Touch and Apple TV / IPSW ...
ipsw.me
Download current and previous versions of Apple's iOS Firmware and receive push notifications when new firmwares are released.
-
Virtual - Mobile Virtualization
virtu.al
Access to Virtual is currently by invitation only. Sign up to reserve your spot now.
-
iOS8 MAC Randomization – Analyzed! - MOJO Wireless
blog.airtightnetworks.com
Investigation into the workings of randomized MACs addresses. Read on to find out how they work in iOS8 on iPhone 5 and 5s. iPhone 6 testing pending.
-
SN: In early drawings, Warriors' new arena looks like a toilet
espn.go.com
The Golden State Warriors are moving across the bay, from Oakland to San Francisco, with 2018 as a target.With these plans come architectural ...
-
Tweak DRM - iPhone Development Wiki
iphonedevwiki.net
Building tweak DRM means building technical measures to control access to using a tweak you made, especially to prevent access by people who were ...
-
1Password 5 for iOS is here with App Extensions, Touch ID, new freemium ...
blog.agilebits.com
I can’t tell you how fired up we are about this release! I literally can't because there is no tool that can measure excitement on this scale. Years ...
-
TL;DR: Hacked Celebrity iCloud Accounts | Jonathan Zdziarski's Domain
www.zdziarski.com
(This document will continue to evolve as more information becomes available)
-
Five Great Jailbreak Tweaks for Improving Your iOS 7 Web Browsing ...
modmyi.com
Five Great Jailbreak Tweaks for Improving Your iOS 7 Web Browsing Experience
-
Five Great Jailbreak Tweaks for Improving Your iOS 7 Social Networking ...
modmyi.com
Five Great Jailbreak Tweaks for Improving Your iOS 7 Social Networking Experience
-
Women significantly outnumber teenage boys in gamer demographics | The ...
www.pbs.org
Adult female gamers have unseated boys under the age of 18 as the largest video game-playing demographic in the U.S., according to a recently ...
-
ArcadesRFun: We Build Custom Video Arcade/Virtual Pinball Games For Your ...
arcadesrfun.com
Love playing Ms. Pac-Man? Our games can play 30,000+ video arcade/home console games. Find out how we can make your ultimate dream arcade game come ...
-
Don't Want Facebook Messenger to Message on Facebook? Try ...
modmyi.com
Don't Want Facebook Messenger to Message on Facebook? Try 'FBNoNeedMessenger'
-
Koxvold vs. Reyes | Layer Tennis
www.layertennis.com
Koxvold vs. Reyes Layer Tennis match. Produced by Coudal Partners‘ and presented by Adobe Creative Cloud.
-
Reboot to HDD Tool for Mac | sharedRoutine
sharedroutine.com
Description: RebootToHDD allows you to quickly reboot to another Operating System installed on your Mac. Wether it be a Bootcamp Partition or a ...
-
This game more or less saved my life • /r/KerbalSpaceProgram
www.reddit.com
I've struggled with depression for a long time, my time in the military really killed my creativity and motivation, I lost all interest in my...
-
Bill in US Congress Would Legalize 'Charlotte’s Web' Medical Marijuana | ...
news.vice.com
Passage of the proposed legislation would be the first time the federal government acknowledges an accepted medical application of cannabis.
-
For 6-year-old Alex, 3-D printing means a new arm
www.today.com
For children, prosthetic limbs don’t come cheap. Like shoes, they are easily outgrown, which is why 6-year-old Alex Pring was so happy...
-
How Questlove Is Bringing Music Back to Television
www.thedailybeast.com
The Roots bandleader isn’t just churning out viral music bits on ‘The Tonight Show.’ Now he’s created a new TV series that could turn music on ...
-
Virtual - Mobile Virtualization
virtu.al
Access to Virtual is currently by invitation only. Sign up to reserve your spot now.
-
Malaysia Airlines MH17 plane crash in Ukraine
rt.com
A Malaysia Airlines plane en route from Amsterdam to Kuala Lumpur has crashed in eastern Ukraine. There were 283 passengers and 15 crew members on ...
-
NASA's Next Giant Leap
www.nasa.gov
Technology drives exploration and we're building on the Apollo program's accomplishments to test and fly transformative, cutting edge technologies ...
-
Apple deluged by police demands to decrypt iPhones - CNET
www.cnet.com
ATF says no law enforcement agency could unlock a defendant's iPhone, but Apple can "bypass the security software" if it chooses. Apple has created a ...
-
Sassoty/Bulb
github.com
Bulb - Cydia tweak that shows a status bar icon when the flash light is turned on


rxvt-unicode
In person, I have long been vocally dissatisfied with the state of terminal emulation on Mac OS X. The terminal is my home, yet on OS X, an otherwise stellar example of UNIX on the desktop, it feels hostile stubbornly stuck in the past. I have very seriously considered how I would execute the transition to a Thinkpad running Ubuntu but balked at the scope: it would require babysitting drivers at all times and giving up the Mac trackpad, backlit keyboard, FireWire 800, Mac hardware quality, and ultimately my iPhone. The terminal is the problem, anyway, let’s fix that.
My minimally featured terminal emulator supports 256 colors, copy, paste, and scrollback with the two-finger scroll gesture. Terminal.app is out because it’s still stuck in the 16 color stone ages. iTerm is up to spec but has me rebooting more often than never due to the q, r, s, t issue. The xterm that comes with Apple’s X11 doesn’t appear to support 256 colors.
That’s enough hype: rxvt-unicode is the winner. Gist 438773 will setup rxvt-unicode. It assumes you already have MacPorts.
If you’re a Vim user, you’ll want to set t_Co=256
in your .vimrc
.


9 CORBA_Environment C Structure
This chapter describes the CORBA_Environment C structure.
9.1 C Structure
Here is the complete definition of the CORBA_Environment C structure, defined in file "ic.h" :
/* Environment definition */ typedef struct { /*----- CORBA compatibility part ------------------------*/ /* Exception tag, initially set to CORBA_NO_EXCEPTION ---*/ CORBA_exception_type _major; /*----- External Implementation part - initiated by the user ---*/ /* File descriptor */ int _fd; /* Size of input buffer */ int _inbufsz; /* Pointer to always dynamically allocated buffer for input */ char *_inbuf; /* Size of output buffer */ int _outbufsz; /* Pointer to always dynamically allocated buffer for output */ char *_outbuf; /* Size of memory chunks in bytes, used for increasing the output buffer, set to >= 32, should be around >= 1024 for performance reasons */ int _memchunk; /* Pointer for registered name */ char _regname[256]; /* Process identity for caller */ erlang_pid *_to_pid; /* Process identity for callee */ erlang_pid *_from_pid; /*- Internal Implementation part - used by the server/client ---*/ /* Index for input buffer */ int _iin; /* Index for output buffer */ int _iout; /* Pointer for operation name */ char _operation[256]; /* Used to count parameters */ int _received; /* Used to identify the caller */ erlang_pid _caller; /* Used to identify the call */ erlang_ref _unique; /* Exception id field */ CORBA_char *_exc_id; /* Exception value field */ void *_exc_value; } CORBA_Environment;
The structure is divided into three parts:
-
The CORBA Compatibility part, demanded by the standard OMG IDL mapping v2.0.
-
The external implementation part used for generated client/server code.
-
The internal part useful for those who wish to define their own functions.
9.2 The CORBA Compatibility Part
Contains only one field _major defined as a CORBA_Exception_type. The CORBA_Exception type is an integer which can be one of:
-
CORBA_NO_EXCEPTION, by default equal to 0, can be set by the application programmer to another value.
-
CORBA_SYSTEM_EXCEPTION, by default equal to -1, can be set by the application programmer to another value.
The current definition of these values are:
#define CORBA_NO_EXCEPTION 0 #define CORBA_SYSTEM_EXCEPTION -1
9.3 The External Part
This part contains the following fields:
-
int _fd - a file descriptor returned from erl_connect. Used for connection setting.
-
char* _inbuf - pointer to a buffer used for input. Buffer size checks are done under runtime that prevent buffer overflows. This is done by expanding the buffer to fit the input message. In order to allow buffer reallocation, the output buffer must always be dynamically allocated. The pointer value can change under runtime in case of buffer reallocation.
-
int _inbufsz - start size of input buffer. Used for setting the input buffer size under initialization of the Erl_Interface function ei_receive_encoded/5. The value of this field can change under runtime in case of input buffer expansion to fit larger messages
-
int _outbufsz - start size of output buffer. The value of this field can change under runtime in case of input buffer expansion to fit larger messages
-
char* _outbuf - pointer to a buffer used for output. Buffer size checks prevent buffer overflows under runtime, by expanding the buffer to fit the output message in cases of lack of space in buffer. In order to allow buffer reallocation, the output buffer must always be dynamically allocated. The pointer value can change under runtime in case of buffer reallocation.
-
int _memchunk - expansion unit size for the output buffer. This is the size of memory chunks in bytes used for increasing the output in case of buffer expansion. The value of this field must be always set to >= 32, should be at least 1024 for performance reasons.
-
char regname[256] - a registered name for a process.
-
erlang_pid* _to_pid - an Erlang process identifier, is only used if the registered_name parameter is the empty string.
-
erlang_pid* _from_pid - your own process id so the answer can be returned.
9.4 The Internal Part
This part contains the following fields:
-
int _iin - Index for input buffer. Initially set to zero. Updated to agree with the length of the received encoded message.
-
int _iout - Index for output buffer Initially set to zero. Updated to agree with the length of the message encoded to the communication counterpart.
-
char _operation[256] - Pointer for operation name. Set to the operation to be called.
-
int _received - Used to count parameters. Initially set to zero.
-
erlang_pid _caller - Used to identify the caller. Initiated to a value that identifies the caller.
-
erlang_ref _unique - Used to identify the call. Set to a default value in the case of generated functions.
-
CORBA_char* _exc_id - Exception id field. Initially set to NULL to agree with the initial value of _major (CORBA_NO_EXCEPTION).
-
void* _exc_value - Exception value field Initially set to NULL to agree with the initial value of _major (CORBA_NO_EXCEPTION).
The advanced user who defines his own functions has to update/support these values in a way similar to how they are updated in the generated code.
9.5 Creating and Initiating the CORBA_Environment Structure
There are two ways to set the CORBA_Environment structure:
-
Manually
The following default values must be set to the CORBA_Environment *ev fields, when buffers for input/output should have the size inbufsz/ outbufsz:
-
ev->_inbufsz = inbufsz;
The value for this field can be between 0 and maximum size of a signed integer.
-
ev->_inbuf = malloc(inbufsz);
The size of the allocated buffer must be equal to the value of its corresponding index, _inbufsz.
-
ev->_outbufsz = outbufsz;
The value for this field can be between 0 and maximum size of a signed integer.
-
ev->_outbuf = malloc(outbufsz);
The size of the allocated buffer must be equal to the value of its corresponding index, _outbufsz.
-
ev->_memchunk = __OE_MEMCHUNK__;
Please note that __OE_MEMCHUNK__ is equal to 1024, you can set this value to a value bigger than 32 yourself.
-
ev->_to_pid = NULL;
-
ev->_from_pid = NULL;
-
-
By using the CORBA_Environment_alloc/2 function.
The CORBA_Environment_alloc function is defined as:
CORBA_Environment *CORBA_Environment_alloc(int inbufsz, int outbufsz);
where:
-
inbufsz is the desired size of input buffer
-
outbufsz is the desired size of output buffer
-
return value is a pointer to an allocated and initialized CORBA_Environment structure.
This function will set all needed default values and allocate buffers equal to the values passed, but will not allocate space for the _to_pid and _from_pid fields.
To free the space allocated by CORBA_Environment_alloc/2:
-
First call CORBA_free for the input and output buffers.
-
After freeing the buffer space, call CORBA_free for the CORBA_Environment space.
-
Remember to set the fields _fd, _regname, *_to_pid and/or *_from_pid to the appropriate application values. These are not automatically set by the stubs.
Never assign static buffers to the buffer pointers. Never set the _memchunk field to a value less than 32.
9.6 Setting System Exceptions
If the user wishes to set own system exceptions at critical positions on the code, it is strongly recommended to use one of the current values:
-
CORBA_NO_EXCEPTION upon success. The value of the _exc_id field should be then set to NULL. The value of the _exc_value field should be then set to NULL.
-
CORBA_SYSTEM_EXCEPTION upon system failure. The value of the _exc_id field should be then set to one of the values defined in "ic.h" :
#define UNKNOWN "UNKNOWN" #define BAD_PARAM "BAD_PARAM" #define NO_MEMORY "NO_MEMORY" #define IMPL_LIMIT "IMP_LIMIT" #define COMM_FAILURE "COMM_FAILURE" #define INV_OBJREF "INV_OBJREF" #define NO_PERMISSION "NO_PERMISSION" #define INTERNAL "INTERNAL" #define MARSHAL "MARSHAL" #define INITIALIZE "INITIALIZE" #define NO_IMPLEMENT "NO_IMPLEMENT" #define BAD_TYPECODE "BAD_TYPECODE" #define BAD_OPERATION "BAD_OPERATION" #define NO_RESOURCES "NO_RESOURCES" #define NO_RESPONSE "NO_RESPONSE" #define PERSIST_STORE "PERSIST_STORE" #define BAD_INV_ORDER "BAD_INV_ORDER" #define TRANSIENT "TRANSIENT" #define FREE_MEM "FREE_MEM" #define INV_IDENT "INV_IDENT" #define INV_FLAG "INV_FLAG" #define INTF_REPOS "INTF_REPOS" #define BAD_CONTEXT "BAD_CONTEXT" #define OBJ_ADAPTER "OBJ_ADAPTER" #define DATA_CONVERSION "DATA_CONVERSION" #define OBJ_NOT_EXIST "OBJECT_NOT_EXIST"
The value of the _exc_value field should be then set to a string that explains the problem in an informative way. The user should use the functions CORBA_exc_set/4 and CORBA_exception_free/1 to free the exception. The user has to use CORBA_exception_id/1 and CORBA_exception_value/1 to access exception information. Prototypes for these functions are declared in "ic.h"


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import models.CustomerDetails @this(mainTemplate: MainTemplate) @(vrn: String, customerDetails: CustomerDetails)(implicit request: Request[_], messages: Messages, appConfig: config.AppConfig) @mainTemplate( title = messages("confirmClientVrn.title"), bodyClasses = None) {


{% load staticfiles %}
Expedited Shipping Availible
Enjoy the Security of Paypal
From the Day Recieved
Recieve a Response in 1 Day
Subscribe to our newsletter and get 20% off your first purchase


Q: Are Context and Redux the same thing?
A: No. They are different tools that do different things, and you use them for different purposes.
JavaScript Team Lead at Lohika / Capgemini Engineering
6+ years of experience in building scalable WEB solutions for various industries.
LinkedIn: artiom-matusenco
What’s State Management
in a Nutshell?
State management is simply a way to engender communication and sharing of data across components.
It creates a concrete data structure to represent your app's State that you can read and write.
by Mihaela @ WorksHub
State Management Battle in React 2021: Hooks, Redux, and RecoilContext is a dependency injection mechanism. Any value put in Context is available implicitly for downstream components.
const MyContext = React.createContext(defaultValue);
The composition of useReducer and useContext hooks together allows to implement a simple state management system which is more equivalent to what Redux does with React.
How to think about ReduxSo the way I would distinguish it is: Redux is a very generic state management tool that can be used for a broad array of use cases. Caching state from a server UI state other complex data management on the client
by Mark Erikson
"When (and when not) to reach for Redux"
There are many excellent reasons to choose Redux:
Redux is most useful when in cases when:
If you're only using Redux to avoid passing down props, context could replace Redux - but then you probably didn't need Redux in the first place.
by Mark Erikson


Options - vertical spreads (pynance.opt.spread.vert
)¶
-
class
pynance.opt.spread.vert.
Vert
(df)[source]¶ Wrapper class for
pandas.DataFrame
for retrieving metrics on vertical options spreadsObjects of this class are not intended for direct instantiation but are created as attributes of objects of type
Spread
.New in version 0.3.0.
Parameters: df :
pandas.DataFrame
Options data.

The metrics returned can easily be translated into bear spread metrics. The difference is only whether one buys the call at the lower strike and sells at the higher (bull call spread) or sells at the lower while buying at the higher (bear call spread). The metrics dataframe shows values for a bull call spread, where the transaction is a debit. A bear call spread is created by selling a bull call spread, so the transaction amount is the same, but it is a credit rather than a debit.
Parameters: lowstrike : numeric
Lower strike price.
highstrike : numeric
Higher strike sprice.
expiry : date or date str (e.g. ‘2015-01-01’)
Expiration date.
Returns: metrics : DataFrame
See also
Notes
Cf. Lawrence McMillan, Options as a Strategic Investment, 5th ed., pp. 157ff.
-
put
(lowstrike, highstrike, expiry)[source]¶ Metrics for evaluating a bear put spread.
The metrics returned can easily be translated into bull spread metrics. The difference is only whether one buys the put at the lower strike and sells at the higher (bear put spread) or sells at the lower while buying at the higher (bull put spread). The metrics dataframe shows values for a bear put spread, where the transaction is a debit. A bull put spread is created by selling a bear put spread, so the transaction amount is the same, but it is a credit rather than a debit.
Parameters: lowstrike : numeric
Lower strike price.
highstrike : numeric
Higher strike sprice.
expiry : date or date str (e.g. ‘2015-01-01’)
Expiration date.
Returns: metrics : DataFrame
See also
Notes
Cf. Lawrence McMillan, Options as a Strategic Investment, 5th ed., pp. 316ff.
-


Software Developer with more than 2 year experience in developing web and mobile applications. Expertise in solving complex problems with efficient solutions and helped around 100+ people.
Understanding of Data-structures, Algorithms and Design patterns. Good code analyzing and debugging skills.
various workshops for 200+ students, helping them learn software development technologies while developing desktop and mobile applications.
I enjoy being challenged and engaging with projects that require me to work outside my comfort and knowledge set, as continuing to learn new languages and development techniques are important to me.
Ownership of onboarding 4 merchants to Amazon portal to make payments using Amazon Pay, setting up Payment Secure Channels and Adding unit and integration tests to prevent errors in gamma and production stages. Managed AWS services cost, saving $100 monthly.
Worked on reducing development efforts for acquirer plugin implementations by 4 weeks using web hooks and API development.
Worked in a team of 8 to launch Amazon Pay checkout V2 for web and mobile, collaborated and defined requirements with product & QA.
Resolved 20 high severity risks during 1 week of oncall which rotates every 2 months for Amazon Pay checkout/refund/decline services.
Worked on designing sandbox test environment configurations and testing multiple merchants integration with amazon pay wallet.
Skills: Amazon CloudWatch · AWS CloudFormation · Amazon Web Services (AWS) · AWS Lambda · Amazon S3 · Amazon Dynamodb · Java · SQL
Worked on developing new features for iOS and Android Workdocs applications allowing secure storage and access to documents on mobile devices. Implemented amazon federate secure login for iOS mobile and iPad devices.
Ownership of publishing new application versions on apple store and android store including beta testing for applications.
Amazon Web Services (AWS) · iOS Development · Android Development · Java · Design Patterns
Developed an iOS mobile and wearable application using Xcode that tracks the real-time longitudinal health of Alzheimer disease patients.
OPerformed predictive analysis on the dataset, helping caretakers to detect unusual activities of the patients with 90% accuracy.
Developed a Car Driving Simulation for students to gain driving skills in mixed traffic environments with the real-time view of the car.
Implemented A* path finding algorithm to create different traffic scenarios. Reduced the render time on android devices by 20%.
Designed levels in Simulation, to experience driving in different conditions with VR support. Helped 100 students learn driving.
GPA: 3.9 / 4
Relevant Coursework : Machine Learning, Computer Vision, Database Systems, Algorithm & Data Structures, Intelligent Systems, Knowledge Disc. in Databases, Network Based Application Development, Cloud Computing
GPA: 3.7 / 4
Relevant Coursework : Software Engineering, Data Structures & Problem Solving, Theory of Computation, Database Management System, Design & Analysis of Algorithms, Operating Systems and administration, Computer Graphics


The best leagues with stats, videos and media coverage just
like the pros. At Wooter, gametime is showtime.
Join A League
Wooter NYC Premier League
Baruch College, Manhattan, NY - (Ages 17+)
League Starts: June 16th
Wooter has everything to manage and grow your league
There isn’t anything else like it
Active Leagues


What? No, you just finally finished the blog about your trip in Februrary 😅 https://travel.jasonrclark.com/london-calling/
9/16/2019, 12:40:25 PM
Favs: 1
Retweets: 0
link--- layout: tweet ---
What? No, you just finally finished the blog about your trip in Februrary 😅 https://travel.jasonrclark.com/london-calling/
9/16/2019, 12:40:25 PM
Favs: 1
Retweets: 0
link


The Akan people of Ghana frequently name their children after the day of the week they were born and the order in which they were born. These "day names" have further meanings concerning the soul and character of the person. Middle names have considerably more variety and can refer to their birth order, twin status, or an ancestor's middle name.
Get to know your 'Akan Name' by simply filling out the form below.


| waitress {waiter} | R Documentation |
Programatically show and hide loading bars.
use_waitress(color = "#697682", percent_color = "#333333")
color, percent_color |
Color of waitress and color of percent text shown when
|
You can pipe the methods with $
.
Waitress$new()
and call_waitress()
are equivalent.
library(shiny) ui <- fluidPage( use_waitress("red"), # dependencies sliderInput("set", "percentage", 1, 100, step = 5, value = 1) ) server <- function(input, output, session){ w <- Waitress$ new()$ # call a waitress start() # start waitress observeEvent(input$set, { w$set(input$set) # set at percentage }) } if(interactive()) shinyApp(ui, server)


Govt to recruit over 500 health workers
by Henry SekanjakoJoyce Moriku Kaducu, the state minister for primary healthcare, says the ministry has been understaffed
The Government is set to recruit 523 health workers to fill vacant positions at various regional referral hospitals and the health ministry.
The health facilities expecting new staff include the Uganda Virus Research Institute and regional referral hospitals of Moroto, Hoima, Kabale and Mubende, as well as the ministry headquarters.
The Health Service Commission has placed adverts inviting applicants to fill the vacant positions.
The applicants are required to submit their applications online at www.hscers.ug to the secretary of the Health Service Commission, not later than January 3.
The commission said it is seeking to recruit senior consultants (general surgery and internal medicine) and consultants (obstetrics, gynaecology, ENT and ophthalmology), among others.
At the health ministry headquarters, the commission has advertised 132 positions for commissioners, assistant commissioners, directors, senior research officers, senior nutritionists, principal health economist, clinical officers and engineers, among others.
In 2017, the Government started redeploying retired senior health specialists in various government-aided health facilities, in a move to boost health service delivery.
Joyce Moriku Kaducu, the state minister for primary healthcare, said the ministry has been understaffed.
She said the move to recruit senior health workers will enable the ministry to fill staffing gaps, especially at consultancy level.
“We need consultants and senior doctors to supervise our young doctors, especially the interns. Most of our consultants left because of the poor pay. So, it is these gaps that the health service commission is trying to fill,” Kaducu told New Vision in a phone interview, on Sunday.
About the pay, Kaducu said salaries for senior health workers, among others, had been increased.
At the start of this financial year, the Government increased pay for health workers, including district health officers, assistant district health officers, specialised medical officers, dental surgeons, pharmacists, consultants, senior consultants, directors referral hospitals, assistant commissioners, commissioners, directors and the director-general of health services.


Finishing a big sheet with a lot of revisions is a problem due to the time required to compose the screen. Pegaesys uses an auxilliary window for precise composition the first time.(=MORE *DISABLED)


Starting from 1954, Moscow's appoach to waste management has not change. Since those time, new technologies of dealing with waste were invented, thus allowing turning waste into valueble resources. In last six decades, Muscovite and the inhabitants of Moscow region rapidly filled vast area of useful land with waste. Currently, estimated over 120 million tons of waste is buried all around Moscow.
Waste recycle is crucial ecomonical part of developed cities around the world. Nowadays, Moscow has great opportunities to recovering resources from 8 million of solid waste that is being generated by its residents. However, to successfully do so, a separate waste collection infrastructure is required. In contemporary waste management infrastructure, separate waste collection becomes a great obstice for sustainable living.
It is too obvious not to note the poorly organized Moscow recycle infrastructure. The 2017 was declared the year of ecology, however, no major changes has happened in this industry just yet (we hope not for long, there is still hope and high potential). First step to sustainable economy was taken when Russian President Vladimir Putin signed a law on separate collection of waste on the territory of the Russian Federation which as well encourages enterprises and citizens to separate waste.


--- layout: default title: Classroom post_scripts: - /js/classroom.js startup_functions: - redirectIfNotLoggedIn() ---
You have created a teacher account, which allows you to manage multiple teams grouped together in classes. On this page, you can create new class groups, check which teams are in which class groups, and see the list of members on each team.
Note that you cannot automatically add teams to a class. Instead, you provide your username and the name of the class to your students, who join the class on their account on the "Team" page.


----------------------------------------------------------------------------
Title: {{ ticket.title }}
When Filed: {{ ticket.dt_filed }}
Description: {{ ticket.description }}
Filed by: {{ ticket.filed_by }}
Status: {{ ticket.ticket_status }}
Assigned To: {{ ticket.assigned_to }}
Completed By: {{ ticket.completed_by }}
|Edit Ticket| |Mark New| |Mark Done| |Mark In-Progress| |Mark Invalid|----------------------------------------------------------------------------


To be able to use this plugin, you'll need to create yourself API key for the GoDaddy's API.
Once create, simply input it in the fields above.
 If your TTL is lower, then you'll get an error.
Plugin by Patrick Bergeron (@lunix33)


%%header.html%%
These are some GNU BASH scripts I wrote, they are mainly for fun.
cowsay -f $(shuf -e $(cowsay -l | tail -n +2) -n 1) $(fortune) | lolcat
#!/bin/bash # this script will convert .tta files with matching .cue files into folders full of mp3s # usage: ./convert.sh for file in *.tta do # gets the base name of the file filename=$(basename "$file") filename=${filename%.*} # creates a root directory to stick stuff in rdir="$filename.mp3.c" mkdir $rdir cd $rdir # converts the initial tta into flac for easier processing ffmpeg -i "../$filename.tta" "$filename.flac" # copies the cue into the root directory with the flac in preparation for separation cp "../$filename.cue" "$filename.cue" # uses the cue file to split up the flac shnsplit -f "$filename.cue" -t %n-%t -o flac "$filename.flac" # removes the temporary flac file (we don't remove the cue in case we need it later) rm "$filename.flac" # begins converting the separate flac files into mp3s for flac in *.flac do # gets the filename again in this separate instance flacname=$(basename "$flac") flacname=${flacname%.*} ffmpeg -i "$flacname.flac" "$flacname.mp3" rm "$flacname.flac" done done


Apply for social work bursary
{% if thirdparty %}You're not eligible
{% else %}You're not eligible
{% endif %}To be eligible you must have been a resident in the UK for 3 years on the first day of your course.
You may be able to get help through other schemes, check gov.uk to find out.


{% include label.html label=include.label name=include.name required=include.required %} {{ include.value || '' }}


Astropy supports using C extensions for wrapping C libraries and Cython for speeding up computationally-intensive calculations. Both Cython and C extension building can be customized using the get_extensions function of the setup_package.py file. If defined, this function must return a list of distutils.core.Extension objects. The creation process is left to the subpackage designer, and can be customized however is relevant for the extensions in the subpackage.
While C extensions must always be defined through the get_extensions mechanism, Cython files (ending in .pyx) are automatically located and loaded in separate extensions if they are not in get_extensions. For Cython extensions located in this way, headers for numpy C functions are included in the build, but no other external headers are included. .pyx files present in the extensions returned by get_extensions are not included in the list of extensions automatically generated extensions. Note that this allows disabling a Cython file by providing an extension that includes the Cython file, but giving it the special name ‘cython_skip’. Any extension with this package name will not be built by setup.py.
Note
If an Extension object is provided for Cython source files using the get_extensions mechanism, it is very important that the .pyx files be given as the source, rather than the .c files generated by Cython.
If your C extension needs to be linked from other third-party C code, you probably want to install its header files along side the Python module.
Create an include directory inside of your package for all of the header files.
Use the get_package_data hook in setup_package.py to install those header files. For example, the astropy.wcs package has this:
def get_package_data(): return {'astropy.wcs': ['include/*.h']}
In rare cases, some packages may need to be imported at build time. Unfortunately, anything that requires a C or Cython extension will fail to import until the build phase has completed. In this cases, the _ASTROPY_SETUP_ variable can be used to determine if the package is being imported as part of the build and choose to not import problematic modules. _ASTROPY_SETUP_ is inserted into the builtins, and is True when inside of astropy’s setup.py script, and False otherwise.
For example, suppose there is a subpackage foo that needs to import a module called version.py at build time in order to set some version information, and also has a C extension, process, that will not be available in the source tree. In this case, astropy/foo/__init__.py would probably want to check the value of _ASTROPY_SETUP_ before importing the C extension:
try:
from . import process
except ImportError:
if not _ASTROPY_SETUP_:
raise
from . import version


|
AceTime
0.5.2
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
|
Helper class to collect timing statistics such as min, max, average. More...
#include <TimingStats.h>
Public Member Functions | |
| TimingStats () | |
| Constructor. More... | |
| void | reset () |
| uint16_t | getMax () const |
| uint16_t | getMin () const |
| uint16_t | getAvg () const |
| uint16_t | getExpDecayAvg () const |
| An exponential decay average. More... | |
| uint16_t | getCount () const |
| Number of times update() was called since last reset. More... | |
| uint16_t | getCounter () const |
| Number of times update() was called from the beginning of time. More... | |
| void | update (uint16_t duration) |
Helper class to collect timing statistics such as min, max, average.
Definition at line 19 of file TimingStats.h.
|
inline |
Constructor.
Default copy-constructor and assignment operator ok.
Definition at line 22 of file TimingStats.h.
|
inline |
Number of times update() was called since last reset.
Definition at line 44 of file TimingStats.h.
|
inline |
Number of times update() was called from the beginning of time.
Never reset. This is useful to determining how many times update() was called since it was last checked from the client code.
Definition at line 51 of file TimingStats.h.
|
inline |
An exponential decay average.
Definition at line 41 of file TimingStats.h.


Instructor: Purush Papatla
December 8th, 2020
This report was written completely in R, Python, html, and css. There is an interesting installable package for the R language called Shiny. Shiny is a package containing objects and methods that render live html to a webpage. An application object is run on the R kernel in a while loop that acts as a server. Users can interact with filters, selectors, and sliders to modify the inputs to functions defined in the app.R file. The functions then render new plots based on the input.
The top bar of this report page detailing the Executive Summary to References is actually an html navbar. Click on the different sections to view them. The report is intended to be read by section from left to right. Hyperlinks can be clicked on within the report to reference external documentation or sources.
Hopefully this report will shine some light onto the wonderful powers that R has to offer by presenting our research in this format. We had a lot of fun creating our report/application, and hope you have just as much reading it.
-Team 2


--- layout: cv title: CV - Stian Jensen education: [ { "title": "NTNU", "subtitle": "Masters degree in computer science, w/ specialization in complex systems and machine learning.", "startDate": 2011, "endDate": "june 2016" }, { "title": "Trondheim Katedralskole", "subtitle": "Secondary school, exact sciences", "startDate": 2009, "endDate": 2010 }, { "title": "Heimdal VGS", "subtitle": "Secondary school, exact sciences", "startDate": 2007, "endDate": 2009 } ] work: [ { "title": "Hyre AS", "subtitle": "Software Engineer, co-founder.", "startDate": "08. 2017" }, { "title": "Telenor Digital", "subtitle": "Software Engineer in the Strategic Engineering department. Focus on technology driven innovation.", "startDate": "08. 2016", "endDate": "08. 2017" }, { "title": "Feat.fm (Music and concert streaming platform)", "subtitle": "Full-stack developer. Frontend, backend, real-time chat, rtmp/hls streaming server.", "startDate": "06. 2015", "endDate": "03. 2016" }, { "title": "[Nordic Semiconductor (summer internship)](http://nordicsemiconductor.github.io/puck/)", "subtitle": "Developed an open source Bluetooth LE platform for mbed microcontrollers.", "startDate": "06. 2014", "endDate": "08. 2014" }, { "title": "The Music Garden at Ringve Museum", "subtitle": "iPad app for showcasing Ringve Museums music catalog and instruments", "startDate": "05. 2012", "endDate": "07. 2013" }, { "title": "[Panes Software ANS](http://panes.no/)", "subtitle": "Co-founder", "startDate": "02. 2011", "endDate": "03. 2016" }, { "title": "Norges Bridgeforbund", "subtitle": "Computer setup and tournament scoring at the Norwegian Bridge Festival", "startDate": 2009, "endDate": 2013 }, { "title": "Civil conscription worker", "subtitle": "Ringve Music Museum", "startDate": 2010, "endDate": 2011 } ] projects: [ { "title": "[What Are You Syncing About?](https://stianj.com/what-are-you-syncing-about/)", "subtitle": "WebGL and THREE.js demo created with Ninjadev's internal demo tool, nin. Fourth place at Revision 2017, the world's largest demoscene event.", "startDate": 2017 }, { "title": "[Music Video Dispenser](https://musicvideodispenser.com)", "subtitle": "An online YouTube music video generation service. It combines images with visualizations based on your music!", "startDate": 2017 }, { "title": "[Zombocam](https://zombocam.com)", "subtitle": "A browser extension that allows you to put filters and effects on your webcam. It works on every website that uses your webcam!", "startDate": 2016 }, { "title": "[Everything is Fashion](http://stianj.com/fashion/)", "subtitle": "WebGL and THREE.js demo created with Ninjadev's own tool, nin. Second place at Solskogen 2015.", "startDate": 2015 }, { "title": "[Bluetooth LE Course](https://bftj.github.io/)", "subtitle": "Intro course to Bluetooth LE and mbed microncontroller programming at NTNU and HIST.", "startDate": "2015" }, { "title": "[Git Course](http://poetene.net/git/)", "subtitle": "Intro course to git for all computer students at NTNU. Held by a group of five students, in cooperation with Abakus.", "startDate": "2014 & 2015" }, { "title": "[Inakuwa Oasis](http://arkt.is/inakuwa-oasis/)", "subtitle": "WebGL and THREE.js demo for Solskogen demo party 2014. Won first place in the combined compo.", "startDate": 2014 }, { "title": "[Composite](http://www.getcomposite.com/)", "subtitle": "An iPhone app for prototyping apps with photoshop, by Panes Software.", "startDate": 2013 }, { "title": "[TUNL-MNTN-WTER](http://stianj.com/skog/)", "subtitle": "WebGL demo made for Solskogen demo party 2013. Pronounced 'tunnel mountain water train'.", "startDate": 2013 }, { "title": "[Wikipendium.no](https://www.wikipendium.no/)", "subtitle": "Compendiums for university courses, that anyone can edit.", "startDate": "01. 2013", "endDate": "ongoing" }, { "title": "Capra code challenge", "subtitle": "Capra consulting hosted a 24-hour hacking challenge where the goal was to develop a mobile-first application for TINE SA. Our solution was developed with django for backend using a REST API provided from TINE SA, and jquery-mobile for frontend.", "startDate": 2013 }, { "title": "BEKK Robocup", "subtitle": "Part of the winning team of BEKK RoboCup 2013. The contest involved programming Microsoft Kinect and LEGO Mindstorms.", "startDate": 2013 }, ] ---
Full list of projects on Stianj.com
Upon request