/*!
* @mfn Member
*
* @headerfile <seqan/basic.h>
*
* @brief Type of a member of an object.
*
* @signature Member<TObject, TSpec>::Type;
*
* @tparam TObject The object holding the member.
* @tparam TSpec A tag to identify the object's member.
*
* @return Type The resulting object's member type.
*
* This metafunction is used to control the type of a member of a given object.
* It works analogously to @link Fibre @endlink. For instance, it is used to
* change the relationship between two objects from aggregation to composition
* and vice versa.
*
* @see Fibre
*/


UV INDEX FORECAST IN TOWNSVILLE
UV Indexes Forecast 2021
UV Indexes Jan - Apr
UV Indexes May - Aug
UV Indexes Sep - Dec
UV Indexes Summary
UV Index forecast 2021
Location: Townsville
Date and Time:
Check UV
Loading...


| < Day Day Up > |
10.6 Data EncryptionIn applications that store sensitive data, such as banking records, you may want the data to be stored in an encrypted format. Doing so makes it very difficult for someone to use the data even if they walk up to your server and take it home. A full discussion of the relative merits of encryption algorithms and techniques is beyond the scope of this book. 10.6.1 Hashing PasswordsIn less sensitive applications, you may need to protect just a few pieces of information, such as a password database for another application. Passwords really shouldn't be stored in the clear, so they are commonly encrypted in applications. But rather than use encryption, it may be wise to follow the lead of most Unix systems and even MySQL itself: use a hashing algorithm on the password and store the result in your table. Unlike traditional encryption, which can be reversed, hashing is a one-way process that can't be reversed. The only way to determine the password that generated a particular hash value is to use a very computationally expensive brute-force attack (trying all possible combinations of input). MySQL provides four functions for hashing passwords: PASSWORD( ), ENCRYPT( ), SHA1( ), and MD5( ).[12] The best way to see the results of each function is to try each one on the same source text. Let's see how the string pa55word hashes in each:
mysql> SELECT MD5('pa55word'); +----------------------------------+ | MD5('pa55word') | +----------------------------------+ | a17a41337551d6542fd005e18b43afd4 | +----------------------------------+ 1 row in set (0.13 sec) mysql> SELECT PASSWORD('pa55word'); +----------------------+ | PASSWORD('pa55word') | +----------------------+ | 1d35c6556b8cab45 | +----------------------+ 1 row in set (0.00 sec) mysql> SELECT ENCRYPT('pa55word'); +---------------------+ | ENCRYPT('pa55word') | +---------------------+ | up2Ecb0Hdj25A | +---------------------+ 1 row in set (0.17 sec) Each function returns a fixed-length alphanumeric string that can be stored in a CHAR column. To cope with the possibility of mixed-case characters in the result of ENCRYPT( ), it's best to declare the column CHAR BINARY. Storing hashed data is as easy as:[13]
INSERT INTO user_table (user, pass) VALUE ('jzawodn', MD5('pa55word') ) To verify user's password, take the username and password supplied and run a SELECT query to see if they match. Using a language such as Perl or PHP, the query might look like this: SELECT * FROM user_table WHERE user = '$username' AND pass = MD5('$password') Password hashing is an easy-to-use and relatively secure way to store passwords in a database without them being easily recoverable. 10.6.2 Encrypted FilesystemsBecause MySQL's various table handlers all store their data as regular files on whatever filesystem you may be using, it's possible to use an encrypted filesystem. Most popular operating systems have at least one encrypted filesystem available, either free or commercial. The main advantage of this approach is that you don't have to do anything special for MySQL to take advantage of it. Because all the encryption and decryption takes place outside MySQL, it just performs reads and writes without any knowledge of what's happening under the hood. All you need to do is make sure your data and logs are stored on the proper filesystem. From your application's point of view, there's nothing special about this arrangement either. There are a few downsides to using an encrypted filesystem with MySQL. First of all, because all the data, indexes, and logs are being encrypted, there will be a fair amount of CPU overhead involved in encrypting and decrypting the data. If you're thinking about using an encrypted filesystem, be sure to perform good benchmarks so that you understand how it behaves under heavy load. A more subtle problem with this setup occurs when you consider making backups of your data. To copy the data to another location (disk, tape, CD-ROM, server, etc.), the data must be decrypted. To keep the data safe, you need to find backup software that can encrypt your backups. The only real workaround is to take a complete dump of the disk partition. You can safely store a copy elsewhere because the data remains encrypted. However, there's no way to selectively restore pieces of the data; you'd need to restore the entire partition. 10.6.3 Application-Level EncryptionA more common approach to encryption is to build it into the application (or middleware). When the application needs to store sensitive data, it first encrypts the data and stores the result in MySQL. Similarly, when the application retrieves information from MySQL, it must decrypt it. This approach provides a lot of flexibility. It doesn't tie you to a particular filesystem, operating system, or even database (if your code is written in a generic fashion). It gives the application designer the freedom to choose an encryption algorithm that's most appropriate (balancing speed and strength) for the data being stored. Because the data is stored encrypted, backups are very easy. No matter where you copy the data, it is encrypted. However, it also means that access to the data must go through software that understands how to decrypt it. You can't just fire up the mysql command-line tool and begin issuing queries. Application-level encryption does have some drawbacks, though. It is a lot harder for MySQL to effectively index the data, for example. You may find yourself suffering from significant performance issues. <IP_ADDRESS> Design issuesThis freedom and flexibility have interesting implications for database design. You need to ensure that the field types you are using are appropriate for the type of encryption you're using. Some algorithms produce blocks of data with fixed minimum sizes. That means you may need a column that can hold 256 bytes just to hold a piece of data that is significantly smaller before encryption. Many popular encryption libraries produce binary data, so you'll need to create columns that can store binary data. As an alternative, you can convert the binary data to a hex or base-64 representation, but that would require more space and time. Deciding exactly what data should and shouldn't be encrypted isn't easy either. You need to balance security against making the information in your tables difficult to query. For example, you might have an account table that represents bank accounts and contains the following fields:
Which fields make sense to encrypt? If you encrypt the balance, which seems reasonable, it would be difficult to answer common reporting questions. For example, you might try to write the following query to find the minimum, maximum, and average balance of accounts of each account type: SELECT MIN(balance), MAX(balance), AVG(balance) FROM account GROUP BY type But the results would be meaningless. MySQL has no clue what the balance field means, so it would just try to perform those functions on the encrypted data in the balance field. The obvious but painful solution is for your application to read all the records from the account table and do the math for the report you need. That may not be terribly difficult, but it's annoying. Not only are you reimplementing functionality MySQL already provides, you're also slowing down the process considerably. What all this boils down to is a tradeoff between security and the advantages of using a relational database in the first place. Any field that contains encrypted data is basically useless to MySQL's built-in functions because they need to operate on the unencrypted data. Similar problems arise in query optimization. In an unencrypted setup, you can easily find all the accounts with a balance greater than $100,000 by doing this: SELECT * FROM account WHERE balance > 100000 If there is an index on the balance field, MySQL will probably locate the records in a split second. But if the data is encrypted, you have to get all the records in your application and filter them after they're decrypted. There's just no way for MySQL to help you out. 10.6.4 Source Code ModificationIf you're looking for a more flexible approach than either encrypted filesystems or application-based encryption, you can always build a custom solution. The source code for MySQL is freely available under the GNU General Public License. This sort of work requires that you either know C++ or hire someone who does. Beyond that, you'll be looking to create your own table handler with native encryption support, or you might find it easier to extend an existing table handler (the MyISAM and BDB handlers are easiest to understand) with encryption. You'll find the relevant files in the sql directory of the MySQL source code. Each table handler is composed of at least two C++ files. The MyISAM handler code, for example, is in ha_myisam.h and ha_myisam.cc. |
| < Day Day Up > |


Had a case recently where I had to merge data from two identically structured tables containing nearly identical data.
"Nearly identical" meaning most table data is identical in both; sometimes a row is missing from one of the tables; sometimes same row (according to PK) appears in both, but some columns are NULL is one tables (while others can be NULL in the second).
Otherwise no contradicting data: it was not possible for some data to be "3" in one table and "4" in the other.
How do you create a merge of the tables, such that all missing rows are completed, and NULLs replaced by actual values when possible?
pt-table-sync comes to mind: one can do a bidirectional syncing of two tables, and actually stating how to resolve ambiguities (like "greater value wins"). Very powerful! An example would be:
pt-table-sync --bidirectional --conflict-column=a --conflict-comparison=greatest --tables ...
However I didn't actually have any problem with the tables themselves. The two tables were just fine as they were; missing or NULL data does not indicate an error on their part. I wanted to get their merge. pt-table-sync is still up for the job: we can duplicate them, merge on the copy... But I prefer a query over an external script when possible.
INSERT...ON DUPLICATE KEY UPDATE
This MySQL-specific syntax is actually quite powerful. It basically says "if the insert fails due to unique constraint, you get a chance to update the row causing the failure". But it also allows for smart setting of the column via the VALUES() clause. Let's present some sample data and then see the solution.
Assume the following table definition:
create table t1 ( pkdt datetime, pki int, a int, b int, c int, primary key (pkdt, pki) );
Same structure holds for t1, t2 and tmerge -- our target table. Looking at table data we have:
> select * from t1; +---------------------+-----+------+------+------+ | pkdt | pki | a | b | c | +---------------------+-----+------+------+------+ | 2012-01-01 00:00:00 | 1 | 4 | 5 | 6 | | 2012-01-02 00:00:00 | 2 | NULL | 5 | 6 | | 2012-01-04 00:00:00 | 4 | 4 | NULL | NULL | | 2012-01-05 00:00:00 | 5 | NULL | 8 | NULL | +---------------------+-----+------+------+------+ > select * from t2; +---------------------+-----+------+------+------+ | pkdt | pki | a | b | c | +---------------------+-----+------+------+------+ | 2012-01-01 00:00:00 | 1 | 4 | NULL | 6 | | 2012-01-03 00:00:00 | 3 | 4 | 5 | 6 | | 2012-01-04 00:00:00 | 4 | 4 | 5 | 6 | | 2012-01-05 00:00:00 | 5 | 7 | NULL | 9 | +---------------------+-----+------+------+------+
We can see a row with pki=2 appears in t1 but not in t2; a row with pki=3 appears in t2 but not in t2, and various NULLs appear throughout the rows that are shared.
To get the shared table, we throw in the data from t1 and t2 into tmerge, in such way that a real value overwrites a NULL, like this:
insert into tmerge select * from t1; insert into tmerge select * from t2 on duplicate key update a = ifnull(tmerge.a, values(a)), b = ifnull(tmerge.b, values(b)), c = ifnull(tmerge.c, values(c)) ;
So even while I'm inserting values to tmerge, I'm able to check for current value, compared to the value I wish to insert, and have time to make a decision. This is really cool! The result:
> select * from tmerge; +---------------------+-----+------+------+------+ | pkdt | pki | a | b | c | +---------------------+-----+------+------+------+ | 2012-01-01 00:00:00 | 1 | 4 | 5 | 6 | | 2012-01-02 00:00:00 | 2 | NULL | 5 | 6 | | 2012-01-03 00:00:00 | 3 | 4 | 5 | 6 | | 2012-01-04 00:00:00 | 4 | 4 | 5 | 6 | | 2012-01-05 00:00:00 | 5 | 7 | 8 | 9 | +---------------------+-----+------+------+------+
Just what we wanted: all possible rows inside; real value takes over NULL whenever possible.
comments powered by Disqus


For this exercise, find a comfortable and quiet place to sit, where you are unlikely to be disturbed. You may either pay attention entirely to the world around you or you may put all of your attention onto a song from your library. In either case, attend entirely to the sounds rather than the meanings of the sounds.


Raheem Sterling's 25th birthday party with Man City teammates 09 Dec 2019, 08:40 by Joe Bray, https://www.manchestereveningnews.co.uk/authors/joe-bray/ Raheem Sterling with fiancee Paige Milian1 of 14 Raheem Sterling throws a Great Gatsby themed 25th birthday party2 of 14 Raheem Sterling and friends.3 of 14 Rodrigo.4 of 14 Aymeric Laporte5 of 14 Nicolas Otamendi6 of 14 Fernandinho.7 of 14 Gabriel Jesus and girlfriend.8 of 14 Ederson.9 of 14 Kyle Walker10 of 14 Ilkay Gundogan.11 of 14 Leroy Sane.12 of 14 John Stones and Bernardo Silva.13 of 14 14 of 14


tcomb-form v0.4
Open source (MIT). Made by Giulio Canti
tcomb-form v0.4 playground
Source
Choose an example..
.. or use the live code editor
. Changes will be reflected in the preview to the right.
Preview
Choose a bootstrap theme
Default
Flatly
Paper


{% include 'blocks/index-head-nav.html' %} {% include 'blocks/faq-main.html' %} {% include 'blocks/user-details.html' %}
Post/Message Preview


THE PREACHER'S WIFE
A film review by Walter Frith
Copyright 1997 Walter Frith
'The Preacher's Wife' is a good natured remake of 'The Bishop's Wife' from 1947. That film featured Cary Grant, David Niven and Loretta Young and their respective positions are filled in this movie by Denzel Washington, Courtney B. Vance and Whitney Houston. An angel (Washington) in a surprisingly ordinary performance gets his wish and returns to Earth to help a neighbourhood preacher (Vance) who is the best character in the movie and who has lost much of the spirit he has in his faith.  I enjoyed 'The Preacher's Wife' on a sub standard level of holiday entertainment and it is wonderful for the entire family but has a deliberately slow pace courtesy of Penny Marshall ('Big,' 'Awakenings,' ' A League of Their Own.') She has made a nice film but a very ordinary one and to be too critical of this movie is like being too critical to your mother because you thought her Christmas cake was missing something. It simply isn't a nice thing to do. This is especially true and 'The Preacher's Wife' deserves high praise for being deliberately family oriented and a movie charming for even the smallest children. They certainly did do their best to please making this one.
OUT OF 5> * * *
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Breaking CSS is easy. Checking every responsive page element is hard. That’s why there's BackstopJS.
News: Version 2.0 available now!
`backstop <command>`
BackstopJS is the easiest way to visually test lots of web-app URL states: Simulate user interactions with CasperJS scripts – Inline-CLI reports – Detailed browser reports – jUnit Reports - Add (node module) logic to your config files – Test html5 elements like webfonts and flexbox – plays nice with CI integration, multiple config paths and source control.
BackstopJS is a config-driven automated screenshot test application for responsive websites and web-applications. Specify a set of DOM elements and viewport sizes and BackstopJS will work like an extra set of eyes on your workflow.
BackstopJS integrates into your build process and automatically checks your work before you ship it to QA/staging/production. Alternatively, run BackstopJS manually whenever the need arises.
BackstopJS helps to catch the errors you might otherwise miss. Get a heads-up report for each selector. Quickly zero-in on issues with side-by-side screenshots and diff images.
Responsive layouts are very difficult to test. It's arguably more tedious to (re)view all of a project's screen elements at every breakpoint than it is to code them in the first place. If you develop responsive UI, you know the worst thing ever is when you've developed a beautiful, rock-solid, responsive CSS layout only to accidentally and un-knowingly hose it by adding a new module or putting in a last-minute tweak. :-/
If that sounds familiar then you are in the right ballpark... BackstopJS is a dead-simple way to add another line of defense between you and those unpredictable CSS curve-balls.
BackstopJS may be just the thing if you develop responsive CMS templates (e.g. Wordpress, Drupal), landing pages, static sites, or dynamic web-apps where one greedy selector can wreak havoc on your otherwise well behaved UI.
And while you're at it, check out TremulaJS, another fine project developed at Art.com labs.
BackstopJS was created by Garris Shipon.


{% comment %} The collection_gallery include requires a "collection" variable and has the following option variables: "only", "facet_by", and "num_column" It can be added to a page using code like this: {% include collection_gallery.html collection='qatar' facet_by='object_type|location' num_column=4 %} If a field name is passed to the include variable "only", the collection will be filtered to items that have a truthy value for that field name. (See https://shopify.github.io/liquid/filters/where/) For the "facet_by" include variable, specify one or more field names in a pipe-separated list. For the "num_column" include variable, specify a number that is a divisor of 12 (i.e, 1, 2, 3, 4, or 6). The default is 2 columns. {% endcomment %} {% if include.num_column %} {% assign min_column_width = 12 | divided_by: include.num_column %} {% else %} {% assign min_column_width = 6 %} {% endif %} {% if include.facet_by and include.collection %} {% assign collection = site[include.collection] %} {% assign facet_list = include.facet_by | split: "|" %}
This is a {{item.object_type}} from {{item.location}} dating to {{item._date}}.
Check your code. You didn't specify what to face by.
include
command.


FieldBoundsReturns the location in points of each field boundary and the field’s rotation in degrees.fileName - the name of an open database file (local or remote).layoutName - the name of a layout in the specified database file.Note Your layout begins where your margins end. Because field boundaries are measured from the left side and top of the layout, boundaries returned by FieldBounds never change unless you move or re-size a field.FieldBounds(“Customers”;“Layout #1”;“Field”) returns 36 48 295 65 0 in the example below. Notice that all parameters are enclosed in quotation marks.


To set up the HTTP Module for tc Server, start a tc Server instance with the appropriate tc Server template based on your preferred topology.
Note: In the procedures that follow, you may be required to log in as root or use sudo to run the commands in Unix, especially if you installed Pivotal tc Server from RPM using yum.
Setup and Start
Edit the configuration in the appropriate file for the topology to set the locator host and port. For peer-to-peer topology, edit geode-p2p/conf/catalina.properties
to set the geode-p2p.locators
property. For client/server topology, edit geode-cs/conf/cache-client.xml
.
Create a tc Server instance using one of these commands, choosing the appropriate template for the topology. Add the --version
option if you need to pin your tc Server instance to a specific version of the tc Runtime:
In Unix, for a peer-to-peer topology:
$ ./tcruntime-instance.sh create my_instance_name --template geode-p2p
In Unix, for a peer-to-peer topology, with a pinned tc Server instance:
$ ./tcruntime-instance.sh create --version 6.0.32.A.RELEASE \
my_instance_name --template geode-p2p
In Unix, for a client/server topology:
$ ./tcruntime-instance.sh create my_instance_name --template geode-cs
In Unix, for a client/server topology, with a pinned tc Server instance:
$ ./tcruntime-instance.sh create --version 6.0.32.A.RELEASE \
my_instance_name --template geode-cs
In Windows, for a peer-to-peer topology:
$ tcruntime-instance.bat create my_instance_name --template geode-p2p
In Windows, for a peer-to-peer topology, with a pinned tc Server instance:
$ tcruntime-instance.bat create --version 6.0.32.A.RELEASE ^
my_instance_name --template geode-p2p
In Windows, for a client/server topology:
$ tcruntime-instance.bat create my_instance_name --template geode-cs
In Windows, for a client/server topology, with a pinned tc Server instance:
$ tcruntime-instance.bat create --version 6.0.32.A.RELEASE ^
my_instance_name --template geode-cs
To run, first start the locator, which will listen on its default of port number 10334:
$ gfsh start locator --name=locator1
With a similar environment to this example that is for a client/server set up,
TC_VER=tomcat-8.0.30.C.RELEASE
INSTANCE=geode-cs
CLASSPATH=$PWD/$INSTANCE/lib/geode-modules-1.0.0.jar:\
$PWD/$INSTANCE/lib/geode-modules-tomcat8-1.0.0.jar:\
$PWD/$TC_VER/lib/servlet-api.jar:\
$PWD/$TC_VER/lib/catalina.jar:\
$PWD/$TC_VER/lib/tomcat-util.jar:\
$PWD/$TC_VER/bin/tomcat-juli.jar
Start the server using gfsh
:
$ gfsh start server --name=server1 --locators=localhost[10334] \
--server-port=0 --classpath=$CLASSPATH
Starting the Application Server
Once you’ve created a tc Server instance, you are ready to start the instance.
In Unix:
$ ./tcruntime-ctl.sh my_instance_name start
In Windows:
$ ./tcruntime-ctl.bat my_instance_name start
Refer to the tc Server documentation for more information. Once started, Geode will automatically launch within the application server process.
Note: Geode session state management provides its own clustering functionality. If you are using Geode, you should NOT turn on Tomcat clustering as well.
To verify that the system is running, check the log file for a message similar to:
Mar 29, 2016 8:38:31 AM org.apache.geode.modules.session.bootstrap.AbstractCache
lifecycleEvent
INFO: Initializing Geode Modules
Modules version: 1.0.0
Java version: 1.0.0 user1<PHONE_NUMBER>-11-29 07:49:26 -0700
javac 1.8.0_121
Native version: native code unavailable
Source revision: c36591b73243c7ee3a0186710338453d12efe364
Source repository: develop
Running on: /<IP_ADDRESS>, 8 cpu(s), x86_64 Mac OS X 10.11.4
Information is also logged within the Geode log file, which by default is named gemfire_modules.log
.
Configuring Non-Sticky Session Replication
Some situations require that sessions be ‘non-sticky’, which means that client requests can be directed to any server in a cluster of application servers instead of the same server each time. To achieve this, you must configure your deployment as described for the following topologies.
Peer-to-Peer
For peer-to-peer topologies, apply the following settings to enable non-sticky sessions to work correctly:
- Java system property
gemfire.loadClassOnEveryDeserialization=true
. Set this property by editing thebin/setenv.sh
file. -
prefer.deserialized.form=false
. Set this property inconf/catalina.properties
.
Client-server
For client-server topologies, only the Java system property gemfire.loadClassOnEveryDeserialization=true
must be set, in the bin/setenv.sh file
.
Note: Non-sticky sessions cause a performance impact because sessions need to be re-created every time a request hits a different server. This may not be noticeable when the session attributes are small, but may become more evident as the session attributes increase in size and/or number.


 I just worked a 4700-hour week digging a tunnel under Mordor with a screwdriver.”
Source: http://ift.tt/1joAHSo


Dr. Bernard Makelele Pretoria, South Africa. Sir, On behalf of my colleagues and I, I write this letter with great pleasure. Your information were given to me by a member of the South African Export Promotion Council (SAEPC) who was with the Black Economic Empowerment Commission (Government) delegation on a trip to the United States during a bilateral conference talk to encourage foreign investors. I have decided to seek a confidential co-operation with you in execution of a business transaction hereunder for the benefit of all parties. Within the Department of Mining Resources where I work as the Director of Project Implementation, with co-operation of two other top officials, we have in our possession, an overdue payment in US funds. The said funds represent certain percentage of the contract value executed on behalf of my Ministry by a foreign contracting firm, which we the officials over-invoiced to the amount of US$25,500,000.00 (Twenty Five Million Five Hundred Thousand United States Dollars). Though the actual contract cost has been paid to the original contractor, leaving the excess balance unclaimed. The Government of the Republic of South Africa believe that private investment in general, and foreign direct investment in particular, are the real engines for sustainable economic development, for which reason it has continued to encourage investment in the key growth-oriented sector of Mining with sincere determination to pay foreign contractors all debts owed to them, so as to continue to enjoy close relationship, and a mutually beneficial co-operation with foreign governments and non-governmental financial agencies. As a result we included our bills for approvals with the co-operation of some officials at the Department of Finance and the Reserve Bank of South Africa (RBSA). We are seeking your assistance to be the beneficiary of the unclaimed funds, since we are not allowed to operate a foreign account. The changing of beneficiary\'s information/details and other forms of documentation upon application for claim to reflect the contract money and its approvals will be secured on behalf of your company or your good self. I have the authority of my colleagues involved to propose that, should you be willing to assist us in this transaction your share as compensation will be 20% while my colleagues and I shall receive 70%, and the balance of 10% shall be used to reimburse all expenditures, taxes and miscellaneous expenses so incurred. It does not matter whether or not your company does contract projects of the nature described here. The assumption is that your company won the major contract and subcontracted it to other companies. More often than not, big trading companies and firms of unrelated fields win major contracts, and subcontract to more specialized firms for execution. This business itself is 100% safe, provided you treat it with utmost confidentiality. Also your specialization is not a hindrance to the successful execution of this mutual beneficiary transaction. I have reposed my confidence in you and hope that you will not disappoint us. Kindly notify me by email for further details, upon your acceptance of this proposal. Regards, Dr. Benard Makelele.


Create a draft on the fly. You can always update your lesson plan later.
Example block-level help text here.


Data Breaches with Troy Hunt - Easy Prey Podcast Troy Hunt is an Australian Microsoft Regional Director and Microsoft Most Valuable Professional for Developer Security. He doesn’t work for Microsoft, but they're kind enough to recognize his community contributions by way of their award programs which he...
A special announcement about SAT Subject Tests | MIT Admissions MIT has made the decision to no longer consider the SAT Subject Tests
Introduction to cyber security: stay safe online This free course, Introduction to cyber security: stay safe online, will help you to understand online security and start to protect your digital life, whether at home or work. You will learn how...
Working with EF Core Migrations - Irina Scurtu How to handle migrations with EF Core? Migrations in a different library than your main project? How to add EF Core Migrations
Scott Helme Security researcher, entrepreneur and international speaker who specialises in web technologies. Creator of report-uri.com and securityheaders.com
TCL 4 Series 2019 Review (43S425, 49S425, 50S425, 55S425, 65S425, 75S425) The TCL 4 Series 2019 Roku Smart TV is a decent TV overall. It delivers decent picture quality and displays deep blacks in a dark room thanks to its high native ...
Working from home Good Friday afternoon all and welcome to this working-from-home-and-obsessively-washing-hands edition of FAIC. I am posting today from my recently-transformed spare room which is now apparently my …
Build stuff! Extending on the about page, I want to emphasise even more the importance of creating personal projects, having independent work and going far beyond what a degree might teach you. Just so that we are on the same page, I will not take into consideration t...
Lark Health: Digital Disease Management & Prevention Platform Lark™ is the leading integrated chronic disease prevention and management platform using proven AI, expert health coaching, and smart connected devices.
Intro to quantum computing with Q# – Part 1, The background and the qubit Quantum mechanics is one of the fundamental theories of physics, and has been tremendously successful at describing the behavior of subatomic particles. However, its counter-intuitive probabilistic nature, bizarre rules and confusing epistemology have tro...
Blazor StateHasChanged: Hot take on hot questions Twitch is the world's leading video platform and community for gamers.
Reducing UDP latency Hi! I’m one of Embox RTOS developers, and in this article I’ll tell you about one of the typical problems in the world of embedded systems…
RudderStack: Open-Source Segment Alternative RudderStack is an open-source customer data routing and processing platform to simplify data management in a secure and extensible way.
WSL | Ubuntu Access the Ubuntu terminal on Windows with WSL. Develop cross-platform applications and manage IT infrastructure without leaving Windows.
Async Expert by Dotnetos - Twoja ścieżka do poznania asynchroniczności w .NET. Szkolenie Dotnetos Async Expert to 9 tygodniowy kurs online, w którym przeprowadzimy Cię od podstaw asynchroniczności aż po synchronizację i kolekcje współbieżne. Aby umożliwić Ci weryfikację zdobytej wiedzy, przygotowaliśmy odpowiednio dobrane prace domowe. Dodatkowym bonu...
Intermediate CSS Grid Challenges (Live Stream) Watch me try to solve Intermediate CSS Grid challenges in real-time! References CSS Grid Course by Wes Bos - https://CSSGrid.io/friend/QUICK Complete Guide to CSS Grid - https://css-tricks.com/snippets/css/complete-guide-grid/ Practical CSS Grid by Bryan...
Frog Jumping - Numberphile Featuring Gordon Hamilton from Math Pickle. More links below. Numberphile T-Shirts: https://teespring.com/stores/numberphile Gordon and the Mondrian Art Problem: https://youtu.be/49KvZrioFB0 Math Pickle (Gordon's website): http://mathpickle.com Numberp...
Using open source software to connect charities with people in need of social housing - Microsoft Industry Blogs - United Kingdom We speak to Chris Sainty, who proved anything is possible in OS by using it to develop the Blazor app that connects charities to people in need of social housing.
Is Blazor actually any good, beyond "demo-ware" So Blazor is getting plenty of attention at the moment, but is it actually any good?
Episode 47: Hacking .NET with Michal Strehovský In this episode of The .NET Core podcast we talked with Michal Strehovský about his experience with hacking around in CoreRT
STOCK Act - Wikipedia The Stop Trading on Congressional Knowledge (STOCK) Act (Pub.L. 112–105, S. 2038, 126 Stat. 291, enacted April 4, 2012) is an Act of Congress designed to combat insider trading. It was signed into law by President Barack Obama on April 4, 2012. The bill p...
Updating Farm Wi-Fi with Ubiquiti Unify TL;DR: I upgraded part of my Wi-Fi network on my farm with Unify equipment after years of “making do”.
Buzz Aldrin has some advice for Americans in quarantine "We looked at this one crack in the floor, and there were ants crawling in and out."
Weekly Update 183 Geez, where do I even begin? I honestly wasn't sure, then I could hear the kids playing in the background whilst I was setting up and per the video thought "yeah, stuff it, I'll leave that in" because as messed up as a bunch of stuff is, life goes on.
Async Expert by Dotnetos - your path to excel at async in .NET. Dotnetos training Async Expert is a 9-weeks on-line course in which we will guide you from async basics through synchronization and concurrent collections. To allow you to verify possessed knowledge, we prepared suitable homeworks. 3 LIVE meetings with our mentors during w...
NASA to launch 247 petabytes of data into AWS – but forgot about eye-watering cloudy egress costs before lift-off Audit finds that error could actually mean less data flows to boffins because space agency may not be able to afford downloads
A Digression on Divergence Most people who do serious GPU work understand that shaders and other GPU programs are executed in a SIMD or “SIMT” fashion using “warps” or “wavefronts” that gr…
The End of Starsky Robotics In 2015, I got obsessed with the idea of driverless trucks and started Starsky Robotics. In 2016, we became the first street-legal vehicle…
Specification by Example, 10 years later It's now been ten years since I submitted the final manuscript of Specification by Example to the publisher. During the last two months, I've been conducting...
Introducing the New Pull Request Experience for Azure Repos | Azure DevOps Blog Pull Requests are a vital feature for many Azure Repos customers. We are excited to announce that our new pull request web experience is now available in preview! Not only is the new experience mobile-friendly and faster, we have also added several new fe...
Secret Management Preview 2 Release | PowerShell We are excited to release a second preview of the Secret Management Module. Thanks to the tremendous feedback we received from the first preview release of this module, you will notice a number of breaking changes to the module. This release is still a pr...
There’s no place like home to join us at Redgate Streamed We'd like you to join us at Redgate Streamed, a free 3-day virtual event with expert speakers talking about DevOps, databases, DBAs and Azure.
Lessons learned porting Octopus Server to .NET Core 3.1 - Octopus Deploy We ported Octopus Server to .NET Core 3.1 to unlock the ability to run on Linux, Docker Containers, and Kubernetes. This post shares lessons learned along the way.
Subscribe to read | Financial Times News, analysis and comment from the Financial Times, the worldʼs leading global business publication
OpsAI – OpsAI can help you optimize your infrastructure landscape, improve your security and compliance throughout the IT environment, and eliminates wasteful spending. The Cloud Automation Platform
Home - CLOUDEON Cloudeon is a 100% cloud and digital focused company, delivering innovative digital services and cloud technology.
Body Camera Once Again Catches An NYPD Officer Planting Drugs In Someone's Car If at first you don't get punished, plant, plant again. When a police officer in Staten Island was caught by his own body camera in the apparent act of planting marijuana in the car of a group of young men, the video evidence against him...
Colorful Git Prompt for Azure Cloud Shell and Visual Studio Code A brand new Git prompt for Azure Cloud Shell
NDC Security Australia - Hack Yourself First with Troy Hunt and Scott Helme NDC Security Australia - Hack Yourself First Workshop (Online): Troy Hunt and Scott Helme will be running an online Hack Yourself First Workshop with NDC Conferences through Zoom.us. Please note that the workshop hours are 09:00-17:00 and is scheduled in ...
iAnimate.net - Online Animation School iAnimate.net is an online animation school like no other. We offer a complete set of workshops designed to target all your animation needs


Please complete the form to sign up for the Gristmill.io mailing list!
jQuery PopBox is a simple, HighRise inspired balloon UI element.


Hi, i'm Kevin Olson. I'm a Texas native thats moved around a bit. I was born in Corpus Christi, TX right off the Gulf of Mexico. Then packed up from there to move to New Iberia, Louisiana. Stayed there for 6 years while dodging hurricanes. Then my dad got a promotion which led us to Crown Point, Indiana. Lived there in an apartment for 4 years. Then we got a house in Merrillville, Indiana and lived there for 10 years. Currently i'm living here in Olathe, Kansas going on a decade. I've worked in the warehouseing industry for about 7 years and now i'm switching gears to break through in the web development world to shift my career... Here goes!!
Some of my hobbies includes, working out, biking out on trails, reading a good book, and pushing myself with good workout. Love to watch a good flick and enjoy gaming out on some Dota2 and Xbox!!
Connect with Me


@(params: Map[String, Any]) @maskedAccountNumber = @{ "****" + params("ACCOUNTNUMBER").toString.drop(4) } @uk.gov.hmrc.hmrcemailrenderer.templates.helpers.html.template_main(params, "Reinstated direct debit instruction for VAT") {
Dear @params("NAME")
Reference @params("DDIREFERENCE")
Your bank has told us that your instruction to allow us to collect payments under this direct debit reference has been reinstated.
Your direct debit will continue to be taken from:
| Bank account number | @maskedAccountNumber |
|---|---|
| Sort code | @params("SORTCODE") |
If this is not correct, amend your direct debit instruction immediately.
From HMRC direct debit team
}


This uses ::after to add
Hello World
Hello World, this is the store about a ...
This first line is in italics.
This second line should not be.
This sentence is grammatically incorrect ? . !
Highlight for this is in blue, try it!
This worrd is spelled wrong


YELLOW CACTUS
Women's fashion
01
Felipe Galvan
Women's fashion
02
Alyssa Strohmann
Women's fashion
03
David Suarez
Women's fashion
04
Reza Delkhosh
Women's fashion
05
Khalid Boutchich
Women's fashion
06
Alicia Petresc
Women's fashion
07
Women's fashion
01
Women's fashion
02
Women's fashion
03
Women's fashion
04
Women's fashion
05
Women's fashion
06
Women's fashion
07


C. elegans Germline Optimizer
This is a tool for designing protein coding sequences to evade piRNA-mediated silencing in the C. elegans germline.
The optimization algorithm is currently unpublished. Please inform Dan Dickinson before publishing any results obtained using this tool.


Excellent, now you have an error! Checkout the view code..
This also demonstrates field verification. Try typing "test"..
This demonstrates fetching options from another controller.
Just another field so the form looks "richer" ;)


For any queries, please contact us: Address: P.O.Box 11/0137 Beirut, Lebanon Telephone:<PHONE_NUMBER>6 email<EMAIL_ADDRESS>For any additional information, kindly call the office


Thanks for Purchasing!
BILLED TO
Credit Card
Firstname Lastname
TOTAL
18 December 2018
88/1160 Creek Rd
£130.99
Pilton, Somerset BA4 4BL
UK
ORDER ID
DCOUMENT ID
13511683084
App Store
TYPE
PURCHASED FROM
PRICE
8 Ball Pool™ Stash of Coins
In-App Purchase
iPhone
£130.99
TOTAL
£130.99
Issues with this transaction?
If you haven't authorised this transaction, click the link below to get full refund
https://dmsa.apple.com/IDMSWebAuth/signin?orderID=KSJ889B078
Copyright © 2018 Apple Pty Ltd.


| tile | content | to users | post date | delete | student not read |
|---|---|---|---|---|---|
| Notification Title 1 | Notification content 1 | All | 12:49 11/4/2017 | ||
| Notification Title 2 | Notification content 2 | 扇子舞蹈的學生,中國書法的學生 | 10:20 11/4/2017 | ||
| Notification Title 2 | Notification content 2 | 扇子舞蹈的學生,中國書法的學生 | 10:20 11/4/2017 |


All Tags
No
Tag Name
Allowed departments
Opening date
Closure Date
Final Closure Date
Total Ideas
Delete


This module also handles data reloading / loading from an Ajax source:
-
If you need to load data, you just have to override the
dtOptions.sAjaxSource
property. -
If you need to reload the data, you just have to call the function
dtOptions.reloadData();
.
However, you need to either have the fnReloadAjax plugin or have a recent version of DataTable (v1.10+) in order to use this feature.


The Neurokernel Project is a community project that welcomes contributors from across the research spectrum. There are a number of ways to participate in the project:
Download the Neurokernel code from GitHub. Try installing it and take a look at the IPython notebooks that illustrate the various model examples included in Neurokernel. Have a question? Can't figure out how to get part of the code to run properly? Get in touch with the developers on the project forum or mailing list. Something not work properly? Performance seem poor? Submit a bug report.
Preliminary models of portions of the fruit fly's various sensory systems are included in the Neurokernel examples. These models only account for portions of the relevant modules in the fly brain. Try extending an existing model to account for additional parts of the brain.
The models implemented using Neurokernel are not intended to be final; rather, we anticipate that they will eventually be replaced with models that either account for a greater portion of the fly brain or more accurately address the fly brain's biology. If you have developed a new or updated model of part of the fly brain using Neurokernel, describe it in a Request for Comments (RFC) document.


The Attacker
Principle of Humanity:
Computer Network Exploitation(CNE) is grounded in human nature.
* Life Cycle of an Operation:
1. Starting
2. Targeting
3. Initial Access
4. Persistence, Access Expansion, Exfiltration.
5. Detection
Stage 1: Targeting contains identification of the target network, the attack strategies and tactics necessary to exploit that network.
Stage 2: Initial Access contains of penetrating any defensive security and gaining the ability to run commands or other software on one of the target’s computers or network devices.
Stage 3 : Persistence turns initial access into reoccurring access.
Stage 4: Expansion increasing access to a target network.
Stage 5: Exfiltration is the retrieval of wanted data from the target network.
Stage 6: Detection occurs when an operation is exposed to the target.
Principle of Access:
There is always someone with legitimate access and a means to use it.
- Four basics types of connectivity:
- inbound access
- outbound access
- both
- neither
Inbound Access:
Someone from outside the network can connect into the network. e.g. public web, or restricted.
Access control: “know”, “have” and “virtual location”.
Attacking method:
- Impersonating legitimate access
“know”: Guess or steal password
“have”: Steal hardware tokens or cell phones. Use malware.
“virtual location”: Compromise the network first. - Gaining illegitimate access
Exploit an exposed software service. e.g. Morris Worm
Escalating privileges.
Outbound Access:
Someone from inside the network can connect to outside but the network is not accessible from the outside.
So attackers need an inside user to connect to the outside. e.g. e-mail.
Email Attacks
Three basic approach: attachments, attacking the e-mail program, and malicious links.
Attachments
First Generation Attachment: Executable program, install something in the background to grant access to the attacker. Simple, direct and effective.
Second Generation Attachment: Documents that contained the ability to run code. Send a copy to other e-mail addresses in the address book. Because of the “macro” feature of Microsoft Office.
Third Generation Attachment: Programs that do not seem like programs. Esoteric extensions e.g. .chm or .hta. E-mail filter updated to catch them.
Current Generation Attachment: Third-party application-specific documents, e.g. .doc, .xls, .pdf, .zip… use vulnerabilities of the application to execute the code.
Attacking the e-mail program
Ideal Attack. Send specially crafted e-mail, corrupt the e-mail program, execute attacker-supplied code. Only need the user to preview or view the e-mail. Does not need the user to open the attachment.
Malicious links
Links bring the user to specifically designed websites to leverage vulnerabilities in web browsers or plug-ins.
Website Hijack Attacks
Commandeer legitimate sites that the attacker knows or hopes a target user will visit. aka “Watering hole” attacks. The Attacker waits for the target to come to them. Same result as e-mail link-based attack except it does not need e-mail to direct the user.
- The Attacker takes over and replaces the content of a popular website with malicious code.
- Use a cross-site-scripting attack (XSS). The Attacker uploads code that the website then displays to other users. These sites allow users to post information or comments.
- Avoid commandeering the website itself, hijack the domain name. Hack the registrars, so the IP address from the DNS server will be different.
- Use ad network instead of commandeering a website. As advertisements can be placed by anyone, including the attacker. Put malicious code into the ads.
- Pornography, illegal software, or pirated movies that are tainted and posted for download. Hope users of the target network will open them.
Other Attacks
Malicious thumb drives
Attack other network that the laptops connect to
Wireless access
Attack from smartphones
Social engineering
Physical access attack
…
Circumventing Outbound Restrictions
How to restrict access:
- Software, such as parental control software, Kaspersky and McAffee
Attacker need user to “allow” or attack the software directly. - Software or hardware on the network, such as firewall or proxy sercer.
Must gain access to the network device itself (but difficult). Or Establish a command and control channel into the network (but need circumventing the device first). Or Establish outbound connections via allowed network protocols (Easier).
Attacker’s challenge: lecerage initial execution to circumvent host-based and network-based restrictions and establish command and control.
Bidirectional Access
Some types of connections are allowed in and others allowed out. Each direction may have its own set of access controls, restictions and monitoring.
The attacker follows the path of least resistance, mixes and matches approaches for the greatest effect.
No Outside Access
A network with no outside connectivity is commonly called an isolated network or an “air-gapped” network. This network is physically separated from the Internet.
The most secure network configuration possible to protect against outsider threats and the most inconvenient for sharing information or administering.
Attacker must breach physical security or trick, cajole, bribe, or blakmail users into doing it for them.
Air gap did not prevent the Stuxnet worm.
Attacker must find a way to be, to corrupt, or to compromise an insider in order to reduce the problem of physical access to one of insider threat security.
Principle of Economy
Ambitions will always exceed available resources. All ambitions are tempered by the constraints of reality.
- Time
Targeting Capabilities (gathering and analyse)
Exploitation Expertise Networking Expertise
Software Development Expertise
Operational Expertise
Operational Analysis Expertise
Technical Resources


Mother Nornil:
Then, before beginning the ritual, please get seek Rodenpicula's permission.
If she allows it, the ritual will begin.


DailyCode 51
I worked through some good process-related stuff today. I didn't know where to start today. I was bored with the basic svg shapes but I didn't know how to make anything more complex. I thought about skipping today's code (of course) or maybe writing some back end code to keep the chain going. I didn't want to skip so I decided to write some code, however simple. I couldn't escape to the back end because DailyCode is strictly about the front end: design then build using front end technologies. The final constraint that I couldn't wiggle out of was that this week is strictly about working with graphics (today is the last day for graphics although I may continue to work with graphics and type). So I decided to stick with my plan for DailyCode. Glad I did.
To solve this dilemma, I first looked for inspiration in other designers' work online. Tobias van Schneider got me going today. Next, I grabbed my sketchbook and started drawing. Finally, I used the svg elements that seemed to work best for my drawing and started coding (I design and implement in the browser). Since I sketch on graph paper it was easy for me to calculate the coordinates and proportions of the shapes. I used the text, and polygon elements for today's design. The polygon is off a bit, but that's ok. I learned a lot about how it works. I also worked with the path element today (which is amazing), but I scrapped the object I made with path. I was also bolder in size and contrast with my type and this worked out very well for the design. Very good session today and glad I moved past the plateau.


virsh pool-build
Build the underlying storage system for a virtual machine storage pool as defined in it's configuration file in `/etc/libvirt/storage`.
See also: `virsh`, `virsh-pool-define-as`, `virsh-pool-start`.
More information: home page
- Build the storage pool specified by name or UUID (determine using `virsh pool-list`):
virsh pool-build --pool name|uuid


Well, first, I'd like to briefly introduce myself : I'm a 17 years old girl. I have never used any drug. I do not smoke although I have tried, and drink occasionally. I've always been interested in drugs, wondered what it felt like, experiencing some new things that you could not feel in any other way, and the idea of trying some has always been on my mind. Curiosity is a bad thing, some will say.
Anyway, a while ago, my mother got prescribed some Alprazolam (also known as Xanax), 2 boxes of 0.25mg pills after having stopped work. She planned not to take them, as she said she didn't need them, and so would throw them away in case doctors from her work would come home to check if she took it. I had learned that Alprazolam could be used recreationally, and an opportunity is always good to take, so this was my chance to get some : she would never count how much would be missing from the boxes.
I spent a while reading about Alprazolam to know more about possible effects/side effects of it, and ended up unable to decide which dose I should try, so I stole four 0.25mg pills, and took one that morning. About 40 minutes later, I felt somewhat dizzy, as if I had drank a little alcohol, though I wondered if it was from the Alprazolam, or just a placebo effect. The day after in the evening, I took the one of the pills I had stolen, and went shower. Everything was normal, and I figured 0.25mg of Alprazolam wouldn't do anything. In the evening, I took the two remaining pills and then 40mins later felt that dizziness from the day before, only a bit stronger. I was definitely not a placebo effect, but nothing very noticeable either.
A few days after, I decided to try more, since I knew it had more than that to offer. At 5PM, I took 1.50mg (= 6x 0.25 pills), that I stole from where we keep all medicine, and took it at approximatively 5 PM. I am not sure the times written below are exact, as I didn't take notes.
T+ 0:00 : Took the pills. Kinda anxious about trying what seemed so much to me, but I calm myself thinking that I am alone, and even if anything doesn't go as intended (aka saying things I wouldn't do when 'sober'), it'll be okay.
T+ 0:20 : Still nothing at all. I spend some time chatting on the computer.
T+ 0:30 : Hints of dizziness when getting up, walking feels kind of strange, as if I were floating. Parents come home unexpectedly. I worried a little that they would find out about the missing pills, or me acting different, but they didn't. I say hi to them and go back in my bedroom.
T+ 0:45 : Definitely feeling it. My head is spinning, moving feels very strange, like if the movement was done a moment after I thought about it, and I could see it with a delay. My eyes seemed to take longer to adapt to what I'd see (looking far, waiting, and then looking near, and my vision would be blurry). Walking was somewhat difficult, turning too fast felt like it would make me fall. Getting up, I would feel my body very light, and movement very easy, but sitting down was more like falling in the chair :). I was also in a better mood, but more in a 'opened' state than euphoria, and definitely calmer. Also, feeling a bit difficult to concentrate. I could speak, even though I would have trouble finding some words (no one did notice).
T+ 2:00 : Feeling the effects fading at that point. Feeling pretty good. At one point, my mother mentioned that I looked tired. I went to bed before I felt the effects stopped completely. I felt very tired, and a second after I closed my eyes, I fell asleep. I woke up at about 7AM the day after, feeling perfectly fine, and awake. If only I could sleep like that every night.
----
Two days after, was the day we were supposed to have a party for my birthday. It ended up everyone but a friend canceled. So that left us with four people at home, including me, and two of them wouldn't be paying much attention to me. My friend already knew that I had tried Alprazolam once, and was likely to do it twice, so I figured I would take some again.
The Alprazolam boxes we had came in 3 x 10pills, I took a pack of 10pills and I just swapped contents until one looked unused, and the other just missing some pills, to someone who wouldn't be very careful, still trying not to get caught. I took 4 pills (1mg), and then went to shower. One hour later, I still didn't feel the same as two days before, so I went back to one of the boxes, and took 4 more. (total 2mg). Then, I just took all the rest. (which took me to a total of 3.5mg, taken in approximatively an hour)
Effects were the same as described above, a bit more intense, only focusing seemed the same, but when my friend arrived, it took my mind off these feelings. I spent a great afternoon, and Alprazolam really did improve my mood. The cake we ate had cherry with much alcohol in them. I ate much of them (my friend didn't). I knew Alprazolam and alcohol didn't mix, but I guess both dosage were just too low to cause anything except laughing :).
At the end of the day, the effects began to fade, though much slower. My friend went back home, and I told him I had been on Alprazolam all the evening : he hadn't noticed. At about 11pm, I was exhausted, so I went to bed. I remember dreaming that night, and had what might be called a lucid dream. (I was aware of the fact I was dreaming, but had no control on the dream. Also, it didn't seem to last for a very long time).
I woke up feeling kind of dizzy. That dizziness, although not very noticeable nor annoying, stayed for nearly three days! I would feel it only when moving a bit too fast. I suppose it was some kind of side effect?
Anyway, that was my experience with Alprazolam. I found it to be pretty interesting, enjoyable, although I am scared about possible addiction - that will prevent me from taking more, or even trying to get more, once I won't be able to get it anymore (which is not even a week from now).
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.


Hello
_,
Welcome to the Contest Page! This will be where you submit your solutions and read the problems. You should already be logged in, so just look around, and perhaps edit your team profile before contests start.
Also, before you begin your problem solving session, please go to the Sample page, and try out our sample question. It's a super simple problem called nSUM, where you need to read in N numbers and add them up. This will not only familiarize yourself with the contest format, but also help us test our grader.
Also, if you are not in the discord server already, we strongly recommend you join us at
LIT Discord Server. Not only will you be able to instantly get the latest information, but in case you have questions, Discord will probably be the most efficient way. If you prefer email, you can still contact us at
<EMAIL_ADDRESS>PS: if you have questions regarding the architecture of the system, DM CodeTiger#1869.
Good luck and have fun with the contests xD.


This page uses the new YUI/Express middleware for "pre-rendering".
As you will note in the code below, during the request we will call res.render()
on the
file passed into the middleware. Then create a YUI
instance from that layout and attach
it to the res/req objects. This allows you to have an active DOM inside your request handler.


Nicole PellicenaSoftware Developer Deloitte Digital
Computer-generated sensory enhancements layered on an existing reality
Interactive in real time
Mixed reality as opposed to virtual reality
The Sword of Damocles: first head-mounted display
Videoplace: An 'Artificial Reality' laboratory
The term 'Augmented Reality' is born
Virtual fixtures: full body exoskeleton to remotely control task in the US Air Force
'Dancing in cyberspace' - the first AR theatre production
Virtual yellow line marker in a live NFL game
NASA use a hybrid synthetic vision system to overlay map data to aid navigation
ARToolkit, a software library using video tracking to overlay computer graphics on a video camera
Esquire magazine bring Robert Downey Jr. alive on the cover
Volkswagen provide virtual step-by-step repair assistance
Google announce Google Glass
Investment in AR & VR startups reached over $3.5 billion in the last 2 years
Microsoft Hololens and Meta 2 Developer kits launch
Internet
Display (Handheld, Mounted or Spatial)
App or Game
Accuracy
Cost and availability of devices
Provide contextual, explorative learning experiences
Collaborative learning across spaces
3D models of learning material
Overlay information on view of real world
Vision
Transformation and Delivery
Embedding


© 2019
| monacanthos monacanthos monacanthon | with one spine | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| acantha | acanth | noun/f | ακανϑα thorn, thistle | |
| os | adj | οϛ adjectival suffix | ||
| Cactus monacanthos Willd. | ||||
| monacanthus monacantha monacanthum | with one spine | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| acantha | acanth | noun/f | ακανϑα thorn, thistle | |
| us | adj | Latinizing suffix | ||
| Opuntia monacantha (Willd.) Haw. | ||||
| monadelphus monadelpha monadelphum | brothers (stamens or filaments) as one | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| adelphos | adelph | noun/m | αδελφοϛ brother | |
| us | adj | Latinizing suffix | ||
| Stewartia monadelpha Siebold & Zucc. Allium monadelphum Less. ex Kunth | ||||
| monandrus monandra monandrum | with one stamen | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| aner | andr | noun/m | ανηρ, ανδροϛ man; male; husband | |
| us | adj | Latinizing suffix | ||
| Aploleia monandra (Sw.) H.E. Moore Calyptridium monandrum Nutt. Homalocenchrus monandrus (Sw.) Kuntze | ||||
| monanthos monanthos monanthon | one flower | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| anthos | anth | noun/n | ανϑοϛ flower | |
| os | adj | οϛ adjectival suffix | ||
| Ervum monanthos L. | ||||
| monanthus monantha monanthum | one flower | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| anthos | anth | noun/n | ανϑοϛ flower | |
| us | adj | Latinizing suffix | ||
| Medicago monantha (C. A. Mey.) Trautv. Papaver monanthum Trautv. Calochortus monanthus Ownbey | ||||
| monilifer monilifera moniliferum | necklace bearing | |||
| monile | monil | noun/n | a necklace of precious metal and jewels | |
| i | i | cnct | connective vowel used by botanical Latin | |
| fer | fer | apar | fero to bear, carry, bring | |
| Alysicarpus monilifer (L.) DC. Monilistus monilifera (Ait.) Raf. ex B.D. Jackson Osteospermum moniliferum L. | ||||
| moniliformis moniliformis moniliforme | necklace shaped | |||
| monile | monil | noun/n | a necklace of precious metal and jewels | |
| i | i | cnct | connective vowel used by botanical Latin | |
| formis | form | adj | in botanical Latin a substantive suffix for nouns derived from 'forma': to be in the form or shape of... | |
| Coenogonium moniliforme Tuck. Opuntia moniliformis (L.) Haw. | ||||
| monocephalus monocephala monocephalum | one head | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| cephale | cephal | noun/f | κεφαλη head; front; end, point; source, top; chief person | |
| us | adj | Latinizing suffix | ||
| Achillea monocephala Boiss. & Bal. | ||||
| monococcus monococca monococcum | one berry | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| coccos | cocc | noun/n | κοκκοϛ berry of the scarlet oak, used as a red dye | |
| us | adj | Latinizing suffix | ||
| Triticum monococcum L. | ||||
| monodactylus monodactyla monodactylum | one finger/toe | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| dactylos | dactyl | noun/m | δακτυλοϛ finger, toe | |
| us | adj | Latinizing suffix | ||
| Digitaria monodactyla (Nees) Stapf Panicum monodactylum Nees | ||||
| monodoriflorus monodoriflora monodoriflorum | single scented flower | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| odorus | odor | adj | sweet smelling, fragrant; ill smelling | |
| i | i | cnct | connective vowel used by botanical Latin | |
| florus | flor | ppar | floreo to bloom, to flower | |
| monogonus monogona monogonum | single start | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| gone | gon | noun/f | γονη origin, birth; conception | |
| us | adj | Latinizing suffix | ||
| Pertusaria monogona Nyl. | ||||
| monogynus monogyna monogynum | one ovary | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| gyne | gyn | noun/f | γυνε woman, lady; wife; mistress; widow | |
| us | adj | Latinizing suffix | ||
| Crataegus monogyna Jacq. Hypericum monogynum L. Physocarpus monogynus (Torr.) Coult. | ||||
| monoicus monoica monoicum | monoecious | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| oicos | oic | noun/m | οικοϛ house, dwelling | |
| us | adj | Latinizing suffix | ||
| Carica monoica Desf. | ||||
| monopetalus monopetala monopetalum | one petal | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| petalum | petal | noun/n | πεταλον Mod L petal (Gk: leaf, tablet) | |
| us | adj | Latinizing suffix | ||
| Statice monopetala L. Limoniastrum monopetalum (L.) Boiss. | ||||
| monophyllos monophyllos monophyllon | one leaved | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| phyllon | phyll | noun/n | φυλλον leaf; foliage | |
| os | adj | οϛ adjectival suffix | ||
| Malaxis monophyllos Swartz | ||||
| monophyllus monophylla monophyllum | 1 leaved | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| phyllon | phyll | noun/n | φυλλον leaf; foliage | |
| us | adj | Latinizing suffix | ||
| Pinus monophylla Torr. & Frem. Zanthoxylum monophyllum (Lam.) P. Wilson Calochortus monophyllus Lem. | ||||
| monorrhizus monorrhiza monorrhizum | one root | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| r | r | cnct | ρ sometimes the Greek aspirated 'r' is rrh and sometimes rh in the Latin transliteration | |
| rhiza | rhiz | noun/f | ριζα root; stem, origin | |
| us | adj | Latinizing suffix | ||
| Habenaria monorrhiza (Sw.) Reichenb. f. | ||||
| monosepalus monosepala monosepalum | single sepaled | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| sepalum | sepal | noun/n | Mod L sepal; = Gk skepe (covering) + petalum (petal) (coined in 1790 by H. J. de Necker) | |
| skepe σκεπη covering; shelter, protection | ||||
| petalum πεταλον Mod L petal (Gk: leaf, tablet) | ||||
| us | adj | Latinizing suffix | ||
| Bulbophyllum monosepalum Barb. Rodr. | ||||
| monospermus monosperma monospermum | single seeded | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| sperma | sperm | noun/n | σπερμα seed, germ | |
| us | adj | Latinizing suffix | ||
| Butea monosperma (Lam.) Taubert Allium monospermum Jepson Celastrus monospermus Roxb. | ||||
| monostachyus monostachya monostachyum | single spiked | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| stachys | stachy | noun/m | σταχυϛ spike; ear of corn | |
| us | adj | Latinizing suffix | ||
| Abildgaardia monostachya (L.) Vahl Paspalum monostachyum Vasey | ||||
| monotrichus monotricha monotrichum | one hair | |||
| monos | mon | adj | μονοϛ alone, only; forsaken | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| thrix | trich | noun/f | ϑριξ, τριχοϛ hair, wool, bristle | |
| us | adj | Latinizing suffix | ||
| Pycnanthemum monotrichum Fern. | ||||
| montanus montana montanum | of mountains | |||
| montanus | montan | adj | of or belonging to the mountains | |
| Anthemis montana L. Alyssum montanum L. Cercocarpus montanus Raf. | ||||
| monticola monticolae | mountain dweller | |||
| mons | mont | noun/m | a mountain | |
| i | i | cnct | connective vowel used by botanical Latin | |
| cola | col | noun/f | incola dweller, inhabitant -> -cola/-colus suffix | |
| Oxytropis monticola Gray | ||||
| mucronatus mucronata mucronatum | mucronate, short point | |||
| mucro | mucron | noun/m | a sharp point or edge | |
| atus | at | adj | adjectival suffix for nouns: possessive of or likeness of something (with, shaped, made)/ for verb participles: a completed action, -ed | |
| Amelanchier mucronata Nielsen Sisyrinchium mucronatum Michx. Nemopanthus mucronatus (L.) Loes. | ||||
| mucronifolius mucronifolia mucronifolium | short pointed leaves | |||
| mucro | mucron | noun/m | a sharp point or edge | |
| i | i | cnct | connective vowel used by botanical Latin | |
| folius | foli | adj | folium leaf | |
| Androsace mucronifolia Watt Astragalus mucronifolius Boiss. | ||||
| mucronulatus mucronulata mucronulatum | with little sharp points | |||
| mucro | mucron | noun/m | a sharp point or edge | |
| ulus | ul | noun/m | dimutive substantive suffix for 1st & 2nd declension nouns | |
| atus | at | adj | adjectival suffix for nouns: possessive of or likeness of something (with, shaped, made)/ for verb participles: a completed action, -ed | |
| Melicope mucronulata (H. St. John) T. G. Hartley & B. C. Stone Pappophorum mucronulatum Nees Lupinus mucronulatus T.J. Howell |


Conditional Breakpoints and Animation¶
We have a game window with a label, but nothing is moving. Boring!
Let’s see how to do animation in Arcade. Our label will start at an initial
position, then each time update
is called, we’ll move it to the right.
To make this more clear, we’ll also update the string displayed in the label,
to include the position.
Along the way, we’ll look at more features in debugger breakpoints.
Objectives¶
- Conditional breakpoints
- Suspend all breakpoints
- Clear all breakpoints
- Break on exceptions
Steps¶
Terminate the game, if it is running. (Remember: )
Edit
game.py
to have the following:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
import arcade class MyGame(arcade.Window): def __init__(self, width, height, title): super().__init__(width, height, title) arcade.set_background_color(arcade.color.WHEAT) self.title = title self.position = 100 def on_draw(self): arcade.start_render() y = self.height / 2 message = f'{self.title}: {self.position}' arcade.draw_text(message, self.position, y, arcade.color.BLACK, 12) def update(self, delta_time): self.position += 1 def main(): game = MyGame(600, 600, 'Coin Game') arcade.run() return game if __name__ == '__main__': main()
- Line 9. We will constantly update the position of the label, so let’s initialize it with a starting position.
- Line 13. Center the text on the screen height.
- Line 14-15. Use Python 3.6 f-strings to make a label and draw it to the middle of the screen. Note that this is going to change every time line 18 updates the position.
- Line 18. Move the position one pixel to the right. This gets called
“a lot” by Arcade (where “a lot” can be configured.)
delta_time
is how long it has been sinceupdate
was last called.
Run under debugger. Make sure there are no breakpoints and click the green button (either on line 27 or in the debug window) to run it under the debugger, just to see what it looks like.
Set first breakpoint. What’s
delta_time
? Let’s take a look. Set a breakpoint on line 18 (self.position
). Execution stops immediately anddelta_time
is a fraction of a second.Resume. Click to continue execution, which stops immediately at the same breakpoint. The
delta_time
value is much bigger. Why? Because we were paused in the debugger and Arcade couldn’t do the nextupdate
call.Set conditional breakpoint. Let’s stop execution, but only when the text is halfway across the screen. Right-click on the breakpoint image on line 18. In the
Condition
box, enterself.position > 300
and clickDone
to close the popup.Re-run. Click the
Debug
window’s re-run button to stop and restart the application.Program runs, then stops. The label moves across the screen a bit, then the program stops and the debugger takes over. What’s the value of
self.position
? Expand the triangle forself
and take a look. (Pro tip: zoom down through a long list by typingposi
.)Resume. Click and you’ll see that execution immediately stops again.
self.position
is now302
. Keep clicking and watch the value go up.Shut up the breakpoints. Perhaps, for a moment, we don’t want any breakpoints in use. In the debug window, click mute breakpoints to briefly turn them off. Click resume and the label starts moving again. Turn off muting by clicking and execution immediately stops.
Clear your breakpoints. As your sleuthing, you can pile up breakpoints and forget where they are. Click view breakpoints to bring up a dialog of all your set breakpoints. Select any breakpoints in
game.py
, then click the minus button andDone
. Your breakpoints are gone.Unhandled exception. PyCharm has a built-in breakpoint to stop on all unhandled exceptions. Let’s put in an error on line 15, changing
message
toy
as the firstdraw_text
argument.Re-run. Your code changed, so in the debug window, click re-run to stop and restart.
Execution stops. Deep in Arcade, in
document.py
, we have a line that fails because a string was expected (message
) and we sent a number (y
).Stop on Exceptions. What controls this? Click view breakpoints and look at
Any Exception
under thePython Exception Breakpoint
heading.Terminate. Click the red square and close
document.py
.
What’s Going On¶
In this step we’re going further into breakpoints, showing some of the features that make them much more practical.
For example, conditional breakpoints solve a practical problem in debugging. Often you want to stop execution, but only when a certain threshold is reached. Click a hundred times to reach some threshold would…suck. In fact, in some cases, the time window for the threshold might be miniscule. Having a conditional breakpoint is a big time saver for debugging.
Same for suspending breakpoints. As you work through debugging a problem, you might want to go back, temporarily, to seeing your code without all the breakpoints. It would be painful to remove all the breakpoints, then re-add them.
But sometimes you do want to clear all your breakpoints, especially if you have set them deep in some library that you can’t remember visiting.
Finally, “stop on exceptions” helps when debugging the problems in other people’s code, where it can be cumbersome to find the line and set the breakpoint.


Maine owl gets lift in state trooper's patrol car after rescue
by Robert GeartyIt was a tough night for one large owl but a hoot for a Maine state trooper, according to a report.
A car apparently struck the owl in Manchester, outside Augusta, Friday night, leaving it in a disoriented state in the middle of a busy road.
That’s where a trooper on patrol, Sam Tlumac, found it, WTHR-TV reported Tuesday.
MASSACHUSETTS OWL SURVIVES AFTER BEING STRUCK BY CAR, TRAPPED IN GRILLE
“He took the subject to the Manchester Fire Department,” a post on the Maine State Police Facebook page read, referring to the trooper and the bird.
WATCH FIREFIGHTERS SAVE GREAT HORNED OWL TRAPPED IN FISHING LINE
Police posted a photo of the owl riding shotgun in Trooper Tlumac’s car.
“Tlumac had to bring a person to jail (unrelated to the owl) and upon his return he checked on the owl, and it seemed much better,” the post said. “He brought the bird outside. It took flight into nearby trees.”
CLICK HERE FOR THE FOX NEWS APP
Comments on the Maine State Police Facebook page included one pointing out that the owl made out better than the person who went to jail.


Kömys
Home
Jewellery
Lookbook
Delivery
Contacts
More
Register / Login
earrings
rings
pendant
bracelet
silver, 8.31gr.
49€


--- layout: default --- {% include page/title.html %} {{ content }} {% include /includes/page/about.html %}


| DOSE: T+ 0:00 |
5 hits |
oral |
LSD |
(blotter / tab) |
| T+ 3:00 |
|
smoked |
Cannabis |
(plant material) |
It had been decided. The five of us would trip together. My not yet husband and I, and 3 close, experienced babysitters. We didn't see them that way, but that's what they were.
We drove up a familiar dirt road, into the mountains. Mr. K lotted out the acid (on blotter strips) about a half hour into the drive. Ten hits a piece for he and Mr. B, seven hits for Ms.C and five a piece for my husband and I. Five hits was a healthy dose. Especially for a couple of first timers, but our conditions and company were ideal so intensity wasn't a worry. Like I said the others were experienced and respectful trippers so they dosed according to their known tollerance and personal whims.
(6:40am ish?)
So we've eaten the acid. For some reason I was a bit nervous and wouldn't swallow the paper. I chewed until it simply disapeared from my mouth. It took about thirty/fourty-five minutes before we found a place everyone was happy with. Far enough a way from the road to avoid anyone disturbing us (or vise versa), and on a slope with an appropriate view of the city. The view was really quite spectacular and the sun was about 20 minutes away form rising.
As soon as we had set down our orange juice, and weed and whatever other little things they brought, Mr. B and Ms. C began to set the mood of the trip. I don't know if they did it on purpose or if it was just their keen acid instinct, but they knew exactly how to focus our attention on the rise of the trip without really focusing us on it at all. Rather than letting the acid hit us like a ton of bricks (which it tends to do) they suggested that we see certain things.
'Look at the tracers the grass makes...'
'If you can look at the sun...'
'Do you see the different colors in this bush?...'
At first no. Not really. But this process of looking for differences in my perception before the trip started was a gentle glide into the experience. It was like a subconcious little meditation that they were privy to.
The sun was amazing. I saw it as a ball of fire. Not just a bright yellow circle. Pulsing, throbbing, pure energy. So I start playing in the dirt a little. (+ 1hr) Just poking at it with a stick and pulling up tiny roots. I saw how the spruce were one big organism. Not seperate trees, but individual sproutings from an ancient root system covering the entire mountain range. Seperately, individally experiencing parts of one mass.
Our friends kept us focused on some of the more amusing aspects of LSD. The hightened visual experience. The goofy nature of reality. The hysterical laughter that seems to accompany the trip. The way time feels. Or doesn't feel. Thinking back they treated us a little bit like children. Which is good for the newbie.
Every possible reality opened to me. Some scared me and some thrilled me. Sometimes the idea of more than one reality became quite frightening. Other times it felt quite spiritual. Our babysitters stood infront of the negative and eminated positive.  The movie still exists, but not to the child. They saw the importance of the initial positive experience.
My trip was mostly mental. I did have visuals. For example, there were a lot of jets out flying that day. Military, commercial, whatever. We would all stare at the sky together when they flew over. I could see the air split in front of a little fighter jet...the way it pushed throught the sky. It looked like the under side of a speedboat in the water at a few hundred miles an hour. Brilliant spirals of translucent color trailed the engines of a banking cargo plane.
When we were all very still and quiet, I would watch the wind splash against the foothills and follow its tide up the mountain for about fifteen seconds before it reached us. A bee. Glistening pollen. I could see every spec on the tiny legs. It had a fuzzy body that I really found funny. I threw a couple big sticks and watched them crash. I admired the crystals on some very nice buds before we smoked them.  The orange juice we brought would give a nice boost. The citris was really pleasant tasting and I could feel a little vibration in my spine for a few minutes after each swallow. A lot of color...not so much seen but percived. Like direct infusion to the brain without wasting time with the eyes.
I wasn't sure how to act around the other trippers. It was like being a loud drunk at wine tasting at first. I could sense that there was a way to deal with this, but had no concept of how. I just reacted. We laughed in a merry-go-round for quite a while on several different occations. I cried once. Time didn't mean anything. I gave up caring when I asked the time after what seemed like an eternity from the first time I asked and the minute hadn't even changed. The second time I asked, it had been two hours in what felt to me like two minutes. I marvled at the concept of it for a moment and mentally moved on.
Like I said, my trip was mostly mental. Or psychic I guess. I came upon bits of infused knowledge. Simple things that an older, wiser person could have called common knowledge, but to a twenty year old was a great time saver. A lot of the things that came to my mind were confusing at first, or even in direct contrast to a (childish) firmly held belief that I thought so superior. Most of what I recieved durring the trip didn't process until later. I mostly saw how wrong I had been. I saw what a spoiled little primadonna I had become. How I DID judge despite my rightious belief that I was a fair person. Where and how I took advantage of people. And the result of continuing life in this deluded way.
In the end the whole thing was wonderful. We stayed on the one mountain and talked and laughed for about 8 or 9 hours. The trip was very safe and private and nurturing. Ms. K even went to work at six that evening and did just fine.
Acid opened my mind to everything. The fall of ego can be terrifying to SOME people. I see it as a healthy realignment of perception. Even if I had a bad trip...who cares? Could anything that bad actually happen to me? Or would I just whitness to the greater workings and possibilities of the mind and the universe? When a kitten is kept in a back room until it is an adult, the sudden introduction of the front yard may yeild two responses...
fear and retreat to the saftey of the known.
or curiosity and intrest in the possiblities in the unknown.
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.


Zendaya, Simone Leigh Join the Mutual Admiration Society
The actor and the artist met again in Los Angeles to fête their striking recent cover for Garage magazine.
by Kali HaysEven the first rain Los Angeles has seen in months couldn’t dampen the enthusiasm Zendaya has for the renowned artist Simone Leigh.
“I love meeting other black creatives and supporting each other and this was very special,” Zendaya, whose fame has grown with the popularity of HBO’s “Euphoria,” said of the cover shoot she did earlier this year for Vice-owned Garage magazine. The dramatic photos were one of the very few magazine moments this year that got people in fashion media talking and cooing — no wonder as Zendaya appears in one shot in a 12-foot-high skirt made by Leigh.
“I walked into the set and there was this thing — even touching it I’m thinking ‘This Is in the Guggenheim!’ I was so scared to touch it,” Zendaya recalled as a mix of guests for dinner filled up the penthouse deck of the Chateau Marmont.
Law Roach came along with Zendaya, but there was also Robin Coste Lewis, the poet Laureate of L.A. (and a close friend of Leigh); actors Alia Shawkat, MJ Rodriquez and Kiki Lane; artists Alex Israel and Jennifer Guidi; Rodarte designer Laura Mulleavy and Elder Statesman designer Greg Chait; singers Moses Sumney and Kilo Kush; model Jessica Hart; Baby2Baby cofounder Kelly Sawyer Patricof; Conde Nast’s Lisa Love, now a contributing editor of Vogue, who helped plan the event; stylist Jamie Mizrahi; art dealer Graham Steele; MOCA’s Klaus Biesenbach; director Spike Jonez.
“I was just in awe the whole time of this massive work that she does and the fact that I was able to interact with it and [Simone] is so cool, so cool,” Zendaya added. “This is definitely one of the shoots I’m most proud of.”
For Leigh, wearing a full-length tiered dress by emerging designer Christopher John Rogers (this one to be exact) the shoot for Garage marked the first time she’s worked with a magazine on a photo shoot. And it’s very possibly her last. Since the biannual magazine released the issue in September, Leigh said she’s been fielding a lot of interest from other magazines and for commercial work, but she has no plans to accept any offers.
“I do get approached a lot and I don’t think I’m going to do that — it’s not really my work,” Leigh said. “I wear so many hats already I cant expand and I’m really fighting for time in my studio.”
She made an exception for Garage, however, despite the shoot happening in the same 30-day span that she was staging a solo show at the Guggenheim, a sculpture show on New York’s Highline in Chelsea and an appearance in the Whitney Biennial. First, because she felt like she “could learn something” with 30 years of staging all kinds of shows and never having done a magazine shoot and second, because of Zendaya, whom she’d never met.
“I really respect her work…she has such a unique place in a lot of different aspects of my life. She comes up,” Leigh said. “I don’t know how it’s played out in popular culture, but in the art world and with black feminists she’s really groundbreaking because she does these roles that have never really been given to black women before. She’s been able to transcend a lot of staid and kind of stale ideas of black womanhood.”
But in fact, the Garage shoot almost didn’t happen. Zendaya was on location shooting New Orleans and was unable to get a planned flight to New York for the one-day shoot due to weather.
“I don’t even know what would’ve happened if she didn’t make it,” Garage editor Mark Guiducci said, stressed at the thought months later, considering the issue proved the most successful of his two-year tenure. “But we got her there.”
For More, See:
Tig Notaro Has ‘No Idea’ Who Anna Wintour Is
Vice’s Garage Magazine to Grow Fashion Coverage With New Roles
International Best Dressed List Returns In Graydon Carter’s Air Mail


Among tulip fields, canals and sampling cheese, the museums of the Netherlands are one of its biggest tourist attractions. And for very good reasons! During the seventeenth century, known as the Dutch Golden Age, there was an abundance of talented painters. If you ever have the chance to visit the Rijksmuseum you will be in awe by the landscapes, households and portraits, painted with incredible detail and beautiful colors.
The dutchmasters
color palette
Rembrandt van Rijn and Johannes Vermeer are the most famous of the seventeenth
century Dutch masters. Both are renowned for their use of light and color,
making encounters with their subjects feel as being in the room with them.
Recently, during the OzUnconference, the beautiful ochRe
package was
developed. This package contains color palettes of the wonderful Australian
landscape (which my wife and I got to witness during our honeymoon last
year). Drawing colors from both works of art and photographs of Australia.
I shamelessly stole both the idea and package structure of ochRe
to create dutchmasters
. This package contains six color
palettes derived from my six favourites by Van Rijn and Vermeer.
Vermeer’s paintings are renowned for their vivid and light colors. The package offers palettes from Vermeer’s The Milkmaid, Girl with a Pearl Earring, View of Delft, and The Little Street. Rembrandt’s paintings on the other hand are more atmospheric, with a lot of dark colors and subjects that stare you right into the soul. From him you find palettes derived from the The Anatomy Lesson of Dr. Nicolaes Tulp and The “Staalmeesters”.
Like ochRe
, the package comprises a list with the color palettes. I have added
names to each of the color codes, reflecting the color it represents and moreover
where on the painting the color was taken from. As mentioned, I shamelessly
converted the functions from ochRe
into dutchmasters
functions. Why invent
something that smarter people already figured out?
Using the package
Grab the package from github with devtools::install_github("EdwinTh/dutchmasters")
.
Make sure to install ochRe
right away for the handy viz_palette
function,
with devtools::install_github("ropenscilabs/ochRe/")
.
This is what the palette “milkmaid” looks like.
library(dutchmasters)
ochRe::viz_palette(dutchmasters[["milkmaid"]])
Now to put those beautiful Vermeer shades into action on a ggplot.
library(ggplot2)
ggplot(diamonds, aes(color, fill = clarity)) +
geom_bar() +
scale_fill_dutchmasters(palette = "milkmaid")
Or maybe the dark “staalmeesters” colors?
ggplot(diamonds, aes(color, fill = clarity)) +
geom_bar() +
scale_fill_dutchmasters(palette = "staalmeesters")
I leave the other four palettes for you to explore. In the future I will certainly add more paintings, as the well of the Dutch masters seems bottomless.
A big thanks to the ochRe
team, for inspiration and groundwork. I hope that
this package motivates you to further explore the wonderful art of the Dutch
Golden Age.


Both DHH and Tim Bray make great points about “dependency injection” and its issues regarding Ruby and testing. My colleague Adam Keys makes a similar point, though doesn’t call his anti-pattern “dependency injection”.
The scare quotes are because neither DHH nor Tim are accurately representing the purpose of dependency injection. Dependency Injection is not about a framework, XML, factories, or testing. It’s about simplifying code. Let’s see how.
I’m going to ignore Rails for the moment, and just talk about designing classes in Ruby1. Let’s take the example domain from my previous post, and expand it a bit. We start with a class that implements purchasing logic:
1 2 3 4 5 6 |
|
I’ve simplified things a bit, but basically we charge the customer, create an invoice, and add it to their invoices. This class gets used as part of the regular purchase flow of our website. Suppose that we want to run a promotion such that, whenever someone signs up for our mailing list, they get a free keychain. They’ll get this keychain the same as if they bought it, but it’s a special product with a price of zero, so they get it for free.
Let’s make a class for this.
1 2 3 4 5 6 7 |
|
This is straightforward, simple code. We add the customer to the mailing list, find the promotional keychain, and “purchase” it.
What are the dependencies of this class?
- The
MailingList
object - The
Product
object - The
PurchaseProcess
object - An instance of the
PurchaseProcess
class
Of those four dependencies, only three are directly related to the business process of our promotion. The PurchaseProcess
object is only needed to create an instance of that class so we can call purchase_product
on it. Let’s inject this dependency
and see what happens.
1 2 3 4 5 6 7 8 9 10 11 |
|
Our class is a bit longer, but it has fewer dependencies. It also does fewer, things, making it more cohesive. It’s only about this promotion, and no longer about creating instances of a shared class. If the way in which PurchaseProcess
instances get created needs to change, we will not have to change this class, meaning its fan out is lower. It is simpler, by any objective definition.
Other than simplicity, what are some advantages of this approach?
- We can use an alternate purchase process if we want. Swapping purchase processes is certainly YAGNI, but it’s not hurting anything and it’s a nice benefit.
- Flexibility in testing. Since we no longer depend on the
PurchaseProcess
object, we have more options regarding how we testKeychainPromotion
. Before, our only option was to mock/stubnew
, but now we can just pass in anything that responds topurchase_product
. Our test will be simpler because of this.
Note that these are side benefits, not ends unto themselves. Code that’s easier to test isn’t better because of that fact - it’s the other way around. Code that’s well designed is easier to test. We have some objective measures of the quality of code, and many of them lead to simpler testing.
This is the mistake that both DHH and Tim make in their posts - they assume that the reason for using dependency injection is to make your code “easier” to test. In DHH’s (and Adam’s) case, they rightly call out method-level injection as bad. I would agree, and, outside of the mind-bending Scala collections framework, you don’t see it much. Tim asserts that DI is nothing but needless indirection, but that’s not it at all.
Suppose we want to inject more dependencies into our KeychainPromotion
class. Let’s replace the “hard-coded” dependency on
the Product
object with an injected finder and see what happens.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Is this better? We haven’t reduced the number of dependencies on this class, even though we increased the complexity of the
constructor. The sign_up_for_mailing_list
method is also more complex because it now depends on a new ivar, @product_finder
,
which has a higher scope than a direct use of Product
. While it’s true that KeychainPromotion
is more flexible and we have more flexibility in testing it, we’ve made the code itself more complex.
I would argue that injecting this particular dependency is not an improvement, and that this code is worse than before.
Is that the fault of the concept of Dependency Injection? Of course not. Dependency Injection, like any other pattern, technique, or tool, is only useful when it’s used properly. It’s true that dynamic languages like Ruby provide many other tools that solve problems that Dependency Injection can also solve, and they often do it better. But it doesn’t mean that the entire concept is worthless.
- Rails is a container, and it manages our code for us, the same as Spring or Guice. As such, coding “The Rails Way” has significant advantages that can outweigh those that we might see by using Dependency Injection ↩