The astropy configuration system is designed to give users control of various parameters used in astropy or affiliated packages without delving into the source code to make those changes.
The Astropy configuration options are most easily set by modifying the configuration file. It will be automatically generated with all the default values the first time you import Astropy. You can find the exact location by doing:
from astropy.config import get_config_dir
print get_config_dir()
And you should see the location of your configuration directory. The standard scheme generally puts your configuration directory in $HOME/.astropy/config, but if you’ve set the environment variable XDG_CONFIG_HOME and the $XDG_CONFIG_HOME/astropy directory exists, it will instead be there.
Once you’ve found the configuration file, open it with your favorite editor. It should have all of the sections you might want, with descriptions and the type of the value that is accepted. Feel free to edit this as you wish, and any of these changes will be reflected when you next start Astropy. Or, if you want to see your changes immediately in your current Astropy session, just do:
from astropy.config import reload_config
reload_config()
Note
If for whatever reason your $HOME/.astropy directory is not accessible (i.e., you have astropy running somehow as root but you are not the root user), the best solution is to set the XDG_CONFIG_HOME and XDG_CACHE_HOME environment variables pointing to directories, and create an astropy directory inside each of those. Both the configuration and data download systems will then use those directories and never try to access the $HOME/.astropy directory.
The value of a configuration object can be accessed by calling the object as a function. For instance to get the default URL for astropy remote data do:
>>> from astropy.utils.data import DATAURL
>>> DATAURL()
'http://data.astropy.org/'
To interactively see more information about a configuration object there are two options:
>>> DATAURL
<ConfigurationItem: name='dataurl' value='http://data.astropy.org/' at 0x1032c4290>
>>> print DATAURL
ConfigurationItem: dataurl
cfgtype='string'
defaultvalue='http://data.astropy.org/'
description='URL for astropy remote data site.'
module=astropy.utils.data
value='http://data.astropy.org/'
The configuration system is most conveniently used by modifying configuration files as described above. Values can also, however, be modified in an active python session using the set() method. A run-time ConfigurationItem object can be used to make these changes. These items are found in the same module as the configuration section they are in, and usually have the same name as in the configuration files, but in all caps.
For example, if there is a part of your configuration file that looks like:
[utils.data]
# URL for astropy remote data site.
dataurl = http://data.astropy.org/
# Time to wait for remote data query (in seconds).
remote_timeout = 3.0
You should be able to modify the values at run-time this way:
>>> from astropy.utils.data import DATAURL, REMOTE_TIMEOUT
>>> DATAURL()
'http://data.astropy.org/'
>>> DATAURL.set('http://astropydata.mywebsite.com')
>>> DATAURL()
'http://astropydata.mywebsite.com'
>>> REMOTE_TIMEOUT()
3.0
>>> REMOTE_TIMEOUT.set(4.5)
>>> REMOTE_TIMEOUT()
4.5
Note that this will not permanently change these values in the configuration files - just for the current session. To change the configuration files, after you’ve made your changes, you can do:
>>> DATAURL.save()
>>> REMOTE_TIMEOUT.save()
Or to save all modifications to configuration items in astropy.utils.data (which includes the changes made above), do:
>>> from astropy.config import save_config
>>> save_config('astropy.utils.data')
Instead of modifying the variables in python, you can also modify the configuration files and then reload them. For example, if you modify the configuration file to say:
[utils.data]
# URL for astropy remote data site.
dataurl = http://myotherdata.mywebsite.com/
# Time to wait for remote data query (in seconds).
remote_timeout = 6.3
And then run the following commands:
>>> DATAURL.reload()
>>> REMOTE_TIMEOUT.reload()
This should update the variables with the values from the configuration file:
>>> DATAURL()
'http://myotherdata.mywebsite.com/'
>>> REMOTE_TIMEOUT()
6.3
Or if you want to reload all astropy configuration at once, use the reload_config function:
>>> config.reload_config('astropy')
Configuration items should be used wherever an option or setting is needed that is either tied to a system configuration or should persist across sessions of astropy or an affiliated package. Admittedly, this is only a guideline, as the precise cases where a configuration item is preferred over, say, a keyword option for a function is somewhat personal preference. It is the preferred form of persistent configuration, however, and astropy packages must all use it (and it is recommended for affiliated packages).
The Reference guide below describes the full interface for a ConfigurationItem - this is a guide for typical developer usage. In almost all cases, a configuration item should be defined and used in the following manner:
""" This is the docstring at the beginning of a module
"""
from astropy.config import ConfigurationItem
SOME_SETTING = ConfigurationItem('some_setting', 1, 'A description.')
ANOTHER_SETTING = ConfigurationItem('another_set', 'a string val',
'A longer description of what this does.')
... implementation ...
def some_func():
#to get the value of these options, I might do:
something = SOME_SETTING() + 2
return ANOTHER_SETTING() + ' Also, I added text.'
It is highly recommended that any configuration items be placed at the top of a module like this, as they can then be easily found when viewing the source code and the automated tools to generate the default configuration files can also locate these items.
If not otherwise specified, a ConfigurationItem gets its type from the type of the defaultvalue it is given when it is created. The item can only be set to be an object of this type. Hence:
SOME_SETTING = ConfigurationItem('some_setting', 1, 'A description.')
SOME_SETTING.set(1.2)
will fail, because 1.2 is a float and 1 is an int.
Note that if you want the configuration item to be limited to a particular set of specific options, you should pass in a list as the defaultvalue option. The first entry in the list will be taken as the default, and the list as a whole gives all the valid options. For example:
AN_OPTION = ConfigurationItem('an_option', ['a', 'b', 'c'], "This option can be 'a', 'b', or 'c'")
AN_OPTION.set('b') # succeeds
AN_OPTION.set('c') # succeeds
AN_OPTION.set('d') # fails!
AN_OPTION.set(6) # fails!
Finally, a ConfigurationItem can be explicitly give a type via the cfgtype option:
AN_INT_SETTING = ConfigurationItem('an_int_setting', 1, 'A description.', cfgtype='integer')
AN_INT_SETTING.set(3) # works fine
AN_INT_SETTING.set(4.2) #fails!
If the default value’s type doesn’t match cfgtype, the ConfigurationItem cannot be created:
>>> AN_INT_SETTING = ConfigurationItem('an_int_setting', 4.2, 'A description.', cfgtype='integer')
VdtTypeError: the value "4.2" is of the wrong type.
hence the default behavior (of automatically determining cfgtype) is usually what you want. The main exception is when you want your configuration item to be a list. The default behavior will treat that as a list of options unless you explicitly tell it that the ConfigurationItem itself is supposed to be a list:
>>> A_LIST_SETTING = ConfigurationItem(a_list_setting', [1, 2, 3], 'A description.')
>>> A_LIST_SETTING()
1
>>> A_LIST_SETTING = ConfigurationItem(a_list_setting', [1, 2, 3], 'A description.', cfgtype='list')
>>> A_LIST_SETTING()
[1, 2, 3]
Details of all the valid cfgtype items can be found in the validation section of the configobj manual. We simply list the valid values here for quick reference:
There are a couple important gotchas to remember about using configuration items in your code. First, it is tempting to do something like:
SOME_SETTING = ConfigurationItem('SOME_SETTING' ,1 ,'A description.')
def some_func():
return SOME_SETTING + 2 # WRONG, you wanted SOME_SETTING() + 2
but this is incorrect, because SOME_SETTING instead of SOME_SETTING() will yield a ConfigurationItem object, instead of the value of that item (an integer, in this case).
The second point to keep in mind is that ConfigurationItem objects can be changed at runtime by users. So you always read their values instead of just storing their initial value to some other variable (or used as a default for a function). For example, the following will work, but is incorrect usage:
SOME_SETTING = ConfigurationItem('SOME_SETTING',1,'A description.')
def some_func(val=SOME_SETTING()):
return val + 2
This works fine as long as the user doesn’t change its value during runtime, but if they do, the function won’t know about the change:
>>> some_func()
3
>>> SOME_SETTING.set(3)
>>> some_func() # naively should return 5, because 3 + 2 = 5
3
There are two ways around this. The typical/intended way is:
def some_func():
"""
The `SOME_SETTING` configuration item influences this output
"""
return SOME_SETTING() + 2
Or, if the option needs to be available as a function parameter:
def some_func(val=None):
"""
If not specified, `val` is set by the `SOME_SETTING` configuration item.
"""
return (SOME_SETTING() if val is None else val) + 2
Logging system (overview of astropy.logger)
This module contains configuration and setup utilities for the astropy project. This includes all functionality related to the affiliated package index.
| get_cache_dir() | Determines the Astropy cache directory name and creates the directory if it doesn’t exist. |
| get_config([packageormod, reload]) | Gets the configuration object or section associated with a particular package or module. |
| get_config_dir([create]) | Determines the Astropy configuration directory name and creates the directory if it doesn’t exist. |
| reload_config([packageormod]) | Reloads configuration settings from a configuration file for the root package of the requested package/module. |
| save_config([packageormod, filename]) | Saves all configuration settings to the configuration file for the root package of the requested package/module. |
| ConfigurationItem(name[, defaultvalue, ...]) | A setting and associated value stored in the astropy configuration files. |
| ConfigurationMissingWarning | A Warning that is issued when the configuration directory cannot be accessed (usually due to a permissions problem). |
| InvalidConfigurationItemWarning | A Warning that is issued when the configuration value specified in the astropy configuration file does not match the type expected for that configuration value. |


[1]
Small, no AC plug, affordable, adequate space; no retractable cable, no power button, no frills
[2]
Very Compact; Won't backup, period. Useless documentation


Chris Simmons
logout
UniversiHTTP
Grade Assignment
IT 2233-01 Web Application Development I
Learning Activity I
Student: John Smith
Grade:
/ 100
Comments:


{% extends "jobs/base.html" %} {% block title %}Dashboard{% endblock %} {% block content %}
Not sure where to begin? Head over to Getting Started
Ready to submit your project? Go to Submit New
| ID | Name | Submitted | Owner | Status |
|---|---|---|---|---|
| {{job.id}} | {{ job.name }} | {{ job.submitted_at|date:'DATETIME_FORMAT' }} | {{ job.owner }} | {{ job.status_enum.value.label }} |


We
are a professionally indemnified business, we cover all legal aspects of employment legislation and are proud to be supported by, and in
working partnership with:
Sheirs solicitors are a Yorkshire based law firm, with a wealth of experience in employment legislation.


MobileCore is the entry point into AeroGear mobile services.
More...
MobileCore is the entry point into AeroGear mobile services.
◆ MobileCore()
◆ Destroy()
| void AeroGear.Mobile.Core.MobileCore.Destroy |
( |
| ) |
|
Called when mobile core instance needs to be destroyed.
◆ GetFirstServiceConfigurationByType()
| ServiceConfiguration AeroGear.Mobile.Core.MobileCore.GetFirstServiceConfigurationByType |
( |
String |
type | ) |
|
Returns the first instance of a ServiceConfiguration based on the type key
- Parameters
-
| type | type field of the configuration |
- Returns
- a single ServiceConfiguration
◆ GetService< T >() [1/2]
| T AeroGear.Mobile.Core.MobileCore.GetService< T > |
( |
| ) |
|
- Type Constraints
-
| T | : | IServiceModule | |
| T | : | GetService<T> | |
| T | : | typeof | |
| T | : | T | |
◆ GetService< T >() [2/2]
| T AeroGear.Mobile.Core.MobileCore.GetService< T > |
( |
string |
serviceId | ) |
|
- Type Constraints
-
| T | : | IServiceModule | |
| T | : | GetService<T> | |
| T | : | typeof | |
| T | : | T | |
| T | : | GetServiceConfigurationById | |
| T | : | serviceId | |
◆ GetServiceConfigurationById()
Returns a ServiceConfiguration based on the id key
- Parameters
-
| id | id field of the configuration |
- Returns
- a single ServiceConfiguration
◆ GetServiceConfigurationByType()
| ServiceConfiguration [] AeroGear.Mobile.Core.MobileCore.GetServiceConfigurationByType |
( |
String |
type | ) |
|
Returns array of ServiceConfiguration, filtered by type
- Parameters
-
| type | type field of the configuration |
- Returns
- array of ServiceConfiguration
◆ Init() [1/3]
| static MobileCore AeroGear.Mobile.Core.MobileCore.Init |
( |
| ) |
|
|
static |
Initializes MobileCore with defaults and without platform-specific injector.
- Returns
- MobileCore singleton instance
◆ Init() [2/3]
Initializes MobileCore with defaults and with platform-specific injector.
- Parameters
-
| injector | platform specific implementation dependency injection module |
- Returns
- MobileCore singleton instance
◆ Init() [3/3]
Initializes MobileCore with specific options and with platform-specific injector.
- Parameters
-
| injector | platform specific implementation dependency injection module |
| options | initialization options |
- Returns
- MobileCore singleton instance
◆ RegisterService< T >()
| T AeroGear.Mobile.Core.MobileCore.RegisterService< T > |
( |
T |
serviceModule | ) |
|
Registers an instance of a service module.
- Returns
- The registered service module.
- Parameters
-
| serviceModule | The service module instance. |
- Template Parameters
-
◆ DEFAULT_CONFIG_FILE_NAME
| const String AeroGear.Mobile.Core.MobileCore.DEFAULT_CONFIG_FILE_NAME = "mobile-services.json" |
The default name of the config file.
◆ ConfigFileName
| String AeroGear.Mobile.Core.MobileCore.ConfigFileName |
|
get |
Gets the name of the config file.
The name of the config file.
◆ HttpLayer
◆ Instance
| MobileCore AeroGear.Mobile.Core.MobileCore.Instance |
|
staticget |
Holds MobileCore singleton instance. It's needed to initialize core before using this.
◆ Logger
| ILogger AeroGear.Mobile.Core.MobileCore.Logger |
|
get |
Gets the logger for the current platform
The logger.
The documentation for this class was generated from the following file:


Hamilton Tiger-Cats receiver Banks named CFL's outstanding player
CALGARY - Brandon Banks is the CFL's outstanding player.
The Hamilton Tiger-Cats receiver captured the honour for the first time Thursday at the CFL awards banquet in voting conducted by the Football Reporters of Canada and nine league head coaches.
Banks, 31, led the CFL in receiving this season with a club-record 112 catches for 1,550 yards and 13 TDs. He also ran 13 times for 56 yards and a TD, returned 13 punts for 140 yards, and five missed field goals for 283 yards (56.6-yard average) and two TDs.
Banks becomes the first Ticat to win the award since quarterback Danny McManus in 1998.
Saskatchewan Roughriders quarterback Cody Fajardo was the award finalist. The first-year starter had career-highs in passing yards (4,302), rushing touchdowns (10) and touchdown passes (18), while completing 71.5 per cent of his attempts.
Fajardo led Saskatchewan (13-5) to top spot in the West Division for the first time since 2009. The native of Brea, Calif., was 12-4 as a starter and had six 300-yard passing performances.
This report by The Canadian Press was first published Nov. 21, 2019.


About Us
Here is what every member contributed to the team
Marketing built two pages and made them mobile friendly with use of mixins and variables where possible
Front end made, Log in/Registration flow, User can save favorite songs to back end ,User will get suggestions from Ds API, User can request songs based on parameters, CRUD
Back end made, Build and deploy a Web API following the REST architectural pattern with code that is clean and organized using the Express Framework, Uses authentication service that prevents access to endpoints that should not be public, Has automated unit tests for core business logic
Machine Learning engineers used sci-kit earn and Keras frameowkrs to create a model to predict similar songs that a user would like.
Data Engineers built a Flask API that takes in a song input from the user, feeds into the model, and returns a list of 10 recommended songs.


List of all members.
Public Member Functions |
|
| MoveRequest (Google.Apis.Services.IClientService service, string calendarId, string eventId, string destination) |
Properties |
| virtual System.Nullable< bool > | PrettyPrint [get, set] |
| | Returns response with indentations and line breaks.
|
| virtual string | Fields [get, set] |
| | Selector specifying which fields to include in a partial response.
|
| virtual string | QuotaUser [get, set] |
| | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.
|
| virtual string | Oauth_token [get, set] |
| | OAuth 2.0 token for the current user.
|
| virtual string | UserIp [get, set] |
| | IP address of the site where the request originates. Use this if you want to enforce per-user limits.
|
| virtual string | Alt [get, set] |
| | Data format for the response.
|
| virtual string | EventId [get] |
| | Event identifier.
|
| virtual string | Destination [get] |
| | Calendar identifier of the target calendar where the event is to be moved to.
|
| virtual string | CalendarId [get] |
| | Calendar identifier of the source calendar where the event currently is on.
|
| virtual System.Nullable< bool > | SendNotifications [get, set] |
| | Whether to send notifications about the change of the event's organizer. Optional. The default is False.
|
|
override string | ResourcePath [get] |
|
override string | MethodName [get] |
|
override string | HttpMethod [get] |
|
override string | RestPath [get] |
Property Documentation
Data format for the response.
Calendar identifier of the source calendar where the event currently is on.
Calendar identifier of the target calendar where the event is to be moved to.
Selector specifying which fields to include in a partial response.
OAuth 2.0 token for the current user.
Returns response with indentations and line breaks.
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.
Whether to send notifications about the change of the event's organizer. Optional. The default is False.
IP address of the site where the request originates. Use this if you want to enforce per-user limits.
The documentation for this class was generated from the following file:
- Google.Apis.Calendar.v3.cs


Regular Users, Power Users, and Why Microsoft and Apple Need Two Operating Systems
When Apple first announced the iPad, I was skeptical. It seemed like an interesting enough proposition – a specialized, simple computer great for kids, seniors, and people who walk around a lot and occasionally need to look at complicated stuff (e.g. doctors). A great adjunct device, but certainly not something that would replace real computers.
Then, far more quickly than I ever expected, the iPad started becoming way more popular than real computers. OK, I thought, We need to remember that there are a lot more regular people than people like me —who eat, sleep, and breathe computing.
Then something happened that made me feel… threatened? Apple had their Back to the Mac event, in which a lot of iPad-like functionality was migrated back to desktop and laptop computers. Then OS X Mountain Lion came along and took this trend even further. This bugged me, for reasons I couldn’t quite elucidate.
If iPads were for regular, every day people, and traditional computers were for power users, why is everything converging in only one direction? If iOS was the computing platform for regular people, then why wasn’t OS X being optimized somehow for power users? It got me thinking about what, exactly, that meant. What differentiated a regular person from a power user, and how should operating systems differentiate between the two?
As usually happens, the answer struck me while I was in the shower one morning.
It’s all about contexts.
In 2009, Google released a video entitled “What is a Browser?” In it, 50 random people on the street were asked, well, “What is a browser?”
It’s easy to laugh at their responses — but for anyone paying attention, this was a huge wake-up call. The average person had a very hard time grasping what “computer people” consider one of the most basic, fundamental principles of modern computing — that computers run programs called browsers, to access services called search engines, which return results, which lead to web pages, which (hopefully) give you answers you need.
Hey, wait a minute. That doesn’t actually sound that simple.
Most of the mom and dad tech support that people like me suffer through center around problems with context. We tell our wonderful but less tech-savy relatives to click the ‘OK’ button — but is that button part of a dialog, a document, an app window, or the operating system? This is madness, when you take off your Computer Wizard hat and really think about it.
Herein lies the magic of the iPad. With the iPad, you are either doing a thing (running an app), or picking a thing to do (using the home screen). Not a lot of room for confusion. But not a lot of flexibility, either. Power users want that flexibility. Regular users don’t.
Well, they do a little. But for regular users, bouncing around between apps is an infrequent, exceptional situation.
Power users do that stuff all the time. It’s our bread and butter. In a given day, I’m reading requirements in Word docs, feeding information from them into a project management tool, exporting data into Excel, writing code in a text editor, and shuffling files around using various transfer tools.
That got me thinking of the following simple differentiator between regular users and power users.
Regular Users are people whose primary computing tasks involve working within one context at a time. Power Users are people whose primary computing tasks involve transferring information between contexts.
This is the key, irreconcilable difference between two types of computing that should be addressed by having two different styles of operating system. Both Apple and Microsoft are tripping over this dichotomy — Apple by having two ways of doing almost everything (Launchpad vs. Finder, full screen vs. windowed, iCloud vs. file system) in Mountain Lion, and Microsoft by almost comically slapping two radically different, and awkwardly isolated, modes together into one system, in Windows 8.
Some people think that tablets are for regular people and “real” computers are for pros. I don’t think that’s the case at all. Both form factors can work for both types of users – it’s the supported workflow that matters. Microsoft got this half right with Surface, and could actually nail it if they had the guts to release pure versions of Metro and Desktop operating systems for their RT and Pro models.
You can’t be a family sedan and a construction vehicle at the same time. Hopefully Apple and Microsoft (and Google) figure this out in the next round.


Publications
Publications and patents by categories in reversed chronological order.
2017
2016
2015
2014
-
Generating recommendations for unfamiliar users by utilizing social side information US Patent App. 14/320,017 2014
2013
-
Social Affinity Filtering: Recommendation through Fine-grained Analysis of User Interactions and Activities. COSN 2013 [PDF]


Implementations of some algorithms related to sorting.
Each algorithm assumes a list of comparable items.
Functions ending in _sort
change the list in place.
Functions ending in _sorted
don't change the unsorted list,
and return a new sorted list.
This matches the Python built-in functions:
items.sort()
sorts the list in-place, sorted(items)
returns a new list.
from .priority_queue import PriorityQueue # needed for heapsort
Return True if items includes the item, otherwise False.
def binary_search(items, item):
Assume the items are in non-decreasing order. Assume item and items are all of the same type.
first = 0
last = len(items) - 1
while first <= last:
Base case: the item is in the middle.
middle = (first + last) // 2
if items[middle] == item:
return True
Reduction step: find the half where the item should be.
elif items[middle] < item:
The item must be above the middle position.
first = middle + 1
else:
The item must be below the middle position.
last = middle - 1
Base case: the search space is empty.
return False
The key insight is to swap adjacent items that are in the wrong order, until no swaps are possible: at that point the items are sorted.
The algorithm divides a list of items into a left part (initially all items) of still unsorted items, and a right part (initially empty) of already sorted items. In each iteration, the algorithm goes through the unsorted part and swaps adjacent items that are in the wrong order. This 'bubbles' the largest item up to the sorted part.
Sort the list of items in place, in non-decreasing order.
def bubble_sort(items):
for iteration in range(1, len(items)):
swapped = False
Each iteration shrinks the unsorted part by one. Go through the unsorted part.
for current in range(0, len(items) - iteration):
Swap current and next item if they're in the wrong order.
this_item = items[current]
next_item = items[current + 1]
if this_item > next_item:
items[current] = next_item
items[current + 1] = this_item
swapped = True
If no swaps were necessary, the items are sorted.
if not swapped:
return
This algorithm divides the items the other way round: a left part (initially empty) of already sorted items, and a right part (initially all items) of still unsorted items. In each iteration, it selects the smallest item in the unsorted part and adds it to the end of the sorted part.
Sort the list of items in place, in non-decreasing order.
def selection_sort(items):
Use the selection sort algorithm.
Initially the sorted part is empty. So, the border between the sorted and unsorted parts starts at 0. In each iteration, the border goes up, as the sorted part grows and the unsorted one shrinks.
for border in range(0, len(items) - 1):
Find the position of the smallest item from the border onwards.
minimum = border
for current in range(border + 1, len(items)):
if items[current] < items[minimum]:
minimum = current
Swap that item with the one at the border.
temporary = items[border]
items[border] = items[minimum]
items[minimum] = temporary
Like selection sort, the list has a left sorted part that grows and a right unsorted part that shrinks. In each iteration, the next unsorted item is inserted into its correct position in the sorted part.
Sort the list of items in place, in non-decreasing order.
def insertion_sort(items):
Use the insertion sort algorithm.
Initially the sorted sublist has the first item (in position 0). So, the border between the sorted and unsorted sublists starts at 1. In each iteration, the border goes up, as the sorted part grows and the unsorted one shrinks.
for border in range(1, len(items)):
The item at the border is the next item to sort.
to_sort = items[border]
Find the position where to insert it. If it is larger than all sorted items, it will stay at the border.
position = border
Shift to the right all sorted items larger than the one to sort.
while position > 0 and items[position - 1] > to_sort:
items[position] = items[position - 1]
position = position - 1
Put the item to sort at the found position.
items[position] = to_sort
The key insight is to split the unsorted list in two halves, sort each one, and then merge the sorted halves together by repeatedly taking the smallest item of both halves.
Return a new list of all items, in non-decreasing order.
def merge_sorted(items):
if len(items) < 2:
return items[:] # return a copy to keep the original untouched
Reduction step: split the list in two halves
middle = len(items) // 2
left_unsorted = items[:middle]
right_unsorted = items[middle:]
Recursive step: sort each half.
left_sorted = merge_sorted(left_unsorted)
right_sorted = merge_sorted(right_unsorted)
Inductive step: merge the sorted halves.
merged = []
While neither half is empty, move the smallest item from its half to the merged list.
while left_sorted and right_sorted:
if left_sorted[0] <= right_sorted[0]:
merged.append(left_sorted[0])
left_sorted = left_sorted[1:]
else:
merged.append(right_sorted[0])
right_sorted = right_sorted[1:]
One or both halves are now empty. Add any remaining items.
return merged + left_sorted + right_sorted
This approach also splits the list in two, sorts each part, and puts the sorted parts together. Compared to mergesort, it puts more effort into the splitting, making the 'merging' trivial. The key insight is to pick an item and then split the list into those that are smaller or equal than the item and those that are larger.
Return a list of all items, in non-decreasing order.
def quick_sorted(items):
Base case: the empty list is already sorted.
if items == []:
return []
Reduction step: take the first item (call it the pivot) and put the remaining items in two partitions, those smaller or equal than the pivot, and those greater.
pivot = items[0]
left_unsorted = []
right_unsorted = []
for index in range(1, len(items)):
if items[index] <= pivot:
left_unsorted.append(items[index])
else:
right_unsorted.append(items[index])
Recursive step: sort each of the partitions.
left_sorted = quick_sorted(left_unsorted)
right_sorted = quick_sorted(right_unsorted)
Inductive step: put the sorted partitions and the pivot in the correct order.
return left_sorted + [pivot] + right_sorted
This algorithm transforms the list of items into a min binary heap and then keeps taking the smallest item from the heap.
Return a list of all items, in non-decreasing order.
def heap_sorted(items):
result = []
queue = PriorityQueue()
for item in items:
Items are ordered by priority, so each item is its own priority.
queue.enqueue(item, item)
while not queue.is_empty():
result.append(queue.dequeue())
return result
Return the n-th smallest of the items.
def nth_smallest(items, n):
For example, return the minimum if n is 1 and the maximum if n is len(items). Don't change the order of the items. Assume n is an integer from 1 to len(items).
assert 1 <= n <= len(items)
Reduction step: take the first item (call it the pivot) and put the remaining items in two partitions, those smaller or equal than the pivot, and those greater.
pivot = items[0]
left_unsorted = []
right_unsorted = []
for index in range(1, len(items)):
item = items[index]
if item <= pivot:
left_unsorted.append(item)
else:
right_unsorted.append(item)
smaller_equal = len(left_unsorted)
Base case: the pivot is the n-th smallest number if there are exactly n-1 items smaller or equal than the pivot.
if smaller_equal == n - 1:
return pivot
Recursive step: If there are n or more items smaller or equal than the pivot, the n-th smallest must be among them.
if smaller_equal >= n:
return nth_smallest(left_unsorted, n)
Recursive step: Otherwise it's among the numbers larger than the pivot. Discount the numbers up to and including the pivot.
return nth_smallest(right_unsorted, n - (smaller_equal + 1))
Inductive step: none.


I have a family of four, my two parents, my brother, and I. An interesting fact about me is that I am a twin.


Dojo’s Tree
widget provides fundamental support for rendering a list of
heirarchical nodes - such as a file system or a table of contents - with custom node
rendering support.
expandedNodes
and checkedNodes
properties are intended for
controlled use of the tree, while initialExpanded
and
initialChecked
are intended for partial control. This means it will be
up to the user updating the array passed to expandedNodes
on the
onExpand
event to update the tree. With
initialExpanded
property, nodes passed to it will initially be
expanded, and from then on the tree widget will handle the nodes expanding
internally.


SETUP DB
@=$hide['setup']?>
CopyRight(C) 2001-2003,
WhiteBBS.net
All Right Reserved.
@=$hide['/setup']?>
=_L_DATABASE_SETUP?>
' name='main_form' method='post'>


Thanks for using When2Meet-Plus! Make sure you give the extension access to your Google Calendar by signing in when the signin window pops up. We never store your information, it's processed locally on your browser.
Saved!


{{ data.python3.release.name }}
Note that Python 3.9+ cannot be used on Windows 7 or earlier.
Not the OS you are looking for? Python can be used on many operating systems and environments. View the full list of downloads.
Python can be used on many operating systems and environments.
View the full list of downloads


Do an inventory of the items listed in the Summary under “Areas that help to set your image and brand.” Note areas that are not in alignment with your desired brand and add these to your plan for brand improvement (chapter 6).


--- layout: data_model title: MalwareConfigurationObfuscationAlgorithmType this_version: 4.1 ---
The MalwareConfigurationObfuscationDetailsType captures of an algorithm used to encode or encrypt malware configuration parameters.
| Field Name | Type | Description |
|---|---|---|
| @ordinal_positionoptional | positiveInteger |
The ordinal_position field specifies the explicit ordering of the usage of the algorithm with respect to the other algorithms used to encrypt or encode the malware configuration parameters, for cases where more than one algorithm was used. |
| Key0..1 | hexBinary |
The Key field captures the hexadecimal key used to decrypt the configuration parameters. |
| Algorithm_Name0..1 | ControlledVocabularyStringType |
The Algorithm_Name field captures the name of the encoding or encryption algorithm used to obfuscate the malware configuration parameters. |


in-toto is maintained by the Secure Systems Lab at New York University as well as researchers from the Cybersecurity Research Center at the New Jersey Institute of Technology.
This research was supported by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory (AFRL). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of DARPA and AFRL. The United States Government is authorized to reproduce and distribute reprints notwithstanding any copyright notice herein.


Daniel Andriessen
Unread
Summarises "design-based research" and connects it to action research and other terms such as "design science" positioning it methodologically and epistemologically. Highly relevant for responding to Patrick's questions.
"Advocates of design-based research share an epistemology rooted in pragmatism"


{% extends "base.html" %}
{% block title %}{{ block.super }} • Find reusable applications for your Django project, quickly and easily!{% endblock %}
{% block body-class %}home{% endblock %}
{% block masthead %}
Plug(g)ables?
One of Django's great strengths lie in its abundant library of 3rd party "pluggable" applications. Need a blog?  The only problem is... they're so hard to find and keep track of. That's what we're here for. We do the work of making sure you're keeping your pluggables up-to-date.
Recently Updated Projects.
{% get_latest_objects projects.codecommit 5 as commits %}
Random Pluggables.
{% get_random_objects projects.project 5 as projects %}
HOLY SHIT! IT'S EXTRA UNNECESSARY CLEARING MARKUP!
From the Plugable Blog.
{% get_latest_objects blog.entry 5 as entries %}
{% endblock %}
{% block sidebar %}


HOME
ABOUT ME
CONTACT
I am Bukeka Chamaine Manyisane
Younglings Student inspired to be Web App Developer


Loading...
Microscope is a game created by John Turesson as a submission for the game competition Ludum Dare #31 in 2014.
The source to the game can be downloaded from here.
Credit goes to gamerendering.com for the radial blur shader, Hivenfour for the SeamlessLoop JavaScript audio player, Mr.Doob for the three.js JavaScript renderer and flipcode.com for the distance approximation algorithm.


When PivotTable
in editable mode it is possible to configure whether UI should be shown or not using
showUI
attribute.
The following attributes do not depend on editable mode, but will only work for table renderers:
showRowTotals
shows and hides row totals;
showColTotals
shows and hides column totals.


Gateway
BOT
29-Jun-18 03:10 AM
[dscrdvrsc] <Mike1900> Hello all
[dscrdvrsc] <Mike1900> Pretty new into crypto got somes questions who can help me on that?
[dscrdvrsc] <englal> @Mike1900 Sure, what's up?
[dscrdvrsc] <Mike1900> Hello, just download agama
[dscrdvrsc] <Mike1900> am just running no install, am with ubuntu running on i5 cpu using 4 cores. Just started mining, where the coin go after the mining if i close the app or the pc?
[dscrdvrsc] <Mike1900> like i said am pretty noob about crypto right now don't even know all it's really work yet
[dscrdvrsc] <Mike1900> don't even know how it's really works
[dscrdvrsc] <jimboscott> @englal Any issue with importing PRIV KEYS from one wallet to another that could haunt at a later date?
[dscrdvrsc] <englal> @jimboscott I don't believe so. Do you mean in terms of having the private keys in both wallets?
[dscrdvrsc] <jimboscott> I would get rid of the old wallet .dat and archive it
[dscrdvrsc] <englal> @Mike1900 The first time you run either Agama or the CLI it will create a file called wallet.dat. The location of this file differs based on your operating system. On linux this will be in ~/.komodo/VRSC
[dscrdvrsc] <Mike1900> ok let me check
[dscrdvrsc] <jimboscott> Win 10 here - it's in my appdata/roaming
[dscrdvrsc] <englal> @Mike1900 When you receive or mine coins they will go to addresses that are recorded in the wallet file.
[dscrdvrsc] <jimboscott> I have been mining on 7 machines and using the PRIV KEYs to import into one main wallet
[dscrdvrsc] <englal> @jimboscott I think you should be fine. I'm of the mind that it's a good idea to NEVER delete a wallet.dat file unless you're positive it is empty and hasn't made its way onto any other machines, or been mined to using pubkey, etc.
[dscrdvrsc] <englal> If you hang onto that file you know that data will be secure.
[dscrdvrsc] <jimboscott> I will back them up, but not have the 'outside' wallets mining to a wallet that I have already exported everything from.
[dscrdvrsc] <jimboscott> Gets messy that way.
[dscrdvrsc] <englal> And on import, just make sure the addresses show up, reindex if needed, and I would call their presence in the UI, be it Agama or CLI, sufficient evidence that it is safe to use that wallet and expect those addresses to be used like any others in the wallet.
[dscrdvrsc] <Mike1900> @englal what can i do with the coins after? importing into somewhere?
[dscrdvrsc] <jimboscott> The only difference is the imported transaction shows a different date - but the block dates are all the same.
[dscrdvrsc] <Mike1900> sorry everybody am really new into all that
[dscrdvrsc] <jimboscott> me too...
[dscrdvrsc] <jimboscott> Everything looks right in the wallet - the 'time' just changes to when it was imported
[dscrdvrsc] <englal> @Mike1900 There's nothing you need to do with the coins, you have them, they're yours. Anything you mine right now, and for the next month will be locked for a period ranging from about a month to two years and a month. In that time, the coins are still yours, in your wallet, but can't be spent.
[dscrdvrsc] <jimboscott> Consolidated some yesterday
[dscrdvrsc] <englal> @Mike1900 If you buy coins, are paid for bounties, or otherwise recieve unlocked coins, those will also be in that wallet file and can be transacted with.
[dscrdvrsc] <englal> @Mike1900 How familiar are you with cryptocurrencies in general?
[dscrdvrsc] <Mike1900> am like at 5%
[dscrdvrsc] <Mike1900> have friend who push me on that tonight
[dscrdvrsc] <Mike1900> vrsc coin
[dscrdvrsc] <Mike1900> am still like i don't really understand all that... i have an another friend also how have a some bitcoin and trade
[dscrdvrsc] <Mike1900> trying to introduce myself into all that to do not miss the boat
[dscrdvrsc] <englal> Probably the most fundamental thing to know is that what you have in your wallet is not some piece of data that is the coins, it is the cryptographic keys that allow you to spend the coins. The coins are basically a collection of balances on the blockchain - a public ledger. Your wallet allows the software to scan the blockchain and figure out which of those balances are yours, and allows you to create a transaction that spends them, using that key, known as the private key.
[dscrdvrsc] <englal> Your wallet.dat file, or any private keys you export from it should be treated like cash. Anyone that ever gets access to them could potentially spend your coins. So the security of the technology is only as secure as you are able to keep that file.
[dscrdvrsc] <jimboscott> SOmeone needs to make a wallet that lets you name your wallet.dat file something like 'catsatplay.jpg'
[dscrdvrsc] <englal> Likewise, if you lose your wallet, either because the hard drive dies, you delete it, it becomes corrupted, etc., the coins are lost to you. They still exist on that ledger, but you no longer have the key that allows you to spend them.
[dscrdvrsc] <Mike1900> how do we backup the wallet
[dscrdvrsc] <Mike1900> just any place safe like usb key ?
[dscrdvrsc] <englal> Excellent question.  Once it has finished shutting down, you can just copy that wallet.dat file to somewhere safe, and after the copy is complete (it's not typically a large file) you can restart the software.
[dscrdvrsc] <Mike1900> ok
[dscrdvrsc] <englal> You can also export the wallet in a text format that gives you more direct access to the private keys, etc., which is useful for combining wallets, etc., or as an extra safety measure on a wallet backup.
[dscrdvrsc] <Mike1900> like right now am downloading block it's mining right?
[dscrdvrsc] <Mike1900> if am not a 100% and i close the soft do i need to start form scratch?
[dscrdvrsc] <englal> Always make sure your wallets don't have a chance to sync to any cloud storage or anything like that which could expose them to any third parties. A thumb drive is a great way to back wallets up.
[dscrdvrsc] <englal> No, it will pick up where it left off.
[dscrdvrsc] <Mike1900> ok
[dscrdvrsc] <Mike1900> it the mean time the wallet change during all the process?
[dscrdvrsc] <Mike1900> or only at 100%?
[dscrdvrsc] <englal> Also remember that new data goes into your wallet file after certain types of activity, such as creating new addresses, after very much mining, etc., so it should be backed up regularly, especially after you receive any large funds, etc.
[dscrdvrsc] <Mike1900> ok
[dscrdvrsc] <englal> Right now you're syncing the blockchain, downloading a local copy from peers and scanning it to both verify it's integrity and look for transactions that appear in your wallet. I don't know for sure, but I wouldn't expect it to be writing to the wallet during the sync.
[dscrdvrsc] <englal> And you won't be able to mine until you have finished syncing the chain.
[dscrdvrsc] <Mike1900> gonna use usb then and copy and replace the wallet on it many time as needed
[dscrdvrsc] <englal> You can enable mining, but it won't be able to do anything about it until it is synced up.
[dscrdvrsc] <Mike1900> syncing look long how about mining after?
[dscrdvrsc] <englal> Mining is basically like trying to win a lottery that happens every two minutes, and the number of tickets you have is proportional to the amount of computing power you can put into it.  It is completely random, but again, in proportion to your hash power.
[dscrdvrsc] <Mike1900> ok
[dscrdvrsc] <Mike1900> look like that take a lot of downloaded data?
[dscrdvrsc] <AkiraX> I like to think of it as like laying& an egg for a chicken
[dscrdvrsc] <AkiraX> You might lay an egg
[dscrdvrsc] <AkiraX> You might not
[dscrdvrsc] <Mike1900> ok thanks for the comparison haha... does it worth mining with an i5
[dscrdvrsc] <AkiraX> That's still unknown
[dscrdvrsc] <jimboscott> Case in point - got 10 blocks on 6/27 - got one on 6/28
[dscrdvrsc] <AkiraX> But you have no investment
[dscrdvrsc] <AkiraX> So why not
[dscrdvrsc] <Mike1900> can i broke it ok in general its safe?
[dscrdvrsc] <AkiraX> Mike has concerns he might burn out his cpu
[dscrdvrsc] <englal> @Mike1900 Whether or not it's worth it depends on what you think about the future of the currency.
[dscrdvrsc] <Mike1900> ok
[dscrdvrsc] <Mike1900> i mean does it worth mining with an i5 only
[dscrdvrsc] <jimboscott> @Mike1900 get Core Temp to monitor temps
[dscrdvrsc] <Mike1900> let me look into it
[dscrdvrsc] <jimboscott> i5 with 0.3.9 will do about 145 Mh/s
[dscrdvrsc] <jimboscott> I got my only block today on my i5
[dscrdvrsc] <Mike1900> ok
[dscrdvrsc] <jimboscott> that's 3 cores and 6 threads?
[dscrdvrsc] <Mike1900> if i understand an block its the thing you got before mining?
[dscrdvrsc] <Mike1900> 4 cores
[dscrdvrsc] <jimboscott> then you will do better than 145
[dscrdvrsc] <Mike1900> Intel® Core™ i5-3320M CPU @ 2.60GHz × 4
[dscrdvrsc] <englal> Right - that depends on what you think the coins will be worth in the future. Is the future value you're betting on greater than the cost of the energy and the use of your computer? I'm rather optimistic, so I'm mining with everything I have, including an old 4 core laptop.
[dscrdvrsc] <jimboscott> mine is a 6 thread Coffee lake
(edited)
[dscrdvrsc] <Mike1900> got the pc in gift then ... but stay the only pc i use at home under unbuntu
[dscrdvrsc] <Mike1900> as a gift*
[dscrdvrsc] <Mike1900> if i install agama on an another computer gonna got a new wallet right?, is there any way to join them ? i think you talked about that just before i join?


Are you ready for our next solution? Give us a call or send us an email and we can start upbiting your idea!
upbitsolutions
@upbitsolutions
hello@upbitsolutions.com


Data Fields | |
| ADLDisplayID | displayID |
| The ADLDisplayID structure. | |
| int | iTotalAvailableBandwidthInMpbs |
| total bandwidth available on the DP connector | |
| int | iAllocatedBandwidthInMbps |
| bandwidth allocated to this display | |
| char | strGlobalUniqueIdentifier [256] |
| string identifier for the display | |
| int | radLinkCount |
| The link count of relative address, rad[0] upto rad[linkCount] are valid. | |
| int | iPhysicalConnectorID |
| The physical connector ID, used to identify the physical DP port. | |
| char | rad [15] |
| Relative address, address scheme starts from source side. |
This structure is used to store various MST information about the display port device. This information can be returned to the user, or used to access various driver calls to fetch various display-device-related settings upon the user's request
The ADLDisplayID structure.
total bandwidth available on the DP connector
bandwidth allocated to this display
string identifier for the display
The link count of relative address, rad[0] upto rad[linkCount] are valid.
The physical connector ID, used to identify the physical DP port.
| char ADLDisplayDPMSTInfo::rad[15] |
Relative address, address scheme starts from source side.


Repository manager for 1C: Enterprise platform. The main idea of the project - continuous integration.
Getting started
Project description


--- title: Mirobot UI author: Ben Pirt contact<EMAIL_ADDRESS>layout: app stylesheets: - /assets/apps/mirobot-ui/css/main.css description: This is the default app used to program Mirobot ---


Data sets¶
MultiCategory comes with six different multi-model data sets: simple e-commerce data set, Patent, Film, University, Person, and Unibench data set.
If you download the Haskell version of MultiCategory, you will download all the data sets simultaneously. Notice that the data sets have been modified and cleaned certain ways because Haskell is very strict that data follows the lines that typing sets for it. We have also made data sets smaller because originally the idea was not to create a big data platform.
On the other hand, the Python version does not come with most of the data. Python version is developed to support bigger data sets and this means that all the data sets can be uploaded into the demo system as they are presented. You can read more about installing the data sets from the Install tab.
Simple E-commerce data sets¶
This data set is a very small e-commerce data set. It contains
a property graph of customer –knows–> customer,
a table of locations and
an XML document of Orders and Products.
The data set suffices for demonstrating category theoretical ideas but more comprehensive and real-life motivated data sets are implemented or are under implementation.
Data sets from Helsinki multi-model data repository¶
You can find schemas and detailed descriptions in Helsinki multi-model data repository [LCZ18].
Unibench¶
Unibench [ZLXC19] is a benchmark for multi-model databases. It comes along a data set that has been slightly scaled for this demo.
Online Market Place (under development)¶
This data set is an expanded version of the simple E-commerce data set. It consists of an online market place such as Amazon, eBay, or Alibaba. This online market place collects different sellers together which requires novel techniques to combine different data models together. Currently, this demo data set has three third-party sellers which are using relational, JSON, and XML models and formats to store their product and invoice information. The online market place implements a multi-model database based on category theory which demonstrates how multi-model query processing and multi-model joins can be applied in this demonstration scenario.
The online market place demonstration scenario includes:
property graph of customer – friends with –> customer (Facebook friendship graph from [LK14])
RDF graphs of capitals and countries in separate graphs (Telegraphis)
Each third-party seller has information on their products and invoices stored either in relational tables, JSON objects, or XML trees. Contents of the data for each third-party sellers vary. (Amazon product metadata from [LK14])


# extends "layout.html"
# block title Fruit Basket Plugin ${ super() } # endblock title
# block head ${ super() } # endblock head # block content
Fruit Basket
ID
Nome
# for fruit in fruits:
${fruit.id}
${fruit.nome}
# endfor
Nome:
Sabor:
Tamanho:
Peso:
Cor:
ID:
# endblock content


| Trees | Indices | Help |
|
|---|
|
|
Class to represent a record of a match between a RepositoryConfig and a RoutingMetadata object
See the core system model documentation for details on the JSON structure used by this model.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
| Inherited from dao.MatchProvenanceDAO | |||
|---|---|---|---|
|
|
|||
| Inherited from dao.MatchProvenanceDAO | |||
|---|---|---|---|
__type__ = "match_prov" The index type to use to store these objects |
|
Create a new instance of the MatchProvenance object, optionally around the raw python dictionary. If supplied, the raw dictionary will be validated against the allowed structure of this object, and an exception will be raised if it does not validate
|
|
|
List of match provenance events for the combination of the repository id and notification id represented by this object Provenance records are of the following structure: { "source_field" : "<field from the configuration that matched>", "term" : "<term from the configuration that matched>", "notification_field" : "<field from the notification that matched>" "matched" : "<text from the notification routing metadata that matched>", "explanation" : "<any additional explanatory text to go with this match (e.g. description of levenstein criteria)>" }
|
|
| Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Tue Dec 1 17:26:37 2015 | http://epydoc.sourceforge.net |


Los Angeles is a trend-setting global metropolis with a fascinating history
and a rich cultural heritage. It is best known for its Mediterranean-like
climate, ethnic diversity, Hollywood, the entertainment industry, and its
sprawling metropolis. LA's cultural attractions are second to none, whether
it’s the broad, the Getty Center or art galleries and urban art. Here are
some top-rated tourist attractions in Los Angeles that you can not miss.
Top Entertainment
The City of Los Angeles holds many distinctions and is considered as the
entertainment capital of the world. Find what to do today, this weekend,
or in holiday. We have reviews of the best entertaining places to see in
Los Angeles.
Top Shopping
Los Angeles is a big, sprawling city, with little shops and sexy boutiques
on just about every corner. But the sprawl makes choosing the place for
a day of shopping a logistic decision and largely depends on location and
price. Here' a guide to the toop shopping streets and neighborhoods in
L.A..
Top Nightlife
Discerning youngsters who are always looking for what's fun, new and next
for nightlife. Here's a list you can find the best bar, music venues or
lounges .
Universal Studios Hollywood General Admission Ticket
Cultural & theme tours
Get ready for the ultimate Hollywood movie experience! Don't miss the
chance to visit the world's largest movie studio and theme park! At Universal
Studios Hollywood there's a world of fun-filled adventures the whole family
will love. You’ll go behind-the-scenes on the world-famous Studio Tour
to explore real film sets where Hollywood movies are made. Then, face action
head-on in heart-pounding rides, shows and attractions – including Despicable
Me Minion Mayhem, Transformers™: The Ride 3-D, and Fast and Furious – Supercharged
– that put you inside some of the world’s most popular movies and TV shows.
Plus, explore the mysteries of Hogwarts™ castle, and experience pulse-pounding
rides and attractions that transport you into a world of magic and excitement
at The Wizarding World of Harry Potter™.Add a classic Hollywood finish
to your day at Universal CityWalk™, more than 30 places to eat, awesome
night spots, 19 screen theater with state-of-the-art IMAX® and more than
30 unique shops. It’s LA’s favorite place to play. CityWalk™ is located
directly next to Universal Studios Hollywood.
What’s included:
Admission to Universal Studios Hollywood (number of days based on option
selected) Express ticket (based on option selected)
Entry to all rides and attractions
What’s not included:
Express ticket (unless option selected) Food and drinks (available
for purchase)
Sideshow games Movie tickets for Universal
CityWalk Cinemas
Hotel pickup and drop-off
Price: $105
Duration: 1 day
Los Angeles 2.5-Hour Tragic History Multimedia Bus Tour
Cultural & theme tours
Are you a Hollywood buff with an interest in the macabre? This 3-hour
multimedia bus tour takes you to the homes and locations in Hollywood,
Beverly Hills and the Sunset Strip where your favorite celebrities died,
and a stop at a legendary cemetery to visit Marilyn, Hef, Dino and others.
Satisfy your twisted curiosity on this revealing ride featured on E!'s
'Hollywood Death Trip' Anthony Bourdain’s 'The Layover", "Ghost Adventures",
"The Girls Next Door" "Mysteries at the Museum" and more.Your ticket includes
the Dearly Departed Tours Artifact Museum where we host a bizarre assortment
of items including Mae West's dentures, Celebrity Prescription Bottles,
Artifacts from disasters, murders and Helter Skelter ephemera. We have
items used in the actual production of The Rocky Horror Picture Show. Also
on display is the 1966 Buick Electra in which actress Jayne Mansfield was
killed, along with 2 others, in 1967.
What’s include:
3 hour Dearly Departed Tour
Driver/guide
List of additional death locations for you to visit on your own
What’s not included:
Gratuities Food and drinks
Hotel pickup and drop off
Price: $65
Duration: 2.5 hours
Hollywood - Behind the Scenes Walking Tour
Cultural & theme tours
Hollywood is a place, a name and a phenomenon known in every corner of
the globe. But there is so much more to this mecca than just movies. Hollywood
is a living museum of American architecture and history. Discover little
known theaters, landmarks and architectural marvels on this insightful
one hour walking tour!
What’s included:
Walking Tour of Historic Hollywood
Headset
Entry/Admission - Egyptian Theatre
Entry/Admission - Red Line Tours - Hollywood Behind-the-Scenes
What’s not included:
Gratuities
Price: $25
Duration: 1.25 hours
Hollywood and Celebrity Homes Tour by Bus
Tours & sightseeing
See Hollywood and it's surroundings in a fun, open Mercedes van (a few
have a canopy for shade ) , which allows for excellent views without obstructions
on this 2 hour tour.
Show up and meet your tour guide at the Walk of Fame to start this
fantastic 2 hour tour of Hollywood and celebrity homes. See where the stars
live, shop and party. Admire mansions of today's hottest celebrities and
legends of yesterday. Take a picture of the Hollywood Sign, Chinese Theater,
Walk of Fame, Dolby Theater (Oscars), cruise the Sunset Strip, Beverly
Hills and Rodeo Drive. See historic Studios, film locations and, if lucky,
observe filming in progress.Your tour will include: Chinese Theater, Dolby
Theater (Oscars), Hollywood Sign, Mulholland Drive, Celebrity Homes and
Mansions and film locations.
What’s included:
Driver/guide
What’s not included:
Gratuities
Price: $35
Duration: 2 hours
Small Group Bicycle Tour of Santa Monica and Venice Beach
Outdoor activities
Try something new on your Los Angeles vacation! See places you can’t get
to in your car or on a tour bus as you try out a unique and fun activity
– riding an electric bicycle with a small-group of 5! While you cruise
the canals of Venice and along Santa Monica Beach, you choose if you want
to pedal traditionally or use the electric power. It’s a bike tour with
a twist that will allow you to see the best of Santa Monica and Venice
Beach with a small-group to ensure you get a personable experience and
a local taste.
What’s included:
Electric Bicycle Tour
Helmet Rental
Bottled water
What’s not included:
Hotel pickup and drop-off
Gratuities
Price: $79
Duraratio: 3 hours
Movie Star Homes and Warner Bros Studio Tour
Cultural & theme tours
Go behind the scenes of Warner Bros. Studios and see dozens of celebrity
homes on this 4- to 5-hour tour that takes you from Hollywood to Beverly
Hills. Warner Bros. Studio Tour Hollywood brings you closer than ever to
the entertainment you know and love. Get ready to touch, tour and explore
the iconic 110-acre backlot that brought Batman, Friends and The Big Bang
Theory to life. Then cruise the palm-lined streets of upscale suburbs like
Bel-Air to see houses belonging to A-listers such as Halle Berry and Tom
Cruise. This tour is limited to just 13 people, ensuring you enjoy a small-group
experience with a guide.
What’s included:
Narration by a professional driver/guide
Hotel pickup and drop-off (morning tour only)
Entry/Admission - Warner Bros. Studio Tour Hollywood
What’s not included:
Gratuities
Food and drinks
Hotel pickup and drop-off (afternoon tour)


XRTK Testplan: Import XRTK.WindowsMixedReality into a project
This testplan tests the XRTK import path via UPM where the user installs the XRTK.WindowsMixedReality
package.
Test Preparations
- Create a new Unity 2019.4 project using the 3D template using the Unity Hub
Test 1 - Add XRTK Scoped Registry
Instructions
- Open the created Unity project
- Open the
Package Manager
window in the editor - Click on the
Advanced
drop down and selectAdvanced Project Settings
- Add a new scoped registry with the following details and click
Save
- Name: XRTK
- URL: http://upm.xrtk.io:4873/
- Scope(s): com.xrtk
- Close the Package Manager Settings window
- Change the Registry drop down from
Unity Registry
toMy Registries
- In the
Package Manager
selectAdvanced -> Show Preview Packages
- Wait for the
Package Manager
to finish loading packages
Expected Result
- The list of available packages in the Unity Package Manager now includes XRTK modules, such as e.g.
- XRTK.Core
- XRTK.Oculus
- XRTK.SDK
- ...
Test 2 - Import XRTK.SDK and configure
Instructions
- Open the
Package Manager
window in the editor - Change the Registry drop down from
Unity Registry
toMy Registries
- Select the
XRTK.SDK
package - Select
Install
to import the package into the project - Wait for the import process to complete
- Return to the scene and Select
Mixed Reality Toolkit/Configure...
in the menu bar
Expected Result
- The SDK and Core projects show as
Installed
with the latest versions - A GameObject
MixedRealityToolkit
was added to the scene - A GameObject
MixedRealityPlayspace
was added to the scene - Selecting the
MixedRealityToolkit
game object shows the toolkit is using theMixedRealityToolkitRootProfile
- Running the project produces no errors
Test 3 - Import XRTK.WindowsMixedReality
Instructions
- Open the
Package Manager
window in the editor - Change the Registry drop down from
Unity Registry
toMy Registries
- Select the
XRTK.WindowsMixedReality
package - Select
Install
to import the package into the project - Wait for the import process to complete
- When prompted to install the
Windows Mixed Reality Platform Service Configurations
, selectLater
Expected Result
- The project compiles without errors
- The project compiles without XRTK specific warnings
- A menu item
Mixed Reality Toolkit
is now available at the top menu bar - A folder
XRTK.Generated/WindowsMixedReality
was created in the project'sAssets
folder
Test 4 - Install XRTK.WindowsMixedReality Package Assets
Instructions
- If it already exists, Delete the
XRTK.Generated\WindowsMixedReality
folder in your project assets - Select
Mixed Reality Toolkit/Packages/Install Windows Mixed Reality Package Assets....
in the menu bar - Wait for the import process to complete
- When prompted to install the
Windows Mixed Reality Platform Service Configurations
, selectYes, Absolutely
- Select
Mixed Reality Toolkit/Configure...
in the menu bar
Expected Result
- A folder
XRTK.Generated/Oculus
was created in the project'sAssets
folder - A GameObject
MixedRealityToolkit
was added to the scene - A GameObject
MixedRealityPlayspace
was added to the scene - Selecting the
MixedRealityToolkit
game object shows the toolkit is using theMixedRealityToolkitRootProfile
- Opening the 'Camera System Profile' in the
MixedRealityToolkitRootProfile
, there is a 'Windows Mixed Reality Camera Data Provider' registered in the 'IMixedRealityCameraDataProvider' configuration - Opening the 'Input System Profile' in the
MixedRealityToolkitRootProfile
, there is a 'Windows Mixed Reality Controller Data Provider' registered in the 'IMixedRealityInputDataProvider' configuration - Opening the 'Input System Profile' in the
MixedRealityToolkitRootProfile
, there is a 'Windows Mixed Reality Hand Controller Data Provider' registered in the 'IMixedRealityInputDataProvider' configuration
Test 5 - Run WindowsMixedReality platform via the Mixed Reality Portal
Instructions
- Add a floor to your scene using
Mixed Reality Toolkit -> Tools -> Create Floor
in the editor menu - Add a Cube to the Scene with the
Manipulation Handler
component added and configured forSelect
- Enable VR settings for the Windows Mixed Reality platform in the Unity project
- Save the current scene and ensure it is registered in the Unity
Build Settings
- Connect your Windows Mixed Reality headset to your PC and start the Mixed Reality Portal, confirm you can see the Mixed Reality house and controllers function
- Run the Project
Expected Result
- The project compiles without errors
- The project compiles without XRTK specific warnings
- The project runs without errors
- The view shows above the floor, relative to the headset's current physical location
- When starting each controller, they appear in the scene and move
- Clicking the trigger causes the Pointer lines to appear
- Using the Thumbsticks enables teleportation and the user can move around the floor
- Clicking on the Cube enables the cube to be dragged relative to the controllers position


FI-STAR FP7 Project | www.fi-star.eu
The FI-STAR project has received funding from the European Union's
Seventh Framework Programme for research, technological
development and demonstration under grant agreement
no. xxx
FISH | www.fi-star.eu
A middleware that interconnects learning interactive content with
Future Internet Research resources.


Ping Pong
Rules
Ping Pong will count up to your number from 1 with the following exceptions:
Numbers divisible by 3 become "ping"
Numbers divisible by 5 become "pong"
Numbers divisible by 3 and 5 become "pingpong"
Game
Enter your number here:
Ping Pong!


The :valid CSS Pseudo class is used for highlighting the success/error state of a simple form. Enter correct value based on form type & see the color of the state change


2. Adding a new application¶
To add a new application to the Girl Effect infrastructure, a few things need to be set up.
2.1. Creating a Client¶
In order for your application to make use of OIDC, you will need to set up a client in the Authentication Service.
The fields explained:
- Name (required)
- Display name for the your client.
- Client Type (required)
- Select Confidential.
- Response Type (required)
- Select Code (Authorization Code Flow).
- Redirect URIs (required)
- A list of comma delimited uri strings. This is validated against the client, to ensure the users are never redirected off site unless its a trusted client. An example would be http://example.com/oidc/callback/.
- JWT Algorithm (required)
- Select the most appropriate for your application.
- Require consent
- If your site is accessing any personal information of your user, this should be checked.
- Reuse consent
- If you only want to ask for consent on the first login, this should be checked.
- Post Logout Redirect URIs
- A list of comma delimited uri strings to ensure users are redirected back to your application. An example would be http://example.com
2.2. Creating a Site¶
Now that the client has been created, we can set up a site for the client over here.
The fields explained:
- Client (required)
- Select the client you just created.
- Domain (required)
- Select a domain most appropriate to your application.
- Name (required)
- Name your site. Preferably the same as the client name you used previously.
- Is Active
- Make active if you want to use your site immediately.
- Description
- Describe your application.
2.3. Setting up the data schema for a site¶
The fields explained:
- Site (required)
- Select the site you have created.
- Schema (required)
- The schema defines what your users’ data will look like. The data is validated against this schema. JsonSchema is used to define the schemas. A basic schema can be: {“type”: “object”}.


It has never been easier to leverage the full force of powerful frameworks like Bootstrap and Zurb Foundation. Nothing can stop you now.
Download Assemble
Static site generator for Grunt.js, Yeoman and Node.js. "npm install assemble". Used by H5BP, Topcoat, and hundreds of other projects to build sites, themes, components, documentation, blogs and gh-pages.
Grunt task for compiling LESS to CSS.
Library of 100+ handlebars helpers. This project is active and supported, we love contributors and appreciate stars.
A bunch of example projects to help you learn how to use Assemble.
Demonstrates how to use Assemble to build a site. Includes layouts, pages, partials, and markdown content.
Grunt init template for Assemble, the static site generator built on Grunt.js. Kickstart new Assemble projects in just a few seconds, including templates, data, layouts, and a theme.
Yeoman generator for Assemble, the static site generator built on Grunt.js. Kickstart new Assemble projects in just a few seconds, including templates, data, layouts, and a theme.
Grunt plugin used to query the Github API and save the returned JSON files locally.
Grunt task to convert to or from JSON, YAML, XML, PLIST or CSV.
Grunt task for updating firebase data.
Build Bootstrap with Assemble instead of Jekyll.
Sooo many buttons... is this really necessary?! In reality this project has little to do with buttons. It's an exercise in separation of concerns regarding structure, style, content and data.
Generate your README from a template. Fast, very little config, and if you already use Grunt it's a no-brainer.
Permalinks plugin for Assemble, the static site generator for Grunt.js and Yeoman. This plugin enables powerful and configurable URI replacement patterns, presets, uses Moment.js for parsing dates, and much more.
Get Started with Assemble


Total score: Lives:
Start a new game
In this game you have a Player and Enemies (Bugs). The goal of the player is to reach the water, without colliding into any one of the enemies. The player can move left, right, up and down using arrow keys: ← ↑ → ↓. The enemies move in varying speeds on the paved block portion of the scene. Once a the player collides with an enemy, the game is reset and the player moves back to the start square.
You can collect gems and heart. Blue gem will add 50 points, Green gem will add 75 points, and orange gem will add 100 points. To cross the river you need to use logs. Falling to water also will reset the game. The heart will add an extra life. Once the player reaches the star the game is won and the player will be rewarded with 200 points.
Total scores: Lives:
You can start a new game


Tell Us About Your Wedding
Name
Location
Role
Bride
Groom
Maid of Honor
Best Man
Brides Maid
Groomsman
Date of Wedding
Size of Bridal Party
Friends
Size of Wedding
Start


31
Countries
55
Cities
106,379
Miles
Storytelling travel in a more immersive way through sound bites (the ambition is a podcast), exploring the depths of Sustainable Tourism through a course, and humanizing travel destinations on Instagram.
Travel moments are snippets of time-bound memories and the things you remember vividly - an amazing experience, adventure or a surreal moment shared with someone.
Here's my attempt to capture mine. What's yours?


Do not be intimidated by this list, there is not one single lesson that is DIFFICULT.Make no mistake, I’m not making any extravagant claims that you will leave here after 2 days as a TATTOOIST or as a TATTOO ARTIST. There are NO shortcuts to achieving this status. Once you have the basics, you will only become proficient if you PRACTICE – PRACTICE – PRACTICE
There are no tests or exams and we continue the days lessons until we are satisfied you have absorbed them.
On completion of the course you will have the technical and mechanical knowledge to complete a SMALL SIMPLE tattoo.
On completion of the course EVERY student receives a certificate of attendance.
Consent forms – tattoo insurance – Design sheets
Condition of customer – Age of customer
Display of designs – indexing of designs – Offensive tattoos
Advertising
Notes on suppliers
Pricing
Accounting Requirements
. First Aid
Hepatitis
Needle disposal – Clinical waste disposal
Hygiene – Studio layout
Colour theory – Outline Theory - Practice skin – Colours – Cover ups – Dressings
Explanation of pain – Shaving/cleansing
Design selection – selection of location.
Customer positions – Skin Tightness
Manual transfer making – Transfer Machines
Storage of transfers – indexing of transfers for transfeer machines
Transfer placement – Use of Vaseline
Needle groups – Machine Setting
After care


Functions to convert a page of plots drawn with the 'graphics' package into identical output drawn with the 'grid' package. The result looks like the original 'graphics'-based plot, but consists of 'grid' grobs and viewports that can then be manipulated with 'grid' functions (e.g., edit grobs and revisit viewports).
| Version: | 0.3-0 |
| Depends: | grid, graphics |
| Imports: | grDevices |
| Suggests: | magick (≥ 1.3), pdftools (≥ 1.6) |
| Published: | 2018-04-03 |
| Author: | Paul Murrell [cre, aut], Zhijian Wen [aut] |
| Maintainer: | Paul Murrell <paul at stat.auckland.ac.nz> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | https://github.com/pmur002/gridgraphics |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | gridGraphics results |
| Reference manual: | gridGraphics.pdf |
| Package source: | gridGraphics_0.3-0.tar.gz |
| Windows binaries: | r-devel: gridGraphics_0.3-0.zip, r-release: gridGraphics_0.3-0.zip, r-oldrel: gridGraphics_0.3-0.zip |
| OS X binaries: | r-release: gridGraphics_0.3-0.tgz, r-oldrel: gridGraphics_0.3-0.tgz |
| Old sources: | gridGraphics archive |
| Reverse imports: | BrailleR, ggplotify, meme, multiDimBio, multipanelfigure, sigQC, trackr |
| Reverse suggests: | cowplot, ggimage, phateR |
Please use the canonical form https://CRAN.R-project.org/package=gridGraphics to link to this page.


Rumble was created with the sole purpose of providing a platform for people to share their content through blog posts. If there are any further queries then feel free to send me a message.


In the National Lottery, 6 balls are drawn randomly from 59 balls.
The number of possible outcomes is
$$ \left(\begin{matrix} 59 \\ 6\end{matrix}\right) =
\frac{59!}{6!\;53!} =
\frac{<IP_ADDRESS>.55.54}{<IP_ADDRESS>.2.1} = 45057474
\simeq 4.5\times 10^7.
$$


Xj3D
An implementation of the VRML97 and X3D ISO standards. Extensive code with many different pluggable endpoints for various renderers. It also has a suite of applications that can go with it, though the file format converter is the most populate usage of the code.


A computer mouse is a hand-held pointing device that detects two-dimensional motion relative to a surface. This motion is typically translated into the motion of a pointer on a display, which allows for a smooth control of the graphical interface.


| Number of Classes | Line Coverage | Mutation Coverage |
|---|---|---|
| 7 | 73% | 63% |
| Name | Line Coverage | Mutation Coverage |
|---|---|---|
| AllInstructions.java | 88% |
100% |
| Arithmetic.java | 70% |
61% |
| Bitwise.java | 98% |
100% |
| Control.java | 72% |
47% |
| Graphics.java | 55% |
69% |
| Input.java | 58% |
50% |
| Transfer.java | 68% |
52% |


HTML is the standard markup language for creating Web pages. HTML stands for Hyper Text Markup Language HTML describes the structure of Web pages using markup HTML elements are the building blocks of HTML pages HTML elements are represented by tags.
CSS is a language that describes the style of an HTML document. CSS describes how HTML elements should be displayed.
JavaScript is the programming language of HTML and the Web. JavaScript is easy to learn.


importd is the fastest way to django. No project creation, no apps, no settings.py, just an import.
Installation:
$ easy_install importd
Home: http://amitu.com/importd/
importd is being developed on http://github.com/amitu/importd/.
See the Changelog: https://github.com/amitu/importd/blob/master/ChangeLog.rst.
With importd there is no need to create a django project or app. There is no settings.py or urls.py, nor is there a need of manage.py. A single file is suffecient, eg hello.py:
from importd import d
@d("/")
def index(request):
return d.HttpResponse("hello world")
To run this hello.py:
$ python hello.py
Validating models...
0 errors found
Django version 1.4.1, using settings None
Development server is running at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.
To see if it works:
$ curl "http://localhost:8000"
hello world
importd uses atexit to magically call runserver as seen in previous case. This can be disabled by calling d(no_atexit=True).
importd, along with atexit magic acts as management command too:
$ python hello.py help shell
python hello.py help shell (02-18 21:14)
Usage: hello.py shell [options]
Runs a Python interactive interpreter. Tries to use IPython or bpython, if one of them is available.
Options:
-v VERBOSITY, --verbosity=VERBOSITY
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings=SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath=PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Print traceback on exception
--plain Tells Django to use plain Python, not IPython or
bpython.
-i INTERFACE, --interface=INTERFACE
Specify an interactive interpreter interface.
Available options: "ipython" and "bpython"
--version show program's version number and exit
-h, --help show this help message and exit
importd sets DEBUG to true. This can be disabled by calling d(DEBUG=False) before any other importd functionality.
importd automatically configures django when needed. This can be disabled by calling d(dont_configure=True) before any other importd functionality.
importd based hello.py is a `wsgi app`_ without any more work.
... wsgi example http://www.tornadoweb.org/documentation/wsgi.html ...
importd works with gunicorn_ server, which is recommended for production setup instead of runserver command seen above, which is good only for debugging.
gunicorn is a dependency of importd, so if you have importd installed properly, gunicorn should be in your path.
Running hello.py with gunicorn:
$ gunicorn -w 2 hello:d
2013-02-18 21:20:06 [50844] [INFO] Starting gunicorn 0.17.2
2013-02-18 21:20:06 [50844] [INFO] Listening at: http://<IP_ADDRESS>:8000 (50844)
2013-02-18 21:20:06 [50844] [INFO] Using worker: sync
2013-02-18 21:20:06 [50847] [INFO] Booting worker with pid: 50847
2013-02-18 21:20:06 [50848] [INFO] Booting worker with pid: 50848
importd automatically includes templates folder in directory containing hello.py to TEMPLATE_DIRS settings.
importd automatically maps /static/ path to folder named static, in the same directory as hello.py.
importd based script, like hello.py can be invoked from any folder, templates and static folders would be properly configured.
$ cd /any/folder
$ python /full/path/to/hello.py
Validating models...
0 errors found
February 18, 2013 - 21:23:11
Django version 1.5c1, using settings None
Development server is running at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.
If in your program you need to refer to local path, call d.dotslash(path) method to translate relative paths to absolute paths properly, so your program continues to be relocatable.
For testing many a times sqlite is suffecient, and for those times importd automatically configures django with sqlite3 as database, with sqlite file stored in db.sqlite in the same folder as hello.py.
This can be disabled by passing actual database settings DATABASES to d().
importd has a decorator that can be applied to any view to add it to URLS. By default the @d decorator takes the name of the view method, and constructs the url /method-name/.:
from importd import d
@d
def hello(request):
return d.HttpResponse("hey there!")
In this case, importd will map hello() method to /hello/ url. This can be overriden by passing the URL where the view must be mapped to @d:
from importd import d
@d("^$")
def hello(request):
return d.HttpResponse("hey there!")
In this case hello method is mapped to /.
@d decorator also supprts named urls via name keyword argument, eg:
from importd import d
@d("^home/$", name="home") # named urls
def home(request):
return "home.html"
Since most views.py methods will be defined in views.py of respective application, importd automatically imports views module of all apps configured to make sure all such decorators get called when django is configured.
For convenience importd also imports forms modules and signals modules of each app configured.
Since importd uses smarturls underneath this:
from importd import d
@d("^$")
def hello(request):
return d.HttpResponse("hey there!")
is equivalent to:
from importd import d
@d("/")
def hello(request):
return d.HttpResponse("hey there!")
Notice the simpler URL passed to @d(“/”) instead of d(“^$”). Either form can be used.
Take a look at smarturls documentation to see how can simplfy url construction for you.
fhurl is a generic view for forms and ajax. importd integrates well with fhurl.:
from importd import d
@d("^fhurl/$")
class MyForm(d.RequestForm):
x = d.forms.IntegerField(help_text="x in hrs")
y = d.forms.IntegerField(help_text="y in dollars per hr")
def save(self):
return self.cleaned_data["x"] * self.cleaned_data["y"]
Running this:
$ python h2.py
Validating models...
0 errors found
February 20, 2013 - 09:40:56
Django version 1.5c1, using settings None
Development server is running at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.
Usage:
$ curl http://localhost:8000/fhurl/
{"errors": {"y": ["This field is required."], "x": ["This field is required."]}, "success": false}
$ curl "http://localhost:8000/fhurl/?x=10"
{"errors": {"y": ["This field is required."]}, "success": false}
$ curl "http://localhost:8000/fhurl/?x=asd"
{"errors": {"y": ["This field is required."], "x": ["Enter a whole number."]}, "success": false}
$ curl "http://localhost:8000/fhurl/?x=10&y=10"
{"response": 100, "success": true}
$ curl "http://localhost:8000/fhurl/?x=10&y=10&validate_only=true"
{"valid": true, "errors": {}}
$ curl "http://localhost:8000/fhurl/?x=10&y=asd&validate_only=true"
{"errors": {"y": ["Enter a whole number."]}, "valid": false}
$ curl "http://localhost:8000/fhurl/?json=true"
{"y": {"help_text": "y in dollars per hr", "required": true}, "x": {"help_text": "x in hrs", "required": true}}
fhurl can do a lot more, works with templates, renders the form and displays the form with errors, all with just one or two lines, check it out in fhurl docs.
fhurl with template:
from importd import d
@d("^fhurl/$", template="form.html")
class MyForm(d.RequestForm):
x = d.forms.IntegerField(help_text="x in hrs")
y = d.forms.IntegerField(help_text="y in dollars per hr")
def get_json(self, _):
# _ contains the data returned by .save() method
return self.cleaned_data["x"] * self.cleaned_data["y"]
def save(self):
# .save() is always called, both in html mode or json mode
# if json=true is passed, then get_json() is also called and
# its result is returned.
# else .save() is supposed to return a string that is redirected
# fhurl assumes you always want to redirect to a new page after
# saving a form, so that user does not accidentally resubmit the
# form by hitting ctrl-R or on browser restart etc
p = self.cleaned_data["x"] * self.cleaned_data["y"]
return "/form-saved" # redirect to this url
form.html:
{% csrf_token %}
<form>{{ form }}</form>
Usage:
$ curl "http://localhost:8000/fhurl/"
<input type='hidden' name='csrfmiddlewaretoken' value='e1hIW2A0HWJMB27epijcc3XKD7JVB0nQ' />
<form>
X:	<input id="id_x" name="x" type="text" />
x in hrs

Y:	<input id="id_y" name="y" type="text" />
y in dollars per hr
</form>
$ curl -b "csrftoken=cnoaUDrr08haTTAMjpGWaPPBgt5rG1ZW" -d "csrfmiddlewaretoken=cnoaUDrr08haTTAMjpGWaPPBgt5rG1ZW&x=10a" "http://localhost:8000/fhurl/"
<input type='hidden' name='csrfmiddlewaretoken' value='cnoaUDrr08haTTAMjpGWaPPBgt5rG1ZW' />
<form>
X:

Enter a whole number.

<input id="id_x" name="x" type="text" value="10a" />
x in hrs

Y:

This field is required.

<input id="id_y" name="y" type="text" />
y in dollars per hr
</form>
$ curl -i -b "csrftoken=cnoaUDrr08haTTAMjpGWaPPBgt5rG1ZW" -d "csrfmiddlewaretoken=cnoaUDrr08haTTAMjpGWaPPBgt5rG1ZW&x=10&y=1" "http://localhost:8000/fhurl/"
HTTP/1.0 302 FOUND
Date: Wed, 20 Feb 2013 15:41:06 GMT
Server: WSGIServer/0.1 Python/2.7.1
Content-Type: text/html; charset=utf-8
Location: http://localhost:8000/asd
$ curl -b "csrftoken=cnoaUDrr08haTTAMjpGWaPPBgt5rG1ZW" -d "csrfmiddlewaretoken=cnoaUDrr08haTTAMjpGWaPPBgt5rG1ZW&x=10&y=1" "http://localhost:8000/fhurl/?json=true"
{"response": 10, "success": true}
Django views are expected to only return HttpResponse based objects. importd allows you to do more than this.
A view can return a string, which is treated as name of template, which is rendered with RequestContext and returned. A view can also return a tuple of (str, dict), in this case the str is treated as name of view, and dict as the context:
from importd import d
import time
@d # /index/, url derived from name of view
def index(request):
return "index.html", {"msg": time.time()}
Further a view can also return arbitrary data structures not mentioned above, in such cases importd will convert that to JSON and return it to client:
from importd import d
@d # served at /json/, converts object to json string, with proper mimetype
def json(request):
return {
"sum": (
int(request.GET.get("x", 0)) + int(request.GET.get("y", 0))
)
}
importd comes with convenience JSONResponse class to return arbitrary json object that may be a string, or a (string, dict) tuple.
Nothing special has to be done to work with existing apps, django specific INSTALLED_APPS must contain the name of apps as usual, and it can be passed to d() method:
from importd import d
d(INSTALLED_APPS=["django.contrib.auth", "django.contrib.contenttypes"])
from django.contrib.auth.models import User
@d("/<int:userid>/")
def hello(request, userid):
user = User.objects.get(userid)
return d.HttpResponse("hey there %" % user)
To create custom models, create an app using $ python hello.py startapp hello_app and add it to INSTALLED_APPS.
importd contains aliases for django methods and classes:
from importd import d
@d
def hello(request):
return d.render_to_response("hello.html", d.RequestContext(request))
# d.render_to_response == django.shortcuts.render_to_response
# d.get_object_or_404 == django.shortcuts.get_object_or_404
# d.HttpResponse == django.http.HttpResponse
# d.patterns == django.conf.urls.defaults.patterns
# d.RequestContext == django.template.RequestContext
# d.forms == django.forms
This example features a few more use cases:
from importd import d
d(DEBUG=True, INSTALLED_APPS=["django.contrib.auth"]) # configure django
def real_index2(request):
return d.HttpResponse("real_index2")
# setup other urlpatterns
d(d.patterns("",
("^$", real_index2),
))
@d # /index/, url derived from name of view
def index(request):
import time
return "index.html", {"msg": time.time()}
@d("^home/$", name="home") # named urls
def real_index(request):
return "home.html"
@d # served at /json/, converts object to json string, with proper mimetype
def json(request):
return {
"sum": (
int(request.GET.get("x", 0)) + int(request.GET.get("y", 0))
)
}
@d("/edit/<int:id>/", name="edit_page") # translats to ^edit/(?P<id>\d+)/$
def edit(request, id):
return {"id": id}
@d("^fhurl/$")
class MyForm(d.RequestForm):
x = d.forms.IntegerField()
y = d.forms.IntegerField()
def save(self):
return self.cleaned_data["x"] + self.cleaned_data["y"]


New Business Initiative
2-sided marketplace for parking space
PARK is a platform (mobile application) that matches between supply and demand. The application will automatically match drivers with individually-owned parking spots in a safe, convenient, seamless way using a mobile application. PARK leverages the sharing economy to create a two-sided marketplace for parking (similar to Uber and Airbnb but for parking space). PARK’s core functionality is using complex algorithms to match drivers who are looking for parking with the best available spot that meets their criteria.
Product Strategy
Usecase development & GTM Strategy For Cortana Digital Assistant
Despite this precipitous level of growth that is projected to continue, skills and usage of digital assistants (DAs) on smart speakers, phones, and PCs are still developing. To illustrate, top task requests include playing music, getting the weather, getting the news, and checking the time. Microsoft has recognized that there is still a lot of room for a digital assistant with more advanced capabilities that can help save consumers time and boost their productivity by completing more complex tasks. In addition, no personal assistant has been able to truly master productivity in the workplace or cut across users' personal and professional lives. Therefore, the project was recommending how its artificial intelligence digital assistant team (Cortana) could bridge the gap for users between their work and home lives.
User Research&Product Development
Re-Innovate Online Banking Application
Our client was the top-3 Thai bank in Thailand. The client had a comparably low presence in online banking because the application was difficult to use and not user friendly. Our team came in to redesign the new online banking to improve usability and incorporate new features that improve users’ experience in online banking and help users manage their personal finances better.


?New
York
Botanical
Garden
lb240flM
EX
HERB.
MUSEI
BRITANNICI
Vernacular
Name
Locality:
FLORA
OF
(-
Botanical
Name:
L
(hoi
ity:
y^^ry
C+J&A.
Altitude:
/tv
Date:
^
.
J/{
¥
%
$
Habitat:
¥
J&rvJZsvo
pvU^i
?^70*u
Collector:
Áa
Õ
No.
Notes
1624084
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


|
Wayland Client API
1.16.0
|
#include <wayland-client-protocol.h>
Data Fields | |
| void(* | target )(void *data, struct wl_data_source *wl_data_source, const char *mime_type) |
| a target accepts an offered mime type More... | |
| void(* | send )(void *data, struct wl_data_source *wl_data_source, const char *mime_type, int32_t fd) |
| send the data More... | |
| void(* | cancelled )(void *data, struct wl_data_source *wl_data_source) |
| selection was cancelled More... | |
| void(* | dnd_drop_performed )(void *data, struct wl_data_source *wl_data_source) |
| the drag-and-drop operation physically finished More... | |
| void(* | dnd_finished )(void *data, struct wl_data_source *wl_data_source) |
| the drag-and-drop operation concluded More... | |
| void(* | action )(void *data, struct wl_data_source *wl_data_source, uint32_t dnd_action) |
| notify the selected action More... | |
| void(* wl_data_source_listener::action) (void *data, struct wl_data_source *wl_data_source, uint32_t dnd_action) |
notify the selected action
This event indicates the action selected by the compositor after matching the source/destination side actions. Only one action (or none) will be offered here.
This event can be emitted multiple times during the drag-and-drop operation, mainly in response to destination side changes through wl_data_offer.set_actions, and as the data device enters/leaves surfaces.
It is only possible to receive this event after wl_data_source.dnd_drop_performed if the drag-and-drop operation ended in an "ask" action, in which case the final wl_data_source.action event will happen immediately before wl_data_source.dnd_finished.
Compositors may also change the selected action on the fly, mainly in response to keyboard modifier changes during the drag-and-drop operation.
The most recent action received is always the valid one. The chosen action may change alongside negotiation (e.g. an "ask" action can turn into a "move" operation), so the effects of the final action must always be applied in wl_data_offer.dnd_finished.
Clients can trigger cursor surface changes from this point, so they reflect the current action.
| dnd_action | action selected by the compositor |
| void(* wl_data_source_listener::cancelled) (void *data, struct wl_data_source *wl_data_source) |
selection was cancelled
This data source is no longer valid. There are several reasons why this could happen:
The client should clean up and destroy this data source.
For objects of version 2 or older, wl_data_source.cancelled will only be emitted if the data source was replaced by another data source.
| void(* wl_data_source_listener::dnd_drop_performed) (void *data, struct wl_data_source *wl_data_source) |
the drag-and-drop operation physically finished
The user performed the drop action. This event does not indicate acceptance, wl_data_source.cancelled may still be emitted afterwards if the drop destination does not accept any mime type.
However, this event might however not be received if the compositor cancelled the drag-and-drop operation before this event could happen.
Note that the data_source may still be used in the future and should not be destroyed here.
| void(* wl_data_source_listener::dnd_finished) (void *data, struct wl_data_source *wl_data_source) |
the drag-and-drop operation concluded
The drop destination finished interoperating with this data source, so the client is now free to destroy this data source and free all associated data.
If the action used to perform the operation was "move", the source can now delete the transferred data.
| void(* wl_data_source_listener::send) (void *data, struct wl_data_source *wl_data_source, const char *mime_type, int32_t fd) |
send the data
Request for data from the client. Send the data as the specified mime type over the passed file descriptor, then close it.
| mime_type | mime type for the data |
| fd | file descriptor for the data |
| void(* wl_data_source_listener::target) (void *data, struct wl_data_source *wl_data_source, const char *mime_type) |
a target accepts an offered mime type
Sent when a target accepts pointer_focus or motion events. If a target does not accept any of the offered types, type is NULL.
Used for feedback during drag-and-drop.
| mime_type | mime type accepted by the target |


156 The compress block selects a subset of its right input based on the Boolean values in its left input, which must be a vector of Booleans whose length equals the length of the array (the number of rows, for a matrix) in the right input. The block reports an array of the same rank as the right input, but containing only those rows whose corresponding Boolean value is true. The columns version ! is the same but selecting columns rather than selecting rows. A word about the possibly confusing names of these blocks: There are two ways to think about what they do. Take the standard / version, to avoid talking about both at once. One way to think about it is that it selects some of the rows. The other way is that it shortens the columns. For Lispians, which includes you since you’ve learned about keep, the natural way to think about / is that it keeps some of the rows. Since we represent a matrix as a list of rows, that also ﬁts with how this function is implemented. (Read the code; you’ll ﬁnd a keep inside.) But APL people think about it the other way, so when you read APL documentation, / is described as operating on the last dimension (the columns), while ! is described as operating on rows. We were more than a month into this project before I understood all this. You get long block names so it won’t take you a month!  In that block, what comes to the left of the slash is a dyadic combining function; it’s the APL equivalent of combine. This block is more nearly equivalent to keep. But keep takes a predicate function as input, and calls the function for each item of the second input. With compress, the predicate function, if any, has already been called on all the items of the right input in parallel, resulting in a vector of Boolean values. This is a typical APL move; since hyperblocks are equivalent to an implicit map, it’s easy to make the vector of Booleans, because any scalar function, including predicates, can be applied to a list instead of to a scalar. The reason both blocks use the / character is that both of them reduce the size of the input array, although in different ways. The reverse row order, reverse column order, and transpose blocks form a group: the group of reﬂections of a matrix. The APL symbols are all a circle with a line through it; the lines are the different axes of reﬂection. So the reverse row order block reverses which row is where; the reverse column order block reverses which column is where; and the transpose block turns rows into columns and vice versa:


In-Display fingerprint reader may come to the Apple Watch before the iPhone
by SururWe have been waiting two years for Apple to catch up with the rest of the smartphone world by releasing a device with an in-display fingerprint reader.
We have previously heard that Apple was developing an ultrasonic fingerprint sensor with Qualcomm which tends to be more accurate than an optical fingerprint reader.
Now a new patent from Apple suggests that device may be an Apple Watch before it is an iPhone.
PatentlyApple reports on a new Apple Watch related patent filed in Q2 2018 and published recently.
The patent focusses on embedding antenna in the watch band (which is likely to kill the 3rd party watch band market), but also notes that the display of the watch may include” “one or more input devices such as a touch sensing device, force sensing device, temperature sensing device, and/or a fingerprint sensor.”
Currently the Apple Watch relies on a pin system and pairing/proximity to the iPhone for authentication, but given that the Apple Watch can be used to make purchases this is less than ideal, and of course, a bulky system such as Face ID would simply not fit into an Apple Watch, making an Apple Watch Touch-Id solution much more likely.
Regarding the antenna in the watchband, Apple notes the antenna would need special features, such as being able to stretch, bend, and flex and remain comfortable to use. Given the need to have antenna generally, FCC cleared it is clear that the day of 3rd party watch bands may be coming to an end soon.
The patent, which includes the Apple Watch Touch-Id reference, can be seen here.
Via Pocketnow.
Head image tech-blog


--- title: Facebook date: 2013-06-01 start: Summer 2013 link: https://www.facebook.com featured_image: teams/facebook.png role: Facebook U Intern ---
The summer after my freshman year, I worked at Facebook as a member of the first class of the Facebook University internship program. I spent the first three weeks learning to write Objective-C and build iOS apps, and spent the last five weeks working on the Facebook for iOS timeline team to build out new friending features in iOS 7.0. The focus of my work was on building a testing infrastructure for our feature.


?NEW
YORK
BOTANICAL
GARDEN
6
7
8
9
10
*r
V
The
New
York
copyright
reserved
botanical
Garden
FLORA
of
HAITI,
W.
I.
Botanical
name:
Ca.-foÕV^.
U.,
Location:
I^Hav
bkt.
SVh.
Cli*È**Ç.ÈÈ¥Ç.È<**
*
Elev.
I6>
0&
m
Tree
vWl
J31irul>
_Vine-
_Size;
On
"Vo
|.
5
¥*Ç
Notes
lr
Collectors
No..-S3J£--Local
Name--
Date
of
C"1wtinTI
j
-Ident.
by
k..
Collected
by
L.
R.
HOLDRIDGE
01500948
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


A small open source app to display your designs on the Touch Bar of the new MacBook Pro.
requires macOS 10.12.2v1.1 (Version History)