Module Moku
Moku Module
Constructors
| new_from_tm (tilemap_url, layer_name, tile_width, tile_height[, on_new_cell]) | Builds and returns a new moku map from a supplied defold tilemap. |
| new (width, height, tile_width, tile_height[, on_new_cell]) | Returns a new moku map from scratch. |
Iterators
| iterate_map (map[, fn]) | Iterates through all moku map cells. |
| iterate_region (map, x, y, width, height[, fn]) | Iterates through a rectangular region of a moku maps cells. |
| iterate_surrounding (map, x, y[, fn]) | Iterates through a given cell and its surrounding cells. |
General
| within_bounds (map, x, y) | Return whether or not a given map coordinate is within the map bounds. |
| on_edge (map, x, y) | Return whether or not a given cell is an edge cell |
| within_dimensions (map, map_world_x, map_world_y, test_world_x, test_world_y) | Return whether or not a given world coordinate is within the world dimensions of the map. |
| cell_center (map, map_world_x, map_world_y, x, y) | Return world coordinates of a given cells center. |
| neighbor_coords (x, y, dir) | Return coordinates of a cell neighboring a given cell. |
| all_neighbor_coords (x, y) | Return a list of all coordinates neighboring a given cell. |
| neighbor_cell (map, x, y, dir) | Return the neighbor cell of a given cell. |
| all_neighbor_cells (map, x, y) | Return a list of all cells neighboring a given cell. |
Cell Picking
| pick_coords (map, map_world_x, map_world_y, pick_world_x, pick_world_y) | Returns the coordinates of the cell at given world coordinates |
| pick_cell (map, map_world_x, map_world_y, pick_world_x, pick_world_y) | Returns the cell at given world coordinates |
Auto-Tiling
| link_tilemap (map, tilemap_url, layer_name) | Links a tilemap and layer to a moku map. |
| set_autotile (map, moku_id, algorithm, join_self, join_edge, join_nil, joining_ids) | Designates a tile id as as an auto-tile. |
| calc_autotile_id (map, x, y) | Calculates a given cells auto-tile id/sum |
| autotile_cell (map, x, y) | Auto-tiles a given cell. |
| autotile_map (map) | Auto-tiles an entire moku map. |
| autotile_region (map, x, y, width, height) | Auto-tiles a rectangular region of a moku map. |
| autotile_surrounding (map, x, y) | Auto-tiles a given cell and its surrounding cells. |
Tiling Matrices
| tiling_matrix_map (map) | Returns a tiling matrix for an entire moku map. |
| tiling_matrix_region (map, x, y, width, height) | Returns a rectangular tiling matrix. |
| tiling_matrix_surrounding (map, x, y) | Returns a tiling matrix for a given cell and its surrounding cells. |
Path-finding
| find_path (map, start_cell, end_cell, cost_fn[, cost_fn_arg]) | Computes, and returns a path from a given start cell, to a given end cell. |
Constructors
Functions for creating new moku maps and cells
- new_from_tm (tilemap_url, layer_name, tile_width, tile_height[, on_new_cell])
-
Builds and returns a new moku map from a supplied defold tilemap.
Moku maps built this way are automatically linked to the passed
tilemap and layer, and are ready for auto-tiling.
Parameters:
- tilemap_url url Tilemap url
- layer_name string The name of the layer to build from
- tile_width number Pixel width of your tiles
- tile_height number Pixel height of your tiles
- on_new_cell function A function called on cell creation (optional)
Returns:
-
A new moku map
- new (width, height, tile_width, tile_height[, on_new_cell])
-
Returns a new moku map from scratch.
Parameters:
- width number Width in cells
- height number Height in cells
- tile_width number Pixel width of your tiles
- tile_height number Pixel height of your tiles
- on_new_cell function A function called on cell creation (optional)
Returns:
-
A new moku map
Iterators
Iterator functions
- iterate_map (map[, fn])
-
Iterates through all moku map cells.
An optional filter function can be applied
Parameters:
- map map A moku map
- fn function Filter function (optional)
- iterate_region (map, x, y, width, height[, fn])
-
Iterates through a rectangular region of a moku maps cells.
An optional filter function can be applied
Parameters:
- map map A moku map
- x number Lower left x coordinate of region
- y number Lower left y coordinate of region
- width number Width of the region
- height number Height of the region
- fn function Filter function (optional)
- iterate_surrounding (map, x, y[, fn])
-
Iterates through a given cell and its surrounding cells.
An optional filter function can be applied
Parameters:
- map map A moku map
- x number The x coordinate of the given cell
- y number The y coordinate of the given cell
- fn function Filter function (optional)
General
Assorted moku map functions
- within_bounds (map, x, y)
-
Return whether or not a given map coordinate is within the map bounds.
Parameters:
- map map A moku map
- x number The x coordinate of the given cell
- y number The y coordinate of the given cell
Returns:
-
True if in bounds, false otherwise
- on_edge (map, x, y)
-
Return whether or not a given cell is an edge cell
Parameters:
- map map A moku map
- x number The x coordinate of the given cell
- y number The y coordinate of the given cell
Returns:
-
True if on edge, false otherwise
- within_dimensions (map, map_world_x, map_world_y, test_world_x, test_world_y)
-
Return whether or not a given world coordinate is within the world dimensions of the map.
World dimensions being defined as the area that the map is taking up in world space.
Parameters:
- map map A moku map
- map_world_x number World x of the map
- map_world_y number World y of the map
- test_world_x number Given world x coordinate
- test_world_y number Given world y coordinate
Returns:
-
True if within bounds, false otherwise
- cell_center (map, map_world_x, map_world_y, x, y)
-
Return world coordinates of a given cells center.
Parameters:
- map map A moku map
- map_world_x number World x of the map
- map_world_y number World y of the map
- x number The x coordinate of the given cell
- y number The y coordinate of the given cell
Returns:
- World x of cells center
- World y of cells center
- neighbor_coords (x, y, dir)
-
Return coordinates of a cell neighboring a given cell.
Parameters:
- x number The y coordinate of the given cell
- y number The x coordinate of the given cell
- dir moku.dir Direction of neighbor
Returns:
- The x coordinate of neighbor
- The y coordinate of neighbor
- all_neighbor_coords (x, y)
-
Return a list of all coordinates neighboring a given cell.
Parameters:
- x number The y coordinate of the given cell
- y number The x coordinate of the given cell
Returns:
-
A list of neighbor coordinates in the form
{ {Nx, Ny}, {Ex, Ey}, {Sx, Sy}, {Wx, Wy}, {NEx, NEy}, {SEx, SEy}, {SWx, SWy}, {NWx, NWy} }
- neighbor_cell (map, x, y, dir)
-
Return the neighbor cell of a given cell.
Parameters:
- map map A moku map
- x number The y coordinate of the given cell
- y number The x coordinate of the given cell
- dir moku.dir Direction of neighbor
Returns:
-
Neighbor cell. Nil if outside of bounds (or the neighbor is nil)
- all_neighbor_cells (map, x, y)
-
Return a list of all cells neighboring a given cell.
Parameters:
- map map A moku map
- x number The y coordinate of the given cell
- y number The x coordinate of the given cell
Returns:
-
A list of neighbor cells in the form
{ N, E, S, W, NE, SE, SW, NW }
Cell Picking
Functions related to cell picking
- pick_coords (map, map_world_x, map_world_y, pick_world_x, pick_world_y)
-
Returns the coordinates of the cell at given world coordinates
Parameters:
- map map A moku map
- map_world_x number World x of the map
- map_world_y number World y of the map
- pick_world_x number Given world x
- pick_world_y number Given world y
Returns:
- x coordinate of cell at given world coordinates. Nil if out of map bounds
- y coordinate of cell at given world coordinates. Nil if out of map bounds
- pick_cell (map, map_world_x, map_world_y, pick_world_x, pick_world_y)
-
Returns the cell at given world coordinates
Parameters:
- map map A moku map
- map_world_x number World x of the map
- map_world_y number World y of the map
- pick_world_x number Given world x
- pick_world_y number Given world y
Returns:
-
Cell at given world coordinates. Nil if out of map bounds (or the cell is nil)
Auto-Tiling
Functions related to moku auto-tiling
- link_tilemap (map, tilemap_url, layer_name)
-
Links a tilemap and layer to a moku map.
Parameters:
- map map A moku map
- tilemap_url url Tilemap url
- layer_name string Name of layer
- set_autotile (map, moku_id, algorithm, join_self, join_edge, join_nil, joining_ids)
-
Designates a tile id as as an auto-tile.
Parameters:
- map map A moku map
- moku_id number The tile id to be designated as an auto-tile
- algorithm moku.at_algorithm The auto-tiling algorithm to be used
- join_self bool Whether tiles of the same type act as joining tiles
- join_edge bool Whether the edge of the map acts as a joining tile
- join_nil bool Whether empty cells act as joining tiles
- joining_ids table Additional tile id's to act as joining tiles
- calc_autotile_id (map, x, y)
-
Calculates a given cells auto-tile id/sum
Parameters:
- map map A moku map
- x number The y coordinate of the given cell
- y number The x coordinate of the given cell
Returns:
-
The auto-tile id
- autotile_cell (map, x, y)
-
Auto-tiles a given cell.
Parameters:
- map map A moku map
- x number The y coordinate of the given cell
- y number The x coordinate of the given cell
- autotile_map (map)
-
Auto-tiles an entire moku map.
Parameters:
- map map A moku map
- autotile_region (map, x, y, width, height)
-
Auto-tiles a rectangular region of a moku map.
Parameters:
- map map A moku map
- x number Lower left x coordinate of region
- y number Lower left y coordinate of region
- width number Width of the region
- height number Height of the region
- autotile_surrounding (map, x, y)
-
Auto-tiles a given cell and its surrounding cells.
Parameters:
- map map A moku map
- x number The x coordinate of the given cell
- y number The y coordinate of the given cell
Tiling Matrices
Functions that return tiling matrices
- tiling_matrix_map (map)
-
Returns a tiling matrix for an entire moku map.
Parameters:
- map map A moku map
- tiling_matrix_region (map, x, y, width, height)
-
Returns a rectangular tiling matrix.
Parameters:
- map map A moku map
- x number Lower left x coordinate of region
- y number Lower left y coordinate of region
- width number Width of the region
- height number Height of the region
- tiling_matrix_surrounding (map, x, y)
-
Returns a tiling matrix for a given cell and its surrounding cells.
Parameters:
- map map A moku map
- x number The x coordinate of the given cell
- y number The y coordinate of the given cell
Path-finding
Functions related to path-finding
- find_path (map, start_cell, end_cell, cost_fn[, cost_fn_arg])
-
Computes, and returns a path from a given start cell, to a given end cell.
Takes a cost function for tile weights. Negative weights designate the cell as
impassible. See example project or readme for details.
Parameters:
- map map A moku map
- start_cell cell Given start cell
- end_cell cell Given end cell
- cost_fn function Cost function
- cost_fn_arg any Added to the cost_fn argument table under "user" (optional)
Returns:
- An array of cells, in order from start to end cell. Nil if no path found.
- A table of cell costs. If no path is found a string is returned giving a reason.


REGISTRATION
{% if registrationSuccessful %}
Thank you for registering!
{% elif userExists %}
User already exists!
{% elif error %}
There was an error processing your request. Please try again.
If the problem persists, please contact<EMAIL_ADDRESS>{% else %}
{% endif %}
{% if registrationSuccessful or userExists %}
{% if userExists %}
{% endif %}
{% endif %}
{% endblock %}


Random Choice Picker
Enter your choices separated by a comma ( , )
Press Enter( ⏎ ) when you're done


opener property
override
A reference to the window that opened this one.
Window thisWindow = window;
WindowBase otherWindow = thisWindow.open('http://www.example.com/', 'foo');
print(otherWindow.opener == thisWindow); // 'true'
Implementation
WindowBase get opener => _convertNativeToDart_Window(this._get_opener);
Implementation
set opener(WindowBase value) native;


Requests
View connected nodes
Show form
From existing template
Load from existing template ID
Load
New request
Recipients
all
selected
(shift+click for multiple selection)
New Request


Background Information:
I had drank Ayahuasca twice before this occassion. The first time gave very minimal effects and the second time gave apparent but still subdued visual hallucinations and mental empathy. Both of these experiences felt very empty and hollow and they did not seem typical of the amazing and enlightening Ayahuasca experiences that I had read so much about. I wanted to see and feel the overwhelming 'spirit' of Ayahuasca. So I decided to use the remaining plants that I had ordered online to try a final attempt. The first two attempts were experienced alone so I decided to share what I had with two friends of mine (J and D).
Neither J or D had ever done Ayahuasca before but they both showed great respect for it and they handled their Mushroom trips in the past well enough. I thought that it would only be ethical to share something like Ayahuasca. Both J and D are very good friends of mine and I was happy to provide them with the experience.
Preparation:
I had crushed about 21g of Syrian Rue seeds to a very fine powder with a coffee grinder. The resulting powder was then placed in empty capsules. I figured that we could take the capsules one half an hour before ingesting the actual Ayahuasca.
After this I began cooking the Ayahuasca. The plants that I had decided to use in this brew were 27g of Diplopterys cabrerana (something I had never tried before), 40g of Mimosa Hostilis Bark, and some leftover Banisteriopsis Caapi that I felt needed to be included in the brew (even though it may not have much of an effect at this level). I also decided to add about one additional gram of Syrian Rue powder into the brew, just in case.
I mixed this all together in a large jar filled with apple juice. This sat overnight and recieved shaking every few hours. The next day I emptied the contents of the jar into a pot partially filled with filtered water and ALOT of apple slices. I had no lemons at the time so I had substituted it with apples in order to help extract the tryptamines. I also thought that this may aid in the very very vile taste of Ayahuasca. I made sure not to actually boil the mixture while cooking it.
After cooking the brew for 3-4 hours, I filtered it through a spaghetti strainer several times and then through coffee filters several times. The final product (a greenish/brown foamy liquid with a very intimidating smell) was placed in my refridgerator.
The Experience:
After a day of refridgeration, it was time to bring the brew to J and D's house (who happen to live together). I made sure to inform J and D to be careful about eating tyramine-rich foods for 48 hours. They even decided to fast for the day beforehand. I just limited my tyramine consumption.
J and D always have several people at their house and tonight was no exception. There were 4 or so of our communal friends already there. For the first few hours we all engaged in conversation about how I planned this whole event out. Everyone seemed anxious to see how we would react. It seemed that many of these people did not even know what Ayahuasca was before I came over with a container full of it.
At around 10:30pm one of the friends drove us to pick up a good friend of mine who is knowledgable on DMT and Ayahuasca. He was not intending on drinking it on this night but I was very happy that we would be with us. It was now J, D, and myself drinking the Ayahuasca with 5 friends watching us.
It was 11:30pm once we arrived back at J and D's house. It was time to eat the Syrian Rue capsules. We all ate around 7 of the capsules by breaking the capsules open, placing the powder in our mouths, and then quickly chasing it down with water. This really wasn't very bad-tasting. It seemed that we all wasted some of the contents of the capsules in the process of breaking them open, so we decided to all take 3 additional capsules just to be absolutely positive that we had taken enough. I made sure to be calculate how much each capsule would have in it.
We sat outside after eating the Syrian Rue and saw that the moon was very visibly full and the sky was absolutely clear. It was a gorgeous summer night and it seemed like a perfect stage for a psychedelic journey to be played out on. The sedative effects of the seeds gently came on and soon enough it was midnight (and time to drink the Ayahuasca).
I poured the brew equally into three cups (one cup for each of us). I forewarned both J and D that Ayahuasca was definitely the worst tasting liquid that I had ever consumed. They remained confident and J reminded me that he has drank opium tea before (which he claims tastes very bad).
I began to worry that neither of them could keep the Ayahuasca down long enough or that perhaps I did not use enough plant matter. I also worried that this experience may be more based on 5-MeO-DMT rather than DMT since Diplopterys cabrerana was used. Regardless of this we drank it down as the 5 friends watched us very cautiously. The familiar bitterness and throat-constricting taste returned to me. D drank his very quickly and soon finished while J and I drank our portions very slowly. J became visibly sick. Soon I finished my portion and (with relief) went to sit down away from J in order to give him some space. Unfortunately J soon vomitted. He seemed very upset about doing this but I reassured him that it was alright.
My stomach began to ache horribly. I knew that I had to hold on while my body absorbed the tryptamines. D and I noted that we felt dreamy and affected already. J even said that he felt different, despite his immediate vomitting. Soon the clear sky was filled with very fast flying, distinct, and thick colorful tracers. The dreamy feeling increased. Soon everything had trails around it. I looked down as I walked and moved my feet and the image of where my shoe was before moving it remained. It was the same with my hands, which I excitedly shook around. Soon D had vomitted and I would soon follow. It felt very very relieving to have thrown up. After getting that over with, J, D, myself, and all of the friends who were with us decided to go walk around the neighborhood.
D and I, who were the only ones who were tripping at this point, became segregated from everyone else as we walked. I could hear everyone behind me talking and every word echoed. They seemed so far away but I could hear them so well. They sounded very alien. My hearing also seemed to have the infamous 'tryptamine train' buzzing noise. I started to close my eyes as we walked and I began seeing close-eyed visuals. They were of Aztec-like patterns but still remained somewhat faint.
When we had got back to J and D's house, everyone stood outside and talked. Everything became too overwhelming at this point so I sat with my head down alone on their outside cement stairway. The close-eyed visuals were very overpowering at this point. They were now of Mayan-like green mazes with thousands of tiny pink lines circumnavigating them. It was amazing. One thing that I noticed during this is that I CONSTANTLY yawned. I yawned every few minutes. It was as though my body was preparing me to dream. As I laid there with my head down, I also had to catch myself breathing at times. A few of the friends kept questioning if I was alright and I enthusiastically responded 'Yes'.
Soon we all went inside at around 1:00am. D and I were now very noticably tripping. We both wobbled our way inside and watched as the others played video games. J seemed to miss the opportunity to trip by vomitting so early. The video game became too overwhelming to watch now as well. I kept trying to make sense of how the game worked. Then, almost instantaneously, D and I both asked eachother to go for a walk. It felt like I was coming down at this point so it seemed like a good idea...but it turned out to be a horrible idea.
We left the others and began walking. The moon seemed to glow with an orange glow. It seemed that we were getting lost. D kept talking about a friend of ours but I couldn't focus on what he was saying. Every thought imaginable was racing through my mind. I felt this immense alone feeling. I felt a realization come over me that humans are absolutely alone in the universe and that there is nothing that anyone can do about this. I had visuals of men looking to the empty night sky. Soon neither of us could barely walk anymore and we sat down on the pavement. I placed my hands on the pavement and I saw star-like speckles shimmer in the pavement and organize in patterns around my hands. The trip seemed to gain more positivity until we saw the familiar lights of a car coming towards us. It became very frightening. D just kept repeating 'It has to be a cop'. This freaked me out very much.
Luckily, it was just a typical suburban mini-van driving at 2 in the morning. Who knows what they thought when they saw two young guys sitting cross legged on the side of the street staring at them with horror. I was now horrified and told D that we needed to find our way back. He agreed and we began walking. Everything was just way too overwhelming now. I couldn't stop thinking and I desperately wanted to get back to J and D's house. It seemed like we never would but we somehow did get back. We stumbled in to the basement to find that everyone had left (to our suprise) and it was now 2:30am.
We sat in the basement and the trip really progressed for the next 2 hours. We kept discussing what everything is and it felt as though I became this energy that replaced my human self.  This was very scary but I held it together. D seemed to be getting worried as well but I kept reassuring him that we would be alright and that we were just tripping. Every single second for these few hours seemed like a realization. I don't know if anyone could ever explain this mind-state to someone who hasn't tripped on Ayahuasca/DMT. It is just so vastly overwhelming and you view everything from a perspective that you didn't even know had existed. D and I seemed to turn into one collective energy source at one point.
Every physical part of my body felt very foreign. I forgot how to be a human, it seemed. The saliva going down my throat, my skin that I kept feeling, the simple movements of my hands. It was amazing and a complete and total loss of ego. At one point I had to piss and D suggested that I go to the outside of the house since going to the upstairs bathroom would surely wake somebody up. I complied and REALLY struggled to get outside. Finally I made it and I thought for awhile to remember how to urinate. As I pissed, the most amazing part of the journey occured. EVERYTHING vanished while I stood there and I became a body floating in a space filled with stars. This lasted only a few moments but was truly unbelievable.
By 6am D and I had come down. We went outside to smoke a cigarette and watch the sunrise and we noted how we would never be quite the same again. It was just one unbelievable experience. The entire trip was spent trying to explain to eachother how we felt but we both knew. We agreed that we would be connected forever through this experience. It seemed like the 'spirit' of Ayahuasca let us both go from it's grips at the same time. I now fully understand why it so often said that Ayahuasca has a spirit. I tend to be a more scientific-oriented person than a spiritual one but this drink surely has a force behind it.
The After-Effects:
For the next few days I felt so happy to be alive and to be a human being. It was the equivilant to decades of beneficial therapy packed into one single night. The trip was very overwhelming at times but it was well worth the ride. Ayahuasca will show you everything and provide answers to all of your questions if you need it to do so.
It truly is an amazing experience and I personally believe that every humans deserves to experience it.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Implements a data-augmented block Gibbs sampler for simulating the posterior distribution of concentration matrices for specifying the topology and parameterization of a Gaussian Graphical Model (GGM). This sampler was originally proposed in Wang (2012) <doi:10.1214/12-BA729>.
| Version: | 0.2.0 |
| Depends: | R (≥ 3.0.0) |
| Imports: | statmod, MASS |
| Published: | 2017-07-19 |
| Author: | Patrick Trainor [aut, cre], Hao Wang [aut] |
| Maintainer: | Patrick Trainor <patrick.trainor at louisville.edu> |
| License: | GPL-3 |
| NeedsCompilation: | no |
| CRAN checks: | BayesianGLasso results |
| Reference manual: | BayesianGLasso.pdf |
| Package source: | BayesianGLasso_0.2.0.tar.gz |
| Windows binaries: | r-devel: BayesianGLasso_0.2.0.zip, r-release: BayesianGLasso_0.2.0.zip, r-oldrel: BayesianGLasso_0.2.0.zip |
| OS X binaries: | r-release: BayesianGLasso_0.2.0.tgz, r-oldrel: BayesianGLasso_0.2.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=BayesianGLasso to link to this page.


<{$TestSuiteTitle>
Far out! Everything passed!
Bummer! You have failing tests!
Finished in: <($Duration)> seconds.
<($TestCount)>
tests,
<($TestFailed)>
failures,
<($TestPassed)>
passed.


GLOBEXPLORATION
Hotels
Flights
Travel
Car Rental
Ferry
Bus
Apps
×
Hotels
Flights
Travel
Car Rental
Ferry
Bus
Apps
Contact Us
☰
Explore
the world
explore now
Hotels
Car rentals
Flights
Travel
Apps
Adventures
Our Partner Websites
Please enable JavaScript to view the
comments powered by Disqus.
Copyright © 2018 All rights reserved | GLOBEXPLORATION
Privacy Policy


Patent documents for Covid-19 related activity from the Lens database.
patents
A data table with 40 variables and 43,075 rows.
kind
Patent kind code https://worldwide.espacenet.com/help?locale=en_EP&method=handleHelpTopic&topic=kindcodes
lens_publication_number
publication number in Lens format with spaces and "\"
lens_id
Lens database unique identifier, use to upload selections to the Lens
publication_date
patent publication data as YYYY-MM-DD
publication_year
patent publication year
lens_application_number
patent application number in Lens format with spaces and "\"
application_date
patent application date as YYYY-MM-DD
priority_numbers
patent priority numbers, concatenated with ";;"
earliest_priority_date
Earliest priority date for a publication
title
Patent title
applicants
Patent Applicants, concatenated with ";;"
inventors
Inventors, concatenated with ";;"
owners_us
Patent owners for the US, may differ from applicants and may be incomplete
url
URL to the Lens record
type
Document Type, may be an application, grant, search report, design and other categories
has_full_text
Whether the text is available from the lens
cited_by_patent_count
How many times a document is cited by a later patent document
simple_family_size
Number of simple patent family
extended_family_size
Number of extended patent family members
sequence_count
Number of DNA/amino acid sequences accompanying the document
cpc_classifications
Cooperative Patent Classification codes
ipcr_classifications
International Patent Classification codes
us_classifications
defunkt US classification codes, replaced by the CPC
npl_citation_count
count of non-patent literature citations in the document
npl_resolved_citation_count
Number of non-patent literature citations that can be resolved
npl_resolved_lens_id
Lens identifier for resolved non-patent literature citations
npl_resolved_external_id
number of resolved external non-patent literature citations
npl_citations
raw non-patent literature citations
source
The Lens Covid-19 source file name
lens_jurisdiction
The jurisdiction where a document was published, the publication country
publication_country
the country of publication
publication_number
the publication number, spaces and "\" removed for cross database use
application_number
the patent application number, may contain duplicates for publications
application_country
the country of application
application_year
the application year
publication_country_name
the full name of the country/regional/international patent office
application_country_name
the full name of the country/regional/international patent office
dataset
the short name for the source dataset listed in source
data_type
patent, literature or sequence
Lens Covid-19 Patent datasets. Created by Osmat Jefferson. For further details see https://about.lens.org/covid-19/


@* * This template is called from the `index` template. This template * handles the rendering of the page header and body tags. It takes * three arguments, a `String` for the title of the page and an `Html` * object to insert into the body of the page and an `AssetFinder` * to define to reverse route static assets. *@ @(title: String, assetsFinder: AssetsFinder, session: play.api.mvc.Session)(content: Html)
@* Here's where we render the page title `String`. *@


This miniature dashboard shows requests to a service, load balanced across its two clients.
Router: http
Retry budget available: 18% / 20%


For ads that are placed above-the-fold, it's recommended to use a fixed height layout, like this one:
<amp-ad layout="fixed-height" height="100" type="adsense" data-ad-client="ca-pub-12345678910234" data-ad-slot="1234567890"> </amp-ad>
Following this brief diversion, the sole purpose of which is to ensure that there is enough content so that the next ad will be below-the-fold, we'll see a below-the-fold ad.
We will, in fact, be seeing the below-the-fold ad very soon, very soon indeed. In the meantime, I have an important question for you: What greater gift than the love of a cat?
For below-the-fold ads, it's recommended to use a responsive layout, like this:
<amp-ad layout="responsive" width="300" height="250" type="adsense" data-ad-client="ca-pub-12345678910234" data-ad-slot="1234567890"> </amp-ad>


Already a member? Sign in here!
By applying using google, you agree to follow the Terms of Service above.


A reference map of the city of Auckland and surrounding region, including major land uses. Data compiled and manipulated in QGIS, designed and formatted in Inkscape and GIMP. (n.b. the linked file weighs about 1MB)
See project →For this project, I wanted to create a poster-style map of the Swiss section of the Via Alpina long-distance hiking trail. Data compiled and manipulated in QGIS, designed and formatted in Inkscape and GIMP. (n.b. the linked file weighs about 1MB)
See project →A series of renders of a 3D model of the Holywell Music Room, an 18th-century concert hall in Oxford, UK. All modelling and texturing were done in Blender, while post-processing was done in Photoshop.
See project →A 3D model of the church of Bete Gyorgis (Saint George), one of the 11 rock churches at the UNESCO World Heritage site of Lalibela, Ethiopia. All modelling and texturing were done in Blender, while post-processing was done in Photoshop.
See project →A web map showing allowing users to explore data from the Portable Antiquities Scheme, a UK-Government backed project to record and archive all archaeological objects found by members of the public in England (nb: not mobile-friendly).
See project →A scroll-story with animated maps to illustrate an article about the illegal trade of Nok antiquities from central Nigeria (nb: not mobile-friendly).
See project →Simple VR app made using the A-Frame framework, Three.js and the WebVR API. The app allows users to explore a 3D model of the Holywell Music Room (see above) using a mobile VR headset, or on desktop.
See project →A fully-realised 3D environment built for Unreal Engine 4. This project was conceived as my entry to a CGI art competition hosted by the online platform artstation.com.
See project →| Programming | HTML, CSS, Javascript, jQuery, React |
| Virtual Reality | Unreal Engine 4, A-Frame |
| 3D | Maya, Blender, Substance Designer & Painter |
| SVG and Image manipulation | Photoshop, Illustrator, Inkscape, GIMP |
| Photogrammetry | Agisoft Photoscan |
| GIS and Cartography | QGIS, ArcGIS, Leaflet, OpenStreetMap, CartoDB, Tilemill |


Care Love
×
Profile
Need Help?
Sign Out
Looking for professional caretakers? We help connect you to them.
Sort By:
No Sort
Price Low to High
Ratings High to Low
Aged Younger to Older
Closest To Me


Displaying or printing multiple (or all) records
When working on a catalogue of works, you will probably want to review or print all of the relevant records at some point.
For this purpose MerMEId includes a script that allows you to merge the HTML output from a number of files. You should find the script in the 'merge' folder in your eXist database, i.e. here: merge_settings.xq.
You should see the following form. It includes basic instructions and suggests default settings in some of the fields:
Fill in the form to define which files to select and click the 'Generate' button to generate the merged HTML output.
You may point to XSLT and CSS style sheets anywhere as long as the script can access them. Fill in the form to define which files to select. The default location of the XSLT style sheets (http://[your-server]/storage/style/) is referring to the collection /db/mermeid/style/ in your eXist database, but your style sheet may also be located outside of the database or on some other server


Choose a game
More Plays for more Peace!
Aside from entertaining, Pepeto Games aim to help the world be a better place. Games teach us Fair Play. They sharpen our observational skills, make us more smart, and moreover, bring us together and closer.
Help us grow
You can make a donation to help the team grow, improve the website, invest in SEO, pay hosting bills and so on. You may want to help in another way like providing new games and algorithms. Just let us know.
Code with us
We need code reviews, Artificial Intelligence for games engines, designers and lot of skilled mind. Your contributions are welcome. Please go on the github repository or contact us.


Presenter Simon Elvery / @drzax
(Don't worry, I'll go first)
Build the foundations first
An understanding of the core front-end technologies and how they interact
Understanding the web as a medium for design
How is the web different to print?
Tools & Techniques
Know what tools you need and how to use them
What is a Content Management System?
Understand how CMS driven sites differ from static sites
CMS options
How to choose a suitable CMS
Using & developing with WordPress


There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour
P.O. Box 240000. Huntsville, AL 35813, USA Street address: 305
<EMAIL_ADDRESS>+1(06) 778 5468


Dashboard
Events
All Events
Current Events
Past Events
Volunteers
+ Add Events
Events
Event 1
This is what is going to happen in this event.
View Event
Edit Event
Close Registration


Migrates the schema to the latest version. Flyway will create the metadata table automatically if it doesn't exist.
<flyway:migrate> <locations> <location path="com.mycomp.project.migration"/> <location path="database/migrations"/> </locations> <placeholders> <placeholder name="myplaceholder" value="my replacement value"/> <placeholder name="otherplaceholder" value="otherValue"/> </placeholders> </flyway:migrate>
| Attribute | Required | Default | Description |
|---|---|---|---|
| url | YES | The jdbc url to use to connect to the database | |
| driver | NO | Auto-detected based on url | The fully qualified classname of the jdbc driver to use to connect to the database |
| user | NO | The user to use to connect to the database | |
| password | NO | The password to use to connect to the database | |
| schemas | NO | default schema of the connection | Case-sensitive list of schemas managed by Flyway. The first schema in the list will be automatically set as the default one during the migration. It will also be the one containing the metadata table. |
| table | NO | schema_version | The name of Flyway's metadata table. By default (single-schema mode) the metadata table is placed in the default schema for the connection provided by the datasource. When the flyway.schemas property is set (multi-schema mode), the metadata table is placed in the first schema of the list. |
| locations | NO | db/migration | Locations to scan recursively for migrations. The location type is determined by its prefix. Unprefixed locations or locations starting with classpath: point to a package on the
classpath and may contain both sql and java-based migrations.Locations starting with filesystem: point to a directory on the filesystem and may only
contain sql migrations.
|
| sqlMigrationPrefix | NO | V | The file name prefix for Sql migrations |
| repeatableSqlMigrationPrefix | NO | R | The file name prefix for repeatable Sql migrations |
| sqlMigrationSeparator | NO | __ | The file name separator for Sql migrations |
| sqlMigrationSuffixes | NO | .sql | The file name suffixes for Sql migrations, comma-separated |
| mixed | NO | false | Whether to allow mixing transactional and non-transactional statements within the same migration |
| group | NO | false | Whether to group all pending migrations together in the same transaction when applying them (only recommended for databases with support for DDL transactions) |
| encoding | NO | UTF-8 | The encoding of Sql migrations |
| placeholderReplacement | NO | true | Whether placeholders should be replaced |
| placeholders | NO | Placeholders to replace in Sql migrations | |
| placeholderPrefix | NO | ${ | The prefix of every placeholder |
| placeholderSuffix | NO | } | The suffix of every placeholder |
| resolvers | NO | Fully qualified class names of custom MigrationResolver implementations to be used in addition to the built-in ones for resolving Migrations to apply. | |
| skipDefaultResolvers | NO | false | Whether default built-in resolvers (sql, jdbc and spring-jdbc) should be skipped. If true, only custom resolvers are used. |
| callbacks | NO | Fully qualified class names of FlywayCallback implementations to use to hook into the Flyway lifecycle. | |
| skipDefaultCallbacks | NO | false | Whether default built-in callbacks (sql) should be skipped. If true, only custom callbacks are used. |
| target | NO | latest version | The target version up to which Flyway should run migrations. Migrations with a higher version number will not be applied. The string 'current' will be interpreted as MigrationVersion.CURRENT, a placeholder for the latest version that has been applied to the database. |
| outOfOrder | NO | false | Allows migrations to be run "out of order".
If you already have versions 1 and 3 applied, and now a version 2 is found, it will be applied too instead of being ignored. |
| validateOnMigrate | NO | true | Whether to automatically call validate or not when running migrate. For each sql migration a CRC32 checksum is calculated when the sql script is executed. The validate mechanism checks if the sql migration in the classpath still has the same checksum as the sql migration already executed in the database. |
| cleanOnValidationError | NO | false | Whether to automatically call clean or not when a validation error occurs. This is exclusively intended as a convenience for development. Even tough we strongly recommend not to change migration scripts once they have been checked into SCM and run, this provides a way of dealing with this case in a smooth manner. The database will be wiped clean automatically, ensuring that the next migration will bring you back to the state checked into SCM. Warning ! Do not enable in production ! |
| ignoreMissingMigrations | NO | false | Ignore missing migrations when reading the metadata table. These are migrations that were performed by an older deployment of the application that are no longer available in this version. For example: we have migrations available on the classpath with versions 1.0 and 3.0. The metadata table indicates that a migration with version 2.0 (unknown to us) has also been applied. Instead of bombing out (fail fast) with an exception, a warning is logged and Flyway continues normally. This is useful for situations where one must be able to deploy a newer version of the application even though it doesn't contain migrations included with an older one anymore. |
| ignoreFutureMigrations | NO | true | Ignore future migrations when reading the metadata table. These are migrations that were performed by a newer deployment of the application that are not yet available in this version. For example: we have migrations available on the classpath up to version 3.0. The metadata table indicates that a migration to version 4.0 (unknown to us) has already been applied. Instead of bombing out (fail fast) with an exception, a warning is logged and Flyway continues normally. This is useful for situations where one must be able to redeploy an older version of the application after the database has been migrated by a newer one. |
| cleanDisabled | NO | false | Whether to disable clean. This is especially useful for production environments where running clean can be quite a career limiting move. |
| baselineOnMigrate | NO | false | Whether to automatically call baseline when migrate is executed against a non-empty schema with no metadata
table.
This schema will then be baselined with the baselineVersion before executing the migrations.
Only migrations above baselineVersion will then be applied.This is useful for initial Flyway production deployments on projects with an existing DB. Be careful when enabling this as it removes the safety net that ensures Flyway does not migrate the wrong database in case of a configuration mistake! |
| baselineVersion | NO | 1 | The version to tag an existing schema with when executing baseline |
| baselineDescription | NO | The description to tag an existing schema with when executing baseline | |
| installedBy | NO | Current database user | The username that will be recorded in the metadata table as having applied the migration |
| classpath | NO | The Ant classpath used to load the JDBC driver and the migrations | |
| classpathref | NO | The Ant classpath reference used to load the JDBC driver and the migrations |
<property name="flyway.driver" value="org.hsqldb.jdbcDriver"/> <property name="flyway.url" value="jdbc:hsqldb:file:/db/flyway_sample"/> <property name="flyway.user" value="SA"/> <property name="flyway.password" value="mySecretPwd"/> <property name="flyway.schemas" value="schema1,schema2,schema3"/> <property name="flyway.table" value="schema_history"/> <property name="flyway.locations" value="classpath:com.mycomp.db,db/mig,filesystem:/sql-mig"/> <property name="flyway.sqlMigrationPrefix" value="Migration-"/> <property name="flyway.repeatableSqlMigrationPrefix" value="RRR"/> <property name="flyway.sqlMigrationSeparator" value="__"/> <property name="flyway.sqlMigrationSuffixes" value="-OK.sql"/> <property name="flyway.encoding" value="ISO-8859-1"/> <property name="flyway.placeholderReplacement" value="true"/> <property name="flyway.placeholders.aplaceholder" value="value"/> <property name="flyway.placeholders.otherplaceholder" value="value123"/> <property name="flyway.placeholderPrefix" value="#["/> <property name="flyway.placeholderSuffix" value="]"/> <property name="flyway.resolvers" value="com.mycomp.MyResolver,com.mycomp.OtherResolver"/> <property name="flyway.skipDefaultResolvers" value="false"/> <property name="flyway.callbacks" value="com.mycomp.MyCallback,com.mycomp.OtherCallback"/> <property name="flyway.skipDefaultCallbacks" value="false"/> <property name="flyway.target" value="1.1"/> <property name="flyway.outOfOrder" value="false"/> <property name="flyway.validateOnMigrate" value="true"/> <property name="flyway.cleanOnValidationError" value="false"/> <property name="flyway.mixed" value="false"/> <property name="flyway.group" value="false"/> <property name="flyway.ignoreMissingMigrations" value="false"/> <property name="flyway.ignoreFutureMigrations" value="false"/> <property name="flyway.cleanDisabled" value="false"/> <property name="flyway.baselineOnMigrate" value="false"/> <property name="flyway.baselineVersion" value="1.0"/> <property name="flyway.baselineDescription" value="Base Migration"/> <property name="flyway.installedBy" value="my-user"/>
[flyway:migrate] Creating Metadata table: schema_version (Schema: PUBLIC) [flyway:migrate] Current schema version: null [flyway:migrate] Migrating to version 1 [flyway:migrate] Migrating to version 1.1 [flyway:migrate] Migrating to version 1.2 [flyway:migrate] Migrating to version 1.3 [flyway:migrate] Successfully applied 4 migrations (execution time 00:00.083s).
Code licensed under Apache License, Version 2


switch to other tabs, or try to make this window invisible. Thus trigger the svga to start, try come back seconds later.
normal
no execution delay


Automated Fault Diagnosis in a Fixed-Wing UAV¶
UAVs represent very tightly coupled subsystems with small time constants. These obstacles make UAVs an especially challenging platform for Fault Diagnosis. While fault diagnosis in other platforms focuses mostly on selecting the optimal subset from a large pool of available residual generators, in the case of UAVs merely populating such a pool with a sufficient number of residuals is a challenge.
To demonstrate this problem and also showcase how fault-diagnosis tackles the FDI problem, we will use the model ‘’g041’‘, a fixed-wing UAV, taken from the book Small Unmanned Aircraft by Beard and McLain.
All actuators and the sensors for angular velocities (p, q, r), Euler angles (φ, θ, ψ) and airspeed (Va ) are considered to be subject to faults.
This demo script will cover:
- Generating the structural model
- Extracting Proper Structurally Overdetermined (PSO) submodels for maximum fault isolation
- Finding realizable matchings for all PSOs, if possible
- Implementing corresponding residual generator functions for each matching
- Loading a dataset containing data of a flight under fault and calculating the residual signals.
Running the Test Script¶
Structural Analysis¶
Simply execute the fwuav_fdi.m
script, located in the Demos
folder. It will take about 3.5 minutes to finish, depending on your machine.
Let’s go over the script, step by step.
% Select the MAVLink model for processing
model = g041(); % Fixed-wing aircraft, modeled after Beard/McLain's Small Unmanned Aircraft Book
[...]
%% Perform Structural Analsysis and Matching, extract residual generators
SA_results = structural_analysis(model, SA_settings);
Initially, the model description is loaded and Structural Analsysis is performed. 35 PSOs are generated and an optimal, realizable matching is sought for each one. The ‘’SA_results’’ structure contains the results.
% Inspection: Display the total number of residual generators found
counter = 0;
for i=1:length(SA_results.matchings_set)
for j=1:length(SA_results.matchings_set{i})
if ~isempty(SA_results.matchings_set{i}(j))
counter = counter + 1;
end
end
end
A sanity check is performed, to count the non-empty matching sets; some PSOs may very well have no realizable solution. The following output occurs:
Matching Statistics for system g041 with method BBILP2:
================================================
Number of PSOs with non-empty matchings: 25/35
Average PSO size: 20.7429
Number of resulting non-empty matchings: 25
Mean matching size: 20.56
Unfortunately, matching sets for only 25 PSOs were available. This will affect the isolability capabilities of our diagnostic system.
Detectability and Isolability analyses are run:
%% Do detectability analysis
% Create the Fault Signature Matrix and related information
FSStruct = generateFSM(SA_results.gi, SA_results.res_gens_set, SA_results.matchings_set);
fprintf('Faults not covered:\n');
SA_results.gi.getExpressionById(SA_results.gi.getEquations(FSStruct.non_detectable_fault_ids))
%% Do isolability analysis
% Create the Isolation Matrix and related information
IMStruct = generateIM(SA_results.gi, FSStruct);
plotIM(IMStruct);
title('Ideal Isolability Matrix');
The resulting Isolability Matrix is
Faults 1 and 3, affecting the throttle and elevator inputs are not detectable at all.
Residual Generator Implementation¶
RG_settings.dt = 0.01; % Select the time step, if needed
tic
RG_results = get_res_gens(SA_results, RG_settings);
The discovered matching sets are then implemented. A time step of 0.01 seconds is selected, to reflect the flight log sampling rate.
However, MATLAB’s symbolic toolbox was not able to implement all of the residuals. Notably, it had the most difficulty in solving systems of simultaneous algebraic equations. Other symbolic algebra pakages, such as SymPy may fare better.
In the end only 16 residual generators could be implemented, 50% of which represent dynamic systems (include an ODE or a DAE).
The actual isolation matrix becomes:
Application on a Flight Log¶
Let us now run a dataset of a flight log through this bank of residual generators. The dataset was created by our last_letter simulator based on the ROS framework. The mathematical model of this example was inserted. A fault in the gyroscope x-axis was simulated: at t=50s the gyro reading freezes.
A bag file was captured and the measured timeseries were extracted as ‘’.csv’’ files, in order to parse them in MATLAB. The data was resampled and aligned, in order to pass them to the residual generator bank.
The bank of residual generators can process the datalog offline or online:
% Initialize residual generators
for i=1:length(RG_results.res_gen_cell)
rg = RG_results.res_gen_cell{i};
if ~isempty(rg)
rg.reset_state(RG_results.values);
end
end
% Evaluate the residuals
RE_results = evaluateResiduals(SA_results, RG_results, data_resampled); % Evaluate the residual generator bank
The residual timeseries are plotted, here with focus on the time interval around the fault.
The fault occurrence is marked with a verticla red line and the residuals which are sensitive to it have an orange background.
The residuals which do not depend on the fault do not increase in magnitude after the fault occurrence. On the other hand, almost all of the relevant residuals are quite sensitive to the fault with the exception of the one in row 3, column 1. This is a known shortcoming of Structural Analysis when employed for Fault Diagnosis. Because of the qualitative abstraction, the residual generators are only nominally sensitive to the faults they cover, in the sense that the fault variables appear in the residual generator expression. However, the fault contribution on the residual signal cannot be quantified, especially in such non-linear and dynamic systems.


XMF is an environment for language design and deployment. Languages control the structure and behaviour of the values that they denote. In this sense, language design is a meta-activity and requires a meta-language that represents the structure and behaviour of the language components.
XMF provides a meta-circular object-oriented kernel language called XOCL. The meta-circular property means that XOCL is defined completely in itself. This property validates XOCL as a meta-language. Object-orientation provides a basis for application extension and reuse through inheritance and modularity through encapsulation.
XOCL is both meta-circular and object-oriented, it is suitable for language definition where languages can be easily constructed as modular extensions of the basic XOCL language. Instantiations of XOCL are languages and extensions of XOCL are meta-languages.
All languages have key semantic features that can be represented as an interface in the definition of the language. Consider a language with an operational semantics. In this case programs written in the language may be viewed as controlling a machine that contains the state of the execution at any given snapshot in time. The key semantic features of the language form the API of the machine.
Given a language L, we would like to construct a new language that is L-like. If L is defined using object-oriented principles then it is attractive to construct the new language as an extension of L using inheritance. Syntax structures and values of the new language can be defined by extending the appropriate features of L. We would like to construct the semantics of the new language using the same approach. If we have constructed the semantics of L by encapsulating the key features as an implementation of the API as described above, then the new language semantics can be defined by inheriting and extending these operations as appropriate.
Where the semantics of a language has been constructed using object-oriented principles, the resulting collection of classes and operations is referred to as a meta-object-protocol. This section describes the XOCL MOP.
XOCL performs computation in terms of messages between elements. A message consists of a name andsome data. A message is sent from a source element to a target element. The target element receives themessage, performs appropriate computation and returns a result. Messages between elements aresynchronous: the source element halts computation and waits the return value from the target element.
Message passing occurs when the source element performs an expression of the form: o.m(x,y,z,...) where o is the target element, m is the message name and x, y, z etc. is the data, or parameters, of the message.
Message passing is defined by the MOP component referred to as the massage passing protocol.The protocol is defined by the meta-class of the target element and is called sendInstance:
context Element @Operation send(message,args):Element self.of().sendInstance(self,message,args) end
A default protocol is provided by the Kernel meta-class Classifier:
context Classifier @Operation sendInstance(element,name,args) // Get all the operations of element with the // correct name and arity. Select the most // specific and invoke it. let arity = args->size then operations = element.of().allOperations() ->asSeq ->select(o | o.name = name and o.arity() = arity) in if operations->isEmpty then element.error("Cannot handle "+message+"/"+arity) else operations->head.invoke(element,args) end end end
Since Class is a sub-class of Classifier, any sub-class of Class that defines a new sendInstance operation will provide a specialized message passing protocol for the instances of its instances. This can be used to implement specialized operation lookup mechanisms, to facilitiate debugging information and to change the basic message passing mechanisms (for example by defining a class of objects with message queues).
Objects are created by sending a new message to a class together with some initialization data. The preferred way of invoking the new operation of a class is to apply the class as an operator to the initialization arguments. This is preferred because it is succinct and because the compiler and XMF VM can handle class instantiation more efficiently in this form:
context Classifier @Operation invoke(target:Element,args:Seq(Element)):Element self.new(args) end
The new operation is defined by the meta-class of the receiving class. It constitutes the instantiation procotol for a collection of classes. The class Classifier defines the default instantiation protocol:
context Classifier @Operation new(args:Seq(Element)):Element self.new().init(args) end
where the operation new creates an empty new instance of the receiver and init initializes the new instance.
Sub-classes of Classifier can define their own instantiation protocol. Typically this will use super to create an instance using the default protocol and then perform some extra computation to initialize the new instance; however, in principle the instantiation protocol can by-pass the default protocol altogether. To create a raw instance of a class C and add a single slot named "x" with initial value 10 you can do the following:
let o = Kernel_mkObj() in Kernel_setOf(o,C); Kernel_addAtt(o,Symbol("x",100)); o end
Using the kernel-level operations, you can create a completely bespoke instantiation protocol.
Objects have internal storage in the form of named slots. Access to a slot value is via the object and the name of the slot. Slots are named using symbols. Access is defined by the object's slot access protocol. The slot access protocol is used when an expression of the form o.a is performed. Access involves checking that the slot exists and then accessing the value of the slot.
The existence of a slot can be checked using the hasSlot operation defined by Object:
context Object @Operation hasSlot(name):Boolean self.of().hasInstanceSlot(self,name) end
The hasSlot operation invokes the hasInstanceSlot operation of the object's class. hasInstanceSlot forms part of the slot access protocol for the object; the operation is defined by the object's meta-class. The default definition is provided by Class and uses the kernel operation Kernel_hasSlot to directly check whether there is a machine-level slot:
context Class @Operation hasInstanceSlot(object,name) Kernel_hasSlot(object,name) end
Access to a slot's value is provided by the operation get defined by Object:
context Object @Operation get(name:String):Element self.of().getInstanceSlot(self,name) end
The operation getInstanceSlot is defined by an object's meta-class and describes how to access the storage associated with an object and a slot name. The default protocol is provided by Class and uses the kernel operation Kernel_getSlotValue to access the machine-level slot (as added using Kernel_addAtt):
context Class @Operation getInstanceSlot(object,name) Kernel_getSlotValue(object,name) end
Typically a new slot access protocol is required because a collection of classes implement object storage in a non-standard way (for example using a table, in a data base or distributed over a network).
The value of an object's slot can be updated using the object's slot update protocol. A slot is updated when an expression of the form o.a := e is performed. The class Object provides an operation used to set the value of a slot:
context Object @Operation set(name:String,value:Element):Element self.of().setInstanceSlot(self,name,value); self end
The object's meta-class defines an operation setInstanceSlot that forms the update protocol. The default update protocol is defined by Class and uses the kernel-level operation Kernel_setSlotValue to update the machine-level slot and to invoke any daemons that are defined on the object:
context Class @Operation setInstanceSlot(object,name,value) Kernel_setSlotValue(object,name,value) end
A new slot update protocol is used to circumvent the default storage. For example the storage for a slot may be in a database or accessed over a network.
A class is created as an instance of a meta-class. When a class is created it must have some parents. The meta-class defines an operation defaultParents that produces a set of classes that are the default parents for its instances. The basic definition for defaultParents is provided by Classifier:
context Classifier @Operation defaultParents():Set(Classifier) Set{Element} end
Most classes are instances of the class Class, that overrides the definition as follows:
context Class @Operation defaultParents():Set(Classifier) Set{Object} end
Suppose that we want to define a class of objects that can have standard attribute defined slots in addition to dynamic slots. Attribute defined slots are defined at the class level. Dynamic slots are defined at the object level and can be added and removed dynamically. Both types of slot can be accessed and updated via the standard protocols using o.a and o.a := e expressions.
In order to implement these objects we require a new slot access and update protocol. The protocol is defined at the meta-level and is to be called the Elastic protocol. We require two new classes: ElasticObject that is the super-class of all user-defined elastic classes; and, ElasticClass that defines the elastic protocol.
The class ElasticObject uses a table to contain the dynamic slots:
context Root @Class ElasticObject @Attribute slots : Table = Table(100) end end
An elastic object provides operations to add and remove the dynamic slots:
context ElasticObject @Operation addSlot(name:String,value) slots.put(Symbol(name),value) end context ElasticObject @Operation removeSlot(name) slots.remove(Symbol(name)) end
An elastic object can remove all the dynamic slots:
context ElasticObject @Operation removeAll() @For key inTableKeys slots do self.removeSlot(key.toString()) end end
An elastic object can increment the values of all the dynamic slots. Note that incAll uses the slot access and update protocol for the object to change the value of the dynamic slots:
context ElasticObject @Operation incAll() @For key inTableKeys slots do self.set(key,self.get(key) + 1) end end
The class ElasticClass defines the elastic MOP:
context Root @Class ElasticClass extends Class end
ElasticObject must be a parent of any elastic class:
context ElasticClass @Operation defaultParents() Set{ElasticObject} end
The elastic slot access protocol inspects the slots table to see if the required slot is defined there. If not then the protocol uses super to revert to the default protocol inherited from Class:
context ElasticClass @Operation getInstanceSlot(object,name) if Kernel_getSlotValue(object,Symbol("slots")).hasKey(name) then Kernel_getSlotValue(object,Symbol("slots")).get(name) else super(object,name) end end context ElasticClass @Operation setInstanceSlot(object,name,value) if Kernel_getSlotValue(object,Symbol("slots")).hasKey(name) then Kernel_getSlotValue(object,Symbol("slots")).put(name,value) else super(object,name,value) end end context ElasticClass @Operation hasInstanceSlot(object,name) if Kernel_getSlotValue(object,Symbol("slots")).hasKey(name) then true else super(object,name) end end
There is no specific need for sendInstance in the elastic protocol, however it is defined for completeness and simply prints a message before reverting to the default protocol:
context ElasticClass @Operation sendInstance(element,message,args) format(stdout,"Sending message ~S(~{,~;~S~})~%",Seq{message,args}); super(element,message,args) end
There is no specific need for new in the elastic protocol, however it is defined for completeness and simply prints a message before reverting to the default protocol:
context ElasticClass @Operation new(args) format(stdout,"Creating a new instance of an elastic class~%"); super(args) end
The following is an example class definition that specifies its meta-class as ElasticClass:
context Root @Class C metaclass ElasticClass @Attribute s : Element end @Operation test() self.addSlot("x",100); self.addSlot("y",200); self.addSlot("z",300); self.x := self.x + 1; self.y := self.y + 1; self.z := self.z + 1; self.incAll(); self.s := self.x + self.y + self.z; self.removeAll(); s end end


Emacs #3: using marks
The thing about writing this library was I've needed it for a while. And I finally got around to implementing something like it. If you actually see that I went there then it shouldn't matter...
{% extends "base.html" %} {% block page-id %}tech{% endblock %} {% block content %}
Here is where I usually post a bunch of stuff. There will be lots here and sections you can dig into.
Please choose from the following:
The thing about writing this library was I've needed it for a while. And I finally got around to implementing something like it. If you actually see that I went there then it shouldn't matter...
The thing about writing this library was I've needed it for a while. And I finally got around to implementing something like it. If you actually see that I went there then it shouldn't matter...
The thing about writing this library was I've needed it for a while. And I finally got something like it.
The thing about writing this library was I've needed it for a while. And I finally got around to implementing something like it. And again they even fought for it but lost, sadly they had no idea.


✨ Main page ✨ About me ✨ Mystery ✨ Table ✨ Survey ✨ Contact ✨
Please take a part in the questionnaire. 🙏
Thank you for taking part in the research for NASA!


Here are the sources related to the Atomic Power experiments:
atomic_power.zip
atomic_power_benchmarks.zip


One fine day I just wanted to listen to some excerpts of texts while doing other activities, so I searched on Google "TTS" and the results were just sites full of advertisements or demonstrations of services. So with a few minutes I decided to create something clean for me to use within the github pages. I hope to help someone!


Three lovely days around Christmas in 2010 at Pinecrest and Dodge Ridge ski area near Yosemite.
Believe it or not, this is a close as I (John) have ever been to Yosemite even though I have spent 15+ years in California (I plan to fix that in 2011).
We enjoyed two perfect days of skiing and on the final night 6 inches of fresh powder was dumped for sledding enjoyment on the way back to the bay area.
2010 was the year that Katerina learned to ski. I remembered to bring the "edgie wedgies" and that made all the difference (see the orange things between the skis on the picture below). We have another trip planned in February and I think she will be ready for the black diamond runs with her brothers.
Pictured below: Katerina skiing!
Below: Live action
On the second day Katerina went to play in the snow for the later half of the day while the boys shredded the mountain. Mom and Katerina went to Pinescrest Lake and made snowmen.
Pictured below: Katerina hugging one of the snowmen that she and Mom made
At the end of the day we all went to lake to appreciate the snowmen. It is a good thing we went when we did, because that night it dumped a ton of fresh powder and the snowmen were lost.
Snowman appreciation
Group picture of the Stefanis and Washbournes in the fresh snow
Action shot of Robert launching a snowball at Eliana
Reaction shot of Eliana launching a smackdown on Robert
Erick preparing the perfect snowball
Larissa and the kids before discovery of the sled hill
Erick and Katerina after discovery of the sled hill
Looking up the sled hill from the dock. All those big people were the only thing stopping kids from hitting the water.
Panoramic shot of the fresh snowfall at Pinecrest lake
We did not bring all the Christmas presents with us to Pinecrest, so the kids had some to open once we got home.
Katerina in her matching pajamas that Nana made
We picked a great time to go: we did not wait more than 5 seconds in a lift line at any time, and there was zero traffic on the way home. Cant wait to go back in the summer!


-
Lunch Menu
Code: STPT600
-
X 1
-
$49
Code: STPT600
X 1
$49
Code: STPT460
X 1
$75
| Product | QTY | Price |
|---|---|---|
| Resin sunglasses | 1 | Rs.150 |
| Frayed-edge jacket | 1 | Rs.200 |
| Long overshirt | 2 | Rs.300 |
| Subtotal | Rs.650 | |
| Shipping | Rs.0 | |
| Total | Rs.650 |
Important: You will be redirected to PayPal's website to securely complete your payment.
Checkout via Paypal


--- layout: beatrice_page home: true design-classes: - full-width ---
Learn more about Recursive, a 5-axis variable font
Welcome to the most radical change in type since Gutenberg. Variable fonts let you add nuance and artistry to your web typography without bogging down your site. Now you can accomplish what used to require several files with a single file and some CSS!
The goal of this site is to show you how variable fonts tick. Discover how they can benefit user interface (UI) design, accessibility, and long-form reading, and how they push the boundaries of skillful typographic expression on the web.


West Belfast man with 99 convictions jailed for having gun and cocaine
A WEST Belfast man with almost 100 convictions has been handed a five-year sentence for having a gun and cocaine.
John Neale (52), of Clonfaddan Street, will serve half his sentence in jail and the remaining 30 months on supervised licence after his release.
He pleaded guilty at Belfast Crown Court to possessing a firearm in suspicious circumstances, buying the weapon and having it without a certificate.
Neale also admitted possessing a quantity of cocaine with intent to supply.
Prosecution barrister David Russell said that after he was arrested in Belfast city centre on another matter in September 2018, police carried out a search of his home.
Under a mattress in a bedroom, officers found a Browning 9mm self-loading handgun inside a plastic bag.
They also recovered three bags of cocaine in a coat weighing 744 grammes which had a purity level of up to six per cent and a street value of between £35-40,000.
The court heard that the bag containing the firearm was examined and found to contain Neale's DNA.
Mr Russell told Judge Kevin Finnegan that he had a total of 99 previous convictions for a "range of offences'' including hijacking and robbery.
Defence QC Eilis McDermott said the only forensic evidence linking Neale to the firearm was his DNA on the outside of the bag.
"There is no evidence he handled the firearm. Swab tests and fingerprint examination showed no forensic link between him and the weapon. No ammunition was found for the firearm.''
Handing down a five-year sentence for the firearm offences, Judge Finnegan imposed a concurrent sentence of three years for possessing Class A drugs with intent to supply.
The judge granted a prosecution application for a destruction order on the firearm and drugs.
Subscribe to our most read headlines in the evening newsletter


[gecode-users] Copying vars and views
Malcolm Ryan
malcolmr at cse.unsw.edu.au
Tue Feb 12 06:53:40 CET 2008
In Gecode/J:
If I have a Space which contains some variables and a Branching which
contains views of those variable, what happens when I copy them? Do
they end up pointing to the 'same' copies? How?
Malcolm
PS: Any word on Gecode/J 2.0?

- G.K.Chesterton, Orthodoxy
More information about the gecode-users
mailing list


To change (and save) various Putty preference settings, first type in the“Host Name (or IP address)” of the machine you wish to connect to. In this example we will use monet. For the full list of available Unix servers, please see: http://dscomputing.dfci.harvard.edu/index.php/server-computing/unix-login-servers
Also type a short name to save it as under “Saved Sessions”:
Next, Click on “Window” on the left (“Category”) side of the Putty Configuration window to change size of window (rows/columns) from the default (80/24):
Next, click on “Appearance” to change the font size and style:
Click “OK” and Click “Colours” to change the foreground and background color. Click “Default Foreground” and then “Modify”:
Click the Black square under “Custom colors” (or any other color you want to choose):
Click “OK”. Do the same for “Default Background”, this time choosing the White square and click “OK”:
Now, on the left side of the putty Configuration window, Click “Session” then “Save”
You can now (and from now on) double-click on the saved “monet” with your chosen preferences:
If you want to add to or change any of these preferences in the future, first “Load” the “Saved Session”, make your changes, and re-save.
To enable X-window applications (emacs, SAS, etc.), click the + sign next to “SSH” in the Putty Configuration window, then click X11 and put a check mark next to “Enable X11 forwarding”. You will also need to have Xming running to get your X11 window:
Again, scroll back up to “Session” and “Save” if you want the X11 forwarding to be permanent, before clicking “Open” to start the Putty session.


About your host
Meet Simon D'Alton
Ioof'er for 18 months
Previously wore a bunch of hats at dxc.technology
The 12 factor app
... or some tips to keeping your own sanity
Cribbed from 12factor.net
Whats it all about?
Collection of simple concepts to
- Minimising your work
- Maximising your capability
- Stopping snowflakes from forming
works well for http oriented services
Codebases
- 1 applicaton = 1 codebase
- 1 codebase is deployed to many environments
- Promote versions through the environments
- Extract common functions to libraries, or refactor to more apps
Dependencies
- Be explicit
- One method of installing your dependencies
- Dont rely on operating system packages
Configuration
Environmental settings stored outside of your project
- Usernames, passwords
- Connection strings/resource identifiers
- Keep them independent
Backing services are resources
Everything is just a resource identifier
- databases
- email
- file stores
Separate your build, release and deploy
- Build it
- Release it
- Combine your config with your artifact
- Improve your version number to a release identifier
- Deploy it
Keep it stateless
- All your data lives in backing services
- Dont assume local caches/etc exist for any subsequent process.
- May limit scalability options
Port binding
- Expose your service on a port
- Be self contained and run anywhere
- Become the backing service for something else
- Utilise routing and registration/service discovery
Concurrency
- Scale horizontally inside a server resource
- Can still have your own internal threadpools
- Take advantage of existing mechanisms for fault control and resilience
Disposability
- Start quickly
- Stop cleanly and gracefully
-
Be robust
- Use job queuing (be reentrant)
- Use retrys (be idempotent)
- Dont overcommit yourself
Development and Production Parity
- App builds - CI/CD
- Keep development and prod as close as possible.
- More frequently the releases, the smaller and easier they become.
- Backing services
- Other services, resources, OS
- Dont rely on a feature that isnt in production
- At least keep parity in testing environments
Logs are streams
- Limit your use of local os resources (files)
- Let something eat your logs/event stream
- Limit your housekeeping
Management tasks are one off tasks
- Dead/stale code persists
- Running db migrations on app startup is slow
and we are done
What can you do to your app to make it
- More scalable
- Easier to work with
- Faster to iterate
?
IOOF aren't Hiring
But dont let that stop you
Passion and persitence are good qualities
Actually we are hiring
Please get in touch!


pandemic decision response influenza ;():–. model intervention data Health {border-style []. disease policy px;} #ffffff;} support ;:–. models situational use information Sciences control Australian epidemic evidence impact Disease Infectious antiviral approach decision-making modeling preparedness science social used Influenza [], decisions including infectious strategies surveillance McCawJM, Pandemic Research analysis awareness broader emerging methods px; tools {font-family Decision Fig Medicine Melbourne, Public World context decision-makers font-size health options pandemic. provide public supported transmissibility Dec Life McVernonJ. Nature. United [cited [–]. advice developed double; early effective forecasting framework likely operational planning relevant response. seasonal severity virus ./j.epidem... BMC Biology Cognitive Epidemics. Health. Making McVernonJ, Med. MossR, advances algorithms alternative antivirals border-color border-width developing dynamic effectiveness epidemiological example, important integrating interventions management outbreak outcomes outputs pathogen plans potential role solid; strategy terms using {font-style {font-weight ;():. Antivirals Australia[], Dis. Ebola Infect Mathematical Policy SARS University argue associated available based bold challenges characteristics colleagues collection contained countries courier; current design development diseases documents em; embedded forecasts guide key makers measures mitigating order outbreaks parameters policies political possible predict proposed pt;} rapidly research robust routine severe statistical stockpile strategies. targeted


PDP wins all 21 chairmanship seats in Adamawa LG election
- The PDP has cleared all the 21 seats in the just concluded LGA elections in Adamawa state
- ADSIEC’s chairman, Isa Shetimma, announced the results on Sunday, December 8
- The APC, however, alleged that the polls were marred with malpractices
The Peoples Democratic Party (PDP) has won big in Adamawa state as all its candidates in the December 7 local government election recorded victory.
The Nation reports that all the PDP’s chairmanship candidates in the state’s 21 local government areas were declared winners on Sunday, December 8.
Legit.ng gathered that the results were announced by the Adamawa State Independent Electoral Commission (ADSIEC)’s chairman, Isa Shetimma.
The opposition All Progressives Congress (APC), however, alleged that the polls were marred with malpractices.
PAY ATTENTION: Install our latest app for Android, read the best news on Nigeria’s #1 news app
In a related development, the APC was declared the winner of the entire chairmanship seats in the 16 local government areas in Ekiti state.
Kogi election: We have no hand in electoral violence, rigging - INEC
The election was held on Saturday, December 7.
The returning officers in all the local government councils announced the results at the headquarters of the Ekiti State Independent Electoral Commission (ESIEC).
Similarly, the PDP also rejected the result of the election.
Local government elections in Nigeria are usually won by the ruling parties in the states, a situation which has made many to question the independence of state electoral bodies.
Not fewer than four local government elections have been conducted so far in 2019 and all were won by ruling parties in the state.
Local government chairmanship and councillorship elections are conducted by state electoral bodies, not the Independent Electoral Commission (INEC).
NAIJ.com (naija.ng) - Legit.ng. We have upgraded to serve you better.
2023 Election: Will President Buhari really run for a third term? | Legit TV


TDA1543 Simple Player
Online Media Player
Toggle navigation
Toggle navigation
Toggle navigation
IP Address:
{% for file in files %}
{{file}}
{% endfor %}


| comment | id | type | title | authors | authorsOriginal | keywords | abstract | citation | pages | pubdate | language | typeOfRessource | genreOfRessource | publicationStatus | peerReviewed | series | handle | doi | filename | isbn | issn | rightsInformation |
| 75 | note | given title | lastname1, firstname1; lastename2, firstname2 | firstname1 lastename1;firstname2 lastname2 | keyword1,keyword2 | this field contains an abstract | citation example | startpage-endpage | 2014-03-01 | english | text | Conference Paper / Presentation | published | yes | iConference 2014 Proceedings | 1112/34522 | 10.0000/12345 | 075.pdf | Copyright Â© 2014 is held by the authors of individual items in the proceedings. Copyright permissions, when appropriate, must be obtained directly from the authors. |


Private elevators among amenities at new Knoxville condo building
by WVLT NewsKNOXVILLE, Tenn. (WVLT) -- An architectural firm announced it was designing Knoxville's first vertical-style condominium building, complete private elevators for each unit.
Architects Wright said the building, called The Overlook, would come to downtown Knoxville by the end of summer 2020.
The Overlook condominiums boast a family style living concept by eliminating shared hallways and elevators and offering streetscape views.
The developers of the project are also behind several notable buildings such as The Oliver Hotel, Hyatt Place Hotel, and Balter Beerworks.
A realtor told WVLT News The Overlook was already 80% full as of November 22, with limited units remaining.


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/Chebyshev's.20inequality.html ---
I'm working on some stuff and managed to prove the markov and chebyshev inequality. Is there any interest in adding these to mathlib? I ask this because I understand that the Bochner integral is on the way.
Certainly. Let's get probability measures and probability theory
I did have some elementary probability theory in a PR which was closed. I could try to chop it up a bit and resubmit. The main question there was if we wanted a probability measure which lands in nnreal
or ennreal
. What is the consensus on this now?
what is your personal consensus on that? Sounds like you've already found an answer
I did feel like almost everything goes through with ennreal
and it's easier to work with those, but Johannes suggested a nnreal
probability measure. He has more experience than I do so I'm not sure.
I think there is probably a use for both, but if ennreal is easier to use then that's fine
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


This is meant to show how one can code interactive transcripts to work with the keyboard as well as mouse. Here we use spans and in the javascript give them all tabindex="-1".
I've attempted to give them a focus outline, but since I can't see the effects of CSS via screen reader, I have no idea if it's helpful. Similarly, I've also tried to give each a cursor via CSS so that mouse users know they can click on things.
phrase 1 phrase 2 phrase 3 phrase 4
phrase 5 phrase 6 phrase 7 phrase 8


{% extends "global/Page.html" %}
{% load otree %}
{% block title %}Questionnaire{% endblock %}
{% block content %}
Question one:
The proposer wishes to keep 3000 gil for himself. The responder agrees.
{% formfield group.question_1_answer label="What is the outcome?" %}
Question two:
The proposer wishes to keep 3000 gil for himself. The responder disagrees.
{% formfield group.question_2_answer label="What is the outcome?" %}
{% next_button %}
{% include Constants.instructions_template %}
{% endblock %}


Popup Alerts Official Documentation
Modifiers: see documentation
Modal Alerts Official Documentation
Modifiers: see documentation
Default Alerts
Simple Alerts
Modifiers: .alert-default
, .alert-primary
, .alert-secondary
, .alert-success
, .alert-info
, .alert-warning
, .alert-danger
Good day! Read this important alert message
Excellent! Read this important alert message
Good! Read this important alert message
Well done!  This alert needs your attention
Warning! Better check yourself, you're not looking too good
Oh snap! Change a few things up and try submitting again
Alert with List
Element: ul li
Read documentation and check devices:
- Connections
- Cables & Accessories
- Display & Touch
- Drivers


Samuel Grund is a third year college student at Oberlin College pursuing a bachelor's degree in Computer Science. He's new to web development, but is getting more savvy with each passing day.
In the past, he's tried his hand in game development, creating programmatic art, and providing excellent wait service at nice restaurants. Today, he enjoys basketball, cooking, reading, and coding. He would love an internship.


From working as a librarian for over a decade, I bring a strong customer service and help desk support background to web development. Through this work, I've developed an enthusiasm to learn new technologies and to share what I've learned with others. I decided to become a programmer because I enjoy applying technical and critical thinking skills to solve challenging problems while working with others. I also love creating beautiful websites, and developing an online brand for clients.
I recently graduated from Epicodus, a four month, 40 hour per week programming bootcamp in Portland, Oregon. This class gave me a solid foundation in PHP, JavaScript and Drupal. I have experience using frameworks such as Silex and Angular, I'm familiar with BDD testing, database schemas, and DOM manipulation with jQuery. I have extensive experience in pair programming, and enjoy solving difficult programming challenges with others.
In August, I completed two 8-week internships at the Drupal Association and ThinkShout. At the Drupal Association, I tested and applied patches for the Conference Organizing Distribution (COD) issues queue, and worked on the Siren theme for the DrupalCon website. Please check out my Drupal profile here. At ThinkShout, I tested and applied patches for the MailChimp, Redhen and Entity Registration modules issue queues. In my free time, I like to go Balkan and contra dancing, whip up unique culinary creations, and explore new restaurants with my friends.


Separated Soul:
The Claw of Antharas barely touched my face, but my soul was still ripped apart!
Now I can't gather the scattered souls in the area, but I can sense them. If you want, I can send you to where my souls are located.
Also, using the Will of Antharas that you have, I can break the the Sealed Blood Crystal. How about it?
Hunter's Village
The Center of Dragon Valley
Deep inside Dragon Valley(North)
Deep inside Dragon Valley(South)
Entrance of Antharas' Lair
Antharas' Lair - Magic Force Field Bridge
Deep inside Antharas' Lair
Hear about Blood Crystal of Antharas
Request item synthesis
Quest


Was a UX Designer/Researcher at LG Electronics and Coupang
Please click images for detailed information. Due to non-disclosure agreements, recent projects are not included.
More project outcomes are available per your request via email or in person.
The first Phablet device launched for T-Mobile USA. Provided unique UX focusing on an immersive viewing experience. Exclusively designed 'fluid UI' allows users to appreciate the world-first curved smartphone.
I was a sole UX designer for this device, responsible for concepts, wireframes and UX management.
It is a mid-tier device specialized in multimedia features. It provides QRemote and QTranslator applications targeting mass market customers for the first time among the same-tier devices. The UI was designed and localized for both T-Mobile and MetroPCS in the USA.
I was a sole UX designer for this device, responsible for concepts, wireframes and UX management.
Official LG Website
Official MetroPCS Website
Official T-Mobile Website
Feature phones are still making a big market for some international wireless service providers. A341 was designed for simple and standard use of a phone. It also provided essential UI features with apps complying the accessibility act in the USA.
I was a sole UX designer for this device, responsible for concepts, wireframes and UX management.
Designed and tested advanced concepts for a new global platform UX. From user research and implementation to smartphones, I participated in as a UX designer as well as a user researcher.
Built two concepts and conducted usability tests in the USA. My work generated two patents.
Launched with LG G2 and LG G3
See detailed information and more features of G3 here.
I conducted usability testings to study how screen sizes of a mobile device affected usability. Focus of the research was to provide design guidelines to internal UX designers and optimal UI layouts.
Collaborated with Brain and Research Inc, Korea
I conducted user research to evaluate usability and level of preferences of LG’s new UI for first time smartphone buyers. Focus of the research was to figure out users’ perceived level of easiness and its degree of learnability comparing with the standard UI.
Collaborated with GFK, USA and Eye Square GMBH, Germany.
Launched with LG Lucid 2 (Verizon Wireless)
Details available under the ‘software’ section
I conducted user research to study how color schemes of a UI affected usability and readability. The research results implemented on a UI design for mobile devices launched worldwide.
Collaborated with GFK, USA and Brain and Research Inc, Korea
Worked with a team of graphic designers and software developers, I designed UIs for widgets for smartphones: E-mail, World Clock, Home screen tips for LG, Photo Album, Photo Frame, Yahoo! News, Yahoo! Finance, Yahoo! Today, Google Search, and AccuWeather.
I was responsible for concepts, wireframes and UX management.


Fortran version¶
Input parameters are generally specified in a Python script setrun.py and then:
$ make .data
creates the *.data files that the Fortran code requires.
Makefiles¶
Most example directories contain a Makefile that offers several options. Type:
$ make help
for a list. Often:
$ make .plots
is all you need to type to create the data files, compile the code, run it, and produce plots as png and html files.
Or, if you just want to run the code and produce output without making all the plots (and then do the plotting interactively, for example):
$ make .output
Note: There is a dot before plots and output in the above commands.
The directory where output and plots are stored is specified in the Makefile.
The Makefile in most directories includes a common Makefile found at $CLAW/clawutil/src/Makefile.common that does most of the work. If you get the error message:
Makefile: /clawutil/src/Makefile.common: No such file or directory
then the environment variable CLAW is not set properly. See Set environment variables.
More tips¶
The “make .output” command runs the code and stores the name of the output directory in the file .output and it is the modification time of this file that is checked relative to the dependencies. (Note: the unix command ls generally does not display files that start with a dot so this file may be invisible unless you use “ls -a”.)
If you want to re-run the code and encounter:
$ make .output $ make: `.output' is up to date.
you can remove the file .output to force the code to be run again.
Similarly, remove the file .plots to force the plots to be recreated.
If you change the compiler flags FFLAGS in the Makefile or as an environment variable, then you should make sure that all files used are recompiled with the new flags. The Makefiles as written do not catch this dependency and will not recompile all the .o files when the Makefile changes. To force recompilation, use:
$ make new
See Fortran Compilers for more about compiler flags.


2. Grouping Actions
If some part of the functionality requires to implement several actions or actions are simply too many and overload the menu they can be joined into groups.
2.1. Simple action groups
In this case the group will be available as a top-level menu item, action will be represented as drop-down menu items.
2.1.1. Creating simple action groups
Grouping can be done by extending adding <group>
attribute to <actions>
plugin.xml
file.
<actions>
<group id="SimpleGroup" text="Custom Action Group" popup="true">
</group>
</actions>
2.1.2. Binding action groups to UI component
The following sample shows how to place a custom action group on top of the editor popup menu:
<actions>
<group id="SimpleGroup" text="Custom Action Group" popup="true">
<add-to-group group-id="EditorPopupMenu" anchor="first"/>
</group>
</actions>
2.1.3. Adding actions to the group
To create an action we need to extend AnAction.java class:
public class GroupedAction extends AnAction {
@Override
public void update(AnActionEvent event) {
event.getPresentation().setEnabledAndVisible(true);
}
@Override
public void actionPerformed(AnActionEvent event) {
//Does nothing
}
}
And then the actions needs to be registered in the newly created group:
<action>
<group id="SimpleGroup" text="Custom Action Group" popup="true">
<add-to-group group-id="EditorPopupMenu" anchor="first"/>
<action class="org.jetbrains.tutorials.actions.GroupedAction" id="org.jetbrains.tutorials.actions.GroupedAction"
text="Grouped Action" description="Grouped Action Demo">
</action>
</group>
</actions>
After performing the steps described above the action group nad it’s content will be available in the editor popup menu:
2.2. Working with DefaultActionGroup
In some cases we need to implement some specific behaviour of a group of actions dependently on the context. The steps below are meant to show how to make a group of actions available and visible if a certain condition is met and how to set up a group icon dynamically. In our case the condition is: an instance of the editor is available.
2.2.1. Extending DefaultActionGroup
DefaultActionGroup.java is a default implementations of ActionGroup.java and used to add children actions and separators between them to a group. This class is used if a set of actions belonging to the group is fixed, which is the majority of all the cases.
Firstly, DefaultActionGroup.java should be derived:
public class CustomDefaultActionGroup extends DefaultActionGroup {
@Override
public void update(AnActionEvent event) {
}
}
2.2.2. Registering action group
As in case with the simple action group, the inheritor of DefaultActionGroup.java should be declared in plugin.xml file:
<actions>
<group id="CustomDefaultActionGroup" class="org.jetbrains.tutorials.actions.CustomDefaultActionGroup" popup="true"
text="DefaultActionGroup Inheritor" description="Default Action Group Demo">
<add-to-group group-id="ToolsMenu" anchor="last"/>
</group>
</actions>
2.2.3. Creating an action
AnAction.java needs to be extended:
public class CustomGroupedAction extends AnAction {
@Override
public void actionPerformed(AnActionEvent anActionEvent) {
//Does nothing
}
}
2.2.4. Adding actions to the group
Action’s class should be registered in plugin.xml :
<actions>
<group id="CustomDefaultActionGroup" class="org.jetbrains.tutorials.actions.CustomDefaultActionGroup" popup="true"
text="DefaultActionGroup Inheritor" description="Default Action Group Demo">
<add-to-group group-id="ToolsMenu" anchor="last"/>
<action class="org.jetbrains.tutorials.actions.CustomGroupedAction" id="CustomGroupedAction"
text="Custom Grouped Action" description="Custom Grouped Action Demo"/>
</group>
</actions>
2.2.5. Providing specific behaviour for the group
In this case we override public void update(AnActionEvent event);
method to make the group visible as a Tools menu item,
however, it will be enabled only if there’s an instance of the editor available. Also a custom icon is set up:
public class CustomDefaultActionGroup extends DefaultActionGroup {
@Override
public void update(AnActionEvent event) {
Editor editor = event.getData(CommonDataKeys.EDITOR);
event.getPresentation().setVisible(true);
event.getPresentation().setEnabled(editor != null);
event.getPresentation().setIcon(AllIcons.General.Error);
}
}
After compiling and running the code sample above, Tools menu item should contain an extra group of action with a user-defined icon:
2.3. Action groups with variable actions set
If a set of actions belonging to a custom actions group may vary dependently on the context, we need to work with ActionGroup.java. In this case set of actions to be grouped can be dynamically defined.
2.3.1. Creating variable action group
To create a group of actions with a variable actions set we extend
ActionGroup.java
first:
java
public class BaseActionGroup extends ActionGroup {
}
2.3.2. Registering variable action group
To register the group <group>
attribute needs to be placed in the <actions>
section of
plugin.xml:
<actions>
<group id="BaseActionGroup" class="org.jetbrains.tutorials.actions.BaseActionGroup" popup="true"
text="ActionGroup Demo" description="Extending AnAction Demo">
<add-to-group group-id="ToolsMenu" anchor="first"/>
</group>
</actions>
Note: Since the set of actions is defined dynamically no action definitions should be placed in
plugin.xml.
If <group>
attribute contains any static action definition an exception will be thrown.
For statically defined group of action use
DefaultActionGroup.java
2.3.3. Accessing children actions
An array of children actions should be returned by the method public AnAction[] getChildren(AnActionEvent anActionEvent);
of the a created group:
public class BaseActionGroup extends ActionGroup {
@NotNull
@Override
public AnAction[] getChildren(AnActionEvent anActionEvent) {
return new AnAction[0];
}
}
2.3.4. Adding children actions to the group
To make the group contain actions a non-empty array of AnAction.java elements should be returned:
public class BaseActionGroup extends ActionGroup {
@NotNull
@Override
public AnAction[] getChildren(AnActionEvent anActionEvent) {
return new AnAction[]{new MyAction()};
}
class MyAction extends AnAction {
public MyAction() {
super("Dynamically Added Action");
}
@Override
public void actionPerformed(@NotNull AnActionEvent anActionEvent) {
}
}
}
After providing an implementation of AnAction.java and making it return a non-empty array of action Tools Menu should contain an extra group of action:


Why Consumers Won't Pay for Apps
People don’t like paying for software. Despite being incredibly cheap relative to how much value it provides, most people still gawk at the idea of paying for a $.99 app (or any software). Why?
I was thinking about this after reading Hunter Walk’s recent post, ‘Why won’t consumers pay for productivity apps?’. His point – consumer productivity software might fare better if they exposed metrics about the value they were providing – ie. how much time they saved you, how many emails they sent for you, etc.
I was shocked to see most commenters either agreeing or pointing to other examples of productivity software that smartly did this. While they weren’t wrong – it probably would be helpful if productivity software promoted their metrics more – they were all missing the point entirely.
The point is that consumers not only don’t care about productivity, they also value money > time.
When we look at the average consumer’s behavior, they’re not focused on productivity. Consumers either are either home after a long day at work or they’re hanging out with friends on the weekend. They’re thinking about relaxing, taking it easy, and enjoying themselves. Productivity is not a high priority for the consumer (I wrote about solving the right priorities here). That’s why you see most successful consumer applications geared towards leisure – Facebook, Instagram, Yelp, etc. Productivity doesn’t fit here.
Also, the average consumer values money much more than their own time. Since there are no explicit tasks/agenda for them, they value their own time at $0.00. So many things are more valuable than their time (esp. money). So trying to monetize consumer productivity is an uphill battle – also why popular consumer apps are free and ad supported as opposed to subscription based.
All productivity software either starts as pure B2B or eventually leans and focuses on the B2B market. Because the product matches the buyers intent, that’s where the money is.
As a footnote, I’ll say that I do think that as time goes on, we’ll have an increase in the number of consumers that value time > money and are willing to pay for software. But we still have a long way to go, and I’m unsure if this will ever be the predominant consumer mentality – I simply believe that this consumer group is increasing in size.
You Might Also Like
- Let's Stop Saying B2B
- Freemium Doesn't Always Work in B2B
- Working To Your Own Standard
- Saying No
- Asana