I had just got back from my friends house, which was after my friday night football game. I was fairly tired and sore/weak, and went there so I could socialize and smoke some 27's before I left for the labor day weekend. I'd been researching all kinds of drugs on erowid.org, and had decided to try benadryl, since it was readily available (everyone in my family is an allery-sufferer). So I got home at about 11:20, very fatigued and bored. I popped in my 'SNL-The Best of Will Ferrel' DVD and plopped into my comfy leather recliner for some relaxation. I had nothin to drink, so I decided to go upstairs and get whatever benadryl I could muster. I found 6 of them, and immediately took them, it was about 11:35 now. I had never taken any hallucinogen so naturally I was pumped up for some flying elephant images and such, but I found out that I was just ignorant...
I sat back down on my recliner and started watching my DVD. About ten minutes into the movie I suddenly realized that I had to go piss, so I did. I felt like I was pissing razor blades and I don't know why. At almost 12:00, I was still watching the movie, but I felt euphoric for the first time, laughing quietly to myself about anything and everything.  When I got up to use the facilities the second time, my body was very heavy and I almost fell several times upon my sister who was sleeping on my family room floor. I also almost lost my balance when I was going pee, and couldn't quite hit the hole very well. I finished the movie and stumbled upstair to go to sleep, because I hadn't seen any visual effects for the last hour or so. So I turned on my room's stereo and listened to music from the Diablo II soundtrack (some erie instrumental type music) and thought that sleep would come easily. But it didn't.
I kept hearing things that I knew were not from the music, just wierd noises that I can't really explain. I kept on hearing someone calling my name, and I kept yelling ,'WHAT?!' even though no one was awake at my house until my mom heard me yelling and came in. She said that no one was calling for me. She said to go to bed because we were going to travel to the Twin Cities in the morning (6 hours from my Iowa residence). I forgot that I was even listening to music and just layed awake on my futon. I felt very cold and uncomfortable. I began twitching at about 1:10 still lying in bed. These were uncontrollable and frequent, about once every 10 seconds or so. I was grinding my teeth to try and forget about them. I soon fell asleep after about 20 minutes of twitching.
 My head hurt like hell and I felt very very hot, like there was a heater right next to me. I went downstairs for some coffee and went back to bed 10 minutes later. My mom came in and asked how I was, and I told her that I didn't feel good. She took my temperature and reported that I had a slight fever of 99 degrees or so. I got in my van and slept for 6 hours all the way to Minneapolis and felt like shit for the rest of the day at the Mall of America, and was very irritable.
I wouldn't highly recommend this to anyone, but I think (as stupid as this may sound) that I might try it again another time when I wasn't fatigued and tired, so that I might see some visuals.
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.


OSGi Sample |
||
This sample application demonstrates how to write a application act as a OSGi bundle. It also demonstrates how to easily using the OSGi service.
The OSGi Specifications provide more details the OSGi technology.
OSGiServlet is a simple HTTP servlet. It demonstrates how servlet and OSGi container can exchange information via ServletContext and BundleServlet. OSGiServlet invokes the ConfigurationAdmin service to get all configurations of OSGi Container by OSGi service management mechanism. When OSGiServlet receives HTTP GET or POST request, it builds a HTML page to display the list of the configurations.
For more details, please see source codes.
The top level directories and files in this sample are:
docs/ the documentation about this sample osgi.war the application archive file (WAR) osgi/ the exploded application directory Please follow the following steps to deploy, configure and run this sample:
- Copy osgi.war into $INSTALL_DIR/modules directory.
- Access the URL http://<IP_ADDRESS>:8080/osgi


Sleepers (1996) A film review by Michael J. Legeros Copyright 1996 Michael J. Legeros
(WB) Directed by Barry Levinson Written by Barry Levinson Cast Jason Patric, Brad Pitt, Ron Eldard, Billy Crudup, Robert DeNiro, Joseph Perrino, Brad Renfro, Geoffrey Wigdor, Jonathan Tucker, Kevin Bacon, Minnie Driver, Dustin Hoffman, Bruno Kirby, Vittorio Gassman MPAA Rating "R" (presumably for violence, rape, and profanity) Running Time 149 minutes Reviewed at General Cinema at Pleasant Valley, Raleigh, NC (18OCT96)
==
Here's another long sit-- an elaborate revenge fantasy based, for all we know, on events that best-selling author Lorenzo Carcaterra pulled out of his butt. (The story is supposedly true.) Written for the screen and directed by Barry Levinson (DISCLOSURE, TOYS), SLEEPERS is a textbook example of bad-choice filmmaking. Jason Patric's impoverished narration sets the tone of something's-not- right and the rest of the movie is just as wrong. My favorite flub is the entire third act, which is too cramped to be comprehensible. I mean, there's a good twenty minutes in there where *nothing* makes sense. Who are these adult characters? And why should we care about them? The plot keeps surging forward, with momentum in its sails and believability in its wake. (Most disappointing are all those could've-been-better bits, such as Brad Pitt feeding Dustin Hoffman his lines in court. We need to savor such scenes.) Yeah, this movie is easy on the eyes. Yeah, enough happens on- screen to pass the time. Just don't expect to enjoy what you're watching.
Grade: C+
--
Mike Legeros
Raleigh, NC, USA, Earth
<EMAIL_ADDRESS>(h) -<EMAIL_ADDRESS>(w)
Visit me in MOVIE HELL
"Orange whip? Orange whip? Three orange whips." [and do gesture]
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Your rose is in bloom!
You will receive a real rose sent by the flover!
You watered successfully!
Day 1
Welcome to XX’s Garden!


{% extends "base_user.html" %} {% block title %}Inspect execution {{ execution.name }}{% endblock %} {% block content %}
This application execution has no running containers


This genome browser presents 4 datasets of long-range genome interactions along with human genome assembly GRCh37 (hg19) for comparative studies. These datasets were generated from a Nature Genetics paper (Borbala Mifsud et al., Nature Genetics 47, 598-606 (2015)). They used Capture Hi-C (CHi-C), an adapted genome conformation assay, to examine the long-range interactions of almost 22,000 promoters in 2 human blood cell types, GM12878 and CD34+. The processed significant long-range promoter contacts data were downloaded from E-MTAB-2323 of ArrayExpress.
There are 4 tracks in this genome browser, including significant promoter-promoter interactions and promoter-other interactions for both GM12878 and CD34+ cell types. We treat the promoter-other interactions as directed interactions, i.e., promoters are shown on the top genome and the interacted other genome regions are shown on the bottom genome.
For questions, please contact Xiaoyi Cao (x9cao at ucsd dot edu).


tidyVA includes simple features tibbles of VHA geographies.
For this example we’ll use the submarket dataset. This is a tidy
dataframe that includes simple features geometry for VHA submarket regions. Although accurate, this output is not very easy to work with.
Since this is now in tidy format, we can easily filter and manipulate the data. The function shift_geo()
in tidyVA will project and repositon Alaska and Hawaii. Additionally, an sf object can be mapped multiple times as individual layers representing different attributes:
submarket <- shift_geo(submarket)
ggplot() +
geom_sf(data = submarket,
aes(fill = VISN), color = NA) +
geom_sf(data = submarket, fill = NA,
color = "#ffffff", size = .5) +
theme_minimal() +
theme(legend.position = "bottom") +
guides(fill = guide_legend(nrow = 2)) +
scale_fill_viridis_d()
Alternatively, you can aggregate this dataset to the VISN level, and use as needed. Keep in mind that VHA submarkets in the Caribbean and the Pacific Ocean, are not included - thus, VISNs 21 and 8 are not fully represented.
visn <- submarket %>%
group_by(VISN) %>%
summarise()
ggplot() +
geom_sf(data = visn, aes(fill = VISN),
show.legend = FALSE) +
theme_minimal() +
scale_fill_viridis_d()
A major limitation of the original data is that attributes are present based on a geography’s hierachy. The county
dataset has VHA attributes in addition to State and County attributes. The visn
dataset only has a VISN attribute:
data("states")
data("visn")
glimpse(visn)
#> Observations: 18
#> Variables: 4
#> $ VISN <chr> "01", "02", "04", "05", "06", "07", "08", "09", "10", "1...
#> $ Shape_Leng <dbl> 133.20427, 80.95749, 48.00316, 97.94793, 166.43208, 60.9...
#> $ Shape_Area <dbl> 19.12818, 15.28981, 14.14237, 12.04503, 21.12288, 31.413...
#> $ geometry <MULTIPOLYGON [°]> MULTIPOLYGON (((-73.62286 4..., MULTIPOLYGO...
With simple features we can easily perform geometric operations and gather attributes based on a spatial relationship:
visn_st <- sf::st_intersection(states, visn)
glimpse(visn_st)
#> Observations: 151
#> Variables: 13
#> $ STATEFP <chr> "09", "50", "23", "25", "33", "36", "44", "09", "34", "4...
#> $ STATENS <chr> "01779780", "01779802", "01779787", "00606926", "0177979...
#> $ AFFGEOID <chr> "0400000US09", "0400000US50", "0400000US23", "0400000US2...
#> $ GEOID <chr> "09", "50", "23", "25", "33", "36", "44", "09", "34", "4...
#> $ STUSPS <chr> "CT", "VT", "ME", "MA", "NH", "NY", "RI", "CT", "NJ", "P...
#> $ NAME <chr> "Connecticut", "Vermont", "Maine", "Massachusetts", "New...
#> $ LSAD <chr> "00", "00", "00", "00", "00", "00", "00", "00", "00", "0...
#> $ ALAND <dbl><PHONE_NUMBER>7,<PHONE_NUMBER>5,<PHONE_NUMBER>5,<PHONE_NUMBER>2, 2318...
#> $ AWATER <dbl><PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>5,<PHONE_NUMBER>, 1028678...
#> $ VISN <chr> "01", "01", "01", "01", "01", "01", "01", "02", "02", "0...
#> $ Shape_Leng <dbl> 133.20427, 133.20427, 133.20427, 133.20427, 133.20427, 1...
#> $ Shape_Area <dbl> 19.12818, 19.12818, 19.12818, 19.12818, 19.12818, 19.128...
#> $ geometry <GEOMETRY [°]> MULTIPOLYGON (((-72.75991 4..., POLYGON ((-73.4...
We can now filter this dataframe by VISN and keep State attributes
visn_st %>%
filter(VISN %in% c("01","02")) %>%
ggplot() +
geom_sf(aes(fill = VISN), color = "#ffffff") +
scale_fill_viridis_d(option = "cividis") +
theme_va()
Or by State, and keeping VISN attributes. New York for example is mostly within VISN 2, but, there are small catchments areas in the Western and Southern parts of the state that are outside VISN 2.
tidyVA also includes a ggplot theme: theme_va()
.
This theme has several possible parameters. The core of this function is theme_ipsum
from hrbrthemes, but with some changes to the defaults.
data("visn")
visn %>%
ggplot(aes(reorder(VISN,Shape_Area), Shape_Area)) +
geom_col() +
labs(x = "VISN", y = "Shape Area",
caption = "CRS - EPSG:4326") +
ggtitle("Shape Area of VA Service Networks",
subtitle = "This is an example plot") +
theme_va(grid = "Y")
When plotting maps, you may want to remove the axis text from geom_sf(). For this, the map
argument of theme_va()
can be set to TRUE.
Additionally, setting the grid_col
argument to “transparent” will remove panel grid lines from the plot.
visn_st %>%
filter(STUSPS %in% c("NY","CT","VT","ME", "MA","NH")) %>%
ggplot() +
geom_sf(aes(fill = NAME), color = "#ffffff") +
scale_fill_viridis_d(option = "cividis") +
labs(caption = "Caption wil go here", fill = "") +
ggtitle("Example Plot for Maps",
subtitle = "Cividis Palette goes well with VA theme") +
theme_va(map = TRUE, grid_col = "transparent")


1: /*
2: * Licensed to the Apache Software Foundation (ASF) under one
3: * or more contributor license agreements. See the NOTICE file
4: * distributed with this work for additional information
5: * regarding copyright ownership. The ASF licenses this file
6: * to you under the Apache License, Version 2.0 (the
7: * "License"); you may not use this file except in compliance
8: * with the License. You may obtain a copy of the License at
9: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */
19: package org.jsecurity.web.filter;
20:
21: import org.jsecurity.SecurityUtils;
22: import org.jsecurity.subject.Subject;
23: import org.jsecurity.web.WebUtils;
24:
25: import javax.servlet.ServletRequest;
26: import javax.servlet.ServletResponse;
27: import java.io.IOException;
28:
29: /**
30: * Superclass for any filter that controls access to a resource and may redirect the user to the login page
31: * if they are not authenticated. This superclass provides the method
32: * {@link #saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)}
33: * which is used by many subclasses as the behavior when a user is unauthenticated.
34: *
35: * @author Jeremy Haile
36: * @author Les Hazlewood
37: * @since 0.9
38: */
39: public abstract class AccessControlFilter extends PathMatchingFilter {
40:
41: /**
42: * Simple default login URL equal to /login.jsp, which can be overridden by calling the
43: * {@link #setLoginUrl(String) setLoginUrl} method.
44: */
45: public static final String DEFAULT_LOGIN_URL = "/login.jsp";
46:
47: /**
48: * Constant representing the HTTP 'GET' request method, equal to GET.
49: */
50: public static final String GET_METHOD = "GET";
51:
52: /**
53: * Constant representing the HTTP 'POST' request method, equal to POST.
54: */
55: public static final String POST_METHOD = "POST";
56:
57: /**
58: * The login url to used to authenticate a user, used when redirecting users if authentication is required.
59: */
60: private String loginUrl = DEFAULT_LOGIN_URL;
61:
62: /**
63: * Returns the login URL used to authenticate a user.
64: *

65: * Most JSecurity filters use this url
66: * as the location to redirect a user when the filter requires authentication. Unless overridden, the
67: * {@link #DEFAULT_LOGIN_URL DEFAULT_LOGIN_URL} is assumed, which can be overridden via
68: * {@link #setLoginUrl(String) setLoginUrl}.
69: *
70: * @return the login URL used to authenticate a user, used when redirecting users if authentication is required.
71: */
72: protected String getLoginUrl() {
73: return loginUrl;
74: }
75:
76: /**
77: * Sets the login URL used to authenticate a user.
78: *

79: * Most JSecurity filters use this url as the location to redirect a user when the filter requires
80: * authentication. Unless overridden, the {@link #DEFAULT_LOGIN_URL DEFAULT_LOGIN_URL} is assumed.
81: *
82: * @param loginUrl the login URL used to authenticate a user, used when redirecting users if authentication is required.
83: */
84: public void setLoginUrl(String loginUrl) {
85: this.loginUrl = loginUrl;
86: }
87:
88: /**
89: * Convenience method that acquires the Subject associated with the request.
90: *

91: * The default implementation simply returns
92: * {@link org.jsecurity.SecurityUtils#getSubject() SecurityUtils.getSubject()}.
93: *
94: * @param request the incoming ServletRequest
95: * @param response the outgoing ServletResponse
96: * @return the Subject associated with the request.
97: */
98: protected Subject getSubject(ServletRequest request, ServletResponse response) {
99: return SecurityUtils.getSubject();
100: }
101:
102: /**
103: * Returns true if the request is allowed to proceed through the filter normally, or false
104: * if the request should be handled by the
105: * {@link #onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse) onAccessDenied(request,response)}
106: * method instead.
107: *
108: * @param request the incoming ServletRequest
109: * @param response the outgoing ServletResponse
110: * @param mappedValue the filter-specific config value mapped to this filter in the URL rules mappings.
111: * @return true if the request should proceed through the filter normally, false if the
112: * request should be processed by this filter's
113: * {@link #onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse)} method instead.
114: * @throws Exception if an error occurs during processing.
115: */
116: protected abstract boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception;
117:
118: /**
119: * Processes requests where the subject was denied access as determined by the
120: * {@link #isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Object) isAccessAllowed}
121: * method.
122: *
123: * @param request the incoming ServletRequest
124: * @param response the outgoing ServletResponse
125: * @return true if the request should continue to be processed; false if the subclass will
126: * handle/render the response directly.
127: * @throws Exception if there is an error processing the request.
128: */
129: protected abstract boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception;
130:
131: /**
132: * Returns true if
133: * {@link #isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Object) isAccessAllowed},
134: * otherwise returns the result of
135: * {@link #onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse) onAccessDenied}.
136: *
137: * @return true if
138: * {@link #isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Object) isAccessAllowed},
139: * otherwise returns the result of
140: * {@link #onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse) onAccessDenied}.
141: * @throws Exception if an error occurs.
142: */
143: public boolean onPreHandle(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
144: //mapped value is ignored - not needed for most (if not all) authc Filters.
145: return isAccessAllowed(request, response, mappedValue) || onAccessDenied(request, response);
146: }
147:
148: /**
149: * Returns true if the incoming request is a login request, false otherwise.
150: *

151: * The default implementation merely returns true if the incoming request matches the configured
152: * {@link #getLoginUrl() loginUrl} by calling
153: * {@link #pathsMatch(String, String) pathsMatch(loginUrl, request)}.
154: *
155: * @param request the incoming ServletRequest
156: * @param response the outgoing ServletResponse
157: * @return true if the incoming request is a login request, false otherwise.
158: */
159: protected boolean isLoginRequest(ServletRequest request, ServletResponse response) {
160: return pathsMatch(getLoginUrl(), request);
161: }
162:
163: /**
164: * Convenience method for subclasses to use when a login redirect is required.
165: *

166: * This implementation simply calls {@link #saveRequest(javax.servlet.ServletRequest) saveRequest(request)}
167: * and then {@link #redirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse) redirectToLogin(request,response)}.
168: *
169: * @param request the incoming ServletRequest
170: * @param response the outgoing ServletResponse
171: * @throws IOException if an error occurs.
172: */
173: protected void saveRequestAndRedirectToLogin(ServletRequest request, ServletResponse response) throws IOException {
174: saveRequest(request);
175: redirectToLogin(request, response);
176: }
177:
178: /**
179: * Convenience method merely delegates to
180: * {@link WebUtils#saveRequest(javax.servlet.ServletRequest) WebUtils.saveRequest(request)} to save the request
181: * state for reuse later. This is mostly used to retain user request state when a redirect is issued to
182: * return the user to their originally requested url/resource.
183: *

184: * If you need to save and then immediately redirect the user to login, consider using
185: * {@link #saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
186: * saveRequestAndRedirectToLogin(request,response)} directly.
187: *
188: * @param request the incoming ServletRequest to save for re-use later (for example, after a redirect).
189: */
190: protected void saveRequest(ServletRequest request) {
191: WebUtils.saveRequest(request);
192: }
193:
194: /**
195: * Convenience method for subclasses that merely acquires the {@link #getLoginUrl() getLoginUrl} and redirects
196: * the request to that url.
197: *

198: * N.B. If you want to issue a redirect with the intention of allowing the user to then return to their
199: * originally requested URL, don't use this method directly. Instead you should call
200: * {@link #saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
201: * saveRequestAndRedirectToLogin(request,response)}, which will save the current request state so that it can
202: * be reconstructed and re-used after a successful login.
203: *
204: * @param request the incoming ServletRequest
205: * @param response the outgoing ServletResponse
206: * @throws IOException if an error occurs.
207: */
208: protected void redirectToLogin(ServletRequest request, ServletResponse response) throws IOException {
209: String loginUrl = getLoginUrl();
210: WebUtils.issueRedirect(request, response, loginUrl);
211: }
212:
213: }


What’s the deal with CSS and CSS-in-JS?
They can do a lot of the same things, but in different ways.
Many people like traditional CSS because it is well-established and more approachable with less configuration and dependencies.
At its simplest, you write content in html or with your templating system of choice.
To style content, write CSS in a stylesheet, usually in a separate file that gets loaded via a link tag in the head of your document.
Some people think that if you are using React, that means you have to use CSS‑in‑JS. That’s not the case!
It is possible you may not need any JavaScript at all. There’s a lot that can be done these days with new CSS features alone.
If you do need it, there are plenty of frameworks and tooling to help you import, require, prettify, minify, lint, code split, bundle, tree shake, transpile, compile and hot reload, but a script tag at the bottom of your page works just fine too.
Building web pages like this has worked for many years, and will continue to work for the foreseeable future.


nestest Sgt. Helmet pong1k The Invasion mguard load rom Select rom from the list or drag and drop your own rom into this window to start.
fps
Thanks for the public domain NES roms.
Source code at GitHub


Woman taken to hospital with neck wound after fight
A WOMAN sustained a wound to her neck after a physical altercation in Bertram last night.
Police said there was a fight between a man and a woman known to each other at a house in Parkfield Boulevard at 8.20pm.
A woman in her 30s was injured and sought assistance from staff at a nearby restaurant. She was taken by ambulance to Fiona Stanley Hospital for treatment.
A man in his 60s is currently assisting police with their inquiries.


layout: post title: ‘GPUImage dreht Portrait-Bild nach Fotografieren mit KameraGPUImage rotates an image shot in portrait mode by 90 degrees’ published: true author: mediavrog comments: true date: 2013-08-27 03:08:09 tags: - android - app - camera - gpuimage - orientation - photo - rotation categories: - android permalink: > /2013/08/27/android/gpuimage-rotates-portrait-image-90-degrees image: thumb: device-2013-08-27-104732preview.png — The other day I came across a small issue, while using the Android port of GPUImage. On some devices (mainly Samsung), an image captured in portrait by the camera intent and then fed to GPUImageView would be rotated by 90 degrees. On other devices, this would work perfectly. Also, selecting an already captured image from the gallery worked just fine.
Despite being captured in portrait mode, the resulting image will be rotated when loaded in GPUImageView
I first noticed that the problematic devices were all setting the device orientation to landscape when opening up the camera mode. There were a few noticeable rotations during the process of capturing and reviewing an image. I thought they would somehow write wrong Exif data into the image, but I soon was proved wrong.
The real issue lied within my way of loading the image to GPUImageView:
I grabbed the Uri, once the user supplied a picture via camera, gallery or share with my app function in my onActivityResult
method:
[…] case R.string.choose_photo: case R.string.take_photo: case R.string.share: if (resultCode == RESULT_OK) { final Uri uri; switch (requestCode) { case R.string.take_photo: // same as I configured via intent.putExtra(MediaStore.EXTRA_OUTPUT, mTempFileUri); in the photo intent uri = mTempFileUri; break; case R.string.share: uri = data.getParcelableExtra(Intent.EXTRA_STREAM); break; default: // some fixes for url-encoded paths like DropBox returns; and paths without “file://” scheme uri = Utils.extractProperFileUri(data.getData()); break; } // now feed the image to GPUImageView mGPUImageView.setImage(uri); } […]
Setting the image by passing an Uri object, leads to this internal flow in GPUImage:
LoadImageUriTask
MediaStore.Images.ImageColumns.ORIENTATION
The problem lies within step 3, if the given Uri’s scheme is not content
but file
. Media queries work on proper content Uris, so Android can look into the meta data associated with the image from a media collection. On the other side, when passing an Uri with a file
-scheme, the ContentResolver will find no additional meta data for a „generic file“ which resides on a given path. To get ahold of any additional image information, one should use the ExifInterface and read the ExifInterface.TAG_ORIENTATION
from the file.
Fortunately, after a quick digging into the GPUImage code, I found that the method mGPUImageView.setImage();
actually supports various types of parameters and then uses slightly different ways to load and interpret them:
// load the image directly from bitmap data setImage(Bitmap bmp);
// load a file from the file system, interpreting exif data for proper rotation setImage(File file);
// load a file from the internet or media store, using media query for proper rotation setImage(Uri uri);
Since I also passed an Uri object when I referenced a file, GPUImage could not determine the proper rotation in the -non existing- media store data. Eventually, fixing this was as easy as that:
[…] // now feed the image to GPUImageView // either by File or other ContentResolver // important for correct usage of detecting image rotation (File: ExifInterface; ContentResolver: MediaStore > ImageColumns) if (“file”.equals(uri.getScheme())) { mGPUImageView.setImage(new File(uri.getPath())); } else { mGPUImageView.setImage(uri); }
Providing GPUImageView with the proper parameters in setImage() leads to correct rotation
I hope it helps someone facing the same issues. It is not specifically related to GPUImage, but to capturing an photo with Android and processing it in general, as you can see at stackoverflow. GPUImage employs best practices to load an image properly, if provided with the correct parameters.
Big thanks to CyberAgent and pboos for proding us with that port of the original GPUImage library for iOS.


Made as an academic project, I worked on an disaster relief system for pets. The idea was to tackle web development versus mobile development and see how design choices would influence each platform. Influenced by Hurricane Harvey and the California Wildfires, we realized that responsive web and mobile design would help alleviate the struggle that pet owners face in emergencies and natural disasters.
Research | Introduction
We were targeting a large industry. According to the American Pet Products Association 2017-2018 survey, 68% of all U.S. households include a pet and $70 billion are spent on pets. We also found that in times of disaster, shelters get overloaded. For example a shelter, after Hurricane Harvey, was housing twice as many pets. In shelters that can’t fund that many pets or are not no-kill shelters, combined with poor documentation, many pets are euthanized or moved across state lines minimizing the chance to reunite with their owners.
Research | User Scenarios
With this research, we brainstormed several scenarios. These scenarios really served to help us specify what different types of situations we would need to accommodate for, and what issues we would be able to address and try to assist with. We concluded that important areas of focus were: transport, shelter, and funding.
Here are some highlights:
Displaced Pet: Greg found a stray cat in the park right after a local disaster. The cat is too friendly to be feral so he keeps it overnight. He brings it to the vet and the vet tell him the cat is chipped. Greg calls the owner and finds that the owner is a state away and thought they had lost the cat forever and would love it back. However, there’s two problems, the owner is currently low on funds since the disaster and Greg is a poor student and they both can not afford to fly the cat back to the owner. Greg and the owner team up to crowdsource some money for the cat’s flight home, while he continues to foster the cat in the meantime.
Going back to disaster situation: lisa is a student at a california university. While in class, she was suddenly alerted that the fire is getting dangerously close to her apartment. Lisa hurries home to pick up her dog and knows she can’t bare to drop him off in an animal shelter but also knows that finding a pet friendly shelter is impossible. She crowdsources funds to find herself a shelter.
We created three personas, with distinct profiles, goals, motivations, beliefs, and frustrations. These helped us to envision what kind of people would be using our web, what they would need to do, and how they would utilize features.
Ideation | Low Fidelity
We conceived the screen flow for the final design. There was an emphasis on types of user: the pet owner, the pet helper, and the pet donor. Based on the user type, we curated what they could see and operate on the application. Then we added the design patterns to the appropriate screen and labeled the screens with the most importance.
After revisiting the screenflow, we realized that there were only two user types: the owner and the helper and we modified our screenflow appropriately. We based our low-fidelity wireframes on existing UI’s like Go-Fund-Me.
After a round of iteration based on low fidelity wireframes, it was clear that the hyper focus on user types might be inhibiting our design. We modified our design to accommodate to both user types, without the narrow focus of three users and to segregate the help by types of help: shelter and transportation.
Solution | High Fidelity
In our high-fidelity wireframes, we designed for both the desktop and mobile platforms. There is an obvious difference for those who are going to use the mobile platform compared to the desktop platform. Mobile users are a lot more likely to be on the move, so they are users that are going to be looking for assistance for their pet. Desktop platforms are for the users that can offer help. With those ideas in mind, we designed for two different platforms that accommodate for two different types of users.
Solution | Takeaway
This was a project that went through intensive research early on and completely transformed towards the end to better fit our user’s needs. Our web development was mostly geared towards users that we designated as “helpers”, or users that were more likely to be sitting down browsing. Our mobile development was geared towards the “owners”, as they would be on the go looking for help. In the end the environment in which the user would be using, whether it was the web or the app, was a decisive factor in our design choices.


JavaScript Load Image is a function to load images provided as File or Blob objects or via URL.
It returns an optionally scaled HTML img or canvas element.
Notice Or drag & drop an image file onto this webpage.
Notice This demo works only in browsers with support for the URL or FileReader API.


{% extends "bootstrap/base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block content %}
Modal body text goes here.
This link and that link have tooltips on hover.


Summary
Mandatory: 7 elements Prohibited: 27 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:


Class: DropboxApi::Endpoints::Files::UploadSessionFinish
- Inherits:
-
ContentUpload
- Object
- Base
- ContentUpload
- DropboxApi::Endpoints::Files::UploadSessionFinish
- Includes:
- OptionsValidator
- Defined in:
- lib/dropbox_api/endpoints/files/upload_session_finish.rb
Constant Summary collapse
- Method =
:post
- Path =
'/2/files/upload_session/finish'
- ResultType =
DropboxApi::Metadata::File
- ErrorType =
DropboxApi::Errors::UploadSessionFinishError
Instance Method Summary collapse
-
#upload_session_finish(cursor, commit, content = nil) ⇒ Object
Finish an upload session and save the uploaded data to the given file path.
Methods included from OptionsValidator
Methods inherited from ContentUpload
#build_connection, #build_request, #perform_request
Methods inherited from Base
Constructor Details
This class inherits a constructor from DropboxApi::Endpoints::Base
Instance Method Details
#upload_session_finish(cursor, commit, content = nil) ⇒ Object
Finish an upload session and save the uploaded data to the given file path.
A single request should not upload more than 150 MB.
The maximum size of a file one can upload to an upload session is 350 GB.
22 23 24 25 26 27 |
# File 'lib/dropbox_api/endpoints/files/upload_session_finish.rb', line 22 add_endpoint :upload_session_finish do |cursor, commit, content = nil| perform_request({ cursor: cursor.to_hash, commit: commit.to_hash }, content) end |


NYFW can be both amazingly fun & incredibly overwhelming, especially if you’ve never been. Luckily, I’m here to give you an insider’s guide and make your first show a pleasurable experience. By taking my tips and tricks, and following your gut, you’ll have an unforgettable experience!
If you’re lucky or connected you can get an invite, sans the price tag. But I wasn’t so lucky or connected my first 2 years so I’m here to help you out. First, plan out which shows are most important to you and make a schedule and this is a biggie: SET A BUDGET. If you’re worrying about blowing your cash the whole time you won’t have fun. Then check out prices, days, and times and prioritize the designers you want to see most. Lastly, purchase your tickets and get excited!
Always be true to your own sense of style, if you don’t you’ll be uncomfortable the whole time and it will show. Remember, NYFW is about expressing yourself and taking in what the designers have chosen to express through their new lines. Also it’s important to wear shoes you’ll be comfortable in all day. Obviously you want to look good, but you’ll be on your feet all day long, so be prepared.


The Coinbase Pro Exchange is a US-based cryptocurrency exchange formerly known as The Global Digital Asset Exchange (GDAX). Today Coinbase Pro offers 9 symbol pairs covering BTC, EUR, LTC, USD, and ETH combinations. QuantConnect Coinbase Pro data is timestamped to the millisecond.
| Data Properties | |
|---|---|
| Resolutions Available | Tick, Second, Minute, Hourly, Daily |
| Data Providers | Coinbase Pro |
| Start Date | Jun 15th, 2015. |
| Symbol Universe | 9 Crypto Currency Pairs |
Data must be added in the Initialize() method manually with the AddCrypto()
method.
// Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized. public override void Initialize() { SetStartDate(2015, 10, 07); //Set Start Date SetEndDate(2017, 10, 11); //Set End Date SetCash(100000); //Set Strategy Cash AddCrypto("BTCUSD", Resolution.Hour, Market.GDAX); } // Accessing requested data public override void OnData(Slice data) { //via a tradebar dictionary (symbol - bar) data.Bars["BTCUSD"].Close //or via a ticks list: data.Ticks["BTCUSD"][0].Close }
# Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized. def Initialize(self): self.SetStartDate(2015, 10, 07) # Set Start Date self.SetEndDate(2017, 10, 11) # Set End Date self.SetCash(100000) # Set Strategy Cash self.AddCrypto("BTCUSD", Resolution.Hour, Market.GDAX) # Accessing requested data def OnData(self, data): # via a tradebar dictionary (symbol - bar) data.Bars["BTCUSD"].Close # or via a ticks list: data.Ticks["BTCUSD"][0].Close
Coinbase Pro trades are currently available from 2015-06-15 to the present. The data in 2015 is somewhat spotty and unrealistic, so we recommend starting your backtests from 2016 onwards. We have data on all currency pairs supported by Coinbase Pro.
We currently only have Coinbase Pro brokerage integration. For more information on using this data in your algorithm, see Initializing Algorithms.


The Bookstore on St. Ann Street
Issac Mendoza needed an income and decided to open a bookstore in Manhattan in the late 1800s. This became known as the Issac Mendoza Bookstore on St. Ann St.
Issac Mendoza needed an income and decided to open a bookstore in Manhattan in the late 1800s. This became known as the Issac Mendoza Bookstore on St. Ann St.
Christopher Morley was a novelist, poet, and playright who frequented the Issac Mendoza bookstore. Mr. Morley was deeply saddened when learning about the passing of Mr. Mendoza and wrote a tribute to the Mendoza sons who inherited the business.
A.A. Milne, the famous author of Winnie the Pooh, was a frequent visitor of the St. Ann St. bookstore.
Mr. Fowler composed a letter to the Mendoza sons expressing his sadness after the passing of Issac Mendoza.
The Book Company officially closed its doors in the early 90s. With dwindling customers and high rent, David Caron, who bought the store from the youngest Mendoza son, could not longer sustain the business. The New York Times wrote an article about the bookshop in its final months.


My name is Adrian Francis Sergio Zuniga, I am 19 years old and I live in Villamor Air Base Pasay City. My father is a retired Airforce man and my mother is a private teacher. I have a younger sister that will take medical technology in CEU Makati. I started my day with a smile to keep away all the negative vibe, for me starting your day with a smile will help you to brighten your day and be productive all through out.
I finished my Junior Highschool and Senior Highschool at St. Mary’s Academy Pasay City, it is a catholic school so basically, they are very strict on all the subjects. At first when I transfer there, I find it difficult because I always have problem with my teacher. I will not have interest in a subject when the teacher has a terror effect to the student. After I graduated Senior Highschool, I take the entrance exam of APC and luckily, I passed the exam and started going to APC until now.
My parents bought me a car on January 11, 2017, I remember that day because it was so special to me. I named my car "Pogi" because when I first saw it you know the feeling that you've been amazed again just like your parents bought you a toy car in Toy Kingdom but now it was a big car. When I first drove my car, I feel so nervous that I may bump another car or a person. I practice every day and now I am the driver of the family and I am happy for that because we got a lot of bonding moments not like the past year. I take my car as my best friend because whenever I feel sad, I just drove around the city and my sadness will vanish, we go to a lot of places like Tagaytay City. Tagaytay City is one of my favorite places to be if you want to unwind, my best tip in going to Tagaytay is Midnight because you will feel the cool breeze of the city.
I am a very optimistic person I want my life to be happy as possible at all times, I used this to influence my friends that have experience depression or sadness in their lives. I do love the person around me even though you’re my enemy or my friend. I am a merciful person as well that will accept you again and take you as my friend even though you hurt my feelings. Other people tend to say I fake my attitude to them, but I know to myself that I love them all because they are part of my life and will help me to my path to success.


Dr. David Wright Crawford is a staple in the playwright industry hailing from rural East Texas. His love for simplicity bred by the great outdoors and playful adventures life brings is evident in his scripts. Described as "a new Southern Gentleman of Theatre", his works echo a "Tennessee Williams feeling but touched with the vitality of a Hemingway".
As the chair of the Speech and Theatre Department at Tyler Junior College for 25 years, Dr. Crawford has poured his heart and soul into young individuals ready for molding that have gone on to be artists and practitioners of theatre from New York to California.
Dr. Crawford's plays have been professionally published and featured Off-Broadway as well as winning numerous national and regional awards.
Three volumes of "Classic Fairy Tale Theatre", are now available from Players Press.
Prodigal and Moonlight Serenade productions are being sought prior to publishing. Contact Dr. Crawford for script perusal.
Dr. Crawford is currently working on "The Olive Press", a drama about the Gethsemane event.


/** include header.html **/
My name is /** variable name **/. This is the content of my front page. It goes below the menu.


Trade
with Will
Menu
Home
What do we do?
What you will do!
How do we do it?
Who are we helping?
Similar organizations
Ask us anything
What questions do you have?
Name:
E-mail:
First name:
Last name:
Question:
Submit
Page 6
Go to Page 5
Main menu


Scrappy
Location
:
Golden Retriever
Distance
:
3
miles
Price
:
Book


Browser Games
A collection of games to play in a web browser.
Basic Platform
Basic Shooter
Img Platform


mandala
use mouse to paint and click to change color
x position controls tracing color
y position controls noisiness


Here are some neat shapes
Change is coming.
This text was hidden
this text can fade in and out.
Toggle text


{{ template "snippets/header.html" . }}
The main reason I created memo was to have a universal social network. It seems like every month there's a new social network popping up. As my friends jump from one social network to the next, I'm forced to either sign up for another account or be out of the loop. These social networks aggressively track you, have apps that read your text messages, and do a number of other terrible things.
I've always wished they worked like email, where I can sign up for a single provider and communicate with anyone. This is why email has been successful for the last 40+ years, basically becoming our main identity, and is the key ingredient social networks are missing.
Most people think that because memo is on the blockchain, it's inherently uncensorable. Being on the blockchain does not make memo uncensorable, what will make memo uncensorable is when there are many different implementations.
If a bunch of blockchain-based social networks pop up, each copying and using their own version of the protocol, then they won't be censorship proof. For example, suppose one of these social networks started censoring and so people created another implementation of their network. If the incumbent was big enough, they could decide not to display any messages that didn't come through their application. They could even stop writing messages to the blockchain altogether.
What really makes a social network uncensorable is for it to be decentralized. This makes the power over the network distributed between the service providers, meaning they'd have to collude to censor information.
Memo.cash was intended to be the first implementation and that other implementations would pop up. The second implementation, wewo.cash, did just this, which was great. However, the third implementation, Blockpress, decided to unnecessarily break the protocol, throwing out the benefit of decentralization.
To encourage others to head in the right direction, I’ve decided to open source the entire Memo.cash codebase. My hope is that people will fork and create their own implementations, giving it the decentralization it needs to be uncensorable.
The more implementations there are, the more decentralized the network will be. I’ve even added a feature to Memo.cash to delete your account. This is useful if you prefer to run your own local memo client and don’t want to trust a third party.
The memo protocol is simple and extendable. It’s already proven to work for Twitter type communication (the initial release) and chatrooms (the recent “Topics” feature). These are two very different use cases and demonstrate the flexibility of the protocol. The protocol can be extended to handle any social networking use case, whether it’s images, videos, long blogs, voting, or whatever other ideas people come up with.
I hope this is the beginning of decentralized social networking. Thanks for reading.
https://github.com/memocash/memo


You have made an incredible decision! Ken Garff invites you to join ProBidAuto.com and get personalized catering to buying your next auto. There are literally thousands of autos auctioned in your area every single week.
We are giving you access to the largest inventory in the entire area! What does that mean for you? That means that you can get much closer to the exact vehicle you are looking for and at incredible prices. [name of auto dealer] saves a lot of time and money by picking up a vehicle directly from the auction.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.


Biography
Ever since I was young I loved playing on my computer, after a while I started wondering how the things I was playing were made. This is what started my desire to get a job coding and working on computer for a chance to get my dream job of a game developer.


The @charset
CSS at-rule specifies the character encoding used in the style sheet. It must be the first element in the style sheet and not be preceded by any character. If several @charset
at-rules are defined, only the first one is used, and it cannot be used inside a style
attribute on an HTML element or inside the
<style>
element where the character set of the HTML page is relevant.
This at-rule is useful when using non-ASCII characters in some CSS properties, like
content
.
As there are several ways to define the character encoding of a style sheet, the browser will try the following methods in the following order (and stop as soon as one yields a result) :
charset
attribute of the Content-Type:
HTTP header or the equivalent in the protocol used to serve the style sheet.@charset
CSS at-rule.charset
attribute of the
<link>
element. This method is obsoleted in HTML5 and must not be used.@charset charset
where :
<string>
denoting the character encoding to be used. It must be the name of a web-safe character encoding defined in the IANA-registry. If several names are associated with an encoding, only the one marked with preferred must be used.@charset "UTF-8" // Set the encoding of the style sheet to Unicode UTF-8 @charset 'iso-8859-15' // Set the encoding of the style sheet to Latin-9 (Western European languages, with euro sign) @charset "UTF-8" // Invalid, there is a character before the at-rule @charset UTF-8 // Invalid, without ' or ", the charset is not a CSS <string>
| Specification | Status | Comment |
|---|---|---|
| CSS Level 2 (Revision 1) | Recommendation |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | 2.0 | 1.5 (1.8) [*] | 5.5 [**] [1] | 9 | 4 |
| Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | 2.1 | 1.0 (1.8) | 5.5 [**] [2] | 10.0 | 4 |
[*] Firefox 1.0 supported only an invalid syntax where the character encoding is not set between single or double quotes.
[**] From IE 5.5 to IE 7 included, IE also supported the invalid syntax where the character encoding is not set between single or double quotes.


Adding Data
The first time you start WeatherLog you will be presented with a basic interface that should look similar to this:
No data is shown, just a couple menus, a toolbar, and the column titles. To add data, click the button with the plus sign on the toolbar. Alternatively, you can also select the Add New option in the File menu or press Control-N. This will show the Add New window.
All entries are required, except for the notes. Precipitation and wind values cannot be changed unless the type or direction, respectively, is set to something other than "None".
Pre-filling Data
WeatherLog can pre-fill some data, to make it easier to enter. To enable pre-filling, select Options from the Options menu, or press F2. Then make sure the checkbox next to "Pre-fill data" is selected, and enter a five digit US zip code into the location entry.
Next time you open up the Add New window, this will appear to tell you data has been pre-filled:
The temperature, wind, humidity, and air pressure fields will then have the correct data already entered, though cloud cover and precipitation still have to be entered manually.
Currently pre-filling data only works in the United States using the Yahoo! Weather API; in the future it will be available worldwide through a choice of different services.


Data Sources
Pingtype Reading
Bible
CNLT Pinyin Literal NLT
NLT IPA Literal CNLT
KHOP Lyrics
Lyrics of songs from 高雄 廿四 小時 敬拜 禱告 中心 KHOP
Audio at:
KHOP247 YouTube channel
Life
TRA
TRA Train Timetable
HSR
HSR Train Timetable
Kaohsiung iBus
iBus maps in KML format
Churches
Churches
Maps
Offline Google Maps
Copyright
To report copyright infringement, please read my
note
about that in the developer docs, then contact me.


blue_st_sdk.features package¶
Subpackages¶
Submodules¶
blue_st_sdk.features.device_timestamp_feature module¶
-
class
blue_st_sdk.features.device_timestamp_feature.
DeviceTimestampFeature
(name, node, description)[source]¶ Bases:
blue_st_sdk.feature.Feature
Class that a feature has to extend if it doesn’t have the timestamp field. The system time is used as timestamp.
Refer to Heart Rate Measurement Specs for more information.
blue_st_sdk.features.feature_accelerometer module¶
-
class
blue_st_sdk.features.feature_accelerometer.
FeatureAccelerometer
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the data coming from an accelerometer sensor.
Data is six bytes long and has no decimal digits.
-
DATA_LENGTH_BYTES
= 6¶
-
DATA_MAX
= 2000¶
-
DATA_MIN
= -2000¶
-
FEATURE_DATA_NAME
= ['X', 'Y', 'Z']¶
-
FEATURE_NAME
= 'Accelerometer'¶
-
FEATURE_UNIT
= 'mg'¶
-
FEATURE_X_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_Y_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_Z_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
X_INDEX
= 0¶
-
Y_INDEX
= 1¶
-
Z_INDEX
= 2¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_accelerometer_x
(sample)[source]¶ Get the accererometer value on the X axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The accelerometer value on the X axis if the data array is valid, <nan> otherwise.
-
classmethod
get_accelerometer_y
(sample)[source]¶ Get the accererometer value on the Y axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The accelerometer value on the Y axis if the data array is valid, <nan> otherwise.
-
classmethod
get_accelerometer_z
(sample)[source]¶ Get the accererometer value on the Z axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The accelerometer value on the Z axis if the data array is valid, <nan> otherwise.
-
read_accelerometer
()[source]¶ Read the accelerometer values.
- Returns:
- list: The accelerometer values on the three axis if the read operation is successful, <nan> values otherwise.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
blue_st_sdk.features.feature_activity_recognition module¶
-
class
blue_st_sdk.features.feature_activity_recognition.
ActivityType
[source]¶ Bases:
enum.Enum
Allowed activities.
-
BIKING
= 5¶
-
DRIVING
= 6¶
-
ERROR
= 8¶
-
FASTWALKING
= 3¶
-
JOGGING
= 4¶
-
NO_ACTIVITY
= 0¶
-
STAIRS
= 7¶
-
STATIONARY
= 1¶
-
WALKING
= 2¶
-
-
class
blue_st_sdk.features.feature_activity_recognition.
FeatureActivityRecognition
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the activities that can be detected by a device.
Data is one or two bytes long and has no decimal digits.
-
ACTIVITY_INDEX
= 0¶
-
ALGORITHM_INDEX
= 2¶
-
DATA_LENGTH_BYTES
= 1¶
-
DATA_MAX
= 7¶
-
DATA_MIN
= 0¶
-
FEATURE_ACTIVITY_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_ALGORITHM_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_DATA_NAME
= ['Activity', 'DateTime', 'Algorithm']¶
-
FEATURE_NAME
= 'Activity Recognition'¶
-
FEATURE_TIME_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_UNIT
= [None, 'ms', None]¶
-
TIME_FIELD
= 1¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_activity
(sample)[source]¶ Getting the recognized activity from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
ActivityType
: The recognized activity if the sample is valid, “ActivityType.ERROR” otherwise.
-
classmethod
get_algorithm
(sample)[source]¶ Getting the algorithm from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- int: The algorithm if the sample is valid, “0” otherwise.
-
classmethod
get_time
(sample)[source]¶ Getting the date and the time from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
datetime
: The date and the time of the recognized activity if the sample is valid, “None” otherwise. Refer to datetime for more information.
-
blue_st_sdk.features.feature_audio_scene_classification module¶
-
class
blue_st_sdk.features.feature_audio_scene_classification.
FeatureAudioSceneClassification
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the type of scene that can be detected by a device.
Data is one byte long and has no decimal digits.
-
DATA_LENGTH_BYTES
= 1¶
-
DATA_MAX
= 3¶
-
DATA_MIN
= 0¶
-
FEATURE_DATA_NAME
= 'SceneType'¶
-
FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_NAME
= 'Audio Scene Classification'¶
-
FEATURE_UNIT
= None¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_scene
(sample)[source]¶ Getting the scene from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
SceneType
: The type of the scene if the sample is valid, “SceneType.ERROR” otherwise.
-
blue_st_sdk.features.feature_gyroscope module¶
-
class
blue_st_sdk.features.feature_gyroscope.
FeatureGyroscope
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the data coming from a gyroscope sensor.
Data is six bytes long and has one decimal digit.
-
DATA_LENGTH_BYTES
= 6¶
-
DATA_MAX
= 3276.8¶
-
DATA_MIN
= -3276.8¶
-
FEATURE_DATA_NAME
= ['X', 'Y', 'Z']¶
-
FEATURE_NAME
= 'Gyroscope'¶
-
FEATURE_UNIT
= 'dps'¶
-
FEATURE_X_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_Y_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_Z_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
SCALE_FACTOR
= 10.0¶
-
X_INDEX
= 0¶
-
Y_INDEX
= 1¶
-
Z_INDEX
= 2¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_gyroscope_x
(sample)[source]¶ Get the gyroscope value on the X axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The gyroscope value on the X axis if the data array is valid, <nan> otherwise.
-
classmethod
get_gyroscope_y
(sample)[source]¶ Get the gyroscope value on the Y axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The gyroscope value on the Y axis if the data array is valid, <nan> otherwise.
-
classmethod
get_gyroscope_z
(sample)[source]¶ Get the gyroscope value on the Z axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The gyroscope value on the Z axis if the data array is valid, <nan> otherwise.
-
read_gyroscope
()[source]¶ Read the gyroscope values.
- Returns:
- list: The gyroscope values on the three axis if the read operation is successful, <nan> values otherwise.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
blue_st_sdk.features.feature_humidity module¶
-
class
blue_st_sdk.features.feature_humidity.
FeatureHumidity
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the data coming from a humidity sensor.
Data is two bytes long and has one decimal digit.
-
DATA_LENGTH_BYTES
= 2¶
-
DATA_MAX
= 100¶
-
DATA_MIN
= 0¶
-
FEATURE_DATA_NAME
= 'Humidity'¶
-
FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_NAME
= 'Humidity'¶
-
FEATURE_UNIT
= '%'¶
-
SCALE_FACTOR
= 10.0¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_humidity
(sample)[source]¶ Get the humidity value from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The humidity value if the data array is valid, <nan> otherwise.
-
read_humidity
()[source]¶ Read the humidity value.
- Returns:
- float: The humidity value if the read operation is successful, <nan> otherwise.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
blue_st_sdk.features.feature_magnetometer module¶
-
class
blue_st_sdk.features.feature_magnetometer.
FeatureMagnetometer
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the data coming from a magnetometer sensor.
Data is six bytes long and has no decimal digits.
-
DATA_LENGTH_BYTES
= 6¶
-
DATA_MAX
= 2000¶
-
DATA_MIN
= -2000¶
-
FEATURE_DATA_NAME
= ['X', 'Y', 'Z']¶
-
FEATURE_NAME
= 'Magnetometer'¶
-
FEATURE_UNIT
= 'mGa'¶
-
FEATURE_X_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_Y_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_Z_FIELD
= <blue_st_sdk.features.field.Field object>¶
-
X_INDEX
= 0¶
-
Y_INDEX
= 1¶
-
Z_INDEX
= 2¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_magnetometer_x
(sample)[source]¶ Get the magnetometer value on the X axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The magnetometer value on the X axis if the data array is valid, <nan> otherwise.
-
classmethod
get_magnetometer_y
(sample)[source]¶ Get the magnetometer value on the Y axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The magnetometer value on the Y axis if the data array is valid, <nan> otherwise.
-
classmethod
get_magnetometer_z
(sample)[source]¶ Get the magnetometer value on the Z axis from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The magnetometer value on the Z axis if the data array is valid, <nan> otherwise.
-
read_magnetometer
()[source]¶ Read the magnetometer values.
- Returns:
- list: The magnetometer values on the three axis if the read operation is successful, <nan> values otherwise.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
blue_st_sdk.features.feature_pressure module¶
-
class
blue_st_sdk.features.feature_pressure.
FeaturePressure
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the data coming from a pressure sensor.
Data is four bytes long and has two decimal digits.
-
DATA_LENGTH_BYTES
= 4¶
-
DATA_MAX
= 2000¶
-
DATA_MIN
= 0¶
-
FEATURE_DATA_NAME
= 'Pressure'¶
-
FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_NAME
= 'Pressure'¶
-
FEATURE_UNIT
= 'mBar'¶
-
SCALE_FACTOR
= 100.0¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_pressure
(sample)[source]¶ Get the pressure value from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The pressure value if the data array is valid, <nan> otherwise.
-
read_pressure
()[source]¶ Read the pressure value.
- Returns:
- float: The pressure value if the read operation is successful, <nan> otherwise.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
blue_st_sdk.features.feature_proximity module¶
-
class
blue_st_sdk.features.feature_proximity.
FeatureProximity
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the data coming from a proximity sensor.
Data is two bytes long and has no decimal digits.
-
DATA_LENGTH_BYTES
= 2¶
-
DATA_MIN
= 0¶
-
FEATURE_DATA_NAME
= 'Proximity'¶
-
FEATURE_NAME
= 'Proximity'¶
-
FEATURE_UNIT
= 'mm'¶
-
HIGH_RANGE_DATA_MAX
= 32766¶
-
HIGH_RANGE_FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
LOW_RANGE_DATA_MAX
= 254¶
-
LOW_RANGE_FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
OUT_OF_RANGE_VALUE
= 65535¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_proximity_distance
(sample)[source]¶ Extract the data from the feature’s raw data.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- int: The proximity distance value if the data array is valid, “-1” otherwise.
-
classmethod
is_out_of_range_distance
(sample)[source]¶ Check if the measure is out of range_value.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- bool: True if the proximity distance is out of range_value, False otherwise.
-
blue_st_sdk.features.feature_proximity_gesture module¶
-
class
blue_st_sdk.features.feature_proximity_gesture.
FeatureProximityGesture
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the detected gesture using proximity sensors.
Data is one byte long and has no decimal digits.
-
DATA_LENGTH_BYTES
= 1¶
-
DATA_MAX
= 4¶
-
DATA_MIN
= 0¶
-
FEATURE_DATA_NAME
= 'Gesture'¶
-
FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_NAME
= 'Gesture'¶
-
FEATURE_UNIT
= None¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_gesture
(sample)[source]¶ Get the gesture value from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
blue_st_sdk.features.feature_proximity_gesture.Gesture
: The gesture value from a sample.
-
blue_st_sdk.features.feature_stepper_motor module¶
blue_st_sdk.features.feature_switch module¶
-
class
blue_st_sdk.features.feature_switch.
FeatureSwitch
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles an 8-bit switch status register, thus handling up to 8 switches.
Data is one byte long and has no decimal digits.
-
DATA_LENGTH_BYTES
= 1¶
-
DATA_MAX
= 256¶
-
DATA_MIN
= 0¶
-
FEATURE_DATA_NAME
= 'Status'¶
-
FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_NAME
= 'Switch'¶
-
FEATURE_UNIT
= None¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_switch_status
(sample)[source]¶ Get the switch status.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- int: The switch status if the sample is valid, “-1” otherwise.
-
read_switch_status
()[source]¶ Read the switch status.
- Returns:
- int: The switch status.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
write_switch_status
(status)[source]¶ Write the switch status.
- Args:
- status (int): The switch status.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
-
blue_st_sdk.features.feature_temperature module¶
-
class
blue_st_sdk.features.feature_temperature.
FeatureTemperature
(node)[source]¶ Bases:
blue_st_sdk.feature.Feature
The feature handles the data coming from a temperature sensor.
Data is two bytes long and has one decimal digit.
-
DATA_LENGTH_BYTES
= 2¶
-
DATA_MAX
= 100¶
-
DATA_MIN
= 0¶
-
FEATURE_DATA_NAME
= 'Temperature'¶
-
FEATURE_FIELDS
= <blue_st_sdk.features.field.Field object>¶
-
FEATURE_NAME
= 'Temperature'¶
-
FEATURE_UNIT
= 'C'¶
-
SCALE_FACTOR
= 10.0¶
-
__init__
(node)[source]¶ Constructor.
- Args:
- node (
blue_st_sdk.node.Node
): Node that will send data to - this feature.
- node (
-
extract_data
(timestamp, data, offset)[source]¶ Extract the data from the feature’s raw data.
- Args:
- timestamp (int): Data’s timestamp. data (str): The data read from the feature. offset (int): Offset where to start reading data.
- Returns:
blue_st_sdk.feature.ExtractedData
: Container of the number of bytes read and the extracted data.- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-
classmethod
get_temperature
(sample)[source]¶ Get the temperature value from a sample.
- Args:
- sample (
blue_st_sdk.feature.Sample
): Sample data. - Returns:
- float: The temperature value if the data array is valid, <nan> otherwise.
-
read_temperature
()[source]¶ Read the temperature value.
- Returns:
- float: The temperature value if the read operation is successful, <nan> otherwise.
- Raises:
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidOperationException
- is raised if the feature is not enabled or the operation required is not supported.
blue_st_sdk.utils.blue_st_exceptions.BlueSTInvalidDataException
- if the data array has not enough data to read.
-


Home
Bio
Top 10
Top Ten Video Games
Destiny
Halo 2
Overwatch
World of Warcraft
Pokemon
Mega Man
Call of Duty
Horizon: Zero Dawn
Killzone
Jak and Dexter
Ten Places I want to Visit
Ireland
Germany
France
Japan
Italy
London
Yellowstone
Sydney
Stockholm
New Orleans


Flip Word Checker
a palindrome checker app
Enter the word here
Check palindrome
Palindrome has not been checked yet


DotCi
Jenkins made easy
image: ubuntu #name of image to run the build against
run_params: "-e PASSWORD=moew"
command:
- mvn setup
- mvn test
links: #links to parent image using docker links
- image: redis
name: content-uat4 #optional; defaults to image name
run_params: "-v `pwd`:/content" #optional run params
links: # Links to parent container; links can be nested indefinitely
- image: mysql
Continous Testing
|
Java |
Ruby |
Javascript |
| Linting |
Checkstyle |
Reek/Roodi/Flog.. |
eslist/standard/jslinst |
| Testing |
Junit.. |
rspec/cucumber.. |
Mocha/Karma... |
| Coverage |
Cobertura/Jacoco.. |
Rcov.. |
Istanbul |
CI Infrastructure
- Build Environment setup (docker/Install packages)
- Asset Caching (gems, .m2, npm)
- Build Artifacts
- Deployments


|
Panda3D
|
Public Member Functions | |
| def | __init__ (self, packageName, packager) |
| def | addBamFile (self, file) |
| def | addComponent (self, file) |
| def | addDcFile (self, file) |
| def | addDcImports (self, file) |
| def | addEggFile (self, file) |
| def | addExtensionModules (self) |
| def | addFile (self, *args, **kw) |
| def | addFoundTexture (self, filename) |
| def | addNode (self, node, filename, newName) |
| def | addPrcFile (self, file) |
| def | addPyFile (self, file) |
| def | cleanup (self) |
| def | close (self) |
| def | compressMultifile (self) |
| def | considerPlatform (self) |
| def | excludeFile (self, filename) |
| def | getFileSpec (self, element, pathname, newName) |
| def | installMultifile (self) |
| def | installSolo (self) |
| def | makeP3dInfo (self) |
| def | readDescFile (self) |
| def | readImportDescFile (self, filename) |
| def | requirePackage (self, package) |
| def | writeDescFile (self) |
| def | writeImportDescFile (self) |
This is the full information on a particular package we are constructing. Don't confuse it with PackageEntry, above, which contains only the information found in the toplevel contents.xml file.
| def __init__ | ( | self, | |
| packageName, | |||
| packager | |||
| ) |
| def addBamFile | ( | self, | |
| file | |||
| ) |
| def addComponent | ( | self, | |
| file | |||
| ) |
| def addDcFile | ( | self, | |
| file | |||
| ) |
Adds a dc file to the archive. A dc file gets its internal comments and parameter names stripped out of the final result automatically. This is as close as we can come to "compiling" a dc file, since all of the remaining symbols are meaningful at runtime.
| def addDcImports | ( | self, | |
| file | |||
| ) |
Adds the Python modules named by the indicated dc file.
| def addEggFile | ( | self, | |
| file | |||
| ) |
| def addExtensionModules | ( | self | ) |
Adds the extension modules detected by the freezer to the current list of files.
| def addFile | ( | self, | |
| * | args, | ||
| ** | kw | ||
| ) |
Adds the named file to the package. Returns the file object, or None if it was not added by this call.
| def addFoundTexture | ( | self, | |
| filename | |||
| ) |
Adds the newly-discovered texture to the output, if it has not already been included. Returns the new name within the package tree.
| def addNode | ( | self, | |
| node, | |||
| filename, | |||
| newName | |||
| ) |
Converts the indicated node to a bam stream, and adds the bam file to the multifile under the indicated newName.
| def addPrcFile | ( | self, | |
| file | |||
| ) |
Adds a prc file to the archive. Like the dc file, this strips comments and such before adding. It's also possible to set prcEncryptionKey and/or prcSignCommand to further manipulate prc files during processing.
| def addPyFile | ( | self, | |
| file | |||
| ) |
Adds the indicated python file, identified by filename instead of by module name, to the package.
| def cleanup | ( | self | ) |
| def close | ( | self | ) |
Writes out the contents of the current package. Returns True if the package was constructed successfully, False if one or more required files or modules are missing.
| def compressMultifile | ( | self | ) |
Compresses the .mf file into an .mf.pz file.
| def considerPlatform | ( | self | ) |
| def excludeFile | ( | self, | |
| filename | |||
| ) |
Excludes the named file (or glob pattern) from the package.
| def getFileSpec | ( | self, | |
| element, | |||
| pathname, | |||
| newName | |||
| ) |
Returns an xcomponent or similar element with the file information for the indicated file.
| def installMultifile | ( | self | ) |
Installs the package, either as a p3d application, or as a true package. Either is implemented with a Multifile.
| def installSolo | ( | self | ) |
Installs the package as a "solo", which means we simply copy the one file into the install directory. This is primarily intended for the "coreapi" plugin, which is just a single dll and a jpg file; but it can support other kinds of similar "solo" packages as well.
| def makeP3dInfo | ( | self | ) |
Makes the p3d_info.xml file that defines the application startup parameters and such.
| def readDescFile | ( | self | ) |
Reads the existing package.xml file before rewriting it. We need this to preserve the list of patches, and similar historic data, between sessions.
| def readImportDescFile | ( | self, | |
| filename | |||
| ) |
Reads the import desc file. Returns True on success, False on failure.
| def requirePackage | ( | self, | |
| package | |||
| ) |
Indicates a dependency on the given package. This also implicitly requires all of the package's requirements as well (though this transitive requirement happens at runtime, not here at build time).
| def writeDescFile | ( | self | ) |
Makes the package.xml file that describes the package and its contents, for download.
| def writeImportDescFile | ( | self | ) |
Makes the package.import.xml file that describes the package and its contents, for other packages and applications that may wish to "require" this one.
| arch |
| components |
| compressionLevel |
| configs |
| excludedFilenames |
| extracts |
| files |
| freezer |
| host |
| ignoredDirFiles |
| importedMapsDir |
| mainModule |
| missingPackages |
| moduleNames |
| multifile |
| notify |
| oldCompressedBasename |
| p3dApplication |
| packageBasename |
| packageDesc |
| packageDir |
| packageFilename |
| packageFullpath |
| packageImportDesc |
| packageName |
| packager |
| packageSeq |
| packageSetVer |
| patches |
| patchVersion |
| perPlatform |
| platform |
| platformSpecificConfig |
| requiredFilenames |
| requiredModules |
| requires |
| signParams |
| skipFilenames |
| skipModules |
| solo |
| sourceFilenames |
| targetFilenames |
| version |


ORDER YOUR FOOD
Hello and welcome to Pizza Palace, your go to restaurant when you want
only the best pizza in town coupled with best service. Our state of
the art facilities and world-class chefs are here to give you nothing
but the best.Feel free to place your order.
DELIVERY OR PICKUP
We are flexible. Whether you are at home or on your way home, you can get
your order delivered right at the comfort of your home or wherever it is you are.
You can also pick your pizza right here at out restaurant.


A typical problem for introductory philosophy courses is that the list of readings is dominated by privileged authors — white men, members or adjuncts of the ruling classes of their respective societies, many of them able-bodied, often lifelong bachelors who have almost no experience interacting with children or the infirm, and so on. A typical proposed response — which fields like Literature adopted around 30 years ago — is to make the list of authors more diverse. But sometimes philosophers are hesitant to make this move:
Said colleague teaches her introductory ethics course using the historical approach … [B]ut on the historical approach, you are going to teach the historical figures: probably a couple [readings — I assume, DH] out of Plato, Hobbes, Rousseau, Nietzsche, Marx and Rawls and definitely all of Aristotle, Hume, Kant and Mill. No women. You can force women in – both times I taught it that way I used Mary Wollstonecraft, and my colleague ended her course with Philippa Foot. But neither of these figures has the stature of any of the men I’ve mentioned, and my guess is that the students can pretty much see through the token gesture (and if you teach it chronologically, the women come along pretty late anyway).
That’s a very dense response, and I could probably pull out three or four different arguments. I’m going to focus on this one here:
- The philosophical tradition is dominated by privileged authors.
- The reading list for intro philosophy courses should reflect the philosophical tradition.
- Hence, the reading list for intro philosophy courses should be dominated by privileged authors.
Premise 2 is too strong — there are lots of ways to introduce students to philosophy, and following the tradition is only one way. But capturing that would make premise 2 much more complicated. And anyway I’m really interested in premise 1 here.
Premise 1 seems to rely on a certain way of thinking about traditions. On this way of thinking, traditions are strictly accruing. New things are added to the tradition — Rawls’ Theory of Justice was added just a few decades ago — but only rarely — a few additions per century. Once added, nothing is removed. In this sense, the tradition is fixed. Furthermore, additions aren’t intentional — nothing is added because someone set out to add them — and things can only be added for a limited period of time — we can’t go back and add something that was written centuries ago. Because of all this, traditions are inherently conservative.
This way of thinking about traditions is reflected in the remarks above that, if women are included in the reading list, it’s by “force” and as “token gestures.” Alasdair MacIntyre often attributes this view of traditions to Edmund Burke, and it was also held by the radical Enlightenment anti-traditionalists who were Burke’s main opponents. The difference was just that Burke thought that traditions were good and ought to be respected, while the Enlightenment figures thought traditions were oppressive and ought to be destroyed. (Ironically, nearly all of the authors listed in the quotation were anti-traditionalists in exactly this way.)
MacIntyre thinks that Burke was wrong about traditions — disastrously wrong, tragically wrong — and several of his books involve reworking the idea of a tradition. Roughly speaking, on MacIntyre’s view traditions are ways of interpreting the life of our community over time — where we came from, where we are now, and where we’re headed. Since they’re interpretations, traditions are actively — even intentionally — made, maintained, and remade. They’re not a pile of accreted history, pressing down on us with the weight of centuries, but instead the way in which we understand the activities of our forerunners (including who counts as our forerunners) and how they relate to our activities and the activities of those who will come after us. Not only does this understanding change over time, but when things are going well it improves over time.
Consider again the canonical authors in the quotation. We don’t read them uncritically, and indeed today we recognize the privileged perspective of these authors, and the way in which their privilege distorted their philosophy. We also recognize the ways in which structural oppression — of women, of persons of color and non-Europeans, of working-class persons, of persons with physical and mental impairments — ensured that only privileged perspectives were allowed to contribute to the tradition; all other perspectives were excluded, one way or another.
In short, we now recognize that our tradition wasn’t created by the accretion of great works of philosophy, but instead that what counted as great works was partly constituted by structures of privilege and oppression. Our tradition was made, and so we may be able to re-make it. Specifically, insofar as the philosophical tradition continues to be dominated by privileged authors, it’s because we allow it to continue in this way. Indeed, we’ve already started to re-make our interpretation of our history, by recognizing the way it’s been shaped by structural oppression and privilege. We just need to translate this process into our syllabi.
I can see at least three means for doing this. First, we can recover the work of oppressed thinkers who were excluded from the tradition in the past. Kristin Waters’s anthology Women and Men Political Theorists (Blackwell 2000, ISBN<PHONE_NUMBER>805) and Karen Warren’s An Unconventional History of Western Philosophy (Rowman and Littlefield 2009, ISBN<PHONE_NUMBER>240) both juxtapose readings by men and women, and there are numerous anthologies for intro to philosophy courses that include the perspectives of oppressed persons in substantial ways. (If you think that it’s hard to find good readings for introductory courses by women and persons of color, at best it’s because you’re lazy.)
Second, we can incorporate ideological critiques of the tradition into our course content. I’m doing this in my intro to ethics course next term: after reading about utilitarianism, deontology, and virtue ethics, we’ll read a feminist critique of ethical theory and theorizing by Hilde Lindemann, then take a look at care ethics. The last time I taught intro to philosophy, Rawls and Nozick were followed by ideological critiques from Susan Okin, Anita Silvers, G.A. Cohen, and Charles Mills.
Third, and even if without doing the first two, we can incorporate contemporary readings into our presentation of privileged authors. Penn State’s Re-Reading the Canon series, edited by Nancy Tuana, is an excellent resource here. In general, the aim of these volumes is to sort through the work of “great philosophers” from a broadly feminist perspective, asking what’s still valuable in this work, what is objectionable or must be discarded, and how these two sets are related. Many of the contributions will be too demanding for introductory students, but they can certainly inform our lectures in class.


Pretty Tough Miss Congeniality
By Ross Anthony
It's an average film, packing some good Grace-Harty laughs while others gags fall off the mark. The most difficult to swallow being the film's premise that Sandra Bullock (as FBI agent Grace Hart) should somehow be unattractive without lipstick and nail polish.
Tomboy Grace Hart must go undercover as Miss New Jersey in the Miss United States beauty pageant (oh, sorry, make that "Scholarship pageant"). She's one tough lady sincerely unaccustomed to manicures and high heels. Therein lies the film's strongest hits - rugged Bullock trying to look sweet, elegant and giddy - all the while gritting her teeth in disdain. Unfortunately, some of the punch relies on our believing that Bullock isn't already beautiful. Such a presupposition leaves audiences feeling a tad insulted.
After a fine opening sequence the film moves quickly into a cheesy detective bust scene, compromising the momentum. Though it seems to be a cop movie, "Miss Congeniality" is essentially a "Cinderella" comedy. Since the slim climax relies on FBI plotting, it's authority wanes for lack of substantive action.
Still, Bullock and Michael Caine (as the beauty expert in charge of "transforming" this hardened agent into a queen) are marvelously charming, clever and fun together. Some of the dialogue here takes the crown.
Benjamin Bratt performs respectively. You'll also enjoy Candice Bergen and William Shatner as the co-hosts of the pageant.
Miss Congeniality. Copyright © 2000. Starring Sandra Bullock, Michael Caine, Benjamin Bratt, Candice Bergen, William Shatner, Melissa De Sousa. Directed by Don Petrie. Written by Marc Lawrence, Katie Ford, Caryn Lucas. Produced by Katie Ford and Sandra Bullock at(C)2000. Rated PG.
Grade..........................B
-- Copyright © 2000. Ross Anthony, currently based in Los Angeles, has scripted and shot documentaries, music videos, and shorts in 35 countries across North America, Europe, Africa and Asia.
For more reviews visit: http://www.RossAnthony.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: page title: Jason (Bao) Sun's Bio subtitle: Senior Software Engineer @Tencent use-site-title: true ---
My name is Bao Sun, currently a senior software engineer at PCG Platform Computing Group, working on platform system called Venus, which enables greater effiency and usage of AI pipeline for the entire PCG division.
My current work is building the de-facto machine learning and recommendation system platform for PCG to support bussiness Current work is building common feature engineering platform with several key stakeholders and acting as technical & business focal point in daily development iteration, majoy responsibilities include:
I obtained my Master Degree of Electrical and Computer Engineering From University Of British Columbia in 2018 foucsing on software engineering and reliability system
2019.12-Now: Senior Software Engineer @Tencent
2018.9-2019.12: Team Lead @Sensetime Research
2018.5-2018.9: Software Engineer @CA technologies(Now Acquired By Broadcom)
2016.11-2017.11: Software Engineer Intern @Baidu US
2015.9-2016.11: Research Assistant @Univeristy Of British Columbia
Languages: Java, Python, Golang, C++, Bash
Framework: Spring, Hibernate, Mybatis, Django, Bottle
Databases: Cassandra, MySql, HBase, AWS Aurora
Cloud Native: Kubernetes, Docker, Istio
Machine Learning: Tensorflow, Pytorch
Cloud Platform: Amazon Web Service
ITIL V3 Foundation
AWS Certified Solution Architect Associate
AWS Certified Machine Learning Professional
2015.7-2018.5 Master of Electrical and Computer Engineering @ University Of British Columba
Last Update: Oct 2020


The creator or original author of the format
The current maintainers of the format
Applications which are primarily designed to operate on this file format
The uri or type of the license for this format.


IMPORTANT: Development is paused right now. Use at your own risk.
Discussion and questions about HyperDEX atomic swap powered decentralized exchange. The project is maintained by HyperDEX team.
100 messages
Before 05-Dec-19 12:00 AM
Cryptoon04-Sep-18 02:31 PM
This one
Barterdex works fine
When I close it with the red button upperleft corner it says something like could not connect to marketmaker
Last line I cut off which was the userpass, not sure if that is sensitive info or not
Ah and now the only kmd/btc order there was is also gone
Tried on different networks/toggling firewall on/off etc
jorian04-Sep-18 04:33 PM
on CLI there are 4 bids and 3 asks for DEX/KMD
but i doubt you'll get anything from them.. james' nodes are slow af, he probably needs to clean his wallets
Cryptoon04-Sep-18 04:37 PM
Nothing seems to be appearing on barterdex either...
Wait no
I'm seeing 3 sellers and 2 buyers now
Cryptoon04-Sep-18 04:50 PM
shutdown barter and restarted hyper, nothing there
Will keep it open for a while to see if it changes in time
Cryptoon04-Sep-18 05:07 PM
Nothing on hyper
gtg, if someone else has the same problem let me know, but it's probably marketmaker related
blackjok3r04-Sep-18 05:26 PM
You need to find where the hell that IP file is saved and remove it
if you change networks, it will break the network connectivity of marketmaker
Cryptoon04-Sep-18 05:48 PM
Is it different files for barter and hyper?
In car now will search later
Hermes04-Sep-18 07:12 PM
@blackjok3r I think this is what you were referring to Figured it out. The "myipaddress" file in .Barterdex directory was empty for some reason. Put my ip in there manually, lanuched it and started giving all kinds of errors. I deleted the file and let bdex create it on the next launch and the ip was filled in and my orders are showing up now."
From here using MacOs 10.12.6 Sierra the newest version is launching without an issue for now
lukechilds04-Sep-18 08:25 PM
To find the IP file open the app and click Debug > Show App Data. The folder that then pops up will contain a folder called marketmaker, open that folder. The IP file should be inside called myipaddr. That should work on all OSs
Cryptoon04-Sep-18 08:28 PM
Delete that file?
But I deleted all appdata earlier today
So that one should also have been deleted?
lukechilds04-Sep-18 08:55 PM
Yeah, was just putting that info out there
if you deleted app data then you deleted the mm IP file too
Hegelian07-Sep-18 09:35 AM
Hi, I havent used barterdex in months is it now called hypdex? What do I download? One or both?


{% extends "base.html" %} {% load static %} {% block head_title %}Add a Course{% endblock %} {% block main %} {% include "core/start_banner.html" with step="course" %}
Your first course is ready to go. The next step is to create a task for the course.
{% elif grade_level %}Please tell us a course you want to add to {{ grade_level }}. Your enrolled student will take the courses that you include in the grade level.
After you’ve created your courses, you can arrange them in whatever order you’d like. You can also set many other details about the course later.
What is the name of your first course?
{% include "forms/non_field_errors.html" %} {% else %}Before you can create a course for your student, you must first create a grade level that can hold all of their courses.
{% endif %}


PICA+ is a field based data format used in library cataloging systems, similar to MARC21.
MIME types defined: text/x-picaplus.
text/x-picaplus


EXCLUSIVE: Tray Deee Can't Picture Ray-J Talking to Trump About Pardoning Suge Knight
by Jessica ToddTray Deee shared his thoughts on Ray-J having life rights to documentaries about Suge Knight and news that Ray-J was going to speak to Trump about pardoning the Death Row Records co-founder, which made Tray Deee laugh. He went on to share his thoughts about Suge having people in Hollywood shaking in fear of him, and Tray Deee added that Suge knew who to prey on to get away with it.


Deleting a List Record
How to permanently delete a record from a list on a Forms and Lists module. Note: The ability to delete rows may be restricted by users/roles or you may only be able to delete your own records.
- Click the Edit button beside the record to be deleted.
- Click the Delete link. This displays the message "Are You Sure You Wish To Delete This Item?"
-
Click the OK button to confirm.
- Repeat Steps 1-3 to delete additional records.