How many more lives could be safeguarded if a missing mapper only had to click once on a building, rather than once in each corner? What if last month’s release of the Mapswipe 2.0 app could also directly send identified buildings straight to OSM? These were some of the challenges posed to hackers this weekend by organisers of the first ever czech Missing Maps Hackathon in Plszen, Czech Republic.
Introducing tech hackers to the way Missing Maps works is always fun. They quickly understand the idea that they can innovate, love OpenSource on the whole, and are active community members. But there are facts about our multifaceted community which aren’t so immediately obvious:
Pilsen is the home of many famous technologies, and is quickly evolving into a stronghold of the digital revolution. 3000 developers are estimated to live in this small but beautiful city. From these, a small group of digital humanitarians gathered around some important technical problems, less in competition than collaboration, to see if they could make Open Source field and remote mapping easier. Czech Tech is big business here, and Hackathons often attract decent prizes, all-night red-eyed coding, and copious amounts of caffeine.
Food and drinks were wheeled out from the start by our host, the local ITNGO TechHeaven. The fact that the prizes for hacking were not financial, but of a ‘higher order’ (and not just the 24/7 beer!) did not diminish absolute commitment or fantastically high spirits. In the true ethos of the development community, shared ideas circulated, personal styles showed through in the usual hacker eccentric traditions, and strong friendships were made.
We had researched some impact-related field challenges from various sources, and groups of hackers gravitated towards problems which interested them. Effective operational groups formed and then bonded around these problem-solving projects.
And so the night began.
A mapathon dashboard for validators
The ‘Mapathon Dashboard’ was one such challenge which interested local hackers Adam, Michal and Matyas. Bad quality data can lead to misdirection in the field, but is also crucial for good advocacy, which can show local decision-makers that OSM is a rigorous process, upon which lives and decision liabilities can depend. Many of us are familiar with the CartOng Mapathon Dashboard, but what if we could see some kind of ‘live conversation’ taking place between good and bad data, involving and mentoring more mappers to validate and to up the quality of their original inputs?’
By the end of the weekend, the dashboard had been re-coded to include a live-graph of validated data moment-by-moment, ways to interact validators with their mappers, and some other excellent new features to be proposed to its originators, Missing Maps partners CartOng.
Village and Settlement growth awareness tool
A lot of work has been done on remote sensing for deforestation, drought and flood at low-resolution, but Jakub, Jan and David started building on algorithms from this kind of land-cover data, with an imagery analysis tool, detecting the circles and squares of new ‘shelters’ in unexpected areas, alerting us to previously unknown expanding population - areas of ‘new human activity’ where unexpected and rapid crisis-mapping is needed.
The One-Click Wonder
There is an ever-increasing need for validation in mapathons, and the basic mapping of buildings is something which should take less time, enabling skilled mappers more time to validate and edit for mistakes/misalignments. One click is four times less than four.
Martin and Jiri tackled this one, which is set to be a ground-breaking change in mapping practice all over the world. Machine learning is all very well, but the human touch will arguably always be needed. And the validation process should be where we focus our remote-mapping time. After significant advances in ‘the dungeon’ over the weekend, it is now very nearly possible to click only once rather than four times on a building, potentially speeding-up mapping four times over.
Field Data streamlining
ODK and Kobo are free smartphone apps which are used almost everywhere in the global humanitarian response, for easy, effective and accurate data which can be gathered by victims as well as responders in disaster situations. That this gives local communities a voice directly aligns with OSM ethos, but can we make the upload process faster for those already overwhelmed on the ground?
‘The Three Jans’ made significant inroads into a JOSM plugin which could load raw data directly from the field, to be processed simply and effectively, cleaned, validated and conventionalised for upload into OSM.
Dog-tired but victorious, the results of the past 36 hours of tool-development were shared in presentations on Sunday morning at 10am. It was amazing to see the results of these - and so many other projects - taking shape, many of which were near completion. From day one, there were already murmurs of the next Hackathon event, and several members are right now continuing their work on these projects, despite the end of the Hackathon. Question is, are they still awake? Watch for the next Missing Maps MSF Czech Hackathon to find out….


Component: tos.platforms.micaz.DemoSensorNowC
generic configuration DemoSensorNowC()
The micaZ doesn't have any built-in sensors - this DemoSensor just reads the ground value.
Author:
David Gay
Provides
interface
ReadNow
<uint16_t>
interface
Resource
Wiring


AUTO MART
Login to continue
CREATE A NEW ACCOUNT
Login creditionals
For Admin<EMAIL_ADDRESS>password: 1234
For normal user<EMAIL_ADDRESS>password: 1234


{{ define "main" }} {{ with .Site.GetPage "home.md" }} {{ .Params.description }} {{ end }} {{ with .Site.GetPage "home.md" }} {{ .Content }} {{ end }} View more configuration examples on Github Benefits of using a tiling window manager Optimize your workflow by configuring your environment to fit how you work. Efficiently use screen real-estate by automatically arranging windows with minimal visual cruft. Save your wrists from RSI by ditching the mouse and driving with the keyboard. Why Qtile? Qtile is simple, small, and extensible. It's easy to write your own layouts, widgets, and built-in commands. Qtile is written and configured entirely in Python. Leverage the full power and flexibility of the language to make it fit your needs. The Qtile community is active and growing. There's always someone to lend a hand when you need help. Qtile is free and open-source software. Distributed under the permissive MIT license . {{ range first 5 (where .Site.RegularPages "Section" "screenshots") }} {{ if .Params.screenshot }} {{ $image := resources.GetMatch .Params.screenshot }} {{ $image := $image.Fit "256x128 webp"}} {{ end }} {{ end }} The Qtile community IRC Channel irc://irc.oftc.net:6667/qtile Mailing list<EMAIL_ADDRESS>Twitter @qtile Getting involved Issue tracker Report bugs and request new features Hacking Qtile Get started hacking on the code {{ end }}
irc://irc.oftc.net:6667/qtile
<EMAIL_ADDRESS>@qtile
Report bugs and request new features
Get started hacking on the code


Unlucky Scenarios That Happened To Me:
Lucky Scenarios That Happened To Me:
Your fortune is that you are incredibly lucky!
Your fortune is that you are not too lucky but also not too unlucky.
Your fortune is that you are incredibly unlucky!


public class ConvexityAdjustment
extends java.lang.Object
| Constructor and Description |
|---|
ConvexityAdjustment()
Empty ConvexityAdjustment Constructor
|
| Modifier and Type | Method and Description |
|---|---|
double |
collateralCredit()
Retrieve the Collateral/Credit Convexity Adjustment
|
double |
collateralForward()
Retrieve the Collateral/Forward Convexity Adjustment
|
double |
collateralFunding()
Retrieve the Collateral/Funding Convexity Adjustment
|
double |
collateralFX()
Retrieve the Collateral/FX Convexity Adjustment
|
double |
creditForward()
Retrieve the Credit/Forward Convexity Adjustment
|
double |
creditFunding()
Retrieve the Credit/Funding Convexity Adjustment
|
double |
creditFX()
Retrieve the Credit/FX Convexity Adjustment
|
double |
cumulative()
Retrieve the Cumulative Convexity Correction
|
double |
forwardFunding()
Retrieve the Forward/Funding Convexity Adjustment
|
double |
forwardFX()
Retrieve the Forward/FX Convexity Adjustment
|
double |
fundingFX()
Retrieve the Funding/FX Convexity Adjustment
|
boolean |
setCollateralCredit(double dblCollateralCredit)
Set the Collateral/Credit Convexity Adjustment
|
boolean |
setCollateralForward(double dblCollateralForward)
Set the Collateral/Forward Convexity Adjustment
|
boolean |
setCollateralFunding(double dblCollateralFunding)
Set the Collateral/Funding Convexity Adjustment
|
boolean |
setCollateralFX(double dblCollateralFX)
Set the Collateral/FX Convexity Adjustment
|
boolean |
setCreditForward(double dblCreditForward)
Set the Credit/Forward Convexity Adjustment
|
boolean |
setCreditFunding(double dblCreditFunding)
Set the Credit/Funding Convexity Adjustment
|
boolean |
setCreditFX(double dblCreditFX)
Set the Credit/FX Convexity Adjustment
|
boolean |
setForwardFunding(double dblForwardFunding)
Set the Forward/Funding Convexity Adjustment
|
boolean |
setForwardFX(double dblForwardFX)
Set the Forward/FX Convexity Adjustment
|
boolean |
setFundingFX(double dblFundingFX)
Set the Funding/FX Convexity Adjustment
|
public ConvexityAdjustment()
public boolean setCollateralCredit(double dblCollateralCredit)
dblCollateralCredit
- The Collateral/Credit Convexity Adjustmentpublic double collateralCredit()
public boolean setCollateralForward(double dblCollateralForward)
dblCollateralForward
- The Collateral/Forward Convexity Adjustmentpublic double collateralForward()
public boolean setCollateralFunding(double dblCollateralFunding)
dblCollateralFunding
- The Collateral/Funding Convexity Adjustmentpublic double collateralFunding()
public boolean setCollateralFX(double dblCollateralFX)
dblCollateralFX
- The Collateral/FX Convexity Adjustmentpublic double collateralFX()
public boolean setCreditForward(double dblCreditForward)
dblCreditForward
- The Credit/Forward Convexity Adjustmentpublic double creditForward()
public boolean setCreditFunding(double dblCreditFunding)
dblCreditFunding
- The Credit/Funding Convexity Adjustmentpublic double creditFunding()
public boolean setCreditFX(double dblCreditFX)
dblCreditFX
- The Credit/FX Convexity Adjustmentpublic double creditFX()
public boolean setForwardFunding(double dblForwardFunding)
dblForwardFunding
- The Forward/Funding Convexity Adjustmentpublic double forwardFunding()
public boolean setForwardFX(double dblForwardFX)
dblForwardFX
- The Forward/FX Convexity Adjustmentpublic double forwardFX()
public boolean setFundingFX(double dblFundingFX)
dblFundingFX
- The Funding/FX Convexity Adjustmentpublic double fundingFX()
public double cumulative()


|
Bitstream Interpretation Library (BIL)
0.1
|
Loads Virtex-5 bitstream raw data. More...
#include <bitstream/V5BitstreamReader.hpp>
Public Member Functions | |
| void | read (Bitstream &bitstream, const boost::uint32_t *words, size_t wordCount) |
| Loads Virtex-5 bitstream raw data. |
Protected Member Functions | |
| virtual size_t | extractPacket (const boost::uint32_t *words, size_t wordCount, std::auto_ptr< Packet > &packetPtr) |
| Create a packet from raw data. | |
| bool | behindSyncWord () const |
| Tells, if sync word was passed. | |
| bool | lastPacketWasType1 () const |
| Tells, if the last packet processed was a type 1 packet. | |
| RegisterAddress::address_t | lastType1Address () const |
| Gets the register address of the last processed type 1 packet. |
Loads Virtex-5 bitstream raw data.
This class reads a Virtex-5 raw bitstream, constructs the packets out of it, and puts them into a Bitstream instance. While loading, the packet stream will be syntax checked.
Definition at line 22 of file V5BitstreamReader.hpp.
| void V5BitstreamReader::read | ( | Bitstream & | bitstream, |
| const boost::uint32_t * | words, | ||
| size_t | wordCount | ||
| ) |
Loads Virtex-5 bitstream raw data.
| bitstream | Bitstream instance to load packets into. |
| words | Pointer to data words to load. |
| wordCount | Number of data words to load. |
| . |
Definition at line 16 of file V5BitstreamReader.cpp.
|
protectedvirtual |
Create a packet from raw data.
| words | Pointer to data words to load. |
| wordCount | Number of data words to load. |
| packetPtr | The newly created packet. |
| . |
Definition at line 45 of file V5BitstreamReader.cpp.
|
protected |
Tells, if sync word was passed.
Definition at line 105 of file V5BitstreamReader.cpp.
|
protected |
Tells, if the last packet processed was a type 1 packet.
Definition at line 111 of file V5BitstreamReader.cpp.
|
protected |
Gets the register address of the last processed type 1 packet.
Definition at line 117 of file V5BitstreamReader.cpp.


Here is an inline note.1
alpha 2 three] bravo.
alpha 3 bravo.
alpha 4 seven] bravo.
alpha 5 bravo.
alpha 6 bravo.
alpha 8 thirteen* bravo.
alpha 9 fifteen* bravo.
alpha 10 seventeen** bravo.
alpha 11 bravo.
alpha 12 bravo.
alpha 13 bravo.
Mixing code with inline notes:
Inline note with 14 bravo.
Inline note with 15 bravo.
mixed ^[ with code]
Inlines notes are easier to write, since you don’t have to pick an identifier and move down to type the note.↩
one [balanced↩
four [unbalanced five↩
six unbalanced↩
eight escaped] nine↩
nested↩
twelve *emphasis↩
fourteen **emphasis↩
sixteen *emphasis↩
eighteen nineteen↩
one code `` and such
three↩
one code ```` and
three↩


--- layout: post title: SwitchTower 0.10.0 post_id: 197 categories: - announcements date: 2006-01-02 11:17:00.000000000 -07:00 author: Jamis permalink: 2006/1/2/switchtower-0-10-0.html ---
It’s a week later than I said, but it’s here at last: SwitchTower 0.10.0. I figure there will be one or two more releasees before 1.0.
This release addresses several longstanding bug reports and adds some nice new functionality. To update, just do:
gem install --include-dependencies switchtower
And then update each of your apps by doing:
switchtower --apply-to /path/to/app
When prompted, keep your config/deploy.rb
file, and replace your lib/tasks/switchtower.rake
file.
You can read the complete changelog, but here’s a quick overview of some of the most notable changes:
switchtower --apply-to /path/to/app
to update, keeping your config/deploy.rb
and overwriting lib/tasks/switchtower.rake
)ssh_options
variable
There is now an ssh_options
hash that you can use in your recipe files to set custom SSH connection options, like setting a non-standard port to connect on:
1 |
ssh_options[:port] = 2345 |
Allow svn checkouts to use export
instead of co
If you don’t want to use an svn co
to checkout your code, you can set the :checkout
variable to :export
, and SwitchTower will use svn export
instead.
1 |
set :checkout, :export |
This variable defaults to :co
.
update_current
task
There is now an update_current
task that just does an svn up
on the last-deployed release. This is useful for trivial updates, like when a template changed.
cleanup
task
You can easily remove unused releases from your deployment directories with the cleanup
task. It will (by default) keep the 5 most recent releases, and delete the rest.
SFTP for file transfers
Net::SFTP is now used (if it is available) for file transfers. This should make transferring large files more robust, as well as allow binary characters in files.
restart_via
variable
You can now set the :restart_via
variable to :run
, if you need to have the restart
task use run
instead of sudo
.
1 |
set :restart_via, :run |
This defaults variable to :sudo
.


Attribute Master Yang:
The device disappeared, you say? But it's in your hand!
 Here it is. Now please hurry!


Venice gondoliers dive into murky canals for nocturnal clean-up
More than 2.5 tonnes of rubbish has been collected so far.
Venice's gondoliers have been swapping boating hats for scuba helmets and diving into canals in a clean-up operation of the UNESCO city that has turned up everything from washing machines to bicycles.
"It's another world down there," Lorenzo Brunello told AFPTV late on Sunday as he prepared to plunge into the murky waters in the first night-time trawl for rubbish cluttering up the famous city's waterways.
It is the sixth time since February that gondoliers have stripped off their trademark stripey tops and donned wetsuits to bring to the surface unwanted belongings, from tires and television sets to vintage radios and telephones.
Their efforts have been rewarded, with over 2.5 tonnes of rubbish collected so far. About six or seven gondoliers show up for each session.
Sunday's haul near the famous Rialto Bridge brought up a kitchen stove, fan, cassette player, computer monitor and floor lamp.
"It's something we do for the city for free, because the city has given us so much," Brunello said, adding that visibility is particularly poor at night as the tide rises.
Water taxi driver Alessandro Pulese joined him at the end of his shift as the pair "want to try to do something, little by little, to make people aware of the problem, but also to do something tangible" to tackle it, Brunello said.
"Even if it can seem like a moment of insanity!" he quipped as the moonlight glinted off the cold and uninviting water.
The gondoliers behind the project, Stefano Vio and Alessandro Zuffi, said they would be organising a dive a month until April in the Grand Canal, a major artery that leads to Saint Mark's Square.
"That's where we work every day, and where we often have to battle with rubbish floating on the surface," they were quoted as saying in a city council statement, which largely blamed badly-behaved Venetians for the rubbish problem.


Main Hornet class.
More...
|
| | Hornet (const HornetInit &hornet_init, bool traspose=false) noexcept |
| | default costructor More...
|
| |
|
| ~Hornet () noexcept |
| | Decostructor.
|
| |
| vid_t | nV () const noexcept |
| | actual number of vertices in the graph More...
|
| |
| eoff_t | nE () const noexcept |
| | actual number of edges in the graph More...
|
| |
| const eoff_t * | csr_offsets () noexcept |
| | actual csr offsets of the graph More...
|
| |
| const vid_t * | csr_edges () noexcept |
| | actual csr edges of the graph More...
|
| |
|
template<int INDEX> |
| const xlib::SelectType< INDEX, VertexTypes... >::type * | vertex_field () noexcept |
| |
|
template<int INDEX> |
| const xlib::SelectType< INDEX, vid_t, EdgeTypes... >::type * | edge_field () noexcept |
| |
| const eoff_t * | device_csr_offsets () const noexcept |
| | actual device csr offsets of the graph More...
|
| |
| const degree_t * | device_degrees () const noexcept |
| | actual device csr offsets of the graph More...
|
| |
|
HornetDeviceT | device_side () const noexcept |
| |
|
vid_t | max_degree_id () noexcept |
| |
|
degree_t | max_degree () noexcept |
| |
| void | print () noexcept |
| | print the graph directly from the device More...
|
| |
|
void | mem_manager_info () const noexcept |
| |
|
void | allocateEdgeDeletion (size_t max_batch_size, BatchProperty batch_prop=BatchProperty()) noexcept |
| |
|
void | allocateEdgeInsertion (size_t max_batch_size, BatchProperty batch_prop=BatchProperty()) noexcept |
| |
|
void | insertEdgeBatch (BatchUpdate &batch_update) noexcept |
| |
|
void | deleteEdgeBatch (BatchUpdate &batch_update) noexcept |
| |
|
void | deleteOOPEdgeBatch (BatchUpdate &batch_update) noexcept |
| |
| void | store_snapshot (const std::string &filename) const noexcept |
| | store the actual gpu representation to disk for future use More...
|
| |
| int | id () const noexcept |
| | unique identifier of the Hornet instance among all created instances More...
|
| |
| void | check_consistency (const HornetInit &hornet_init) const noexcept |
| | Check the consistency of the device data structure with the host data structure provided in the input. More...
|
| |
|
void | check_sorted_adjs () const noexcept |
| |
template<typename... VertexTypes, typename... EdgeTypes>
class hornet::gpu::Hornet< TypeList< VertexTypes... >, TypeList< EdgeTypes... > >
Main Hornet class.
◆ Hornet()
template<typename... VertexTypes, typename... EdgeTypes>
default costructor
- Parameters
-
| [in] | hornet_init | Hornet initilialization data structure |
| [in] | traspose | if true traspose the input graph, keep the initial representation otherwise |
◆ nV()
template<typename... VertexTypes, typename... EdgeTypes>
actual number of vertices in the graph
- Returns
- actual number of vertices
◆ nE()
template<typename... VertexTypes, typename... EdgeTypes>
actual number of edges in the graph
- Returns
- actual number of edges
◆ csr_offsets()
template<typename... VertexTypes, typename... EdgeTypes>
actual csr offsets of the graph
- Returns
- pointer to csr offsets
◆ csr_edges()
template<typename... VertexTypes, typename... EdgeTypes>
actual csr edges of the graph
- Returns
- pointer to csr edges
◆ device_csr_offsets()
template<typename... VertexTypes, typename... EdgeTypes>
actual device csr offsets of the graph
- Returns
- device pointer to csr offsets
◆ device_degrees()
template<typename... VertexTypes, typename... EdgeTypes>
| const degree_t* hornet::gpu::Hornet< TypeList< VertexTypes... >, TypeList< EdgeTypes... > >::device_degrees |
( |
| ) |
const |
|
noexcept |
actual device csr offsets of the graph
- Returns
- device pointer to csr offsets
◆ print()
template<typename... VertexTypes, typename... EdgeTypes>
print the graph directly from the device
- Warning
- this function should be applied only on small graphs
◆ store_snapshot()
template<typename... VertexTypes, typename... EdgeTypes>
| void hornet::gpu::Hornet< TypeList< VertexTypes... >, TypeList< EdgeTypes... > >::store_snapshot |
( |
const std::string & |
filename | ) |
const |
|
noexcept |
store the actual gpu representation to disk for future use
- Parameters
-
| [in] | filename | name of the file where the graph |
◆ id()
template<typename... VertexTypes, typename... EdgeTypes>
unique identifier of the Hornet instance among all created instances
- Returns
- unique identifier
◆ check_consistency()
template<typename... VertexTypes, typename... EdgeTypes>
Check the consistency of the device data structure with the host data structure provided in the input.
revert the initilization process to rebuild the device data structure on the host and then perform the comparison
The documentation for this class was generated from the following file:


Your API key is {key} - please make a note of this then
click here
.
This will not be shown again!
.
For future access the URL must include the key, e.g. {url}.
IOT Audio
Choose a file to play, use the checkbox to set the file to play at startup.
Volume


{% extends 'polls/base.html' %} {% block content %} Home About
Test
Emancipating Users Against Algorithmic Biases for a Trusted Digital Economy --(http://unbias.wp.horizon.ac.uk/)


|
VPL
|
#include <vprfreeflyer.h>
Public Member Functions | |
| virtual void | getPoseFromConfiguration (mrpt::poses::CPose3D &pose, std::vector< double > q) |
| virtual void | getCurrentHTM (BoostMatrix &HTM) |
| virtual void | getHTMfromConfiguration (BoostMatrix &HTM, std::vector< double, std::allocator< double > > q) |
| virtual bool | moveToConfiguration (std::vector< double, std::allocator< double > > configuration) |
| virtual float | executeTrajectory (std::vector< std::vector< double > > controls, double delta_t, std::vector< double > goal_q) |
| virtual float | executeMovement () |
| virtual void | getCurrentConfiguration (std::vector< double, std::allocator< double > > &q) |
| virtual bool | setVelocities (std::vector< double > velocities) |
| virtual bool | init () |
| void | generatePointedViews (std::list< ViewStructure > &viewList, std::string points_file, std::vector< double > object_center, double radio) |
| virtual void | updateRobotLocalization (mrpt::poses::CPose3D transformation) |
| Public Member Functions inherited from vpRobot | |
| virtual void | getCurrentConfiguration (std::vector< double > &q)=0 |
| virtual bool | moveToConfiguration (std::vector< double > configuration)=0 |
| virtual void | getHTMfromConfiguration (BoostMatrix &HTM, std::vector< double > q)=0 |
| void | getCurrentHTM (BoostMatrix &HTM) |
| void | getCurrentPose (mrpt::poses::CPose3D &pose) |
| void | getPoseFromConfiguration (std::vector< double, std::allocator< double > > &pose, std::vector< double, std::allocator< double > > q) |
| void | getInfo (std::string &inf) |
| bool | executePath () |
| void | setConfigFolder (std::string folder) |
| void | setDataFolder (std::string folder) |
| void | setLowerState (std::vector< double > state) |
| void | setUpperState (std::vector< double > state) |
| void | setStateDim (int dim) |
| void | getRandomState (std::vector< double > &state) |
| int | getConfigDimension () |
| int | getInputDim () |
Additional Inherited Members | |
| Public Attributes inherited from vpRobot | |
| std::vector< std::vector< double > > | pathToExecute |
| std::vector< std::vector< double > > | trajectoryToExecute |
| double | deltaT |
| std::vector< double > | goalConfig |
| Protected Attributes inherited from vpRobot | |
| int | configurationDim |
| Configuration size of the robot. | |
| int | stateDim |
| State Dimension. | |
| int | inputDim |
| input Dimension; | |
| std::vector< double > | lowerState |
| std::vector< double > | upperState |
| std::string | info |
| bool | ready |
| bool | verbose |
| std::string | configFolder |
| std::string | dataFolder |
| std::string | configFile |
A configuration is especified by x, y, z, yaw z, pitch y, roll x all robots work with mm and rads
|
virtual |
Stored movement in trajectory or path. Trajectory of path is executed depending on the robot capabilities Requires a path and a trajectory stablished in pathToExecute and trajectoryToExecute
Implements vpRobot.
| void vprFreeFlyer::generatePointedViews | ( | std::list< ViewStructure > & | viewList, |
| std::string | points_file, | ||
| std::vector< double > | object_center, | ||
| double | radio | ||
| ) |
Generates a set of views which point to a object
| radio | in mts |
unit sphere point
view sphere point
|
virtual |
Initialices the robot, for example the comunication
Reimplemented from vpRobot.
|
virtual |
For physical robot
Implements vpRobot.
|
virtual |
Translates the location of the robot
Implements vpRobot.


Like applications in most desktop environments, Lively Kernel applications consist
of objects that can be manipulated directly by the user.
A Lively Kernel application can contain various types of objects.
The simplest object types include structures such as rectangles,
ellipses, lines and text.
In the area below you see a few examples of the basic object types.
Try it yourself! Try manipulating each object below by grabbing it with a mouse and moving it around.
Note: To grab text objects, click on the area right above or left of the text.


| Class | ActionWebService::API::Method |
| In: |
vendor/rails/actionwebservice/lib/action_web_service/api.rb
|
| Parent: | Object |
Represents an API method and its associated metadata, and provides functionality to assist in commonly performed API method tasks.
| expects | [R] | |
| name | [R] | |
| public_name | [R] | |
| returns | [R] |
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 172 172: def initialize(name, public_name, expects, returns) 173: @name = name 174: @public_name = public_name 175: @expects = expects 176: @returns = returns 177: @caster = ActionWebService::Casting::BaseCaster.new(self) 178: end
Backwards compatibility with previous API
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 216 216: def [](sig_type) 217: case sig_type 218: when :expects 219: @expects.map{|x| compat_signature_entry(x)} 220: when :returns 221: @returns.map{|x| compat_signature_entry(x)} 222: end 223: end
Casts a set of Ruby values into the expected Ruby values
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 187 187: def cast_expects(params) 188: @caster.cast_expects(params) 189: end
Cast a Ruby return value into the expected Ruby value
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 192 192: def cast_returns(return_value) 193: @caster.cast_returns(return_value) 194: end
Returns the index of the first expected parameter with the given name
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 198 198: def expects_index_of(param_name) 199: return -1 if @expects.nil? 200: (0..(@expects.length-1)).each do |i| 201: return i if @expects[i].name.to_s == param_name.to_s 202: end 203: -1 204: end
Returns a hash keyed by parameter name for the given parameter list
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 208 208: def expects_to_hash(params) 209: return {} if @expects.nil? 210: h = {} 211: @expects.zip(params){ |type, param| h[type.name] = param } 212: h 213: end
The list of parameter names for this method
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 181 181: def param_names 182: return [] unless @expects 183: @expects.map{ |type| type.name } 184: end
String representation of this method
# File vendor/rails/actionwebservice/lib/action_web_service/api.rb, line 226 226: def to_s 227: fqn = "" 228: fqn << (@returns ? (@returns[0].human_name(false) + " ") : "void ") 229: fqn << "#{@public_name}(" 230: fqn << @expects.map{ |p| p.human_name }.join(", ") if @expects 231: fqn << ")" 232: fqn 233: end


Force Directed Static Graph
A static JSON Graph structure is used as input for this visualization.You can zoom and pan the visualization by scrolling and dragging.
You can change node positions by dragging the nodes around.
The clicked node's connections are displayed in a relations list in the right column.
The JSON static data is customized to provide different node types, colors and widths.


PBrady.net
Developer - Portfolio Site
PERSONAL BIO
RESUME
SOCIAL LINKS
Return to Top
Email:
<EMAIL_ADDRESS>Copyright © 2015 Paul Brady


Northern Moon Designs
Unique Handmade Jewelry & Accessories
Home
Shop
About
Contact
Etsy
Facebook
Instagram
Thank you for visiting Northern Moon Designs! If you have questions or feedback, please contact me via the form below.
Name:
Email:
Message:


Reading Supporter
Source Paragraphs
Sample
Remove "AMA style" citations (dangerous!) (testing)
Bulletize sentences (not yet)
Create Cells for Paragraphs (not yet)
Target Paragraphs
Copy


Bulbasaur is a small, quadruped Pokémon that has blue-green skin with darker patches.  A pair of small, pointed teeth are visible in the upper jaw when its mouth is open. Each of its thick legs ends with three sharp claws. On its back is a green plant bulb, which is grown from a seed planted there at birth. The bulb provides it with energy through photosynthesis as well as from the nutrient-rich seeds contained within.
Charmander is a bipedal, reptilian Pokémon with a primarily orange body and blue eyes. Its underside from the chest down and the soles of its feet are cream-colored. It has two small fangs visible in its upper jaw and two smaller fangs in its lower jaw. A fire burns at the tip of this Pokémon's slender tail and has blazed there since Charmander's birth. The flame can be used as an indication of Charmander's health and mood, burning brightly when the Pokémon is strong, weakly when it is exhausted, wavering when it is happy, and blazing when it is enraged. It is said that Charmander dies if its flame goes out. However, if the Pokémon is healthy, the flame will continue to burn even if it gets a bit wet and is said to steam in the rain.
Squirtle is a small Pokémon that resembles a light blue turtle. While it typically walks on its two short legs, it has been shown to run on all fours in Super Smash Bros. Brawl. It has large, purplish or reddish eyes and a slightly hooked upper lip. Each of its hands and feet have three pointed digits. The end of its long tail curls inward. Its body is encased by a tough shell that forms and hardens after birth. This shell is brown on the top, pale yellow on the bottom, and has a thick white ridge between the two halves.
Turtwig is a small, light green, quadruped Pokémon resembling a turtle or tortoise. Its eyes, feet, and lower jaw are yellow. Its body is covered by a brown shell that is composed of earth.  On a very healthy Turtwig, the shell should feel moist. A small seedling grows on a brown patch on its head. This seedling will wilt if the Pokémon becomes thirsty. As a plant-based Pokémon, Turtwig usually nourishes itself through photosynthesis. It also drinks water, which hardens its soil-based shell. Due to its status as a starter Pokémon, a wild Turtwig is hard to come by and it is generally found under the ownership of Trainers.
Chimchar is a bipedal Pokémon resembling a chimpanzee. Its fur is primarily a shade of orange, though its face, outer ears, underbelly, hands, and feet are light yellow. Its rear has a small, round, red patch that is usually obscured by flames produced by burning gas in its stomach.  Its ears are large in comparison to its head size and red inside. It has two pointed teeth in its upper jaw. Chimchar has red markings nearly surrounding its eyes, a swirl-like symbol on its chest, and five fingers on its hands with three toes on its feet. It has a swirly crest of hair on its head. Being very agile, it is able to climb the rocky ledges of tall mountains, where it lives.
Piplup is a light-blue, penguin-like Pokémon, which is covered in thick down to insulate against the cold.  The dark blue feathers on its head extend down its back and around its neck, which causes it to appear to be wearing a cape. There are two white ovals on its chest and a small, light-blue marking resembles a crown above its beak. It has flipper-like arms and yellow feet with three toes each.


Our Doctors
Dr. Peter Panton - M.D., F.A.C.S.
Dr. Peter J. Panton, attended college and medical school at Brown University in Providence, Rhode Island. He served his internship at the University of Chicago and his residency at the University of Illinois. He is certified by the American Board of Ophthalmology and the American Board of Laser Surgery. He has been awarded fellowship in the American College of Surgeons. Dr. Panton joined his father in practice in 1986. Dr. Panton currently serves at Treasurer of the Hellenic Medical Society of Chicago and as President-Elect of the Chicago Ophthalmological Society. Dr. Panton is married and has two children.
Dr. Rober Panton - M.D., F.A.C.S.
Dr. Robert W. Panton, attended college and medical school at Brown University. He also received a Master's Degree in Pharmacology at Brown. He served his internship at the University of Chicago and his residency at the University of Illinois. Dr. Panton completed his fellowship in corneal transplantation and cataract surgery at Johns Hopkins University in Baltimore, Maryland. He is certified by the American Board of Ophthalmology. Dr. Panton joined his father and brother in practice in July, 1991. Dr. Panton is married and has three children.
Dr. Elizabeth Panton - O.D.
Dr. Elizabeth Panton Karkazis, attended college at the University of Illinois at Champaign-Urbana. She graduated from the Illinois College of Optometry, where she was inducted into Beta Sigma Kappa honorary Society. Dr. Panton has a particular interest in refractive services, including glasses and contact lenses. Dr. Panton joined her father and two brothers in practice in 1993. She is married and has three children.


s
I am david coding has reallly changed my life in many ways
like talking to people in more technical ways
i also use coding to play at times lol
so im good in speaking some languages like
i was a social media addict, i followed stars and popstars up on IG
i have been computer literate for a long while
my life had a turn around when i met SHEDRACK AKINTAYO he was the major reason i
stopped using my data to follow stars and popstars
And instead started using my data to learn TECH i had to start from being a front end web developer
But to do this i had to get familiar with the first 3 basic languages which are
i went for my first ever summit on the 8th of DECEMBER 2018. there i met EMEKA AFIGBO, PROSPER OTEMUYIWA, JONATHAN WENDORF AND OTHER REAL GREAT PROGRAMMERS SEE FOR YOURSELF BELOW CLICK ON THE NEXT AND BACK BUTTONS TO VIEW OTHER PICTURES
SEE , LOL ALTHOUGH THE GUY ON LIGHT BLUE WAS VERY FUNNY
for now i can speak HTML and CSS well
JOIN ME AND LETS FIND MORE WAYS TO MAKE LIFE EASIER AND UPGRADE OUR TECH ECOSYSTEM
A LINK TO MY CERIFICATES ARE BELOW FEEL FREE TO CLICK ON EM!

There is really a whole lot of joy in CODING it gives this bold edge and pride LOL!!
this is basically my code diary i use it to record my daily progress and discover more i know that
im really a quite
young coder i guess im just fortunate have fun
I HAVE SOME 6IX9INE SONGS HERE!
I HAVE SOME MR EAZI SONGS
I HAVE SOME WIZKID SONGS OVER HERE
I HAVE SOME DAVIDO SONGS HERE
I HAVE JUST ONE KENDRICK LAMAR SONG HERE
PLEASE ALSO FOLLOW ME AT THE LINKS BELOW
MY TWITTER PAGEYOU CAN ALSO SEND EMAILS TO MY MAIL BELOW
Davidkalu463@gmail.com


onBeforeFormulaInsertion
onBeforeFormulaInsertion event is triggered before a formula is inserted. Admits a wrs_PluginEvent object with the following arguments:
- mathml: MathML generated by MathType.
- editMode (read only): indicates if the MathType output is an image (editMode=image) or if the MathType output is LaTeX (editMode=latex).
- language: MathType language.
Examlple
In this example the MathML generated by MathType is replaced by a fixed one:
wrs_addPluginListener({'onBeforeFormulaInsertion': function(params) {
params.mathml = '<math xmlns="http://www.w3.org/1998/Math/MathML"><msqrt><mi>x</mi></msqrt></math>'
}})
onAfterFormulaInsertion
onAfterFormulaInsertion event is triggered after a formula is inserted. Admits an wrs_PluginEvent object with the following arguments:
- editMode (read only): indicates if MathType output is an image (editMode=image) or if MathType output is LaTeX (editMode=latex)
- node: contains the image object generated by MathType (editMode=image).
- latex: contains the LaTeX code generated by MathType (editMode=latex).
In this example the image object created by MathType is logged:
wrs_addPluginListener({'onAfterFormulaInsertion' : function(params){
console.log(node);
}});


NOTE: This tool has only only been tested in Firefox and Chrome.
This demonstration NCI-META terminology maintenance environment. It is loaded with a sample data set derived from the 201604 NCI Metathesaurus. It contains portions of many terminologies, including SNOMED CT, MeSH, ICD10, RXNORM, and others. The data set contains about 2,200 concepts with about 19,000 individual atoms from constituent terminologies.
The environment is configured with users from Jekyll. To log in use your Jekyll initials (e.g. BAC) as the username and password.
Currently the full 201610 NCI Metathesaurus is being loaded and will soon be deployed.
For support, questions, or a guided demo, email: info@westcoastinformatics.com


Your Gold:
{{session['gold']}}
Farm
(earns 10-20 golds)
Cave
(earns 5-10 golds)
House
(earns 2-5 golds)
Casino
(earns/takes 0-50 golds)
Activity:
{% for i in session['activities']: %} {% if "Entered" in i:%}
{{i}}
{% else: %}
{{i}}
{% endif %} {% endfor %}


{% import "_includes/forms" as forms %} {{ forms.textField({ label: "File System Path"|t, instructions: "The path to your folder on the file system."|t, id: 'path', class: 'ltr', name: 'path', value: settings.path, errors: settings.getErrors('path'), required: true, placeholder: "/path/to/folder/"|t }) }} {{ forms.lightswitchField({ label: "Assets in this source have public URLs"|t, name: 'publicURLs', on: settings.publicURLs, toggle: "url-field" }) }}


We are one team
We are Milton Static
Builders should be familiar with all the robot parts that we have and be able to fully utilize Simple Machines like gears and pulley/chain systems. As a rule, the builders shouldnt handle the wiring, but should put the robot's parts on the robot at the very least.
Legal Illegal Parts List - details the stuff we can use in competition.
Simple Machines Webpage - holds info about simple Machines
Motors pdf - describes tetrix motor usage
Servos pdf - describes servo usage
Servos Webpage - describes how servos work
This is the most important job in the club. A Programmer must understand all functions and parts of the robot. Builders should communicate all details to the programmers. In a sense, the programmers are in charge because a builder is useless without a programmer, but a programmer can do perfectly fine without a builder.
This tutorial we made should be enough to get you started as a programmer.
Currently, all of our team's code is on Github in our Organization . Github is a website used by professional programmers all over the world. A repo, or repository, is a like a special folder that can be updated to the cloud. This repo updates the way a video game does, the user decides when to save and when to rewind.
ftc_app is the main competition repo. Written in java. The programmer tutorial discusses the usage of this repo.
nxt-comp-app is another repo that contains the tools we use to test robots. It takes advantage of the old Lego NXT System that used to be used in the competition. It connects the NXT Brick to a computer and game controller, and we can use the same tools we would for the competition.
FTC_5060_Archive The archives that hold all past competition code (since the start of android phone usage).


smart
`Prev `__
S
`Next `__
--------------
**smart**: adj.
Said of a program that does the `*Right
Thing* <../R/Right-Thing.html>`__ in a wide variety of complicated
circumstances. There is a difference between calling a program smart and
calling it intelligent; in particular, there do not exist any
intelligent programs (yet — see
`*AI-complete* <../A/AI-complete.html>`__). Compare
`*robust* <../R/robust.html>`__ (smart programs can be
`*brittle* <../B/brittle.html>`__).
--------------
+------------------------------------+----------------------------+-----------------------------------+
| `Prev `__ | `Up <../S.html>`__ | `Next `__ |
+------------------------------------+----------------------------+-----------------------------------+
| slurp the robot | `Home <../index.html>`__ | smart terminal |
+------------------------------------+----------------------------+-----------------------------------+


Based in Winchester, Hampshire, I am a passionate designer, specialising in UI design and branding. I have three and a half years agency experience, in addition to work with larger corperations and start ups.
Day to day I immersed in a predominantly design world, with anything from print design through to user experience design.
Working as a Technical Director, I am immersed in a creative world with notable work ranging from branding for global product launch events to user interface and user experience design for mobile applicaitons used on a global scale. I have been lucky enough to work with some of largest companies in world.
Clients I have worked for include: Abbvie, Merck, Sanofi Genzyme, Novartis, Takeda, Sanofi, Shire, Allergan, BMS, Celgene, Daiitchi Sankyo, uWork, Ipsen, MedPharm, CGM, Jazz, Pierre Fabre, Terumo, Vertex


{{template "head" "My Account"}}
{{template "header" .}}
{{template "sidebar" .}}
My Account
{{.Username}} -
{{.Email}}
Change email address
Submit
Change password
Submit
Session
Sign Out
Sign Out from all devices
{{template "bootstrapDeps"}}


|
|
| 17/01/2015 |
|
This is a 100% T-SQL xUnit style unit testing framework for SQL Server. It
contains support for a set of assert functions for the core types such as int,
varchar, datetime and real along with support for exceptions and table
comparisons. The package also contains a simple example database showing how
the framework can be used as part of a continuous integration process.
Download [133 K]
Manual
API Docs
GitHub Repo
|
|
| 01/02/2012 |
|
This is a doxygen filter (implemented as PowerShell script) that transforms T-SQL
code into C-style code so that doxygen can generate documention from the source
code comments.
Download [10 K]
Manual
Example
GitHub Repo
|
|
| 08/12/2011 |
|
This is a static code analysis tool for SQL Server (T-SQL). Initially it provides
a set of simple rules that allow you to check that your schema objects conform
to your project naming conventions. In future it will also check for other
common mistakes such as missing primary and foreign keys.
Download [33 K]
Manual
API Docs
GitHub Repo
|
|


ErePage
☰
Home
Team
Contact Us
Welcome
This sis a simple landing page
MEET OUR TEAM
Ereyomi
Founder | Full stack
Ekene
Project Manager
Human Resources
Bassey Samuel
Security
Alaka Victor
Contact Us
Email
Subject
Message
submit


Privacy Policyof Solitaire
We, as Solitaire developer, attaches great importance to protecting your privacy and security, here is the notice, we will collect information to improve the performance of the game, enhance the user experience. This privacy policy describes what personal information we collect and how we use it. Please do not download the application if you do not agree with this Privacy Policy.
What Information Do We Collect?
1．Non-Personal Information We may collect Non-Personal Information of users when you use our apps.Non-Personal Information may cover the information about your devices, including the list of installed apps on your devices, technical information about users，such as the versions of phone model and other similar information.
2. Personal Information We do not collect Personal Information. Personal Informationis information that identifies you or another person, such as your first name and last name, physical addresses, email addresses, telephone, fax, SSN, information stored within your device.
3. Information you provide. We may collect your information when you communicate with us or you give us.
How do we use these information? Solitaire use the information we collect with a purpose to protect your security and serve your privacy needs.
How do we use these information?
Solitaire use the information we collect with a purpose to protect your security and serve your privacy needs.
1. Non-Personal Information. We do not sell, trade, or otherwise transfer to outside parties your information. We do not combine Non-Personal Information with Personal Information (such as combining your name with your unique User Device number).
2. Personal Information. We do not store Personal Information and therefore we do not disclose your Personal Information.
3. Legal Reasons We will access, use or disclose your information with other organizations or entities for reasons that required by any applicable law, regulation, legal process or enforceable governmental request; detect, prevent, or otherwise fraud, security or technical issues, our users or the public as required or permitted by law.
Information Security We are very concerned about safeguarding the confidentiality of your information. We do not collect Personal Information, and work hard to protect Solitaire and our users from unauthorized access to, or unauthorized alteration, disclosure or destruction of, any personal information we hold.The Application is intended for people who are competent to contract underapplicable law. Individuals who are considered a minor in applicable jurisdictions are not permitted to use this application unless the complete Agreement is seen and agreed by parents or their legal guardians under applicable law.
Modifications Our Privacy Policy may change from time to time. We will post any Privacy Policy changes on this page .And we will not make any material retroactive changes to this Privacy Policy, including for changes involving the use of your personal information, without your affirmative consent.
Contact Information Concerns or questions about this privacy policy can be directed to<EMAIL_ADDRESS>for further clarification.


--- layout: fullpage title: Stories notitle: true pagetype: quote bgcolor: 00ABFA nosidebar: true published: true section: stories ---


|
This is my garden, where indie games grow. Click an icon below to play/download a game. All of these are collectibles: single Windows .exe files with no need for installation or unzipping. Why not collect them all? @IndiegameGarden |
|
Indiegame Garden 7 Where indie games grow! |
|
Wither Gameboy style RPG | Site |
Game Title Zelda-esque dungeon crawler | Site |
Super Crate Box Retro arcade delight Site |
8bit KILLER 8bit style FPS | Site |
Arvoesine Platformer | Site |
Starman Floatformer | Site |
|
Benefits of Life Insurance Sell life insurances | Site |
Fox Aliens From Space jump as mr zuper hero dude | Site |
The darkness that lurks Horror! | Site |
Mythic Defence - The rise of evil Tower defence | Site |
Calicoland Platformer | Site |
Quest for the Pixel Princess Maze game | Site |
|
KARATE KA. RA. TE. | Site |


Instrument Selector:
Granularity Selector:
Streaming
Start Date:
Year:
Month:
Day:
Hours:
Minutes:
Seconds:
Stop Date:
Year:
Month:
Day:


8 references to Properties
System.Management.Automation (8)
engine\MshMemberInfo.cs (1)
117
All =
Properties
| Methods | Event | PropertySet | MemberSet | ParameterizedProperty | Dynamic
engine\parser\TypeInferenceVisitor.cs (1)
1434
return (memberInfo.MemberType & PSMemberTypes.
Properties
) == memberInfo.MemberType;
engine\serialization.cs (3)
1780
if (info.MemberType == (info.MemberType & PSMemberTypes.
Properties
))
1926
PSMemberTypes.
Properties
| PSMemberTypes.PropertySet | PSMemberTypes.MemberSet,
6734
if (member.MemberType == (member.MemberType & (PSMemberTypes.
Properties
| PSMemberTypes.MemberSet | PSMemberTypes.PropertySet)))
FormatAndOutput\common\Utilities\Mshexpression.cs (2)
172
PSMemberTypes.
Properties
| PSMemberTypes.PropertySet | PSMemberTypes.Dynamic);
179
PSMemberTypes.
Properties
| PSMemberTypes.PropertySet | PSMemberTypes.Dynamic);
FormatAndOutput\common\Utilities\MshParameterAssociation.cs (1)
138
membersToSearch.Match("*", PSMemberTypes.
Properties
);


Kannada (/ˈkɑːnədə, ˈkæn-/; Kannada: ಕನ್ನಡ [ˈkʌnːəɖɑː]), or Kanarese, is a Dravidian language spoken predominantly by Kannada people in India, mainly in the state of Karnataka, and by significant linguistic minorities in the states of Andhra Pradesh, Telangana, Tamil Nadu, Maharashtra, Kerala, Goa and abroad. The language has roughly 38 million native speakers,[9] who are called Kannadigas (Kannadigaru). Kannada is also spoken as second and third language by non-Kannada speakers living in Karnataka, which adds up to 50.8 million speakers.
It is one of the scheduled languages of India and the official and administrative language of the state of Karnataka. The Kannada language is written using the Kannada script, which evolved from the 5th-century Kadamba script. Kannada is attested epigraphically for about one and a half millennia, and literary Old Kannada flourished in the 6th-century Ganga dynasty and during the 9th-century Rashtrakuta Dynasty. Kannada has an unbroken literary history of over a thousand years.
Based on the recommendations of the Committee of Linguistic Experts, appointed by the ministry of culture, the government of India designated Kannada a classical language of India. Kannada is considered to be one of the oldest living languages. In July 2011, a centre for the study of classical Kannada was established as part of the Central Institute of Indian Languages at Mysore to facilitate research related to the language.
Freelancer is a free bootstrap theme created by Start Bootstrap. The download includes the complete source files including HTML, CSS, and JavaScript as well as optional LESS stylesheets for easy customization.
Whether you're a student looking to showcase your work, a professional looking to attract clients, or a graphic artist looking to share your projects, this template is the perfect starting point!
Yakshagana performers in action. Part of a series on the Culture of India Ashoka Chakra.svg History People Languages Mythology and folklore Cuisine Religion Art Literature Music and performing arts Media Sport Monuments Symbols Flag of India.svg India portal v t e Yakshagana ( Kannada : "ಯಕ್ಷಗಾನ", Tulu : "ಆಟ") is a traditional theatre form that combines dance, music, dialogue, costume, make-up, and stage techniques with a unique style and form. This theatre style is mainly found in Tulunadu and some parts of Malenadu regions of Karnataka and Kerala.Yakshagana is traditionally presented from dusk to dawn. Its stories are drawn from Ramayana, Mahabharata, Bhagavata and other epics from both Hindu and Jain traditions.
CloseAmbavilas Palace (Kannada: ಅಂಬಾ ವಿಲಾಸ್ ಅರಮನೆ), otherwise known as the Mysore Palace (Kannada: ಮೈಸೂರು ಅರಮನೆ), is a historical palace and a royal residence at Mysore in the southern Karnataka state of India. It is the official residence of the Wadiyar dynasty and the seat of the Kingdom of Mysore. The palace is in the centre of Mysore, and faces the Chamundi Hills eastward. Mysore is commonly described as the 'City of Palaces', and there are seven palaces including this one; however, 'Mysore Palace' refers specifically to this one within the Old Fort. The land on which the palace now stands was originally known as puragiri (literally, citadel), and is now known as the Old Fort. Yaduraya built the first palace inside the Old Fort in the 14th century, which was demolished and constructed multiple times. The current structure was constructed between 1897 and 1912, after the Old Palace was burnt ablaze.
CloseJog Falls, Gerosoppa Falls or Joga Falls is the second highest plunge waterfall in India located near Sagara taluk, Shivamogga district in the state of Karnataka. It is a segmented waterfall which, depending on rain and season, becomes
a plunge waterfall.
The falls are a major tourist attraction and is ranked 13th in the world by the waterfall database. They are also known as the Gersoppa Falls or Jogada Gundi. The falls are located on the Uttara Kannada and Sagara border.Jog
Falls is created by the Sharavathi River dropping 253 m (830 ft), making it the second-highest plunge waterfall in India after the Nohkalikai Falls with a drop of 335 m (1100 ft) in Meghalaya.
Kannada with the pride of being one of the oldest languages of the world has numerous interesting things in its womb. The state language of Karnataka and the heart language of Kanandiagas is well-known for its heritage from the time of Ranna and Pampa. From Kuvempu to Kambar, from Dr.Rajkumar to Pandit Bhimsen Joshi, from Gubbi Veeranna to Shankar Nag, we have seen the eminent personalities who have put Karnataka on the global map. You might have read or heard so many things about Karnataka and Kannada but still, the language is so affluent that there are some stories left unsaid and unread. Come let’s know some unknown things about Karnataka and Kannada on today’s read.
CloseDid you know that Rava Idli was first prepared in Karnataka? During the world war 2 when there was a lack of rice to prepare the idlis, MTR used Semolina instead of rice and in that experiment we got this delicious breakfast item called Rava Idli. We also have a pride of introducing the epic Masala Dosa to the world and today we see it’s different varieties being prepared in other parts of the country. From Raagi Mudde, Chitranna, Jolad Rotti, Paddu to Mirchi Bonda and Mysorepak, the taste of Karnataka cuisine makes you die for it.
CloseBandipur National Park established in 1974 as a tiger reserve under Project Tiger, is a national park located in the south Indian state of Karnataka, which is the state with the highest tiger population in India. It is one of the premier Tiger Reserves in the country along with the adjoining Nagarhole national park. It was once a private hunting reserve for the Maharaja of the Kingdom of Mysore but has now been upgraded to Bandipur Tiger Reserve. Bandipur is known for its wildlife and has many types of biomes, but dry deciduous forest is dominant. The park spans an area of 874 square kilometers (337 sq mi), protecting several species of India's endangered wildlife. Together with the adjoining Nagarhole National Park (643 km2 (248 sq mi)), Mudumalai National Park (320 km2 (120 sq mi)) and Wayanad Wildlife Sanctuary (344 km2 (133 sq mi)), it is part of the Nilgiri Biosphere Reserve totaling 2,183 km2 (843 sq mi) making it the largest protected area in southern India and largest habitat of wild elephants in south Asia. Bandipur is located in Gundlupet taluq of Chamarajanagar district. It is about 80 kilometers (50 mi) from the city of Mysore on the route to a major tourist destination of Ooty. As a result, Bandipur sees a lot of tourist traffic and there are many wildlife fatalities caused by speeding vehicles that are reported each year. There is a ban on traffic from 9 pm to 6 am of dusk to dawn to help bring down the death rate of wildlife.
Close


{% extends "base.html" %} {% block title %}500 Server Error{% endblock %} {% block content %}
Oh dear, something has gone wrong with the server. Don't worry, our geeks in the backroom have already received email, twitter and facebook alerts, and are sorting it out right now. Please try checking back in a moment, or start again.


Jonas Brothers and Lil Nas X among the stars reacting to their Grammy nods
The Jonas Brothers have shared their excitement over their first Grammy nomination since 2009 with a video featuring a screaming Sophie Turner.
The newly-reunited group picked up a nod for best pop duo/group performance for their comeback single Sucker.
It is their first Grammy nomination since they were shortlisted for the best new artist prize in 2009, when they lost out to Adele.
Kevin Jonas shared a video of the family finding out about the nomination together as they gather around his laptop, and Turner, the wife of Joe Jonas, can be seen shrieking when she hears the news.
He wrote: “Thank you everyone for making this year possible!! From no music a year ago to @RecordingAcad #grammy nomination today! Incredible!!!!”
Joe just wrote: “Ah!” with the screaming skull emoji, while their brother Nick wrote: “We’re Grammy nominated.”
Lil Nas X, who landed six nominations, simply tweeted “NO F****** WAY,” and retweeted the Twitter Music post: “Grammy-nominated Lil Nas X.”
Tove Lo, who is nominated for best music video for Glad He’s Gone, shared a video of her waking up and learning the news and bursting into tears.
She wrote: “‘Wake up and look at your phone’. ‘Fiiiine’. #GLADHESGONE is GRAMMY NOMINATED for BEST MUSIC VIDEO!!!! Thank you @recordingacademy #grammys2020 TEAM WE DID IT.”
Meanwhile James Blake, who is nominated for best alternative music album for Assume Form, wrote: “Oiiiiii thankyou for the Grammy nomination. This means a lot! #assumeform Love all of you”
His girlfriend Jameela Jamil added: “My absolute dream of a boyfriend was just nominated for a GRAMMY for his album Assume Form! Congrats @jamesblake.”
Ariana Grande, who is recognised for record of the year for 7 Rings, album of the year and best pop vocal album for Thank U, Next, best pop solo performance for 7 Rings and best pop duo/group performance for Boyfriend with Social House, simply wrote: “oh wow oh wow.”
The Grammys will be handed out in Los Angeles on January 26.


living well @ the library has a good list of local services and organisations and interesting things happening near to you. But we don’t have everything! Maybe you can help. If you know of a group or organisation or service that doesn’t appear in our search results please tell us about it and we’ll include it if we think it’s useful. Just tell us a few details and we’ll get onto it.
Or
Maybe you’ve got a suggestion for how local services could work better - or even an idea for a new service? If so, let us know and we’ll pass it on to people that we think could help.
Thanks!


§145-11 Nuisance may be enjoined, abated. Violation of this chapter is declared a public nuisance and may be enjoined or abated in like manner as other public nuisances. [L 1951, c 74, pt of §1; RL 1955, §23-11; HRS §145-11]
Rules of Court
Injunction, see HRCP rule 65.


Chief Guard Mouen:
Hey, there you are! How are you doing? We're very pleased with how you handled that matter with the investigators. Might not have done it without you. Thanks!
(This quest is complete.)


News story
Outlines what needs to be done to create the digital skills qualifications for the future that meet the needs of learners and employers.
In response to a request from the Skills Minister Nick Boles and Minister for Culture and the Digital Economy Ed Vaizey, the Skills Funding Agency (SFA) conducted a review of publicly funded digital skills in further education .
The review looked at how relevant and up to date the qualifications the SFA currently funds are, both in terms of responding to technological change and building a meaningful ladder of progression from basic digital skills through to the advanced and specialist skills needed for the growing number of digital roles across the economy.
The review , which took place alongside other reviews of digital skills provision in higher education and broader technical and professional education reform, has made 6 recommendations, each outlining what needs to be done to enhance digital skills qualifications in the future, and enable individuals to progress.
consistency of language - the terminology everyone uses must be consistent, a shared language is needed that signals the meaning, relevance and importance of digital skills for individuals and industry
setting the standards - clear standards are needed to support the different stages of digital skills development
putting the basics in place - digital literacy must be given the same level of importance as numeracy and literacy, with the right opportunities and provision to enable individuals to achieve a basic level of digital literacy
integrating the general skills the workforce need - general digital skills must integrate within all the technical and professional routes to employment, so that they can meet the needs of a broad workforce
progression to advanced and specialist digital skills - a digital technical and professional route should be created to provide clear progression to high-level digital skills and jobs
completing the jigsaw - the government must consider how to bring together the findings of this and other reviews to deliver a coherent flow of relevant digital skills for the UK economy
The report’s recommendations provide an opportunity to ensure that provision is relevant, up to date and meeting the digital skills needs of individuals and employers. The recommendations have been designed to support the reforms to technical and professional education, which are currently under way. The reforms are focusing on simplifying the system, working in direct partnership with employers to ensure that they are meeting the needs of the 21st century.
The Department for Business, Innovation and Skills, Department for Culture, Media and Sport and the SFA will work together to consider how the recommendations can be taken forward to ensure digital skills provision is meeting the needs of industry.
For more information read the full review .
Published: 9 February 2016


Download app for experiencing the >Split-Mate<
only for Android
Home Page
This is a formal look of the home page of our app.
Create Page
This is a formal look of the creating bills function of our app.
Calendar Page
This is a formal look of the calandar feature of our app. This helps the users keep track of their bill records.
Share Page
This is a special feature in our app that helps the users share data with their friends and other mates with whom they are splitting the bill with.


datalake.Rmd
library(virtuoso)
library(rdftools) # for write_nquads
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
We start up our Virtuoso server, wait for it to come up, and then connect:
myserver <- vos_start()
#> PROCESS 'virtuoso-t', running, pid 45441.
#> Server is now starting up, this may take a few seconds...
#> Warning in is.na(p): is.na() applied to non-(list or vector) of type
#> 'environment'
#> Warning in if (is.na(p)) p <- vos_process(p): the condition has length > 1
#> and only the first element will be used
#> latest log entry: 22:11:08 Server online at 1111 (pid 45441)
Sys.sleep(5)
con <- vos_connect()
We can represent any data as RDF with a little care. For instance, consider the nycflights13
data. First, we must represent any primary or foreign keys in any table must be as URIs and not literal integers or strings:
uri_flights <- flights %>%
mutate(tailnum = paste0("planes:", tailnum),
carrier = paste0("airlines:", carrier))
We write the data.frame
s out as nquads. Recall that each cell of a data.frame
can be represented as a triple, in which the column is the predicate, the primary key (or row number) the subject, and the cell value the object. We turn column names and primary keys into URIs using a prefix based on the table name. (Note that rdflib
does this conversion by merely munging cells and calling write.table
, it is not a standard redland
library transform).
write_nquads(airlines, "airlines.nq", key = "carrier", prefix = "airlines:")
write_nquads(planes, "planes.nq", key = "tailnum", prefix = "planes:")
write_nquads(uri_flights, "flights.nq", prefix = "flights:")
We’re ready to import all these triples. This may take a few minutes:
system.time(
vos_import(con, c("flights.nq", "planes.nq", "airlines.nq"))
)
#> user system elapsed
#> 0.013 0.001 173.055
The data from all three tables is now reduced into a single triplestore graph, one triple for each data point. Rather than joining tables, we can write SPARQL query that names the columns we want.
query <-
'SELECT ?carrier ?name ?manufacturer ?model ?dep_delay
WHERE {
?flight <flights:tailnum> ?tailnum .
?flight <flights:carrier> ?carrier .
?flight <flights:dep_delay> ?dep_delay .
?tailnum <planes:manufacturer> ?manufacturer .
?tailnum <planes:model> ?model .
?carrier <airlines:name> ?name
}'
system.time(
df <- vos_query(con, query)
)
#> user system elapsed
#> 3.951 0.523 23.642
head(df)
#> carrier name manufacturer model
#> 1 airlines:EV ExpressJet Airlines Inc. EMBRAER EMB-145XR
#> 2 airlines:EV ExpressJet Airlines Inc. EMBRAER EMB-145LR
#> 3 airlines:EV ExpressJet Airlines Inc. EMBRAER EMB-145LR
#> 4 airlines:US US Airways Inc. AIRBUS INDUSTRIE A320-214
#> 5 airlines:EV ExpressJet Airlines Inc. EMBRAER EMB-145XR
#> 6 airlines:EV ExpressJet Airlines Inc. EMBRAER EMB-145XR
#> dep_delay
#> 1 11
#> 2 14
#> 3 -6
#> 4 -3
#> 5 -2
#> 6 -4
Transform JSON (or list data) into triples. In this case, we have a large JSON blob (or R list) containing metadata on all rOpenSci packages:
x <- jsonlite::read_json("https://raw.githubusercontent.com/ropensci/roregistry/ex/codemeta.json")
write_nquads(x, "ropensci.nq", prefix = "http://schema.org/")
And bulk-import
Find all packages where “Carl Boettiger” is an “author”, and return: package name, license, and co-author surnames:
query <-
"PREFIX schema: <http://schema.org/>
SELECT DISTINCT ?package ?license ?coauthor
WHERE {
?s schema:identifier ?package ;
schema:author ?author ;
schema:license ?license ;
schema:name ?name ;
schema:author ?coauth .
?author schema:givenName 'Carl' .
?author schema:familyName 'Boettiger' .
?coauth schema:familyName ?coauthor
}"
vos_query(con, query) %>%
as_tibble() %>%
mutate(license = basename(license)) # Tidy up URIs into names
#> # A tibble: 43 x 3
#> package license coauthor
#> <chr> <chr> <chr>
#> 1 rfigshare CC0-1.0 Hart
#> 2 RNeXML BSD-3-Clause Lapp
#> 3 RNeXML BSD-3-Clause Vos
#> 4 rfigshare CC0-1.0 Ram
#> 5 RNeXML BSD-3-Clause Boettiger
#> 6 arkdb MIT Boettiger
#> 7 codemetar GPL-3.0 Boettiger
#> 8 piggyback GPL-3.0 Boettiger
#> 9 rdflib MIT Boettiger
#> 10 rdryad MIT Boettiger
#> # ... with 33 more rows
query <-
rdftools:::sparql_op() %>%
rdftools:::select("identifier", "license", prefix = "http://schema.org/") %>%
rdftools:::filter(author.familyName == "Boettiger",
author.givenName == "Carl",
prefix = "http://schema.org/") %>%
rdftools:::sparql_build()
vos_query(con, query)
#> identifier license familyName
#> 1 RNeXML https://spdx.org/licenses/BSD-3-Clause <NA>
#> 2 arkdb https://spdx.org/licenses/MIT <NA>
#> 3 codemetar https://spdx.org/licenses/GPL-3.0 <NA>
#> 4 EML https://spdx.org/licenses/BSD-2-Clause-FreeBSD <NA>
#> 5 datasauce https://spdx.org/licenses/MIT <NA>
#> 6 piggyback https://spdx.org/licenses/GPL-3.0 <NA>
#> 7 rcrossref https://spdx.org/licenses/MIT <NA>
#> 8 rdflib https://spdx.org/licenses/MIT <NA>
#> 9 rdryad https://spdx.org/licenses/MIT <NA>
#> 10 rfigshare https://spdx.org/licenses/CC0-1.0 <NA>
#> 11 rfishbase https://spdx.org/licenses/CC0-1.0 <NA>
#> 12 rfisheries https://spdx.org/licenses/MIT <NA>
#> 13 rgpdd https://spdx.org/licenses/CC0-1.0 <NA>
#> 14 rplos https://spdx.org/licenses/MIT <NA>
#> 15 taxview https://spdx.org/licenses/MIT <NA>
#> 16 treebase https://spdx.org/licenses/CC0-1.0 <NA>
#> givenName
#> 1 <NA>
#> 2 <NA>
#> 3 <NA>
#> 4 <NA>
#> 5 <NA>
#> 6 <NA>
#> 7 <NA>
#> 8 <NA>
#> 9 <NA>
#> 10 <NA>
#> 11 <NA>
#> 12 <NA>
#> 13 <NA>
#> 14 <NA>
#> 15 <NA>
#> 16 <NA>


Toggle navigation
STAR FACTORY
MEDIA
FEATURES
A real time space simulation game.
FEATURES:
Control the growth of stars by using the chemical elements they are made of.
Change the orbit of planets by sending meteors at them and keep the system in harmony.
Eye-Candy graphics, viewpoints and soundtrack ensure a pleaseant and immersive experience.
Progressing through levels will also teach you new facts about the universe and how it is formed.
Objective based scenarios offer different play choices on each level.


Non-negative Matrix Factorization is a dimensionality reduction approach that is growing in popularity in the bioinformatics community. Because it is a matrix factorization approach, it, like PCA, is a linear method and in this sense the results can be used to naturally cluster data.
The gist of NMF is as follows: given a (non-square) matrix $X$, find two matrices $W$ and $H$ such that their product minimizes the squared error, $||X - WH||_F^2$. If $X$ has dimensions $m \times n$, then it follows that $W$ must have dimensions $m \times k$ and $H$ must have dimensions $k \times m$. Thus, our algorithm must minimize the squared error for a given $k$ (which is to be specified by the user).
How do we perform such a factorization? One method is to initialize $W$ and $H$ randomly, then perform gradient descent on $W$ and on $H$. In other words, we would like to calculate: $$ \nabla_W e = \nabla_W ||X - WH||_F^2 = \nabla_W Tr[(X^T - H^TW^T)\cdot(X - WH)]. $$
At this point, I admit ignorance as to how the gradient operation is performed for a matrix. I understand gradients of a vector, but my matrix calculus is rusty, if ever I learned it. At any rate, the gradients can be written in a simple form: $$ \nabla_W e = -XH^T + WHH^T, $$ and $$ \nabla_H e = -W^TX + W^T WH. $$
We can update the matrix $H$ as follows: $$ H_{ij} \leftarrow H_{ij} + \mu_{ij} \nabla_W e. $$
We can choose $\mu_{ij}$, the learning rate, in such a way that this updating requires multiplication of a single term, without addition,
$$ \mu_{ij} = - H_{ij} \frac{(-W^T X)_{ij}}{(W^TWH)_{ij}}. $$In this case, the updated $H_{ij}$ becomes $$ H_{ij} \leftarrow H_{ij} \frac{(W^T X)_{ij}}{(W^TWH)}, $$ and we can derive updates for $W_ij$ analogously: $$ W_{ij} \leftarrow W_{ij} \frac{(XH^T)_{ij}}{(WHH^T)_{ij}} $$
The thing I find nice about this method is that the above equations are interpretable. For example, $W^TX$ can be viewed as a "reconstructed" $\hat{H}$. $W^TWH$ aims to represent the expected $W^T \widetilde{X}$, which is an "expected" $\widetilde{H}$. For $H_{ij}$ says that if "reconstructed" $\hat{H}_{ij}$ is smaller than the "expected" $\widetilde{H_{ij}}$, then the current entry $H_{ij}$ is currently too large and yields a bloated representation of $X$, so it should be shrunk.
The updating rule for $W_{ij}$ is analogous. The numerator calculates a reconstructed $W_{ij}$, whereas the denominator calculates a low-dimensional $\widetilde{X}$ and subsequently from this it calculates an "expected $\widetilde{W}_{ij}$. If the expected number is larger than the reconstructed number, then the current entry must be shrunk. Otherwise, it must be made larger.
In the code below, I implement a simple version of NMF, generate some fake data from five different clusters and use NMF to find $k$ clusters in the data, varying $k$.
import pandas as pd
import numpy as np
import scipy as scipy
from sklearn.decomposition import PCA
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import altair as alt
from matplotlib import rc
# plotting settings
rc('text', usetex=True)
rc('text.latex', preamble=r'\usepackage{cmbright}')
rc('font', **{'family': 'sans-serif', 'sans-serif': ['Helvetica']})
%matplotlib inline
# This enables SVG graphics inline.
%config InlineBackend.figure_formats = {'png', 'retina'}
# JB's favorite Seaborn settings for notebooks
rc = {'lines.linewidth': 2,
'axes.labelsize': 18,
'axes.titlesize': 18,
'axes.facecolor': 'DFDFE5'}
sns.set_context('notebook', rc=rc)
sns.set_style("dark")
# more parameters
mpl.rcParams['xtick.labelsize'] = 16
mpl.rcParams['ytick.labelsize'] = 16
mpl.rcParams['legend.fontsize'] = 14
Here, I will generate some fake data. To do this, I will, at random, generate $k$ vectors for which each coordinate can vary uniformly between 0 and 1. Then, I will at random generate $n$ samples. Each sample will choose a cluster to belong to at random. Next, I add gaussian noise to the samples, where the standard deviation of the noise at the $kth$ coordinate is equal to the cluster coordinate.
dims = 1000 # dimensionality of the measurements
n = 5000 # number of points
components = 5 # number of components to generate data from
sigma = 3 # perplexity, lol
# generate ``component`` vectors to sample from
mu = np.random.uniform(0, 1, (dims, components))
# fake data
X = np.empty((n, dims))
clusters = np.empty(n)
for i in np.arange(n):
# pick a gaussian vector at random:
component = np.random.choice(components, 1)
mu_i = mu[:, component]
# generate noise in a poissonian fashion
noise = np.random.normal(0, mu_i)
# add to generate observation
obs = mu_i + noise
obs[obs < 0] = 0
# store
X[i, :] = obs[:,0]
clusters[i] = component
def plot_clusters(coords, n_clusters=4, cluster=np.array([]),
colorV=np.array([]), ax=None, **kwargs):
"""
Given a set of 2D coordinates, plot them in a single axes.
Params:
-------
coords - 2D coordinates
n_clusters -- number of clusters
colorV -- coloring for each cluster
ax -- provide an axis to plot into
**kwargs -- arguments for the ax.scatter function
Output:
------
ax - a matplotlib axis
"""
if not ax:
fig, ax = plt.subplots()
# go through each cluster
for i in np.arange(n_clusters):
# select the points in cluster i
x = coords[cluster == i, 0]
y = coords[cluster == i, 1]
# color the points according to the cluster color, or
# just go with the default seaborn color succession
if len(colorV):
color = colorV[cluster == i]
ax.scatter(x, y, label='Cluster {0}'.format(i), c=color, **kwargs)
else:
ax.scatter(x, y, label='Cluster {0}'.format(i), **kwargs)
# return
if not ax:
return fig, ax
else:
return None, ax
In the code below, I use the scikit.decomposition.PCA function on the data. The first two components separate the clusters quite nicely, even though they don't seem to explain very much of the variance.
# normalize and pca
normX = (X - X.mean(axis=0))/X.std(axis=0)
pca = PCA(10)
coords = pca.fit_transform(X)
# plot
fig, ax = plt.subplots(figsize=(8, 8))
ax = plot_clusters(coords, n_clusters=components, cluster=clusters,
alpha=0.15, s=30, ax=ax)
_ = plt.xlabel('PC1')
_ = plt.ylabel('PC2')
plt.plot(100*pca.explained_variance_ratio_, 'o')
plt.axvline(components-1, ls='--', color='red',
label='Components - 1')
_ = plt.legend()
_ = plt.xlabel('eigenvalue number')
_ = plt.ylabel(r'\% explained')
The NMF algorithm occurs in two steps that resemble the Expectation-Maximization algorithm. Here, I code up those steps, and time them.
def update_H(W, H, X):
"""
Update the H matrix based on the multiplicative method by Lee and Seung.
Params:
-------
W, H: NMF matrices
X: Data matrix
Output:
-------
newH: Updated H
"""
# initialize a new H
newH = np.empty(H.shape)
# calculate W.T * X (matrix multiply)
N = np.dot(W.transpose(), X)
# calculate W.T * W * H (matrix multiply)
D = np.dot(np.dot(W.transpose(), W), H)
# calculate H*N/D by element-wise multiplication
newH = np.multiply(H, np.multiply(N, 1/D))
return newH
%timeit update_H(W, H, X)
def update_W(W, H, X):
"""
Update the W matrix based on the multiplicative method by Lee and Seung.
Params:
-------
W, H: NMF matrices
X: Data matrix
Output:
-------
newH: Updated H
"""
# initialize a new W
newW = np.empty(W.shape)
N = X.dot(H.T)
D = W.dot(H).dot(H.T)
# element-wise multiply
newW = np.multiply(W, np.multiply(N, 1/D))
return newW
%timeit update_W(W, H, X)
Let's try running our NMF algorithm! It's not super-fast, but it's not bad for being implemented in about 10 lines of code. Let's guess there are $K=4$ clusters in the data and see what this looks like.
def run_nmf(k, X, iters=100, verbose=True):
"""
A function to perform NMF using Lee and Seung's multiplicative method.
Params:
------
k: Number of clusters, integer
X: Data column, rows are observations, 2D numpy array or matrix
iters: Number of iterations to perform, integer
verbose: If true, prints the percent error rate every 10th iteration
Output:
W: The measurement by cluster matrix
H: The cluster by genes matrix
error: An array with the percent error at each iteration
"""
# normalize X
X = X/X.std(axis=0)
# if X has any negative entries, stop:
if (X < 0).any():
raise ValueError('X must be non-negative.')
n, dims = X.shape
# initialize W, the measurement by cluster matrix
W = np.random.uniform(0, 1, (n, k))
# initialize H, the cluster by genes matrix
H = np.random.uniform(0, 1, (k, dims))
# initialize a vector to store errors
error = np.empty(iters)
# iteratively update W and H
for i in np.arange(iters):
H = update_H(W, H, X)
W = update_W(W, H, X)
e = np.sqrt(np.sum((X - W.dot(H))**2))
e_rel = e/np.sqrt(np.sum(X**2))
error[i] = e_rel
if not verbose:
continue
if i % 10 == 0:
print('error is {0:.2f}'.format(e_rel))
return W, H, error
k = 4
W, H, error = run_nmf(k, X)
OK! We ran the algorithm for 100 iterations, and it seems to have converged fairly quickly. We can take a look at the percent error just to make sure:
plt.plot(error)
plt.xlabel('iterations')
plt.ylabel('relative error')
Another thing we can do is take a look at the W matrix, which encodes the cluster-to-sample mapping.
# plot what data points belong to what clusters
sns.clustermap(W)
Clearly, 4 clusters can separate the samples well. Curiously, there are some "cells" at the bottom right of the heatmap that look like they are expressing gene patterns that are intermediate levels of the gene regulatory networks that are expressed by the two parents. Note: Running the algorithm again results in slightly different answers, a sure indication that we are running into local, not absolute, minima, and that there are many of them. Fortunately, the clusters all look about the same size, and of similar intensity (save for a couple).
But wait. There were no parents. Those three clusters are not related, biologically or otherwise, in any way! What is going on? To figure it out, let's return to the PCA plot. This time, we will generate a PCA plot that is colored with a given column from the $W$ matrix. Let's see what we can find out.
k=4
def plot_pca_by_color(k, W):
# plot pca, coloring by the log of the weight values
fig, ax = plt.subplots(ncols=k, figsize=(5*k, 5))
for i, axis in enumerate(ax):
axis = plot_clusters(coords, n_clusters=components, cluster=clusters,
colorV=np.log(W[:, i]),
cmap='PiYG', alpha=0.15, s=30, ax=axis)
_ = ax[i].set_xlabel('PC1, $W_{0}$'.format(i))
_ = ax[0].set_ylabel('PC2')
return fig, ax
plot_pca_by_color(k, W)
It looks like two clusters just so happen to be aligned along PC2, suggesting that if we add the PC2 coordinates of the two polar clusters, we could get the one in the middle almost right. And sure enough, components $W_1$ and $W_2$ seem to be polarized along PC2 (kind of), so it may be that this is what the machine is picking up on. Interestingly, the two components are polarized in opposite ways.
The next thing I would like to know is the distribution of weights for the $W$ matrix. I'm not interested in plotting column by column, so I'm going to reshape the matrix into an array and plot that instead.
sns.distplot(W.reshape(k*n, 1))
_ = plt.xlabel('Cluster weightings for samples')
The distribution is almost bimodal, with a possible third peak in between. So, most of the weights are close to zero, a few are pretty high, and some are undecided.
In this case, let's set the cluster number to 5, which coincidentally is the same number of clusters we generated the data from. We should expect to see very clean separation.
k = 5
W, H, error = run_nmf(5, X)
plt.plot(error)
_ = plt.xlabel('iterations')
_ = plt.ylabel('relative error')
# plot what data points belong to what clusters
sns.clustermap(W)
plot_pca_by_color(k, W)
Let's plot the distribution of weight values again.
sns.distplot(W.reshape(k*n, 1))
_ = plt.xlabel('Cluster weightings for samples')
This time, the distribution is bimodal, and the two are very well separated! Nothing in between.
Setting the cluster to 5 is clearly the right thing to do. But what happens if we ask the algorithm to find many more clusters? What will they look like?
k = 15
W, H, error = run_nmf(k, X)
plt.plot(error)
_ = plt.xlabel('iterations')
_ = plt.ylabel('relative error')
# plot what data points belong to what clusters
sns.clustermap(W)
sns.distplot(W.reshape(k*n, 1))
_ = plt.xlabel('Cluster weightings for samples')
Plotting the distribution again shows the bimodal distribution has disappeared, and is replaced by a curve with a long tail.
errors = np.empty(19)
for k in np.arange(1, 20):
W, H, error = run_nmf(k, X, iters=40, verbose=False)
errors[k-1] = error[-1]
if k % 20 == 0:
print('{0}th iteration finished'.format(k))
plt.plot(errors, 'o', ms=7)
_ = plt.xlabel('Cluster Number, $k$')
_ = plt.ylabel(r'\% error')


fish fence fences species coral reef use gear fisheries fishing used effort total {border-style artisanal catch length local px;} #ffffff;} data study management marine reefs tropical habitat surveys catches size using Ecol. Nature connectivity ecological social visual (Fig. fishers impacts seagrass Fish Mar. Sci. conservation economic impact individual proportion recorded (). Kaledupa [], caught community ecosystems fishery high Marine Supplementary ecosystem large nature number Biol. Coral Research Science approach based day juveniles loss px; {font-family Conserv. National Unsworth coastal communities example, font-size habitats individuals intensive low mangrove mesh natural regular single sustainability types = ., ./nature . ± .% Artisanal Earth Environ. Fig. However, Indo-Pacific Indonesia Pacific RKF Smith Wakatobi areas barrier central conflict direct double; end extent footprint future grid.. human including juvenile location long mean monitoring open-access required semi-permanent showing small-scale spatial typically widespread . ± . Data Lett. Park, University, assemblages border-color border-width capital case climate combined create disrupt fences, fishes increased interviews known lack likely long-term main multiple numbers observed overall overfishing owners present provide published research resilience rights significant similar small solid; species, spine structure threats understanding values {font-style {font-weight −), (see ./meps ./s--- ./science. . km . ± . kg Cinner Commons Conservation Considering Creative Cullen-Unsworth Fish. Fisheries Island, LINK Prog. Ser. adjacent analysis available average barriers benefit benthic bold ca. census change compared corresponding countries courier; decline em; estimate fences. fisheries, fisheries. gears governance household identify important increase increases increasing interviewed investment island literature locally locally, locations mature new owing performed physical point potential property provided pt;} range removal remove reported restrictions showed shown stakeholder status time use, use. vital wood years cm


??????O
1
?
?
?
?
[cm
2
3
4
5
6
7
8
9
10
copyright
reserved
The
New
York
Botanical
Garden
'
r
.¥
.
?:
NEW
YORK
BOTANICAL
GARDEN
01497769
Y
£W
O
BOTANICAL
EN
R
D
Forestiera
segregata
(Jacq.)
Krug
5
Urban
Pine
Cay:
in
coppice
above
lake
on
south
end,
Tall
shrub
2.5
m
tall;
flowers
green-yellow.
August
27,
1974
D.
S.
Correli
43219
Herbarium
FAIRCHILD
TROPICAL
GARDEN
Caicos
Islands:
Pine
Cay
01497769
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


public class BidHistory
extends java.lang.Object
implements java.io.Serializable
| Constructor and Description |
|---|
BidHistory()
Creates an empty bid history.
|
BidHistory(java.util.List<BidDetails> bids)
Creates a bid history given an array of bids offered by the negotiation
agent.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(BidDetails bid)
Add an offered bid o the history.
|
BidHistory |
discountedFilterBetween(double minU,
double maxU,
double minT,
double maxT,
AbstractUtilitySpace utilSpace)
Returns the set of bids offered between time instances t1 and t2: (t1,
t2] and with a utility in (u1, u2].
|
BidHistory |
filterBetween(double minU,
double maxU,
double minT,
double maxT)
Returns the set of bids offered between time instances t1 and t2: (t1,
t2] and with a utility in (u1, u2].
|
BidHistory |
filterBetweenTime(double t1,
double t2)
Returns the set of bids offered between time instances t1 and t2: (t1,
t2].
|
BidHistory |
filterBetweenUtility(double minU,
double maxU)
Returns the set of bids with a utility of at least u1 and at most u2:
(u1, u2].
|
BidHistory |
filterUtility(double u)
Returns the set of bids with utility u.
|
double |
getAverageDiscountedUtility(AbstractUtilitySpace utilSpace) |
double |
getAverageUtility() |
BidDetails |
getBestBidDetails()
Returns the bid with the highest utility stored in the history.
|
BidDetails |
getBestDiscountedBidDetails(AbstractUtilitySpace util)
Returns the bid with the highest discounted utility stored in the
history.
|
BidDetails |
getFirstBidDetails()
Returns the first bid stored in the history
|
java.util.List<BidDetails> |
getHistory()
Returns the full history.
|
Bid |
getLastBid()
Returns the last bid added to the history.
|
BidDetails |
getLastBidDetails()
Returns the last bid details added to the history.
|
BidDetails |
getMedianUtilityBid() |
java.util.List<BidDetails> |
getNBestBids(int count)
Returns a list of the top N bids which the opponent has offered.
|
BidDetails |
getRandom() |
BidDetails |
getRandom(java.util.Random rand) |
BidDetails |
getWorstBidDetails()
Returns the bid with the lowest utility stored in the history.
|
boolean |
isEmpty()
Checks if BidHistory (array) is empty or not.
|
int |
size() |
BidHistory |
sortToTime()
Sorts the bids contained in this BidHistory object on time.
|
BidHistory |
sortToUtility()
Sorts the bids contained in this BidHistory object on utility.
|
public BidHistory(java.util.List<BidDetails> bids)
bids
- public BidHistory()
public BidHistory filterBetweenTime(double t1, double t2)
t1
- t2
- public BidHistory filterBetweenUtility(double minU, double maxU)
minU
- minimum utility.maxU
- maximum utility.public BidHistory filterBetween(double minU, double maxU, double minT, double maxT)
minU
- minimum utility.maxU
- maximum utility.minT
- minimum time.maxT
- maximum time.public BidHistory filterUtility(double u)
u
- utility.public BidHistory discountedFilterBetween(double minU, double maxU, double minT, double maxT, AbstractUtilitySpace utilSpace)
minU
- minimum discounted utility.maxU
- maximum discounted utility.minT
- minimum time.maxT
- maximum time.utilSpace
- preference profile used to find the discounted utility.public void add(BidDetails bid)
bid
- offered bid.public java.util.List<BidDetails> getHistory()
public BidDetails getLastBidDetails()
public Bid getLastBid()
public BidDetails getFirstBidDetails()
public BidDetails getBestBidDetails()
public BidDetails getBestDiscountedBidDetails(AbstractUtilitySpace util)
util
- preference profile used to determine the discounted utility of
a bid.public BidDetails getWorstBidDetails()
public java.util.List<BidDetails> getNBestBids(int count)
count
- amount of N best bids.public int size()
public double getAverageUtility()
public double getAverageDiscountedUtility(AbstractUtilitySpace utilSpace)
utilSpace
- preference profile used to determine the discounted utility of
a bid.public BidHistory sortToUtility()
public BidHistory sortToTime()
public BidDetails getRandom()
public BidDetails getRandom(java.util.Random rand)
rand
- random generator.public boolean isEmpty()
public BidDetails getMedianUtilityBid()