| DOSE: |
2 hits |
smoked |
Cannabis |
(plant material) |
As a kid and a pre-teen, and even during my early teenage years, I was highly creative, curious about the world, happy to hang out with friends, etc, but around age 15, for reasons I haven't fully figured out (extreme sleep deprivation may have played a part) my mind effectively shut down, I felt like I'd been lobotomized. I was unable to write, which was my main creative outlet, or enjoy the things I read, as I no longer imagined or saw anything but ink on paper. My friendships mostly evaporated; I was suicidal. That was about 4 years ago and I'm no longer depressed. I'm beginning to have a social life again. But the workings of my mind still feel incredibly boring; my introspection from day to day is exactly the same; there's no imagination or daydreaming, just the physical world.
I'd tried weed 3 or 4 times before this one, but when there was an effect it hadn't been much; I'd simply felt completely numb (mentally) except for the time before this one, that is. I'd baked in a car with my friend and his older brother and suddenly my thoughts had begun to unfold, leading to other thoughts and still others, a phenomenon that's probably ordinary for most people but that I hadn't experienced in years. The ossified channels of brain pattern had been temporarily broken, the groove my thinking had been trapped in was breached. This was incredibly cool, so it was mostly what I thought about: I was imagining a colorful neural model of my thought processes, the processes which were, of course, mostly concerned with generating the model. Some ulta-recursive fun, but pretty narcissistic.
This time, I smoked on a whim with some guys I'd gone to middle school with, and hadn't seen much since, outside a party, at 3 AM. 5 minutes later, back inside, there was a complete shift in my inner state; I felt slightly surreal, sort of like I'd stayed up all night but without the fatigue. I didn't actually hallucinate, but there was a feeling like the air was sparkling, evenly luminous. I had a couple heart palpitations, which was kind of scary; for a few minutes I sat in the chair and paniked, trying to figure out whether I should get a piece of paper and write last thoughts or whether I was being a hypochondriac (the latter, obviously).
But I was thinking cool thoughts again. I'd developed a bad habit, normally, of thinking in a sort of shorthand, without going through all the component chains of logic; now it was like the interal structure of every thought was laid bare; I was thinking in assembly code rather than C++, and parts of my brain that had been unused for years seemed to be coming back into play. I blurted something I'd just figured to a friend of mine 'Eyelids evolved to keep stuff out of the eye! That's why fish don't have eyelids!' my friend, who hadn't smoked, gave me a strange look. I'd heard before that being stoned made things seem profound, but never appreciated why: the thought processes leading to conclusions might be equivalent to what they are normally, but on a low, component level, they're different. I suppose that's not really an explanation, but it points in the right direction, I think.
In the car to the diner, I kept thinking cool thoughts. For example, I decided that one the reasons people sometimes don't remember the experiences they have in altered states of consciousness is that the whole encoding system of the brain has been altered; neurons that normally are a part of one firing pattern are the part of another, and those responsible for memory are off doing something else. I had a whole 4-D model of the situation in my brain, which I shifted 90 degrees so that time became one of the spacial dimensions and one of the spacial dimensions became time. But I found it impossible to have any kind of conversation with my friend, who was driving. At one point, I was thinking up a reply to something interesting that I thought he'd said and lost my train of thought, and asked him to repeat the question, and it turned out that he'd just asked what I'd said. Several times he told me he had no idea what I was talking about.
I can't remember the chain of reasoning, but I somehow became convinced that no two people could ever understand anything about each other, that empathy was an illusion and conversation consisted only of mutual misunderstanding. I glanced over, and though I still felt like his friend, he seemed utterly mysterious to me, completely opaque, and I felt completely alone in the universe. Sorry if that sounds melodramatic, but I can't think of another way to phrase it.
I'm looking forward to trying marijuana again, this time not at a party but with some friends who might be able to put the experience in perspective. Though I don't like parts of the way being stoned feels (there's not much clarity, which I don't have enough of in the best of times) I love other parts of it (the free-flowing thoughts) and I'm going to try to get those things to permeate my normal thinking processes. I feel less like a zombie now than two days ago, and more like myself, the way I was 5 years ago, and the best thing that could happen is for that to continue. Also, I now appreciate Radiohead's recent albums. :)
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.


This file is part of Terminalor.
For the full copyright and license information, please view the LICENSE file that was distributed with this source code. Terminator Request class responsible for commands dispatching and providing access to user specified arguments
Located in /Request/Interface.php (line 15)
Dispatches application
Get user argument value by argument name
Get assoc. array of user provided arguments
Get router object responsible for parsing $_SERVER['argv'] into assoc array
Set user argument value
Set request default arguments values
To set default arguments values this method should be executed before @see dispatch()
Documentation generated on Tue, 07 Feb 2012 14:40:55 +1100 by phpDocumentor 1.4.4


Direct Debit payment successful
Reference number:
147836
We’ve emailed you a payment receipt. Your permit will arrive by post in the next 5 working days.
| Your purchase details | |
|---|---|
| Payment for: | Lock and Weir Fishing Permit – River Thames |
| Total amount: | £31.00 |


--- layout: page #title: Build the app users will love! #subtitle: I help health and fitness wearables companies build mobile experiences that retain more users meta-title: "Five3 Apps" #bigimg: "/img/big-img/snowboarding_couple.jpg" ---
You've spent countless hours creating a wearable device that's unique and has the power to change lives. But how much time have you spent on what's needed for your users to experience everything your wearable can do for them?
Far too many incredible health and fitness wearables are hiding behind a sub-par mobile app experience. Users quickly become frustrated or worse yet are never fully engaged during onboarding. It's not long before you are yet another wearable tossed in the top dresser drawer.
Stand out from the crowd and build the mobile app your users can use to change their lives! Work with a wearables iOS app expert that has shipped projects for some of the biggest brands in the world.
“Justin has that high level of expertise and works closely with his clients. It helped me sleep well at night knowing Justin was on it and that he was dedicated to making sure our app was going to be a success. Unlike an agency that might hand your project off to lower-level talent when something new comes in, which can slow things down, Justin shares ownership of the project and deadlines.” (read more)
- Troy Hickerson, Founder and CEO of Calorie Cloud
Justin is a solid engineer and natural leader, and his development skills speak for themselves. Justin is a great asset to any team, and I’d certainly work with him again in the future.
‑ Nico Valencia, Director of Engineering at Gloo
I've worked with brands like Walmart, UNICEF, and Lucasfilm to build apps that impact millions of lives. Unlike other consultants, you’ll work directly with me instead of with junior employees who bill you hundreds of dollars per hour to learn on the job.
I have been working with Bluetooth Low Energy since 2013 collaborating with HW and FW engineers to understand how to get reliable connections and performance. I have worked with Apple designers on the UX of an Apple Watch app, built apps using HealthKit on both iOS and WatchOS, and designed REST APIs that balance security and end user experience.
Cheers!


With heartfelt sincerity, I recommend AKM Photography for any bride and groom. My husband and I, in addition to our families, are so pleased with our wedding photos – keepsakes that we’ll treasure for a lifetime. Jason and Wendy were wonderful to work with. From the portrait-style photos to the candid moments, they captured the joy of our wedding day. I was extremely pleased with the quality and number of photos we were returned.For timeless wedding photographs you’ll enjoy for years to come, I highly recommend AKM Photography! Sincerely, Hannah & Andrew


I'm dd.
I've always been interested in software engineering! I have a passion for making utilities and writing documentation.
Static and dynamic bindings for GNU Libmicrohttpd.
Immediate-mode UI fork of rxi/microui in betterC.
System Error Message Online Reference (OEDB).
Pre-Pentium processor and coprocessor identification utility for DOS systems.
Pure D implementation of BLAKE2 (IETF RFC 7693), DUB package available.
Pure D implementation of SHA-3 (NIST FIPS 202), DUB package available.
#⃣ dd's hashing utility.
🖌 Quick and Dirty DOS-inspired Wordress theme.
Visual Studio 2012 inspired theme for Notepad++.
🎯 Aims to be a simple debugger, both as a stand-alone application and library.
🖥 Interactive hexadecimal file viewer in your terminal/console.
🔬 x86/AMD64 Processor Information Tool.
🍫 Alternative Chocolatey client.
💽 Universal virtual disk management tool.
Simple human-readable fast binary file type scanner.
x86/AMD64 Processor Tester.
Executable file information tool.
df(1)-like utility for Windows.
The reincarnation of the long lost Office assistant as a stand-alone assistant.
Desktop file interpreter for Windows.
Windows 98 Simulator in your Web browser.
Ｔｒａｎｓｆｏｒｍ ᴛᴇxᴛ.
Tools for 7 Days to Die.
Small textpad
Small emoji 15.0 picker
Manual for the ddcpuid project. Contains details about x86/AMD64 technologies, extensions, instructions, and more.
Technical reference manual for the DD/86 project, including early x86 processor details.
Modern Mod manager client for the PonySFM website, using C# and WPF.
I'm available via email (dd<AT>dax.moe) for both business and non-business related matters. I am fully bilingual in French and English.
There's more stuff on my:
For updates, you can follow my:


General Information
Welcome to the City Dashboard! This platform shows you what is going on in Amsterdam at this moment.
The city in graphics
What is the average speed of traffic in the city? How many cultural events are going on? What are the levels of noise and what are people tweeting about? Answers to these and many other questions are featured and visualized in this dashboard of Amsterdam. Play and experiment with it, make different combinations and get to know the city real-time!
Translating data into accessible information
Citizens and (government) agencies create and collect a lot of data, which they are now opening up for reuse more and more. This dashboard makes use of the latest open data from a wide range of municipal services. By using the Linked Data API from the CitySDK project , this City Dashboard becomes easily transferable to other cities using the same interface.
The CitySDK Linked Data API also makes information searchable and available on demand, enabling developers to create applications such as this dashboard.
How to use the City Dashboard
A city consists of many elements, shown on this dashboard as the following domains: transport, environment, statistics, economy, social, cultural & security. For each domain, the actual status is shown, based on blocks of 24 hours. The data is refreshed every 10 seconds. The information is captured in charts, graphs and on a map of the city. Larger dots and darker colors symbolize higher values and vice versa. On the map, you can choose which layers you want to see: from only one domain to interesting combinations and all of them together. Personalize what you are seeing and try to discover the city of Amsterdam on a whole new level!
No data available?
We aim to display all the numbers, graphics and other results in this City Dashboard as readable as possible. Since this platform collects data from different kind of sources that otherwise are stored in multiple databases, it may happen that particular data isn't available for a moment. In that case the data source is interrupted.


{% extends "base.html" %} {% block content %}
The page you requested was not found on the server. Please check your spelling and retry.


libcloud Monthly Update (September 2011) - FLOSS weekly, OpenStack driver improvements, DNS API
Without further ado here is a Libcloud monthly update for September 2011.
What has been accomplished in the past month
-
I was a guest on FLOSS weekly (podcast about FOSS software) where I talked about Libcloud. You can find video and audio recording of the show on twit.tv.
-
OpenStack and Rackspace drivers have received a lot of needed attention and refactoring. Rackspace driver now properly inherits from the OpenStack one instead of vice versa (thanks Mike). This will make extending the Rackspace driver and developing other provider drivers which are based on OpenStack a lot easier. Rackspace drivers now also support authentication with Rackspace Auth 1.1.
-
Linode compute driver now supports new location in Japan.
Linode has recently added a new location (Tokyo, Japan) and this location is now also supported in Libcloud.
-
DNS API development has finally started.
Base API proposal can be found here. I have also just finished a reference implementation and a first driver for the Linode DNS as a service. The driver can be found in trunk. Feedback is welcome (and encouraged).
What is currently going on
- Hacking on the DNS API continues. DNS API with at least two drivers is planned to be included in the next release (0.6.0) which should be out around November.
See you next month!


TIMBER STUDIO
STUDIO 6: HOUSING WORKS, SOHO, NYC
Solid and void spaces were inspired after the study of Laurie Anderson’s song “Gravity’s Angel”. This design plays on the spatial arrangement of volumes based on the variety and variations in programmed function. A cross laminated timber structure allowed for the unique forms to be easily accommodated within a warm, uniform, ordered framework, scaled to the context. Numerous common areas for volunteers, employees, and guests are provided on every level. The central public bubble provides the space Housing Works users need, while also creating a whimsical experience within a more traditional frame-work. The facade creates fluid transitions between my project and those around it.
Conducted a survey of the existing site. Developed a site analysis and study about the existing conditions. Studied hypothetical donor Laurie Anderson, and created a sys-tem, measuring different components such as rhythm, pitch, and density, leading to the final song analysis drawing and study model. Developed plans, sections, elevations, renderings, and final model for final presentation.


Path Finding
Visualization
This demo needs JavaScript
Find path
Clear path/add moar wall(s)
Rebuild everything


{% extends "base_error.html" %} {% block content %}
Oops. That page doesn't seem to exist. Check the address or go to the main page.


Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block.
This rule is deprecated, use {rule:squid:S2221} instead.


|
pyrax
Python Bindings for the Rackspace Cloud
|
This class handles all of the basic authentication requirements for working with an OpenStack Cloud system. More...
Public Member Functions | |
| def | __init__ |
| Initializes the attributes for this identity object. | |
| def | auth_token |
| Simple alias to self.token. | |
| def | auth_endpoint |
| Abstracts out the logic for connecting to different auth endpoints. | |
| def | auth_endpoint |
| def | get_default_region |
| In cases where the region has not been specified, return the value to use. | |
| def | __getattr__ |
| Magic to allow for specification of client by region/service or by service/region. | |
| def | get_client |
| Returns the client object for the specified service and region. | |
| def | set_credentials |
| Sets the username and password directly. | |
| def | set_credential_file |
| Reads in the credentials from the supplied file. | |
| def | auth_with_token |
| If a valid token is already known, this call uses it to generate the service catalog. | |
| def | method_head |
| def | method_get |
| def | method_post |
| def | method_put |
| def | method_delete |
| def | method_patch |
| def | authenticate |
| Using the supplied credentials, connects to the specified authentication endpoint and attempts to log in. | |
| def | keyring_auth |
| Uses the keyring module to retrieve the user's password or api_key. | |
| def | unauthenticate |
| Clears out any credentials, tokens, and service catalog info. | |
| def | get_extensions |
| Returns a list of extensions enabled on this service. | |
| def | get_token |
| Returns the auth token, if it is valid. | |
| def | list_tokens |
| ADMIN ONLY. | |
| def | check_token |
| ADMIN ONLY. | |
| def | revoke_token |
| ADMIN ONLY. | |
| def | get_token_endpoints |
| ADMIN ONLY. | |
| def | list_users |
| ADMIN ONLY. | |
| def | create_user |
| ADMIN ONLY. | |
| def | find_user_by_name |
| Returns a User object by searching for the supplied user name. | |
| def | find_user_by_email |
| Returns a User object by searching for the supplied user's email address. | |
| def | find_user_by_id |
| Returns a User object by searching for the supplied user ID. | |
| def | get_user |
| Returns the user specified by either ID, username or email. | |
| def | update_user |
| ADMIN ONLY. | |
| def | delete_user |
| ADMIN ONLY. | |
| def | list_roles_for_user |
| ADMIN ONLY. | |
| def | list_credentials |
| Returns a user's non-password credentials. | |
| def | reset_api_key |
| Not available in basic Keystone identity. | |
| def | get_tenant |
| Returns the tenant for the current user. | |
| def | list_tenants |
| Lists all tenants associated with the currently authenticated user (admin=False), or all tenants (admin=True). | |
| def | create_tenant |
| ADMIN ONLY. | |
| def | update_tenant |
| ADMIN ONLY. | |
| def | delete_tenant |
| ADMIN ONLY. | |
| def | list_roles |
| Returns a list of all global roles for users, optionally limited by service. | |
| def | get_role |
| Returns a Role object representing the specified parameter. | |
| def | add_role_to_user |
| Adds the specified role to the specified user. | |
| def | delete_role_from_user |
| Deletes the specified role from the specified user. | |
Public Attributes | |
| username | |
| password | |
| tenant_id | |
| tenant_name | |
| token | |
| expires | |
| region | |
| verify_ssl | |
| api_key | |
| services | |
| regions | |
| authenticated | |
| user_agent | |
| http_log_debug | |
| service_mapping | |
| service_catalog | |
| user |
This class handles all of the basic authentication requirements for working with an OpenStack Cloud system.
| def __init__ | ( | self, | |
username = None , |
|||
password = None , |
|||
tenant_id = None , |
|||
tenant_name = None , |
|||
auth_endpoint = None , |
|||
api_key = None , |
|||
token = None , |
|||
credential_file = None , |
|||
region = None , |
|||
timeout = None , |
|||
verify_ssl = True |
|||
| ) |
Initializes the attributes for this identity object.
| def __getattr__ | ( | self, | |
| att | |||
| ) |
Magic to allow for specification of client by region/service or by service/region.
If a service is specified, this should return an object whose endpoints contain keys for each available region for that service. If a region is specified, an object with keys for each service available in that region should be returned.
| def add_role_to_user | ( | self, | |
| role, | |||
| user | |||
| ) |
Adds the specified role to the specified user.
There is no return value upon success. Passing a non-existent role or user raises a NotFound exception.
| def auth_endpoint | ( | self | ) |
Abstracts out the logic for connecting to different auth endpoints.
| def auth_endpoint | ( | self, | |
| val | |||
| ) |
| def auth_token | ( | self | ) |
Simple alias to self.token.
| def auth_with_token | ( | self, | |
| token, | |||
tenant_id = None , |
|||
tenant_name = None |
|||
| ) |
If a valid token is already known, this call uses it to generate the service catalog.
Reimplemented in FakeIdentity.
| def authenticate | ( | self, | |
username = None , |
|||
password = None , |
|||
api_key = None , |
|||
tenant_id = None |
|||
| ) |
Using the supplied credentials, connects to the specified authentication endpoint and attempts to log in.
Credentials can either be passed directly to this method, or previously-stored credentials can be used. If authentication is successful, the token and service catalog information is stored, and clients for each service and region are created.
| def check_token | ( | self, | |
token = None |
|||
| ) |
ADMIN ONLY.
Returns True or False, depending on whether the current token is valid.
| def create_tenant | ( | self, | |
| name, | |||
description = None , |
|||
enabled = True |
|||
| ) |
ADMIN ONLY.
Creates a new tenant.
| def create_user | ( | self, | |
| name, | |||
| email, | |||
password = None , |
|||
enabled = True |
|||
| ) |
ADMIN ONLY.
Creates a new user for this tenant (account). The username and email address must be supplied. You may optionally supply the password for this user; if not, the API server generates a password and return it in the 'password' attribute of the resulting User object. NOTE: this is the ONLY time the password is returned; after the initial user creation, there is NO WAY to retrieve the user's password.
You may also specify that the user should be created but not active by passing False to the enabled parameter.
| def delete_role_from_user | ( | self, | |
| role, | |||
| user | |||
| ) |
Deletes the specified role from the specified user.
There is no return value upon success. Passing a non-existent role or user raises a NotFound exception.
| def delete_tenant | ( | self, | |
| tenant | |||
| ) |
ADMIN ONLY.
Removes the tenant from the system. There is no 'undo' available, so you should be certain that the tenant specified is the tenant you wish to delete.
| def delete_user | ( | self, | |
| user | |||
| ) |
ADMIN ONLY.
Removes the user from the system. There is no 'undo' available, so you should be certain that the user specified is the user you wish to delete.
| def find_user_by_email | ( | self, | |
| ) |
Returns a User object by searching for the supplied user's email address.
Returns None if there is no match for the given ID.
| def find_user_by_id | ( | self, | |
| uid | |||
| ) |
Returns a User object by searching for the supplied user ID.
Returns None if there is no match for the given ID.
| def find_user_by_name | ( | self, | |
| name | |||
| ) |
Returns a User object by searching for the supplied user name.
Returns None if there is no match for the given name.
| def get_client | ( | self, | |
| service, | |||
| region, | |||
public = True , |
|||
cached = True , |
|||
client_class = None |
|||
| ) |
Returns the client object for the specified service and region.
By default the public endpoint is used. If you wish to work with a services internal endpoints, specify `public=False`.
By default, if a client has already been created for the given service, region, and public values, that will be returned. To force a new client to be created, pass 'cached=False'.
| def get_default_region | ( | self | ) |
In cases where the region has not been specified, return the value to use.
Subclasses may use information in the service catalog to determine the appropriate default value.
| def get_extensions | ( | self | ) |
Returns a list of extensions enabled on this service.
| def get_role | ( | self, | |
| role | |||
| ) |
| def get_tenant | ( | self | ) |
Returns the tenant for the current user.
| def get_token | ( | self, | |
force = False |
|||
| ) |
Returns the auth token, if it is valid.
If not, calls the auth endpoint to get a new token. Passing 'True' to 'force' forces a call for a new token, even if there already is a valid token.
Reimplemented in FakeIdentity.
| def get_token_endpoints | ( | self | ) |
ADMIN ONLY.
Returns a list of all endpoints for the current auth token.
| def get_user | ( | self, | |
user_id = None , |
|||
username = None , |
|||
email = None |
|||
| ) |
Returns the user specified by either ID, username or email.
Since more than user can have the same email address, searching by that term returns a list of 1 or more User objects. Searching by username or ID returns a single User.
If a user_id that doesn't belong to the current account is searched for, a Forbidden exception is raised. When searching by username or email, a NotFound exception is raised if there is no matching user.
| def keyring_auth | ( | self, | |
username = None |
|||
| ) |
Uses the keyring module to retrieve the user's password or api_key.
| def list_credentials | ( | self, | |
user = None |
|||
| ) |
Returns a user's non-password credentials.
If no user is specified, the credentials for the currently authenticated user are returned.
You cannot retrieve passwords by this or any other means.
| def list_roles | ( | self, | |
service_id = None , |
|||
limit = None , |
|||
marker = None |
|||
| ) |
Returns a list of all global roles for users, optionally limited by service.
Pagination can be handled through the standard 'limit' and 'marker' parameters.
| def list_roles_for_user | ( | self, | |
| user | |||
| ) |
ADMIN ONLY.
Returns a list of roles for the specified user. Each role will be a 3-tuple, consisting of (role_id, role_name, role_description).
| def list_tenants | ( | self, | |
admin = True |
|||
| ) |
Lists all tenants associated with the currently authenticated user (admin=False), or all tenants (admin=True).
| def list_tokens | ( | self | ) |
ADMIN ONLY.
Returns a dict containing tokens, endpoints, user info, and role metadata.
| def list_users | ( | self | ) |
ADMIN ONLY.
Returns a list of objects for all users for the tenant (account) if this request is issued by a user holding the admin role (identity:user-admin).
| def method_delete | ( | self, | |
| uri, | |||
admin = False , |
|||
data = None , |
|||
headers = None , |
|||
std_headers = True |
|||
| ) |
| def method_get | ( | self, | |
| uri, | |||
admin = False , |
|||
data = None , |
|||
headers = None , |
|||
std_headers = True |
|||
| ) |
| def method_head | ( | self, | |
| uri, | |||
admin = False , |
|||
data = None , |
|||
headers = None , |
|||
std_headers = True |
|||
| ) |
| def method_patch | ( | self, | |
| uri, | |||
admin = False , |
|||
data = None , |
|||
headers = None , |
|||
std_headers = True |
|||
| ) |
| def method_post | ( | self, | |
| uri, | |||
admin = False , |
|||
data = None , |
|||
headers = None , |
|||
std_headers = True |
|||
| ) |
| def method_put | ( | self, | |
| uri, | |||
admin = False , |
|||
data = None , |
|||
headers = None , |
|||
std_headers = True |
|||
| ) |
| def reset_api_key | ( | self, | |
user = None |
|||
| ) |
Not available in basic Keystone identity.
| def revoke_token | ( | self, | |
| token | |||
| ) |
ADMIN ONLY.
Returns True or False, depending on whether deletion of the specified token was successful.
| def set_credential_file | ( | self, | |
| credential_file, | |||
region = None , |
|||
tenant_id = None , |
|||
authenticate = False |
|||
| ) |
Reads in the credentials from the supplied file.
It should be a standard config file in the format:
[keystone] username = myusername password = top_secret tenant_id = my_id
| def set_credentials | ( | self, | |
| username, | |||
password = None , |
|||
region = None , |
|||
tenant_id = None , |
|||
authenticate = False |
|||
| ) |
Sets the username and password directly.
| def unauthenticate | ( | self | ) |
Clears out any credentials, tokens, and service catalog info.
| def update_tenant | ( | self, | |
| tenant, | |||
name = None , |
|||
description = None , |
|||
enabled = True |
|||
| ) |
ADMIN ONLY.
Updates an existing tenant.
| def update_user | ( | self, | |
| user, | |||
email = None , |
|||
username = None , |
|||
uid = None , |
|||
enabled = None |
|||
| ) |
ADMIN ONLY.
Updates the user attributes with the supplied values.
Reimplemented in FakeIdentity.
Reimplemented in FakeIdentity.
Reimplemented in FakeIdentity.
Reimplemented in FakeIdentity.
Reimplemented in FakeIdentity.
Reimplemented in FakeIdentity.
Reimplemented in FakeIdentity.


Change Log: 2.082.0
Download D 2.082.0
released Sep 01, 2018
Compiler changes
- Support for comparing arrays of unsigned byte-sized types and structs has been added to -betterC
- Added D_ModuleInfo, D_Exceptions, and D_TypeInfo version identifiers
- Deprecate conditional expression followed by an assign expression
- Unsafe code can now be used in debug blocks
- Deprecate usage of opDot
- D now supports deprecated, @disable and user-defined attributes on enum members
- Deprecated C-style array declarations will now result in a compilation error
- Mangling of extern(C++) template on Windows now correctly mangles const non-pointer template parameters.
- .offsetof and .tupleof for fields of Objective-C classes have now been disabled
- 64-bit OS X: Revert C++ mangling of long to pre-2.079 to restore size_t interop
- UDAs on function parameters are now supported
Runtime changes
Library changes
- Single- and double-precision implementations for (a)tan and exp function families
- std.algorithm.iteration.each is now capable of early-stopping
- std.algorithm.iteration.joiner can now be used for bidirectional ranges
- std.algorithm.searching.skipOver can now handle variadic arguments
- Added staticArray to construct a static array from array / input range. Includes a length-inferring compile-time variant.
- Deprecated functions for getting the timezone have been removed.
Installer changes
Dub changes
- Variables such as $ARCH or $PLATFORM are now supported in the build settings.
- DUB supports build type "syntax"
- Enviroment variable expansion was improved
- Dependency resolution has been reimplemented using a recursive algorithm
- DUB accepts single file packages on STDIN
- The regular upgrade check has been removed
List of all bug fixes and enhancements in D 2.082.0.
Compiler changes
- Support for comparing arrays of unsigned byte-sized types and structs has been added to -betterC
Prior to this release, the following code did not build in -betterC, but will with this release.
// (Prior to this release) Error: TypeInfo cannot be used with -betterC struct Sint { int x; this(int v) { x = v;} } extern(C) void main() { Sint[6] a1 = [Sint(1), Sint(2), Sint(3), Sint(1), Sint(2), Sint(3)]; assert(a1[0..3] == a1[3..$]); }
// (Prior to this release) Linker Error: undefined reference to `core.internal.string.dstrcmp` extern(C) void main() { auto s = "abc"; switch(s) { case "abc": break; default: break; } }
// (Prior to this release) Linker Error: undefined reference to `core.internal.string.dstrcmp` extern(C) void main() { char[6] a = [1,2,3,1,2,3]; assert(a[0..3] >= a[3..$]); // failed for any byte-sized type (e.g. `char`, `ubyte`, etc...) }
- Added D_ModuleInfo, D_Exceptions, and D_TypeInfo version identifiers
D_ModuleInfo, D_Exceptions, and D_TypeInfo version identifiers were added to allow better precision in druntime and other library implementations.
- Deprecate conditional expression followed by an assign expression
When a conditional expression is the left operand of an assign expression, they would be parsed as an assignment to the result of the conditional. This has now been deprecated. To preserve the existing behaviour, add parentheses for the conditional without including the assignment:
bool test; int a, b, c; ... test ? a = b : c = 2; // Deprecated (test ? a = b : c) = 2; // Equivalent
This makes the intent clearer, because the first statement can easily be misread as the following code:
test ? a = b : (c = 2);
- Unsafe code can now be used in debug blocks
When writing debug code, one isn't interested in the type safety, but a pleasant debugging experience. The type checker already allowed to escape pure and @nogc within debug statement. With this release, @system code can be called from debug statements too:
void main() { int[] arr = [1, 2]; debug unsafeCode(arr); } @system void unsafeCode(T)(T[] arr) { import core.stdc.stdio; printf("arr.ptr: %p", arr.ptr); }
- Deprecate usage of opDot
opDot was the D1 analog to alias this. However, alias this covers all use cases of opDot, but ensures safety.
struct S { int a, b; } struct T { S s; S* opDot() { return &s; } } void main() { T t; t.a = 4; assert(t.a == 4); t.b = 5; }
With alias this:
struct S { int a, b; } struct T { S s; alias s this; } void main() @safe { T t; t.a = 4; assert(t.a == 4); t.b = 5; }
- D now supports deprecated, @disable and user-defined attributes on enum members
Example
template AliasSeq(TList...) { alias AliasSeq = TList; } enum MyEnum { @("uda0") value0, @disable value1, deprecated value2 // Deprecation: enum member `main.MyEnum.value2` is deprecated } static assert(__traits(getAttributes, MyEnum.value0) == AliasSeq!("uda0")); void main() { auto v1 = MyEnum.value1; // Error: enum member `main.MyEnum.value1` cannot be used because it is annotated with `@disable` }
- Deprecated C-style array declarations will now result in a compilation error
The deprecation period for C-style array declarations has expired. Beginning with this release, declaring arrays with C-style syntax will result in an error.
int a[2]; // Error: instead of C-style syntax, use D-style `int a[2]` int[2] b; // OK
- Mangling of extern(C++) template on Windows now correctly mangles const non-pointer template parameters.
It used to ignore the const and was missing the $$C escape prefix.
extern(C++) struct foo(T) {} extern(C++) void test(foo!(const(char)) a) {} // New static assert(test.mangleof == "?test@@YAXU?$foo@$$CBD@@@Z"); // Old //static assert(test.mangleof == "?test@@YAXU?$foo@D@@@Z");
- .offsetof and .tupleof for fields of Objective-C classes have now been disabled
To solve the fragile base class problem [1] in Objective-C, fields have a dynamic offset instead of a static offset. The compiler outputs a statically known offset which later the dynamic loader can update, if necessary, when the application is loaded. Due to this behavior it doesn't make sense to be able to get the offset of a field at compile time, because this offset might not actually be the same at runtime.
To get the offset or value of a field, that is correct at runtime, functionality from the Objective-C runtime can be used instead [2].
[1] https://en.wikipedia.org/wiki/Fragile_binary_interface_problem [2] https://developer.apple.com/documentation/objectivec/objective_c_runtime
- 64-bit OS X: Revert C++ mangling of long to pre-2.079 to restore size_t interop
Direct interop of D size_t and C++ size_t was working before 2.079, on all platforms except for 32-bit OS X. By mangling D long as C++ long long on 64-bit OS X starting with 2.079, size_t interop broke on a more relevant platform. With new/fixed aliases, e.g., core.stdc.stdint.int64_t, core.stdc.stdint.uint64_t and core.stdc.config.cpp_size_t, there are now proper tools for portable C++ interop wrt. integers. Reverting to the previous C++ mangling on 64-bit OS X (C++ long) may save mixed D/C++ code bases from the need of manual adaptations by skipping the 2.079-2.081 DMD versions.
- UDAs on function parameters are now supported
User-defined attributes on function parameters behave analogous to existing UDAs:
void example(@(22) string param) { @(11) string var; static assert([__traits(getAttributes, var)] == [11]); static assert([__traits(getAttributes, param)] == [22]); }
Runtime changes
- Exception trapping can now be disabled via --DRT-trapExceptions=0
Previously it was only possible to disable the trapping of exception by setting the global variable rt_trapExceptions to false. Now you can, for example, immediately open gdb at the uncaught exception:
> gdb -ex run --args
--DRT-trapExceptions=0 [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". uncaught exception object.Exception@src/rt_trap_exceptions_drt.d(4): foo –––––––––– src/rt_trap_exceptions_drt.d:4 void rt_trap_exceptions_drt.test() [0x55591026] src/rt_trap_exceptions_drt.d:9 _Dmain [0x55591058] Program received signal SIGABRT, Aborted. 0x00007ffff6e7b86b in raise () from /usr/lib/libc.so.6 (gdb) bt full #0 0x00007ffff6e7b86b in raise () from /usr/lib/libc.so.6 No symbol table info available. #1 0x00007ffff6e6640e in abort () from /usr/lib/libc.so.6 No symbol table info available. #2 0x00005555555918cc in _d_throwdwarf (o=0x7ffff7ea4000) at src/rt/dwarfeh.d:233 eh = 0x7ffff7fa4740 refcount = 0 r = 5 #3 0x0000555555591027 in rt_trap_exceptions_drt.test() () at ../../src/object.d:2695 innerLocal = 20 #4 0x0000555555591059 in D main (args=...) at src/rt_trap_exceptions_drt.d:9 myLocal = "bar" This Week in D for an in-depth explanation of rt_trapExceptions
- Additional functions for associative arrays
The require function provides a means to construct a new value when the key is not present.
class C{} C[string] aa; auto a = aa.require("a", new C); // lookup "a", construct if not present
The update function allows different operations to be performed depending on whether a value already exists or needs to be constructed.
class C{} C[string] aa; C older; C newer; aa.update("a", { newer = new C; return newer; }, (ref C c) { older = c; newer = new C; return newer; });
The functions avoid the need to perform multiple key lookups. Further details are available in the spec.
- TypeInfo.getHash now uses core.internal.hash.hashOf functions for hash computing
Now typeid(typeof(var)).getHash(&var) should be always equal hashOf(val). hashOf uses MurmurHash3 algorithm for bitwise hashing, including string hashing. Old implementation used polynomial hash for string hashing, which often provided lexicographical order of strings in associative array. However AA doesn't guarantee some specific order of elements, thus tests which rely on it should be changed.
- core.sys.posix.utsname.update renamed to version_
The struct that uname returns - utsname - has the field version in C. The D definition of the struct cannot match that, because version is a keyword in D. So, it's been called update, which is not an obvious choice. It is more in line with current naming policies (and more in line with the name in C) for it to be called version_, since that's the closest that we can get to version in D. So, update has now been renamed to version_, and update is an alias of version_ which will be deprecated in a future release.
Library changes
- Single- and double-precision implementations for (a)tan and exp function families
The float and double overloads of std.math.atan, std.math.atan2, std.math.tan, std.math.exp, std.math.expm1 and std.math.exp2 previously forwarded to the real implementation (inline assembly) and now got proper 'software' implementations in the corresponding precision.
While this may result in a slowdown in some cases for DMD (especially for exp() and exp2()), the overall speed-up factor for LDC is > 3, for both double and float.
This also implies less precise results, especially in single-precision, so if your code depended on more accurate results via 80-bit intermediate precision, you'll have to cast the argument(s) explicitly now.
- std.algorithm.iteration.each is now capable of early-stopping
std.algorithm.iteration.each is now capable of exiting early. When a No.each std.typecons.Flag is returned from the function that is called by each, the iteration will be aborted early. Analogously, returning Yes.each will continue the iteration. For example:
auto arr = [10, 20, 30]; arr.each!((n) { arr ~= n; return (n == 20) ? No.each : Yes.each; }); // aborts after the second iteration assert(arr == [10, 20, 30, 10, 20]);
- std.algorithm.iteration.joiner can now be used for bidirectional ranges
std.algorithm.iteration.joiner can now be requested to be a bidirectional range.
import std.algorithm.iteration : joiner; import std.range : retro; [[1, 2], [3, 4]].joiner.retro; // [4, 3, 2, 1]
A more complex example of inserting a format delimiter fully lazily:
import std.algorithm.comparison : equal; import std.range : chain, cycle, iota, only, retro, take, zip; import std.format : format; static immutable number = "12345678"; static immutable delimiter = ","; auto formatted = number.retro .zip(3.iota.cycle.take(number.length)) .map!(z => chain(z[0].only, z[1] == 2 ? delimiter : null)) .joiner .retro; // "12,345,678"
- std.algorithm.searching.skipOver can now handle variadic arguments
std.algorithm.skipOver which allows to move over a needle if it matches now accepts variadic arguments for needles to skip over:
auto s = "DLang.rocks"; assert(!s.skipOver("dlang", "DLF", "DLang ")); assert(s == "DLang.rocks"); assert(s.skipOver("dlang", "DLANG", "DLF", "D", "DL", "DLanp")); assert(s == "ang.rocks");
- Added staticArray to construct a static array from array / input range. Includes a length-inferring compile-time variant.
The type of elements can be specified implicitly so that [1, 2].staticArray results in int[2], or explicitly, e.g. [1, 2].staticArray!float returns float[2]. When a is a range whose length is not known at compile time, the number of elements must be given as template argument (e.g. myrange.staticArray!2). Size and type can be combined, if the source range elements are implicitly convertible to the requested element type (eg: 2.iota.staticArray!(long[2])). When the range a is known at compile time, it can also be specified as a template argument to avoid having to specify the number of elements (e.g.: staticArray!(2.iota) or staticArray!(double, 2.iota)).
import std.range : iota; auto input = 3.iota; auto a = input.staticArray!2; static assert(is(typeof(a) == int[2])); assert(a == [0, 1]); auto b = input.staticArray!(long[4]); static assert(is(typeof(b) == long[4])); assert(b == [0, 1, 2, 0]);
- Deprecated functions for getting the timezone have been removed.
Due to the fact that Microsoft changes its timezone definitions too frequently to maintain the conversion between the IANA TZ Database names and the names that Microsoft uses in the standard library, several functions in std.datetime.timezone related to getting the time zone independently of the host OS were previously deprecated: TimeZone.getTimeZone, TimeZone.getInstalledTZNames, tzDatabaseNameToWindowsTZName, and windowsTZNameToTZDatabaseName. These functions have now been fully removed.
Instead of TimeZone.getTimeZone, std.datetime.timezone.PosixTimeZone.getTimeZone and std.datetime.timezone.WindowsTimeZone.getTimeZone should be used directly. Instead of Timezone.getInstalledTimeZones, std.datetime.timezone.PosixTimeZone.getInstalledTZNames and std.datetime.timezone.WindowsTimeZone.getInstalledTZNames should be used directly. And any programs looking to convert between the TZ Database names and the Windows names can use std.datetime.timezone.parseTZConversions with the current windowsZones.xml file to get the current conversions (see the documenation for std.datetime.timezone.parseTZConversions for details).
Installer changes
- Windows installer and binaries are now code-signed
All released executables on Windows will now be code-signed by the following certificate.
Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert SHA2 Assured ID Code Signing CA Serial Number: 04:e7:49:06:78:3a:e6:5f:54:37:fd:55:45:66:5f:e5 Validity Not Before: Aug 7 00:00:00 2018 GMT Not After : Aug 11 12:00:00 2021 GMT Subject: C = US, ST = Washington, L = Kirkland, O = D Language Foundation, CN = D Language Foundation SHA1 Fingerprint: BD:E0:0F:CA:EF:6A:FA:37:15:DB:D4:AA:1A:43:2E:78:27:54:E6:60 SHA256 Fingerprint: AA:B0:6F:7B:A8:26:52:51:C4:24:44:1B:34:8E:30:68:F4:34:DB:35:38:6A:17:A7:45:C3:27:77:11:24:C4:E5
Nightly builds and branch/feature previews will not be code-signed for now.
Dub changes
- Variables such as $ARCH or $PLATFORM are now supported in the build settings.
JSON lines such as
"lflags-posix-x86": [ "-L$PACKAGE_DIR/lib/posix-x86" ], "lflags-posix-x86_64": [ "-L$PACKAGE_DIR/lib/posix-x86_64" ],
can be turned into
"lflags-posix": [ "-L$PACKAGE_DIR/lib/posix-$ARCH" ],
Both $VAR and ${VAR} syntaxes are supported. The supported variables are as follow:
name values $ARCH "x86", "x86_64"
$PLATFORM "linux", "windows", ...
$PLATFORM_POSIX "posix", "windows", ...
$BUILD_TYPE "debug", "release", ...
- DUB supports build type "syntax"
With this release new build type "syntax" is added. This build type is useful for IDEs to check the syntax of D coding without generating binaries.
- Enviroment variable expansion was improved
Environment variable expansion now supports the braced ${MY_VAR} expansion syntax: e.g. for ${PACKAGE_PATH}_suffix.
Moreover, $PACKAGE_PATH, $ROOT_PACKAGE_PATH, and $DEP_PACKAGE_PATH no longer end with a / or \ to support clean concatenation, e.g. ${PACKAGE_PATH}/subpath.
Learn more about the details at #1392.
- Dependency resolution has been reimplemented using a recursive algorithm
The new algorithm minimizes the search space while descending the dependency graph. Compared to the old approach, it is now much less likely to run into pathological cases that result in exponential run time ("The dependency resolution algorithm is taking too long").
Furthermore, the error message in case of unsatisfiable dependencies is more precise, usually making it straight forward to debug issues in the dependency graph of a failing package.
- DUB accepts single file packages on STDIN
You can pass single file packages to dub on STDIN using dash as first argument to DUB. All arguments after dash will be passed as runtime arguments to the application.
Example cat app.d | dub - --foo=bar
- The regular upgrade check has been removed
Previously dub would regularly (once a day) check for possible package upgrades before building a packages. This lead to unexpected build failures, e.g. when internet connectivity was down or dependency resolution failed, and caused unnecessary delays.
The build flag --nodeps now only suppresses resolution of missing dependencies.
The new upgrade flag --dry-run was added to explicitly check for upgradable packages without actually upgrading anything.
List of all bug fixes and enhancements in D 2.082.0:
DMD Compiler regressions
- Bugzilla 18068: No file names and line numbers in stack trace
- Bugzilla 19050: Running the DMD test suite with a compiler compiled in debug mode fails due to invalid characters, -
- Bugzilla 19058: __traits(getUnitTests) stops working with separate compilation in dmd 2.081.0
- Bugzilla 19074: [REG 2.080] SIGSEGV in el_ptr (s=0x15) at dmd/backend/el.c:1760
- Bugzilla 19076: dmd 2.081 crashed by getVirtualFunctions for a interface extended interface
- Bugzilla 19134: [C++] static const y = new Derived(); ->pointer cast from const(Derived) to immutable(void*)** is not supported at compile time
- Bugzilla 19140: [REG master] AssertError@dmd/ctfeexpr.d(229): Assertion failure
- Bugzilla 19152: 2.081.1 getOverloads regression compiler bug
- Bugzilla 19162: [REG: 2.079.0] Public Import Overlapping Names Conflict Resolution
DMD Compiler bugs
- Bugzilla 9701: UDAs cannot be attached to enum values.
- Bugzilla 15373: Segfault when using typeid on extern(C++) class with virtual functions
- Bugzilla 17580: Marking methods as synchronized is allowed despite spec
- Bugzilla 18620: error cannot be interpreted at compile time is missing context where error occurs
- Bugzilla 18985: bad error message for += operation on shared Object
- Bugzilla 19018: Lexer allows invalid integer literals, like 0x
- Bugzilla 19035: Escape in scope inference, improve scope inference
- Bugzilla 19043: Incorrect mangling for extern(C++) const template parameter on windows
- Bugzilla 19051: Undefined functions Set/GetWindowLongPtr in mingw libs
- Bugzilla 19053: debug should escape @safe
- Bugzilla 19059: Invalid integer literal 08 and 09 allowed
- Bugzilla 19107: -de produces compilation error, -dw does not
- Bugzilla 19112: Associative array opIn with static array key fails with dynamic array
- Bugzilla 19176: Dmd crashes because of __traits(getUnitTests)
- Bugzilla 19181: Semantic errors in opDispatch argument lead to "no property X"
- Bugzilla 19187: __traits(compiles) segfaults on access to partially undefined overload set from import
- Bugzilla 19193: deprecated attribute on enum members in templates is ignored
DMD Compiler enhancements
- Bugzilla 17602: improve message for deprecated enum comparison
- Bugzilla 18743: ConditionalExpression and AssignExpression should require parentheses
- Bugzilla 18994: Use noncopyable variable in foreach loop without ref results in error message without line number
- Bugzilla 19022: CTorFlow: Show the line of the duplicated initialization for const/immutable fields
- Bugzilla 19081: Can't declare enum with UDA at statement level
- Bugzilla 19108: Unknown pragmas not ignored inside body
Phobos bugs
- Bugzilla 12507: SysTime.init.toString should not segfault
- Bugzilla 15732: std.function partial does not work with function / delegate references
- Bugzilla 18682: std.typecons.Nullable has opEquals but no toHash
- Bugzilla 18804: std.algorithm.mutation.copy puts whole source range into target range when it should put elements
- Bugzilla 18933: std.range.assumeSorted should not nest SortedRange!(SortedRange!(...), pred)
- Bugzilla 18995: std.array.array doesn't free elements
- Bugzilla 19003: format!"" breaks with structs containing invariants violated in .init
- Bugzilla 19094: Anchored section does not exist in std.uni.normalize phobos documentation
- Bugzilla 19138: std.uuid.randomUUID should not depend on std.random.Random being Mt19937
- Bugzilla 19147: Reduce template bloat in std.complex by using const arguments
- Bugzilla 19171: Array!bool range slicing has invalid assert
Phobos enhancements
- Bugzilla 12335: std.algorithm.skipOver should support multiple args like startsWith
- Bugzilla 13121: std.algorithm.joiner should return a bidirectional range if possible
- Bugzilla 14001: Optionally @nogc std.random.randomCover
- Bugzilla 16639: Review std.json wrt this article on JSON edge cases and ambiguities
- Bugzilla 16745: Add template helper for creating static arrays with the size inferred
- Bugzilla 17019: std.algorithm.iteration.each should be usable with parallel
- Bugzilla 18790: can't put a const(char)[] into a char[]
- Bugzilla 19037: Nullable should use moveEmplace to support any type.
- Bugzilla 19135: std.json : JSON_TYPE does not match D Style.
- Bugzilla 19156: @nogc std.random.randomShuffle
Druntime bugs
- Bugzilla 19046: OSX: bad value for core.stdc.time.CLOCKS_PER_SEC
- Bugzilla 19073: core.internal.hash should not bitwise hash representations of floating point numbers
- Bugzilla 19177: No version (Solaris) in druntime/src/core/stdc/time.d
Druntime enhancements
- Bugzilla 18220: Allow rt_trapexceptions to be set from the CLI
- Bugzilla 18918: core.internal.hash should perform memberwise hashing of structs with references
- Bugzilla 18921: make core.internal.hash cater to memberwise hash chaining
- Bugzilla 18923: Semaphore internal handle should be protected instead of private
- Bugzilla 18942: core.internal.hash can take advantage of alignment info on non-x86
- Bugzilla 18981: SIGSEGV during backtrace when debug info is compressed
- Bugzilla 19009: core.internal.hash.hashOf default hash (absent toHash) should be @nogc
- Bugzilla 19048: In core.internal.hash.hashOf reduce template bloat: remove auto ref where unneeded and add const where possible
- Bugzilla 19049: object.hashOf - don't wrap a public function with an identical public function
- Bugzilla 19071: core.internal.hash should have non-chained toHash overloads
- Bugzilla 19072: Object.toHash and typeid(void*).getHash(&ptr) should be more varied in their low bits
- Bugzilla 19075: rt.util.random.Rand48.defaultSeed should prefer RDTSC or mach_absolute_time or QueryPerformanceCounter to ctime.time
dlang.org bugs
- Bugzilla 18558: Template alias spec incomplete
- Bugzilla 18782: Documentation error: ProtectionAttributes should say Visibility Attributes
- Bugzilla 19055: [404 Not Found] std.digest.digest
- Bugzilla 19067: [Mixins] Dead Link to template-mixin
dlang.org enhancements
- Bugzilla 19041: errnoEnforce: example does not compile
Installer bugs
- Bugzilla 2473: Linux system install instructions incorrect
- Bugzilla 10941: object.d not found when following Mac installation instructions
- Bugzilla 19100: install.sh signature verification fails, no public key
Contributors to this release (50)
A huge thanks goes to all the awesome people who made this release possible.
- aG0aep6G
- Alexibu
- Andrei Alexandrescu
- Atila Neves
- Basile Burg
- Bastiaan Veelo
- BBasile
- Brian Schott
- David Bennett
- Denis Feklushkin
- Diederik de Groot
- dukc
- GabyForceQ
- gapdan
- Giles Bathgate
- glitchbunny
- Greg V
- Hiroki Noda
- Iain Buclaw
- Jacob Carlborg
- Joakim Noah
- Johan Engelen
- John Colvin
- Jonathan M Davis
- kinke
- look-at-me
- Martin Nowak
- Mathias Lang
- Mathis Beer
- Mike Franklin
- Mike Parker
- Nathan Sashihara
- Nicholas Lindsay Wilson
- Nicholas Wilson
- Nick Treleaven
- Per Nordlöw
- Petar Kirov
- Rainer Schuetze
- Razvan Nitu
- Roman Chistokhodov
- Sebastian Wilzbach
- Steven Schveighoffer
- Timothee Cour
- Tyler Knott
- Vladimir Panteleev
- Walter Bright
- wazar
- Yuxuan Shui
- Zach Tollen
- Zevenberge


Server error
Unfortunately, something went wrong. What exactly? Hard to say, maybe our servers are under pressure and do not respond properly. Less likely our backend code thrown an unexpected error. In any case it is our fault, not yours. Though we are probably already trying to fix the issue we would be grateful if you notify our support via<EMAIL_ADDRESS>Thank you for using BitWhisk.


Create a structure that has a copy of an arbitrary subset of the fields in an existing top level structure.
In addition to specifying a subset of the fields, global and field specific options can be specified.
This code is used by pvAccess clients and servers.
The following are provided:
- CreateRequest
- Given an ascii string that selects the subset of the fields desired and the options, it generates
a PVStructure that can be passed from a client to a server.
- PVCopy
-
This is used by a server to pass data between a top level PVStructure that belongs to a client and
the top level structure that has the server's data.


A web developer company
< Tribute Page />
< Random Quote Machine />
< JavaScript Calculator />
< Map Data Across the Globe />
< Wikipedia Viewer />
< Tic Tac Toe Game />
Team work


Privacy Policy
At Journey Foods, your privacy is important to us
Journey Foods ("us", "we", or "our") operates the www.journeyfoods.io website (the "Service").
This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our Service and the choices you have associated with that data.
We use your data to provide and improve the Service. By using the Service, you agree to the collection and use of information in accordance with this policy. Unless otherwise defined in this Privacy Policy, terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, accessible from www.journeyfoods.io
GDPR
GDPR, (The General Data Protection Regulation) is a EU regulation that is meant to protect user data, harmonize data privacy laws across Europe, and reshape the way organizations approach data privacy. GDPR provides regulation to the “processing” of data, such as the collection, storage, transfer, or use of it, which provides EU individuals disclosed access to the data organizations have collected. Journey Foods is GDPR compliant, and is fully committed to your privacy.Learn more about GDPR here: https://eugdpr.org/
Information Collection And Use
We collect several different types of information for various purposes to provide and improve our Service to you.
Types of Data Collected
Personal Data
While using our Service, we may ask you to provide us with certain personally identifiable information that can be used to contact or identify you ("Personal Data"). Personally identifiable information may include, but is not limited to:
- Email address
- First name and last name
- Phone number
- Address, State, Province, ZIP/Postal code, City
- Cookies and Usage Data
Usage Data
We may also collect information about how the Service is accessed and used ("Usage Data"). This Usage Data may include information such as your computer's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
Tracking & Cookies Data
We use cookies and similar tracking technologies to track the activity on our Service and hold certain information.
Cookies are files with small amount of data which may include an anonymous unique identifier. Cookies are sent to your browser from a website and stored on your device. Tracking technologies also used are beacons, tags, and scripts to collect and track information and to improve and analyze our Service.
You can instruct your browser to refuse all cookies or to indicate when a cookie is being sent. However, if you do not accept cookies, you may not be able to use some portions of our Service.
Examples of Cookies we use:
- Session Cookies. We use Session Cookies to operate our Service.
- Preference Cookies. We use Preference Cookies to remember your preferences and various settings.
- Security Cookies. We use Security Cookies for security purposes.
Use of Data
Journey Foods IO uses the collected data for various purposes:
- To provide and maintain the Service
- To notify you about changes to our Service
- To allow you to participate in interactive features of our Service when you choose to do so
- To provide customer care and support
- To provide analysis or valuable information so that we can improve the Service
- To monitor the usage of the Service
- To detect, prevent and address technical issues
Transfer Of Data
Your information, including Personal Data, may be transferred to — and maintained on — computers located outside of your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from your jurisdiction.
If you are located outside the United States and choose to provide information to us, please note that we transfer the data, including Personal Data, to United States and process it there.
Your consent to this Privacy Policy followed by your submission of such information represents your agreement to that transfer.
Journey Foods IO will take all steps reasonably necessary to ensure that your data is treated securely and in accordance with this Privacy Policy and no transfer of your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of your data and other personal information.
Disclosure Of Data
Legal Requirements
Journey Foods IO may disclose your Personal Data in the good faith belief that such action is necessary to:
- To comply with a legal obligation
- To protect and defend the rights or property of Journey Foods IO
- To prevent or investigate possible wrongdoing in connection with the Service
- To protect the personal safety of users of the Service or the public
- To protect against legal liability
Security Of Data
The security of your data is important to us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Data, we cannot guarantee its absolute security.
Service Providers
We may employ third party companies and individuals to facilitate our Service ("Service Providers"), to provide the Service on our behalf, to perform Service-related services or to assist us in analyzing how our Service is used.
These third parties have access to your Personal Data only to perform these tasks on our behalf and are obligated not to disclose or use it for any other purpose.
Links To Other Sites
Our Service may contain links to other sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
Children's Privacy
Our Service does not address anyone under the age of 18 ("Children").
We do not knowingly collect personally identifiable information from anyone under the age of 18. If you are a parent or guardian and you are aware that your Children has provided us with Personal Data, please contact us. If we become aware that we have collected Personal Data from children without verification of parental consent, we take steps to remove that information from our servers.
Changes To This Privacy Policy
We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page.
We will let you know via email and/or a prominent notice on our Service, prior to the change becoming effective and update the "effective date" at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.
Contact Us
If you have any questions about this Privacy Policy, please contact us:
- By email<EMAIL_ADDRESS>- By phone number:<PHONE_NUMBER>


Some quick example text to build on the card title and make up the bulk of the card's content.
Card link Another linkSome quick example text to build on the card title and make up the bulk of the card's content.
Card link Another linkStart Bootstrap can help you build better websites using the Bootstrap CSS framework! Just download your template and start going, no strings attached!
Ready to start your next project with us? That's great! Give us a call or send us an email and we will get back to you as soon as possible!
+254 722 831 226


Information
DroneNav is a proof of concept app of a drone booking system based on the future of travel.
It allows user to book drones for their travel(currently limited to the United Kingdom) for the proof of concept version.
To emulate other users and other real world processes jobs are automatically produced for drones and speed varies for each journey.
A drone's speed might be even slower to emulate traffic.
Thank you for trying out DroneNav.
Group = ['Mridul', 'Ifaz', 'Harsh', 'Tajveer']
As part of the ŠŦ£∑ competition.


|
Figure 1
|
The web geometry created based on those measured for A. rado ... |
|
Figure 2
|
Trajectories of the projectile after impact for the various ... |
|
Figure 3
|
Maximum strains recorded as a fraction of the breaking strai ... |
|
Figure 4
|
The numbers of individual threads broken for the various cli ... |
|
Figure 5
|
Maximum strain energy stored in the web for the various clim ... |


If you're here, someone probably sent you some Bitcoin, along with a password. That bitcoin has been put in what
is sometimes called an "address," but you can think of as a treasure chest. Use the form below to enter your phone number
and the password you received, in order to get the key to that treasure chest, known as the "private key."
Please note that the "private key" is just a string of numbers and letters, and anyone who has it can use it to
unlock this treasure chest and take its contents -- so keep it secret. In the unlikely event it turns out to be empty,
well, maybe someone stole it ... or maybe whoever texted you that they were going to put the bitcoin in the chest never
actually got around to it. (The sender also has this private key, of course.) Probably best to check with them first.
Once you have the private key, you'll probably want to move it into a more secure "wallet." See the What To Do With
Your Money section below for details.
Private Key
Address
(View address transaction history and/or QR code on blockchain.com .)
What To Do With Your Money
Wallets
The first thing you'll probably want to do is move the money into a Bitcoin "wallet," which is basically another
kiond of treasure chest, one with lots of tools and safeguards built into and around it. Several Bitcoin wallets
let you directly import a private key. Instructions for the most popular ones follow:
Exchanges
Once you have the bitcoin in a wallet, you can sell it for your own currency at an exchange.
(Exchanges don't allow you to directly import a private key.)


Place Your Order Here !!
Showing results based on your location
NAME : Domino's Pizza
ADDRESS : Phase 10, Mohali, SCF 26, SAS Nagar, Phase 10, Mohali
RATINGS : 4.6/5
UPVOTES: 251 votes
CUISINES: Pizza, Fast Food
COST FOR TWO:700 rupees
HOURS: 11AM to 11PM (Mon-Sun)
Click on the image for official website.
NAME : KFC
ADDRESS : Sector 9, SCO 328, Sector 9, Panchkula
RATINGS : 4.6/5
UPVOTES: 230 votes
CUISINES: Non-veg, Fast Food
COST FOR TWO : 800 rupees
HOURS: 11AM to 11PM (Mon-Sun)
Click on the image for official website.
NAME : Pizza Hut
ADDRESS : Phase 5, Mohali,SCF 10, Phase 5, Mohali
RATINGS : 4.5/5
UPVOTES : 190 votes
CUISINES: Pizza, Italian
COST FOR TWO : 900 rupees
HOURS: 11AM to 11PM (Mon-Sun)
Click on the image for official website.
NAME : BURGER KING
ADDRESS : Sector 35, Chandigarh 3.7, SCO 355-356, Sector 35C, Chandigarh
RATINGS : 4.4/5
UPVOTES: 170 votes
CUISINES: Burger, Fast Food
COST FOR TWO:500 rupees
HOURS: 10AM to 11PM (Mon-Sun)
Click on the image for official website.
NAME : UNCLE JACK'S
ADDRESS : Inner Market, Sector 8 B, Booth 11, Sector 8, Chandigarh
RATINGS : 4.2/5
UPVOTES: 165 votes
CUISINES: American, Beverages, Desserts, Fast Food
COST FOR TWO:500 rupees
HOURS: 11AM to 11PM (Mon-Sun)
Click on the image for official website.


[1]
For the money, the Black Level is fantastic.; Only Basic Adjustments.
[2]
Great picture, performance for the money.; no complaints.....


Go to the first, previous, next, last section, table of contents.
Work on GNU Fortran is still being done mostly by its author, James Craig Burley (craig@jcb-sc.com), who is a volunteer for, not an employee of, the Free Software Foundation (FSF). (He has a web page at http://world.std.com/%7Eburley.)
As with other GNU software, funding is important because it can pay for needed equipment, personnel, and so on.
The FSF provides information on the best way to fund ongoing development of GNU software (such as GNU Fortran) in documents such as the "GNUS Bulletin". Email<EMAIL_ADDRESS>for information on funding the FSF.
To fund specific GNU Fortran work in particular, the FSF might provide a means for that, but the FSF does not provide direct funding to the author of GNU Fortran to continue his work. The FSF has employee salary restrictions that can be incompatible with the financial needs of some volunteers, who therefore choose to remain volunteers and thus be able to be free to do contract work and otherwise make their own schedules for doing GNU work.
Still, funding the FSF at least indirectly benefits work on specific projects like GNU Fortran because it ensures the continuing operation of the FSF offices, their workstations, their network connections, and so on, which are invaluable to volunteers. (Similarly, hiring Cygnus Support can help a project like GNU Fortran--Cygnus has been a long-time donor of equipment usage to the author of GNU Fortran, and this too has been invaluable--see section Contributors to GNU Fortran.)
Currently, the only way to directly fund the author of GNU Fortran
in his work on that project is to hire him for the work you want
him to do, or donate money to him.
Several people have done this
already, with the result that he has not needed to immediately find
contract work on a few occasions.
If more people did this, he
would be able to plan on not doing contract work for many months and
could thus devote that time to work on projects (such as the planned
changes for 0.6) that require longer timeframes to complete.
For the latest information on the status of the author, do
finger -l<EMAIL_ADDRESS>on a UNIX system
(or any system with a command like UNIX finger
).
Another important way to support work on GNU Fortran is to volunteer to help out. Work is needed on documentation, testing, porting to various machines, and in some cases, coding (although major changes planned for version 0.6 make it difficult to add manpower to this area). Email<EMAIL_ADDRESS>to volunteer for this work.
See section Funding Free Software, for more information.
Go to the first, previous, next, last section, table of contents.


Who had let the cat(ghost) out of the bag?
Project CatGhost is an attempt to have a place to share both Wick Editor and Scratch projects!!! We are trying to make it easier to join! Including:
finding a way to teach Wick
Helping to transition from drag-and-drop to text-based
Hopefully, you can see our reasoning, as well as there needing to be a third-party Scratch site.
thank you for reading this.


Google details Stadia compatibility with Xbox, PlayStation, and Nintendo controllers
by Abner LiFollowing the Stadia AMA this afternoon, Google has updated its support pages with details about Stadia-compatible third-party controllers.
 This functions over Wi-Fi, thus fulfilling the full potential of the first-party accessory by directly connecting to Stadia servers. On Chrome and Pixel phones, USB connectivity is required as there is no Bluetooth support.
The DualShock 4, Xbox One Controller, and Xbox Adaptive Controller supports “USB & Bluetooth connectivity” on both desktop and Pixel. Older Microsoft accessories do not feature Bluetooth, while there are a number of disclaimers regarding the “Home” button:
- The “Home” button for the Xbox Adaptive Controller is not supported on Android, Linux, or ChromeOS.
- The “Home” button for Xbox controllers on Windows may open the Windows Game bar when pressed, and thus is not supported by Stadia on Windows.
- Bluetooth for Xbox One Wireless Controllers is not supported on Linux.
Lastly, the Switch Pro Controller supports USB & Bluetooth connectivity on desktop Chrome, but not Android 9. There are reports of the Nintendo accessory working on Android 10. Google does note that this chart is not “exhaustive.”
The table above does not provide an exhaustive list of controllers that may be used with Stadia – other controllers may also work with Stadia, depending on their compatibility with Chrome and Android.
Google also provides a more granular Stadia third-party controller compatibility by operating systems table:
More about Google Stadia:
- You’ll be able to buy Stadia games with Google Play gift cards on Android
- Google shows off Stadia interface on Android/iOS and televisions [Gallery]
- Claw’ phone clip to attach Stadia Controllers and Pixels announced
- Stadia Founders names must be alphanumeric, can be changed later
FTC: We use income earning auto affiliate links. More.


This is intended to be a very basic one-pager on me, a sort of index to the shards of my online "presence" (I may add more to this later, but I probably won't).
Google+ didn't turn out to be quite the promising solution it was meant to be, but I still share a bit there (never more than a link a day!).
I've recently started using Twitter, though very hesistantly.
I have a Facebook account that I've lost the password to, but I'll have to log in soon to see my daughter's pics.
Ello seemed like a great compromise between Twitter and Tumblr and a Blog, but eventually the fixed-width-ness gets old, so I don't use it anymore.
I have a GitHub blog, which I infrequently update, mostly to satisfy some coding itch.
Tumblr is the one place that's clicked for me, maybe because I have a very limited, atypical use for it: posting snippets.
In yet another attempt to find something that works, I (barely) have a Wordpress Blog that I'm hoping will be a "non-social-network" place to write stuff, but we'll see.
(I'm sure I missed a few here ...)
Finally, I obviously have an email address (agam DOT brahma AT gmail DOT com)


Interface IContainer
Defines a container for resolving types
Namespace:Bifrost.Execution
Assembly:Bifrost.dll
Syntax
public interface IContainer
Properties
| Improve this Doc View SourceDefaultLifecycle
Gets or sets the BindingLifecycle for objects. This property usually guides the implementing container for default bindings it may create for types that does not have an explicit binding and is not abstract or an interface
Declaration
BindingLifecycle DefaultLifecycle { get; set; }
Property Value
| Type | Description |
|---|---|
| BindingLifecycle |
Methods
| Improve this Doc View SourceBind(Type, Func<Type, Object>)
Bind a service type to a callback that can resolve the instance
Declaration
void Bind(Type service, Func<Type, object> resolveCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | service | Service to bind |
| System.Func<System.Type, System.Object> | resolveCallback | Callback that gets called to resolve the instance |
Bind(Type, Func<Type, Object>, BindingLifecycle)
Bind a service type to a callback that can resolve the instance
Declaration
void Bind(Type service, Func<Type, object> resolveCallback, BindingLifecycle lifecycle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | service | Service to bind |
| System.Func<System.Type, System.Object> | resolveCallback | Callback that gets called to resolve the instance |
| BindingLifecycle | lifecycle | Lifecycle of the service |
Bind(Type, Func<Type>)
Bind a service type to a callback that can resolve it
Declaration
void Bind(Type service, Func<Type> resolveCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | service | Service to bind |
| System.Func<System.Type> | resolveCallback | Callback that gets called to resolve it |
Bind(Type, Func<Type>, BindingLifecycle)
Bind a service type to a callback that can resolve it with given lifecycle
Declaration
void Bind(Type service, Func<Type> resolveCallback, BindingLifecycle lifecycle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | service | Service to bind |
| System.Func<System.Type> | resolveCallback | Callback that gets called to resolve it |
| BindingLifecycle | lifecycle | Lifecycle of the service |
Bind(Type, Object)
Bind a service to a specific instance
Declaration
void Bind(Type service, object instance)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | service | Service to bind |
| System.Object | instance | Instance to bind to |
Bind(Type, Type)
Bind a service to a specific type
Declaration
void Bind(Type service, Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | service | Service to bind |
| System.Type | type | Target type to bind to |
Bind(Type, Type, BindingLifecycle)
Bind a service to a specific type with given lifecycle
Declaration
void Bind(Type service, Type type, BindingLifecycle lifecycle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | service | Service to bind |
| System.Type | type | Target type to bind to |
| BindingLifecycle | lifecycle | Lifecycle of the service |
Bind<T>(T)
Bind a service to a specific instance
Declaration
void Bind<T>(T instance)
Parameters
| Type | Name | Description |
|---|---|---|
| T | instance | Instance to bind to |
Type Parameters
| Name | Description |
|---|---|
| T | Service to bind |
Bind<T>(Func<T>)
Bind a service type to a callback that can resolve the instance
Declaration
void Bind<T>(Func<T> resolveCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Func<T> | resolveCallback | Callback that gets called to resolve the instance |
Type Parameters
| Name | Description |
|---|---|
| T | Service to bind |
Bind<T>(Func<T>, BindingLifecycle)
Bind a service type to a callback that can resolve the instance
Declaration
void Bind<T>(Func<T> resolveCallback, BindingLifecycle lifecycle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Func<T> | resolveCallback | Callback that gets called to resolve the instance |
| BindingLifecycle | lifecycle | Lifecycle of the service |
Type Parameters
| Name | Description |
|---|---|
| T | Service to bind |
Bind<T>(Func<Type>)
Bind a service type to a callback that can resolve it
Declaration
void Bind<T>(Func<Type> resolveCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Func<System.Type> | resolveCallback | Callback that gets called to resolve it |
Type Parameters
| Name | Description |
|---|---|
| T | Service to bind |
Bind<T>(Func<Type>, BindingLifecycle)
Bind a service type to a callback that can resolve it with given lifecycle
Declaration
void Bind<T>(Func<Type> resolveCallback, BindingLifecycle lifecycle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Func<System.Type> | resolveCallback | Callback that gets called to resolve it |
| BindingLifecycle | lifecycle | Lifecycle of the service |
Type Parameters
| Name | Description |
|---|---|
| T | Service to bind |
Bind<T>(Type)
Bind a service to a specific type
Declaration
void Bind<T>(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | type | Target type to bind to |
Type Parameters
| Name | Description |
|---|---|
| T | Service to bind |
Bind<T>(Type, BindingLifecycle)
Bind a service to a specific type with given lifecycle
Declaration
void Bind<T>(Type type, BindingLifecycle lifecycle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | type | Target type to bind to |
| BindingLifecycle | lifecycle | Lifecycle of the service |
Type Parameters
| Name | Description |
|---|---|
| T | Service to bind |
Get(Type)
Get an instance of a specific type
Declaration
object Get(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | type | Type to get instance of |
Returns
| Type | Description |
|---|---|
| System.Object | Instance of the type |
Get(Type, Boolean)
Get an instance of a specific type
Declaration
object Get(Type type, bool optional = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | type | Type to get instance of |
| System.Boolean | optional | If the binding is optional, return null and not throw an exception |
Returns
| Type | Description |
|---|---|
| System.Object | Instance of the type |
Get<T>()
Get an instance of a specific type
Declaration
T Get<T>()
Returns
| Type | Description |
|---|---|
| T | Instance of the type |
Type Parameters
| Name | Description |
|---|---|
| T | Type to get instance of |
Get<T>(Boolean)
Get an instance of a specific type
Declaration
T Get<T>(bool optional)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | optional | If the binding is optional, return null and not throw an exception |
Returns
| Type | Description |
|---|---|
| T | Instance of the type |
Type Parameters
| Name | Description |
|---|---|
| T | Type to get instance of |
GetAll(Type)
Get all instances of a specific type
Declaration
IEnumerable<object> GetAll(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | type | Type to get instances for |
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<System.Object> | Instances of the type |
GetAll<T>()
Get all instances of a specific type
Declaration
IEnumerable<T> GetAll<T>()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<T> | Instances of the type |
Type Parameters
| Name | Description |
|---|---|
| T | Type to get instances of |
GetBoundServices()
Get all services that have been bound
Declaration
IEnumerable<Type> GetBoundServices()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<System.Type> | System.Collections.Generic.IEnumerable<T> containing all bound services |
HasBindingFor(Type)
Gets wether or not a specific service has a binding
Declaration
bool HasBindingFor(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Type | type | Type of service to check |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if service has binding, false if not |
HasBindingFor<T>()
Gets wether or not a specific service has a binding
Declaration
bool HasBindingFor<T>()
Returns
| Type | Description |
|---|---|
| System.Boolean | True if service has binding, false if not |
Type Parameters
| Name | Description |
|---|---|
| T | Type of service to check |


---
layout: post
title: Skeleton
date: '2013-08-20T08:44:00+02:00'
categories:
- Sketches
picture_url: https://film-Storyboards.tumblr.com/post/58787183889/skeleton-pen-and-ink-sketch-from-schooldays
---
Skeleton, pen and ink sketch from schooldays.


DfE enquiries
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
Press release
Moorgate Primary Academy is rebuilt through government’s flagship £4.4 billion school rebuilding programme.
Pupils at a Staffordshire school who swapped their Victorian-era building for a modern replacement thanks to a government rebuilding programme are holding an official reopening ceremony today (21 September 2015).
Moorgate Primary Academy is the first of 8 schools to reopen in the West Midlands through the £4.4 billion priority school building programme (PSBP), which is transforming some of the most run-down schools in the country.
As a result of £3.6 million worth of construction, the school’s old buildings have been replaced with a 2-storey building with bright new classrooms and modern features, including an energy-efficient automatic ventilation system. A dance studio is also included, which will be available to the public.
Schools Minister Lord Nash said:
Through the priority school building programme we are investing in school buildings across the country to transform the learning environment for tens of thousands of pupils and their teachers while delivering value for money for the taxpayer.
The reopening of Moorgate Primary Academy marks a key milestone for the programme in the West Midlands, and these new school buildings will provide modern, fit-for-purpose facilities for pupils and staff for many years to come.
As part of this government’s commitment to social justice, we want all children, regardless of background, to learn in high-quality schools which will give them the best possible chance to unlock their potential.
Jonathan Williams, Headteacher of Moorgate Primary Academy, said:
We are delighted with our new building, which is a modern 21st century facility, and different in every way from our old Victorian building. We now have all sorts of mod cons, from an automatic mechanical ventilation system to a school bell beeper system, and the children were able to see the construction work from the playground of the old school, which was very exciting and involving for them.
Since we moved into the new building, everyone - the pupils, the staff and the parents - have just been walking a bit taller. We are all extremely proud.
The construction team working on the school created a building which was modern but also in keeping with the conservation area in Tamworth. They also overcame the engineering challenges of building near the west coast mainline railway.
Simon Butler, Interserve Divisional Director said:
We are delighted to have been involved in delivering this excellent new facility for Moorgate Primary Academy and hope that the value added solutions we have provided will not only benefit the students that use it but also have a lasting effect on the wider community.
Thanks to the PSBP, school buildings are being rebuilt faster and cheaper than those built under the previous school building initiative - Building Schools for the Future ( BSF ). Under the BSF it took 3 years for construction work to begin. This was slashed to 1 year for the PSBP, with projects costing around a third less.
A total of 537 schools will benefit from construction through the 2 phases of the PSBP .
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
Published: 21 September 2015


mini-memory-vrClasic Memory Game in VR WorldBased on the project mini-memory, try this game with a VR Glasses.


SENSI-CARE BODY- petrolatum and dimethicone cream
ConvaTec Inc.
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
For external use only.
For skin protection:
For diaper rash:
Water, Glycerin, Cetyl Alcohol, Propylene Glycol Diethylhexanoate, Steareth-2, PVP/Hexadecene Copolymer, Laureth-23, Magnesium Aluminum Silicate, Carbomer, Diazolidinyl Urea, Sodium Hydroxide, Methyl-chloroisothiazolinone, Methyl-isothiazolinone, Magnesium Chloride, Magnesium Nitrate
NDC 43553-0002-3
SENSI-CARETM
BODY CREAM
2 MOISTURIZE
with Dimethicone
Net Wt. 3 oz. (85g)
Manufactured for:
ConvaTec
ConvaTec Inc.
Skillman, NJ 08558
1-800-422-8811
www.convatec.com
©2013 ConvaTec Inc.
®/TM indicates a trademark of ConvaTec Inc.
Store at 15° C - 30° C (59° F - 86°F)
Made in USA
|
SENSI-CARE BODY
petrolatum, dimethicone cream | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|
| Labeler - ConvaTec Inc. (947989757) |


Plan for dropping Python 2 support
As many of you already knew, Python core development team and many utilized Python packages like
Pandas and NumPy will drop Python 2 support in or before 2020/01/01.
Apache Spark has supported both Python 2 and 3 since Spark 1.4 release in 2015.
However, maintaining Python 2/3 compatibility is an increasing burden and it essentially limits
the use of Python 3 features in Spark.
Given the end of life (EOL) of Python 2 is coming, we plan to eventually drop Python 2 support as
well. The current plan is as follows:
- In the next major release in 2019, we will deprecate Python 2 support.
PySpark users will see a deprecation warning if Python 2 is used.
We will publish a migration guide for PySpark users to migrate to Python 3.
- We will drop Python 2 support in a future release (excluding patch release) in 2020,
after Python 2 EOL on 2020/01/01. PySpark users will see an error if Python 2 is used.
- For releases that support Python 2, e.g., Spark 2.4, their patch releases will continue supporting
Python 2. However, after Python 2 EOL, we might not take patches that are specific to Python 2.
Spark News Archive


Sheets are built with shared files so multiple disciplines can share the same drawings. For example, a floor plan is needed for Partitions, Millwork, Lighting, Power, Ductwork, Piping, Plumbing, etc... Everybody shares the same plan in Pegaesys, and a correction by one modifies it for everyone.


Tory MP Ross Thomson quits after grope claim by Labour MP Paul Sweeney
Mr Thomson denies any wrongdoing but announced he would not contest his seat at the coming general election.
by Oliver Milne, https://www.mirror.co.uk/authors/oliver-milne/A Conservative MP Ross Thomson has announced he is standing down at the general election after being accused of sexually assaulting a Labour MP in a Commons bar.
Mr Thomson said he had made the "hardest decision of my life" not to contest the seat for Aberdeen South after it emerged that Labour MP Paul Sweeney had reported him to Westminster's standards watchdog for allegedly groping him.
Mr Thomson denies any wrongdoing and said that "malicious allegations" had made his life "a living hell".
He added in a statement: "This is a political smear and I will continue to fight to clear my name. I will see this investigatory process through to a conclusion.
"I have suffered a level of personal abuse that has affected my health, my mental wellbeing and my staff. It has been a level of abuse that I never imagined possible."
The story emerged after Mr Sweeney spoke about the alleged incident in an interview with the Mail on Sunday.
Mr Sweeney said he was "paralysed" with shock after Mr Thomson "groped" him in the bar.
A spokesman for the Mr Sweeney said: "Thomson's denials today fly in the face of what was witnessed by other MPs and visitors and show him to be utterly unrepentant."
Mr Thomson branded Mr Sweeney's allegations "politically motivated smears".
He said: "This is the second time Mr Sweeney has gone to a national newspaper with allegations against me.
"I categorically denied the same allegations when they were first made back in March, and I continue to (do) so.
"I believe every report of harassment deserves to be treated with the utmost seriousness, which is why I have complied fully with a parliamentary standards investigation.
"I think it is telling that Mr Sweeney has chosen this moment, just days out from the beginning of a general election campaign, to abandon the confidential investigation process and take his smear campaign to the Mail on Sunday.
"Mr Sweeney is weaponising an extremely serious issue and showing contempt for the people and processes that have been put in place to help deal with genuine bullying and harassment claims."
A House of Commons spokeswoman said: "Parliament's Independent Complaints and Grievances Scheme operates on the basis of absolute confidentiality.
"Therefore we cannot provide answers about any complaint that may or may not have been made."


Selector: mdc-text-field
Exported as: mdcTextField| Name | Description |
|---|---|
| id: string | Unique id of the element. |
| type: string = 'text' | Input type of textfield (e.g.: email, password, date, color). |
| name: string | Name of the textfield. |
| label: string | Shown to the user when there's no focus or values. |
| value: string | The input element's value. |
| outlined: boolean | Set a border around all sides of the text field. |
| fullwidth: boolean | Set to fullwidth textfield.
Do not use |
| disabled: boolean | Disables the component. |
| readonly: boolean | Whether or not the textfield value is editable. |
| required: boolean | Whether the element is required. |
| characterCounter: boolean | Character counter is used if there is a character limit. It displays the ratio of characters used and the total character limit.
|
| useNativeValidation: boolean | Sets whether to check native HTML validity state (true, default) or custom validity state when updating styles (false). |
| valid: boolean | Updates input validity styling using passed value. |
| empty: boolean | Returns whether the control is empty. |
| autocomplete: string | Indicates if the input can be automatically completed by the browser, usually by remembering previous values the user has entered. |
| tabIndex: number | Tab index of the text element. |
| pattern: string | Regular expression that the control's value is checked against. |
| maxlength: number | Maxlength of characters allowed to be entered. |
| minlength: number | Specifies the minimum number of characters that the user can enter. |
| max: number | The maximum numeric value for the input. |
| min: number | The minimum numeric value for this input, which must not be greater than its maximum (max attribute) value. |
| step: number | Works with the min and max attributes to limit the increments at which a numeric or date-time value can be set. |
| size: number | The initial size of the control. |
| helperText: MdcHelperText | Reference to related MdcHelperText |
| focus() | Sets focus to the input. |
| change(value) | Emitted when an alteration to the element value is committed. |
| blur(value) | Emitted whenever the input loses focus. |
| input(value) | Emitted synchronously when the value has been altered. |
| focus(boolean) | Emitted when the input gains or loses focus. |
Selector: mdc-helper-text mdcHelperText
Exported as: mdcHelperText| Name | Description |
|---|---|
| validation: boolean | Help text can be used to provide additional validation messages. |
| persistent: boolean | Help text will always be visible. |
| showToScreenReader() | Makes the helper text visible to the screen reader. |
| setValidity(inputIsValid: boolean) | Sets the validity of the helper text. |
Selector: mdc-icon[mdcTextFieldIcon]
Exported as: mdcTextFieldIcon| Name | Description |
|---|---|
| leading: boolean | Styles the text field as a text field with a leading icon. |
| trailing: boolean | Styles the text field as a text field with a trailing icon. |
MdcTextField
Selector: mdc-textarea
Exported as: mdcTextarea| Name | Description |
|---|---|
| rows: number | Number of rows for this textarea. |
| cols: number | Number of columns for this textarea. |
| characterCounter: boolean | Character counter is used if there is a character limit. It displays the ratio of characters used and the total character limit.
|


Item #: SCP-055
Object Class: Keter
Special Containment Procedures: Object is kept within a five (5) by five (5) by two point five (2.5) meter square room constructed of cement (fifty (50) centimeter thickness), with a Faraday cage surrounding the cement walls. Access is via a heavy containment door measuring two (2) by two point five (2.5) meters constructed on bearings to ensure door closes and locks automatically unless held open deliberately. Security guards are NOT to be posted outside SCP-055's room. It is further advised that all personnel maintaining or studying other SCP objects in the vicinity try to maintain a distance of at least fifty (50) meters from the geometric center of the room, as long as this is reasonably practical.
Description: SCP-055 is a "self-keeping secret" or "anti-meme". Information about SCP-055's physical appearance as well as its nature, behavior, and origins is self-classifying. To clarify:
All of these facts are periodically rediscovered, usually by chance readers of this file, causing a great deal of alarm. This state of concern lasts minutes at most, before the matter is simply forgotten about.
A great deal of scientific data has been recorded from SCP-055, but cannot be studied.
At least one attempt has been made to destroy SCP-055, or possibly move it from containment at Site 19 to another site, meeting failure for reasons unknown.
SCP-055 may present a major physical threat and indeed may have killed many hundreds of personnel, and we would not know it. Certainly it presents a gigantic memetic/mental threat, hence its Keter classification.
Document #055-1: An Analysis of SCP-055
The author puts forward the hypothesis that SCP-055 was never formally acquired by \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 and is in fact an autonomous or remotely-controlled agent, inserted at Site 19 by an unidentified third party for one or all of the following purposes:
No action to counter any of these potential threats is suggested, or indeed theoretically possible.
Addendum A:
Hey, if this thing really is an "anti-meme", why doesn't the fact that it's an "anti-meme" get wiped? We must be wrong about that somehow. Wait a minute, what if we were to keep notes about what it isn't? Would we remember those? Bartholomew Hughes, NSA
Document #055-2: Report of Dr. John Marachek
Survey team #19-055-127BXE was successfully able to enter SCP-055's container and ascertain the appearance and, to some degree, the nature of the object. Notes were taken according to the project methodology (see \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588), after which the container was sealed again.
Excerpt from a transcript of personnel debriefing follows:
Dr. Hughes: Okay, I'm going to need to ask you some questions about number 55 now.
\u2588\u2588\u2588\u2588\u2588\u2588\u2588: Number what?
Dr. Hughes: SCP object 55. The object you just examined.
\u2588\u2588\u2588\u2588\u2588\u2588\u2588: Um, I don't know what you're talking about. I don't think we have a 55.
Dr. Hughes: Okay, then, \u2588\u2588\u2588\u2588\u2588\u2588\u2588, I'd like you to tell me what you've been doing for the past two hours.
\u2588\u2588\u2588\u2588\u2588\u2588\u2588: What? I… <subject appears uncomfortable> … I don't know.
Dr. Hughes: Okay, then, do you remember that we all agreed that it wasn't spherical?
\u2588\u2588\u2588\u2588\u2588\u2588\u2588: That what wasn't… Oh! Right! It isn't round at all! Object 55 isn't round!
Dr. Hughes: So you remember it now?
\u2588\u2588\u2588\u2588\u2588\u2588\u2588: Well, no. I mean, I don't know what it is, but I know there is one. It's something you can't remember. And it's not a sphere.
Dr. Hughes: Wait a minute. What's not a sphere?
\u2588\u2588\u2588\u2588\u2588\u2588\u2588: Object 55.
Dr. Hughes: Object what?
\u2588\u2588\u2588\u2588\u2588\u2588\u2588: Doc, do you remember agreeing that something wasn't shaped like a sphere?
Dr. Hughes: Oh, right!
It appears to be possible to remember what SCP-055 is not (negations of fact), and to repeatedly deduce its existence from these memories.
Personnel involved in Survey #19-055-127BXE reported moderate levels of disorientation and psychological trauma associated with cycles of repeated memory and forgetfulness of SCP-055. However, no long-term behavioral or health problems were observed, and psych assessments of survey personnel showed consistent reports of this distress fading over time.
Recommendations: It may be worthwhile to post at least one staff member capable of remembering the existence of SCP-055 to each critical site.


{% load static %}
Copyright © {% now "Y" %} {{ current_site.name }}, All rights reserved.
Unsubscribe - Unsubscribe Preferences


Please read the following text and mark how hateful, if at all, it is
${text}
How confident are you in this answer?


Save a lot of work with CSS!
In our CSS tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once
Start learning CSS!Save a lot of work with CSS!
In our CSS tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once
Start learning CSS!Learn by 70 examples! With our editor, you can edit CSS, and click on a test button to view the result
Try-It-Yourself!At W3Schools you will find a complete CSS2 reference, listing properties, units of measurements, colors, and more.
CSS2 ReferenceTest your CSS skills at W3Schools!
Start CSS Quiz!