https://wiki.thalesians.com/index.php?title=Special:NewPages&feed=atom&limit=50&offset=&namespace=0&username=&tagfilter=&size-mode=max&size=0Thalesians Wiki - New pages [en]2024-03-29T09:17:19ZFrom Thalesians WikiMediaWiki 1.37.1https://wiki.thalesians.com/index.php/Programming/R/Debugging_R_packages_written_in_CPPProgramming/R/Debugging R packages written in CPP2023-12-24T15:22:29Z<p>Admin: Created page with "=Debugging R packages written in C++= Suppose you are faced with an R package, the bulk of which is written in C++. Such a package may be monolithic, and without looking at the C++ code it may be difficult to figure out what’s going on. The R package "specs" (https://github.com/wijler/specs/) is an example of such a package. First, a word of warning: don’t try to compile this code using Visual Studio. You will run into all sorts of compatibility issues with R head..."</p>
<hr />
<div>=Debugging R packages written in C++=<br />
<br />
Suppose you are faced with an R package, the bulk of which is written in C++. Such a package may be monolithic, and without looking at the C++ code it may be difficult to figure out what’s going on.<br />
<br />
The R package "specs" (https://github.com/wijler/specs/) is an example of such a package.<br />
<br />
First, a word of warning: don’t try to compile this code using Visual Studio. You will run into all sorts of compatibility issues with R headers and libraries and can potentially waste quite a bit of time. This approach is therefore not recommended.<br />
<br />
This is what we are going to do instead. First, we are going to fork the R package, thus obtaining https://github.com/sydx/specs/ (sydx is my GitHub username).<br />
<br />
Next, we are going to install this package into R, from GitHub. For this we can either use the R package "pak" or the R package "devtools". We will go for the more standard "devtools".<br />
It turns out it’s not a trivial task to install "devtools" itself, even on a new AWS instance with a clean Ubuntu installation. "devtools" has various prerequisites and we can get stuck at several steps. Let us consider these prerequisites and what can go wrong during their installation.<br />
<br />
<pre><br />
install.packages("openssl")<br />
</pre><br />
<br />
You may get the error message<br />
<pre><br />
-------------------------- [ERROR MESSAGE] ---------------------------<br />
tools/version.c:1:10: fatal error: openssl/opensslv.h: No such file or directory<br />
1 | #include <openssl/opensslv.h><br />
| ^~~~~~~~~~~~~~~~~~~~<br />
compilation terminated.<br />
--------------------------------------------------------------------<br />
</pre><br />
This is solved with<br />
<pre><br />
sudo apt-get install libssl-dev<br />
</pre><br />
Next prerequisite:<br />
<pre><br />
install.packages("curl")<br />
</pre><br />
You may get the error message<br />
<pre><br />
-------------------------- [ERROR MESSAGE] ---------------------------<br />
<stdin>:1:10: fatal error: curl/curl.h: No such file or directory<br />
compilation terminated.<br />
--------------------------------------------------------------------<br />
</pre><br />
This is solved with<br />
<pre><br />
sudo apt-get install libcurl4-openssl-dev<br />
</pre><br />
Next prerequisite:<br />
install.packages("usethis")<br />
Next prerequisite:<br />
install.packages("systemfonts")<br />
You may get the error message<br />
<pre><br />
-------------------------- [ERROR MESSAGE] ---------------------------<br />
<stdin>:1:10: fatal error: fontconfig/fontconfig.h: No such file or directory<br />
compilation terminated.<br />
--------------------------------------------------------------------<br />
</pre><br />
This is solved with<br />
<pre><br />
sudo apt-get install libfontconfig1-dev<br />
</pre><br />
Next prerequisite:<br />
<pre><br />
install.packages("textshaping")<br />
</pre><br />
You may get the error message<br />
<pre><br />
-------------------------- [ERROR MESSAGE] ---------------------------<br />
<stdin>:1:10: fatal error: hb-ft.h: No such file or directory<br />
compilation terminated.<br />
--------------------------------------------------------------------<br />
</pre><br />
This is solved with<br />
<pre><br />
sudo apt-get install libharfbuzz-dev<br />
sudo apt-get install libfribidi-dev<br />
</pre><br />
Next prerequisite:<br />
<pre><br />
install.packages("ragg")<br />
</pre><br />
You may run into the error message<br />
<pre><br />
-------------------------- [ERROR MESSAGE] ---------------------------<br />
<stdin>:1:10: fatal error: ft2build.h: No such file or directory<br />
compilation terminated.<br />
--------------------------------------------------------------------<br />
</pre><br />
And a few other problems when installing this package. This is solved with<br />
<pre><br />
sudo apt-get install libfreetype6-dev<br />
sudo apt-get install libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev<br />
</pre><br />
and then installing a development version of this package from the source code repository using the R package "pak":<br />
<pre><br />
install.packages("pak")<br />
pak::pak("r-lib/ragg")<br />
</pre><br />
(In fact, at this point, we could have installed our R package of interest, "specs", using "pak", but we decided to still install it using "devtools".)<br />
<br />
Next prerequisites:<br />
<pre><br />
install.packages("pkgdown")<br />
install.packages("rcmdcheck")<br />
install.packages("rversions")<br />
install.packages("urlchecker")<br />
</pre><br />
Finally, we can install "devtools" itself:<br />
<pre><br />
install.packages("devtools")<br />
</pre><br />
Using "devtools", we install the "specs" package from our forked repository:<br />
<pre><br />
library("devtools")<br />
devtools::install_github("sydx/specs")<br />
</pre><br />
We can then load this package and work with it in R as usual:<br />
<pre><br />
library(specs)<br />
unemployment <- Unempl_GT[,1] #Extract the Dutch unemployment levels (x1,000)<br />
GT <- Unempl_GT[,2:11] #Select the first ten Google Trends<br />
my_specs <- specs(unemployment,GT,p=1) #Estimate specs<br />
my_coefs <- my_specs$gammas #store the coefficients<br />
y_d <- my_specs$y_d #Transformed dependent variable<br />
z_l <- my_specs$v #Transformed independent variables<br />
</pre><br />
This package does not provide much in terms of diagnostics, so we are going to add some debug output to the package source, which is in C++. First,<br />
<pre><br />
remove.packages('specs')<br />
</pre><br />
From shell, we<br />
<pre><br />
cd ~<br />
mkdir dev<br />
cd dev<br />
git clone git@github.com:sydx/specs.git<br />
</pre><br />
(Make sure that we have the correct SSH keys on GitHub and on our operating system – see https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)<br />
<br />
Now<br />
<pre><br />
cd specs/src<br />
</pre><br />
and<br />
<pre><br />
vim specs.cpp<br />
</pre><br />
(Of course, if you prefer emacs, use emacs, etc.) To the top of the file, add<br />
<pre><br />
#include <iostream><br />
</pre><br />
To the beginning of the body of the specs_rcpp function, add<br />
<pre><br />
std::cout << "In specs_rcpp..." << std::endl;<br />
</pre><br />
Now<br />
<pre><br />
git add specs.cpp<br />
git commit -m "Added some debug output."<br />
git push<br />
</pre><br />
Next time you go back to R<br />
<pre><br />
library("devtools")<br />
devtools::install_github("sydx/specs")<br />
</pre><br />
and run the same R code, you will see the newly added debug output:<br />
<pre><br />
> library(specs)<br />
> unemployment <- Unempl_GT[,1] #Extract the Dutch unemployment levels (x1,000)<br />
GT <- Unempl_GT[,2:11] #Select the first ten Google Trends<br />
my_specs <- specs(unemployment,GT,p=1) #Estimate specs<br />
In specs_rcpp...<br />
</pre><br />
Now you can use debug output (or indeed attach a debugger, such as gdb) to understand what the package is doing step by step and relate these actions to the corresponding research paper.</div>Adminhttps://wiki.thalesians.com/index.php/Programming/Linux/Working_with_AWS_instancesProgramming/Linux/Working with AWS instances2023-12-14T22:34:05Z<p>Admin: </p>
<hr />
<div>=Elastic storage=<br />
<br />
Once you have changed the size of a volume using AWS's elastic storage, the changes won't be immediately reflected in<br />
<pre><br />
df -h<br />
</pre><br />
<br />
New volumes should be formatted to be accessible. Resized existing volumes should also be modified (resized) from inside the operating systems. A detailed discussion of these aspects can be found in<br />
* [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html|Making an Amazon EBS volume available for use on Linux]<br />
* [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html|Extending a Linux file system after resizing a volume]<br />
<br />
However, as a quick solution, run the following two commands, in the given order, after resizing a volume:<br />
<pre><br />
sudo growpart /dev/xvda 1<br />
sudo resize2fs /dev/xvda1<br />
</pre><br />
<br />
The volume size changes should then be reflected in<br />
<pre><br />
df -h<br />
</pre><br />
<br />
This information comes from [https://stackoverflow.com/questions/62146336/new-volume-in-ec2-instance-not-reflecting|this Stack Overflow post].</div>Adminhttps://wiki.thalesians.com/index.php/Programming/Git/Setting_up_development_environment_in_Git_BashProgramming/Git/Setting up development environment in Git Bash2023-11-25T14:45:56Z<p>Admin: </p>
<hr />
<div>'''Introduction'''<br />
<br />
If you are used to command line-based development, you may wish to set up your development environment within '''Git Bash''', an application for Microsoft Windows environments which provides an emulation layer for a Git command line experience. Bash is an acronym for Bourne Again Shell. A shell is a terminal application used to interface with an operating system through written commands.<br />
<br />
Git Bash is included as part of the [https://git-scm.com/download/win Git For Windows] package. Download and install Git For Windows like other Windows applications. Once downloaded, find the included .exe file and open to execute Git Bash.<br />
<br />
'''Installing Anaconda'''<br />
<br />
Next, you need to install the Anaconda Python distribution on your system. You can download it from [https://www.anaconda.com/download here]. Once installed, '''conda''' won't be immediately available within Git Bash. Go into the directory where you installed Anaconda, then<br />
<pre><br />
.../etc/profile.d/<br />
</pre><br />
in that directory you will find a file called '''conda.sh'''. Add it to the end of your '''~/.bashrc''' file:<br />
<pre><br />
echo ". ${PWD}/conda.sh" >> ~/.bashrc<br />
</pre><br />
If the path to '''conda.sh''' contains spaces, you should use instead<br />
<pre><br />
echo ". '${PWD}'/conda.sh" >> ~/.bashrc<br />
</pre><br />
<br />
Close and re-open Git Bash for the changes to take effect. You may see<br />
<pre><br />
WARNING: Found ~/.bashrc but no ~/bash_profile, ~/.bash_login or ~/.profile.<br />
<br />
This looks like an incorrect setup.<br />
A ~/.bash_profile that loads ~/.bashrc will be create for you.<br />
</pre><br />
<br />
That's not a problem.<br />
<br />
Let's create a '''conda''' environment called "development":<br />
<pre><br />
conda create --name development<br />
</pre><br />
<br />
We then need to init '''bash''',<br />
<pre><br />
conda init bash<br />
</pre><br />
close and reopen Git Bash, and activate the new conda environment:<br />
<pre><br />
conda activate development<br />
</pre><br />
<br />
Suppose we now want to do some C or C++ development. Let's install '''m2w64-gcc''':<br />
<pre><br />
conda install -c conda-forge m2w64-gcc<br />
</pre><br />
We can now run<br />
<pre><br />
gcc<br />
</pre><br />
and<br />
<pre><br />
g++<br />
</pre><br />
<br />
Perhaps we also want to develop in Fortran. In this case<br />
<pre><br />
conda install -c conda-forge m2w64-gcc-fortran<br />
</pre><br />
Then we can run<br />
<pre><br />
gfortran<br />
</pre><br />
<br />
It's also useful to have Make:<br />
<pre><br />
conda install -c conda-forge make<br />
</pre><br />
so we can run<br />
<pre><br />
make<br />
</pre><br />
<br />
Ninja:<br />
<pre><br />
conda install -c conda-forge ninja<br />
</pre><br />
so we can run<br />
<pre><br />
ninja<br />
</pre><br />
<br />
Finally, CMake:<br />
<pre><br />
conda install -c conda-forge cmake<br />
</pre><br />
so we can run<br />
<pre><br />
cmake<br />
</pre><br />
<br />
At this point it may be a good idea to install some advanced software development editors, such as Emacs or Vim. Vim is available as a '''conda''' package:<br />
<pre><br />
conda install -c conda-forge vim<br />
</pre><br />
<br />
Then you can run<br />
<pre><br />
vim<br />
</pre></div>Adminhttps://wiki.thalesians.com/index.php/Programming/GitProgramming/Git2023-11-25T14:41:30Z<p>Admin: Created page with "[https://git-scm.com/ Git] is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows."</p>
<hr />
<div>[https://git-scm.com/ Git] is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.</div>Adminhttps://wiki.thalesians.com/index.php/Locations/London_Marriott_Hotel_Canary_WharfLocations/London Marriott Hotel Canary Wharf2021-12-25T11:53:53Z<p>Admin: </p>
<hr />
<div>The '''London Marriott Hotel Canary Wharf''' (previously '''Marriott Hotel West India Quay''') is a hotel in Canary Wharf in London, England, that opened in 2004. It is located at 1 West India Quay, 22 Hertsmere Road, and is named after Canary Wharf, where it overlooks the West India Quay Marina. It is operated by Marriott Hotels, and has 301 rooms and 47 apartments.<br />
<br />
It is owned by the billionaire property developer John Christodoulou.<br />
<br />
In 2001, planning permission was gained by Squire and Partners for a slender landmark hotel tower conceived to act as a visual counterpoint to the monumental brick form of the adjacent Victorian warehouses in London's Docklands. Designed by HOK Group, Inc., its elliptical form is reminiscent of the curved hull of a boat. The building was completed in 2004.<br />
<br />
The bottom 12 floors of the 33-floor story building house the hotel, with 301 rooms on floors 1-8, and 47 serviced suites on floors 9-12. Facilities include the Manhattan Grill Restaurant, 19 event rooms, an executive lounge, a health club, and the G &amp; Tea Lounge with over 180 different gins.<br />
<br />
The hotel hosts an artist in residence programme, showing the work of contemporary artists including Lincoln Townley in 2015 and Julie Umerle in 2017.</div>Adminhttps://wiki.thalesians.com/index.php/Locations/City_University_ClubLocations/City University Club2021-12-23T09:48:12Z<p>Admin: Created page with "The '''City University Club''' is a gentlemen's club in the City of London, established in 1895. From its foundation until 2018 it operated from the top three floors of 50 Cornhill, of what was Prescott's Bank, a 1766 private bank which became a branch of part of the NatWest banking group. This arrangement was quite specifically intended by and between the bank's partners and the club of which they were founding members when the building was designed. The branch closed i..."</p>
<hr />
<div>The '''City University Club''' is a gentlemen's club in the City of London, established in 1895. From its foundation until 2018 it operated from the top three floors of 50 Cornhill, of what was Prescott's Bank, a 1766 private bank which became a branch of part of the NatWest banking group. This arrangement was quite specifically intended by and between the bank's partners and the club of which they were founding members when the building was designed. The branch closed in 1999 and was turned into a pub of the Fullers chain.<br />
<br />
On 29 January 2018 the club moved to 42 Crutched Friars, the former home of the Lloyds Club.<br />
<br />
The Club was founded strictly for graduates of Oxford and Cambridge universities who worked in the City, but membership is now also open to those who work in the area. It provides club facilities at lunchtime and for private occasions. The club serves as a lunch club for "brokers, bankers, and lawyers." It has no connection with City, University of London, which was given its Royal Charter in 1966.<br />
<br />
Subscriptions are based on the member's age and location. New members joining during the year are charged pro-rata, except for those under the age of 25, who are entitled to six months' free membership (this precludes usage of reciprocal clubs). Unlike many clubs there is no entrance fee.<br />
<br />
The Club has reciprocal arrangements with over 450 private members clubs around the world, enabling members to use facilities in these clubs, including in London the Oxford and Cambridge Club, the Reform Club, and the Carlton Club.<br />
<br />
Notable members of the City University Club have included Prince Arthur, Duke of Connaught and Strathearn, the author Evelyn Waugh, businessman Sir Chips Keswick, and the Lloyd's underwriter Ian Posgate.</div>Adminhttps://wiki.thalesians.com/index.php/Locations/Oxford_and_Cambridge_ClubLocations/Oxford and Cambridge Club2021-12-23T09:32:57Z<p>Admin: Created page with "The Club was formed in March 1972 by the amalgamation of the United University Club and the Oxford and Cambridge University Club. In its first year, the Club was housed at 1 Suffolk Street and thereafter at 71-77 Pall Mall. Members, both men and women, are drawn exclusively from the alumni and senior staff of both universities. Distinguished former members include Palmerston, Canning, Melbourne and Macmillan, the Duke of Wellington, William Thackeray and TS Eliot. The..."</p>
<hr />
<div>The Club was formed in March 1972 by the amalgamation of the United University Club and the Oxford and Cambridge University Club. In its first year, the Club was housed at 1 Suffolk Street and thereafter at 71-77 Pall Mall.<br />
<br />
Members, both men and women, are drawn exclusively from the alumni and senior staff of both universities. Distinguished former members include Palmerston, Canning, Melbourne and Macmillan, the Duke of Wellington, William Thackeray and TS Eliot.<br />
<br />
The Club house was designed by Sir Robert Smirke, the architect of the British Museum, and was completed in 1838. An important example of the fashionable Greek Revival style, the façade conceals a magnificent yet elegantly understated neoclassical interior.<br />
<br />
Unlike a number of other notable buildings on this part of the Crown Estate, the Club survived the war largely undamaged (a parachute mine landed in the kitchen but failed to detonate). Since then extensions and discreet improvements have been made to ensure it continues to meet its members' needs, but always in keeping with the traditional atmosphere and ambiance of this exceptional West End landmark.<br />
<br />
At the time of its creation the Club had 2,897 members as well as 563 lady associates. In February 1996, the Club voted by an overwhelming majority to allow women full membership with unhindered access to all areas of the Club house. In March 1997 Queen Margrethe II of Denmark became the first Honorary Lady Member. In June 2017 the Club elected its first female Chairman.<br />
<br />
The foundation of the Oxford and Cambridge Club dates from a meeting of members from the two universities held at the British Coffee House, 27 Cockspur Street on 17 May 1830, with Lord Palmerston in the chair. The meeting resolved that a Club consisting of members of both universities should be formed "for the association of individuals educated at those universities and for promoting and continuing a mutual interest and fellowship between them." To the present day, that has been the Club's enduring ethos.<br />
<br />
Today membership of the Club means joining a worldwide network of over 4,500 other Oxford and Cambridge University alumni. These range from undergraduates and recent graduates to those who matriculated before World War II, and over 1,600 are from overseas.<br />
<br />
Lord Sainsbury and Lord Patten are Honorary Members, as Chancellors of the two universities. So too are the Vice Chancellors and most Heads of House together with HRH the Prince of Wales, HRH The Duke of Edinburgh, HM Queen Margrethe II of Denmark, HM King Harald V of Norway, and His Majesty King Philippe of the Belgians.</div>Adminhttps://wiki.thalesians.com/index.php/Machine_Learning/TimelineMachine Learning/Timeline2021-12-23T08:35:02Z<p>Admin: </p>
<hr />
<div>=Overview=<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Decade !! Summary<br />
|-<br />
| <1950s|| Statistical methods are discovered and refined.<br />
|-<br />
| 1950s || Pioneering machine learning research is conducted using simple algorithms.<br />
|-<br />
| 1960s || Bayesian methods are introduced for probabilistic inference in machine learning.<ref name="solomonoff-1964-1">Solomonoff, R. J. A formal theory of inductive inference. Part II. ''Information and Control, Elsevier BV'', '''1964''', 7, 224-254</ref><br />
|-<br />
| 1970s || '''AI Winter''' caused by pessimism about machine learning effectiveness.<br />
|-<br />
| 1980s || Rediscovery of backpropagation causes a resurgence in machine learning research.<br />
|-<br />
| 1990s || Work on Machine learning shifts from a knowledge-driven approach to a data-driven approach. Scientists begin creating programs for computers to analyze large amounts of data and draw conclusions or "learn" from the results.<ref name="marr-2016">Marr, B. A Short History of Machine Learning&mdash;Every Manager Should Read. '''2016'''. URL: https://www.forbes.com/sites/bernardmarr/2016/02/19/a-short-history-of-machine-learning-every-manager-should-read/</ref> Support-vector machines (SVMs) and recurrent neural networks (RNNs) become popular.<ref name="siegelmann-1995">Siegelmann, H. T. &amp; Sontag, E. D. On the Computational Power of Neural Nets. ''Journal of Computer and System Sciences, Elsevier BV'', '''1995''', 50, 132-150</ref> The fields of computational complexity via neural networks and super-Turing computation started.<ref name="siegelmann-1995-1">Siegelmann, H. T. Computation Beyond the Turing Limit. ''Science, American Association for the Advancement of Science (AAAS)'', '''1995''', 268, 545-548</ref><br />
|-<br />
| 2000s || Support-Vector Clustering<ref name="benhur-2002">Ben-Hur, A.; Horn, D.; Siegelmann, H. T. &amp; Vapnik, V. Support vector clustering. ''The Journal of Machine Learning Research'', '''2002''', 2, 125-137</ref> and other kernel methods<ref name="hofmann-2008">Hofmann, T.; Schölkopf, B. &amp; Smola, A. J. Kernel methods in machine learning. ''The Annals of Statistics, Institute of Mathematical Statistics'', '''2008''', ''36''</ref> and unsupervised machine learning methods become widespread.<ref name="bennett-2007">Bennett, J. &amp; Lanning, S. The Netflix Prize. ''Proceedings of KDD Cup and Workshop 2007'', 2007</ref><br />
|-<br />
| 2010s || Deep learning becomes feasible, which leads to machine learning becoming integral to many widely used software services and applications.<br />
|}<br />
<br />
=Timeline=<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Year !! Event type !! Caption !! Event<br />
|-<br />
| 1763 || Discovery || The Underpinnings of [[Bayes' theorem|Bayes' Theorem]] || [[Thomas Bayes]]'s work ''[[An Essay towards solving a Problem in the Doctrine of Chances]]'' is published two years after his death, having been amended and edited by a friend of Bayes, [[Richard Price]].<ref>{{cite journal|last1=Bayes|first1=Thomas|title=An Essay towards solving a Problem in the Doctrine of Chance|journal=Philosophical Transactions|date=1 January 1763|volume=53|pages=370–418|doi=10.1098/rstl.1763.0053|jstor=105741|doi-access=free}}</ref> The essay presents work which underpins [[Bayes theorem]].<br />
|-<br />
| 1805 || Discovery || Least Square || [[Adrien-Marie Legendre]] describes the "méthode des moindres carrés", known in English as the [[least squares]] method.<ref>{{cite book|last1=Legendre|first1=Adrien-Marie|title=Nouvelles méthodes pour la détermination des orbites des comètes|date=1805|publisher=Firmin Didot|location=Paris|page=viii|url=https://archive.org/details/bub_gb_FRcOAAAAQAAJ|accessdate=13 June 2016|language=French}}</ref> The least squares method is used widely in [[data fitting]].<br />
|-<br />
| 1812 || || [[Bayes' theorem|Bayes' Theorem]] || [[Pierre-Simon Laplace]] publishes ''Théorie Analytique des Probabilités'', in which he expands upon the work of Bayes and defines what is now known as [[Bayes' Theorem]].<ref>{{cite web|last1=O'Connor|first1=J J|last2=Robertson|first2=E F|title=Pierre-Simon Laplace|url=http://www-history.mcs.st-and.ac.uk/Biographies/Laplace.html|publisher=School of Mathematics and Statistics, University of St Andrews, Scotland|accessdate=15 June 2016}}</ref><br />
|-<br />
| 1913 || Discovery || Markov Chains || [[Andrey Markov]] first describes techniques he used to analyse a poem. The techniques later become known as [[Markov chains]].<ref>{{cite journal|last1=Hayes|first1=Brian|title=First Links in the Markov Chain|url=http://www.americanscientist.org/issues/pub/first-links-in-the-markov-chain/|accessdate=15 June 2016|journal=American Scientist|issue=March–April 2013|publisher=Sigma Xi, The Scientific Research Society|page=92|doi=10.1511/2013.101.1|quote=Delving into the text of Alexander Pushkin's novel in verse Eugene Onegin, Markov spent hours sifting through patterns of vowels and consonants. On January 23, 1913, he summarized his findings in an address to the Imperial Academy of Sciences in St. Petersburg. His analysis did not alter the understanding or appreciation of Pushkin's poem, but the technique he developed—now known as a Markov chain—extended the theory of probability in a new direction.|volume=101|year=2013}}</ref><br />
|-<br />
|1943<br />
|Discovery<br />
|[[Artificial neuron|Artificial Neuron]]<br />
|[[Warren Sturgis McCulloch|Warren McCulloch]] and [[Walter Pitts]] develop a mathematical model that imitates the functioning of a biological neuron, the [[artificial neuron]] which is considered to be the first neural model invented.<ref>{{Cite journal|last1=McCulloch|first1=Warren S.|last2=Pitts|first2=Walter|date=1943-12-01|title=A logical calculus of the ideas immanent in nervous activity|url=https://doi.org/10.1007/BF02478259|journal=The Bulletin of Mathematical Biophysics|language=en|volume=5|issue=4|pages=115–133|doi=10.1007/BF02478259|issn=1522-9602}}</ref><br />
|-<br />
| 1950 || || Turing's Learning Machine || [[Alan Turing]] proposes a 'learning machine' that could learn and become artificially intelligent. Turing's specific proposal foreshadows [[genetic algorithms]].<ref>{{cite journal|last1=Turing|first1=Alan|title=Computing Machinery and Intelligence|journal=Mind|date=October 1950|volume=59|issue=236|pages=433–460|doi=10.1093/mind/LIX.236.433|url=http://mind.oxfordjournals.org/content/LIX/236/433|accessdate=8 June 2016}}</ref> <br />
|-<br />
| 1951 || || First Neural Network Machine || [[Marvin Minsky]] and Dean Edmonds build the first neural network machine, able to learn, the [[Stochastic neural analog reinforcement calculator|SNARC]].<ref>{{Harvnb|Crevier|1993|pp=34–35}} and {{Harvnb|Russell|Norvig|2003|p=17}}</ref><br />
|-<br />
| 1952 || || Machines Playing Checkers || [[Arthur Samuel]] joins IBM's Poughkeepsie Laboratory and begins working on some of the very first machine learning programs, first creating programs that play [[checkers]].<ref name="aaai">{{cite news|last1=McCarthy|first1=John|last2=Feigenbaum|first2=Ed|title=Arthur Samuel: Pioneer in Machine Learning|url=http://www.aaai.org/ojs/index.php/aimagazine/article/view/840/758|accessdate=5 June 2016|work=AI Magazine|issue=3|publisher=Association for the Advancement of Artificial Intelligence|page=10}}</ref><br />
|-<br />
| 1957 || Discovery || Perceptron || [[Frank Rosenblatt]] invents the [[perceptron]] while working at the [[Cornell Aeronautical Laboratory]].<ref>{{cite journal|last1=Rosenblatt|first1=Frank|title=The perceptron: A probabilistic model for information storage and organization in the brain|journal=Psychological Review|date=1958|volume=65|issue=6|pages=386–408|doi=10.1037/h0042519 |url=http://www.staff.uni-marburg.de/~einhaeus/GRK_Block/Rosenblatt1958.pdf|pmid=13602029}}</ref> The invention of the perceptron generated a great deal of excitement and was widely covered in the media.<ref>{{cite news|last1=Mason|first1=Harding|last2=Stewart|first2=D|last3=Gill|first3=Brendan|title=Rival|url=http://www.newyorker.com/magazine/1958/12/06/rival-2|accessdate=5 June 2016|work=The New Yorker|date=6 December 1958}}</ref><br />
|-<br />
| 1963 || Achievement || Machines Playing Tic-Tac-Toe || [[Donald Michie]] creates a 'machine' consisting of 304 match boxes and beads, which uses [[reinforcement learning]] to play [[Tic-tac-toe]] (also known as noughts and crosses).<ref>{{cite web|last1=Child|first1=Oliver|title=Menace: the Machine Educable Noughts And Crosses Engine Read|url=http://chalkdustmagazine.com/features/menace-machine-educable-noughts-crosses-engine/#more-3326|website=Chalkdust Magazine |date=13 March 2016|accessdate=16 Jan 2018}}</ref><br />
|- <br />
| 1967 || || Nearest Neighbor || The [[nearest neighbor algorithm]] was created, which is the start of basic pattern recognition. The algorithm was used to map routes.<ref name="marr-2016" /><br />
|-<br />
| 1969 || || Limitations of Neural Networks || [[Marvin Minsky]] and [[Seymour Papert]] publish their book ''[[Perceptrons (book)|Perceptrons]]'', describing some of the limitations of perceptrons and neural networks. The interpretation that the book shows that neural networks are fundamentally limited is seen as a hindrance for research into neural networks.<ref>{{cite web|last1=Cohen|first1=Harvey|title=The Perceptron|url=http://harveycohen.net/image/perceptron.html|accessdate=5 June 2016}}</ref><ref>{{cite web|last1=Colner|first1=Robert|title=A brief history of machine learning|url=http://www.slideshare.net/bobcolner/a-brief-history-of-machine-learning|website=SlideShare|date=4 March 2016|accessdate=5 June 2016}}</ref><br />
|-<br />
| 1970 || || Automatic Differentiation (Backpropagation) || [[Seppo Linnainmaa]] publishes the general method for automatic differentiation (AD) of discrete connected networks of nested differentiable functions.<ref name="lin1970">[[Seppo Linnainmaa]] (1970). "The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors." Master's Thesis (in Finnish), Univ. Helsinki, 6–7.</ref><ref name="lin1976">{{cite journal |first=Seppo |last=Linnainmaa |authorlink=Seppo Linnainmaa |year=1976 |title=Taylor expansion of the accumulated rounding error |journal=BIT Numerical Mathematics |volume=16 |issue=2 |pages=146–160 |doi=10.1007/BF01931367|s2cid=122357351 }}</ref> This corresponds to the modern version of backpropagation, but is not yet named as such.<ref name="grie2012">{{cite journal |last=Griewank |first=Andreas |year=2012 |title=Who Invented the Reverse Mode of Differentiation? |journal=Documenta Matematica, Extra Volume ISMP |pages=389–400}}</ref><ref name="grie2008">Griewank, Andreas and Walther, A. ''Principles and Techniques of Algorithmic Differentiation, Second Edition''. SIAM, 2008.</ref><ref name="schmidhuber2015">{{cite journal |authorlink=Jürgen Schmidhuber |last=Schmidhuber |first=Jürgen |year=2015 |title=Deep learning in neural networks: An overview |journal=Neural Networks |volume=61 |pages=85–117 |arxiv=1404.7828|bibcode=2014arXiv1404.7828S |doi=10.1016/j.neunet.2014.09.003 |pmid=25462637|s2cid=11715509 }}</ref><ref name="scholarpedia2015">{{cite journal | last1 = Schmidhuber | first1 = Jürgen | authorlink = Jürgen Schmidhuber | year = 2015 | title = Deep Learning (Section on Backpropagation) | journal = Scholarpedia | volume = 10 | issue = 11| page = 32832 | doi = 10.4249/scholarpedia.32832 | bibcode = 2015SchpJ..1032832S | doi-access = free }}</ref><br />
|- <br />
| 1979 || || Stanford Cart || Students at Stanford University develop a cart that can navigate and avoid obstacles in a room.<ref name="marr-2016" /><br />
|- <br />
| 1979 || Discovery || Neocognitron || [[Kunihiko Fukushima]] first publishes his work on the [[neocognitron]], a type of [[artificial neural network]] (ANN).<ref>{{cite journal<br />
| last = Fukushima<br />
| first = Kunihiko<br />
| date = October 1979<br />
| title = 位置ずれに影響されないパターン認識機構の神経回路のモデル --- ネオコグニトロン ---<br />
| trans-title = Neural network model for a mechanism of pattern recognition unaffected by shift in position — Neocognitron —<br />
| language = Japanese<br />
| url = <br />
| journal = Trans. IECE<br />
| volume = J62-A<br />
| issue = 10<br />
| pages = 658–665<br />
| doi = <br />
}}</ref><ref>{{cite journal|last1=Fukushima|first1=Kunihiko|title=Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern The Recognitron Unaffected by Shift in Position|journal=Biological Cybernetics|date=April 1980|volume=36|issue=4|pages=193–202|url=http://www.cs.princeton.edu/courses/archive/spr08/cos598B/Readings/Fukushima1980.pdf|accessdate=5 June 2016|doi=10.1007/bf00344251|pmid=7370364|s2cid=206775608}}</ref> [[Neocognitron|Neocognition]] later inspires [[convolutional neural network]]s (CNNs).<ref>{{cite journal|last1=Le Cun|first1=Yann|title=Deep Learning|citeseerx=10.1.1.297.6176}}</ref><br />
|-<br />
| 1981 || || Explanation Based Learning || Gerald Dejong introduces Explanation Based Learning, where a computer algorithm analyses data and creates a general rule it can follow and discard unimportant data.<ref name="marr-2016" /><br />
|-<br />
| 1982 || Discovery || Recurrent Neural Network || [[John Hopfield]] popularizes [[Hopfield networks]], a type of [[recurrent neural network]] that can serve as [[content-addressable memory]] systems.<ref>{{cite journal|last1=Hopfield|first1=John|title=Neural networks and physical systems with emergent collective computational abilities|journal=Proceedings of the National Academy of Sciences of the United States of America|date=April 1982|volume=79|issue=8|pages=2554–2558|url=http://www.pnas.org/content/79/8/2554.full.pdf|accessdate=8 June 2016|doi=10.1073/pnas.79.8.2554|pmid=6953413|pmc=346238|bibcode=1982PNAS...79.2554H|doi-access=free}}</ref><br />
|-<br />
| 1985 || || NetTalk || A program that learns to pronounce words the same way a baby does, is developed by Terry Sejnowski.<ref name="marr-2016" /><br />
|- <br />
| 1986 || Application || Backpropagation || [[Seppo Linnainmaa]]'s reverse mode of [[automatic differentiation]] (first applied to neural networks by [[Paul Werbos]]) is used in experiments by [[David Rumelhart]], [[Geoff Hinton]] and [[Ronald J. Williams]] to learn [[Knowledge representation|internal representations]].<ref>{{cite journal|last1=Rumelhart|first1=David|last2=Hinton|first2=Geoffrey|last3=Williams|first3=Ronald|title=Learning representations by back-propagating errors|journal=Nature|date=9 October 1986|volume=323|issue=6088|pages=533–536|url=http://elderlab.yorku.ca/~elder/teaching/cosc6390psyc6225/readings/hinton%201986.pdf|accessdate=5 June 2016|doi=10.1038/323533a0|bibcode=1986Natur.323..533R|s2cid=205001834}}</ref><br />
|-<br />
| 1989 || Discovery || Reinforcement Learning || Christopher Watkins develops [[Q-learning]], which greatly improves the practicality and feasibility of [[reinforcement learning]].<ref>{{cite journal|last1=Watksin|first1=Christopher|title=Learning from Delayed Rewards|date=1 May 1989|url=http://www.cs.rhul.ac.uk/~chrisw/new_thesis.pdf}}</ref><br />
|-<br />
| 1989 || Commercialization || Commercialization of Machine Learning on Personal Computers || Axcelis, Inc. releases [[Evolver (software)|Evolver]], the first software package to commercialize the use of genetic algorithms on personal computers.<ref>{{cite news|last1=Markoff|first1=John|title=BUSINESS TECHNOLOGY; What's the Best Answer? It's Survival of the Fittest|url=https://www.nytimes.com/1990/08/29/business/business-technology-what-s-the-best-answer-it-s-survival-of-the-fittest.html|accessdate=8 June 2016|work=New York Times|date=29 August 1990}}</ref><br />
|-<br />
| 1992 || Achievement || Machines Playing Backgammon || Gerald Tesauro develops [[TD-Gammon]], a computer [[backgammon]] program that uses an [[artificial neural network]] trained using [[temporal-difference learning]] (hence the 'TD' in the name). TD-Gammon is able to rival, but not consistently surpass, the abilities of top human backgammon players.<ref>{{cite journal|last1=Tesauro|first1=Gerald|title=Temporal Difference Learning and TD-Gammon|journal=Communications of the ACM|date=March 1995|volume=38|issue=3|doi=10.1145/203330.203343|url=http://www.bkgm.com/articles/tesauro/tdl.html|pages=58–68|s2cid=8763243}}</ref><br />
|-<br />
| 1995 || Discovery || Random Forest Algorithm || Tin Kam Ho publishes a paper describing [[random forest|random decision forests]].<ref>{{cite journal|last1=Ho|first1=Tin Kam|title=Random Decision Forests|journal=Proceedings of the Third International Conference on Document Analysis and Recognition|date=August 1995|volume=1|pages=278–282|doi=10.1109/ICDAR.1995.598994|url=http://ect.bell-labs.com/who/tkh/publications/papers/odt.pdf|accessdate=5 June 2016|publisher=IEEE|location=Montreal, Quebec|isbn=0-8186-7128-9}}</ref><br />
|-<br />
| 1995 || Discovery || Support-Vector Machines || [[Corinna Cortes]] and [[Vladimir Vapnik]] publish their work on [[support-vector machine]]s.<ref name="bhml">{{cite web|last1=Golge|first1=Eren|title=BRIEF HISTORY OF MACHINE LEARNING|url=http://www.erogol.com/brief-history-machine-learning/|website=A Blog From a Human-engineer-being|accessdate=5 June 2016}}</ref><ref>{{cite journal|last1=Cortes|first1=Corinna|last2=Vapnik|first2=Vladimir|title=Support-vector networks|journal=Machine Learning|date=September 1995|volume=20|issue=3|pages=273–297|doi=10.1007/BF00994018|publisher=Kluwer Academic Publishers|issn=0885-6125|doi-access=free}}</ref><br />
|-<br />
| 1997 || Achievement || IBM Deep Blue Beats Kasparov || IBM's [[Deep Blue (chess computer)|Deep Blue]] beats the world champion at chess.<ref name="marr-2016" /><br />
|-<br />
| 1997 || Discovery || LSTM || [[Sepp Hochreiter]] and [[Jürgen Schmidhuber]] invent [[long short-term memory]] (LSTM) recurrent neural networks,<ref>{{cite journal|last1=Hochreiter|first1=Sepp|last2=Schmidhuber|first2=Jürgen|title=Long Short-Term Memory|journal=Neural Computation|date=1997|volume=9|issue=8|pages=1735–1780|url=http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf|doi=10.1162/neco.1997.9.8.1735|pmid=9377276|s2cid=1915014|url-status=dead|archiveurl=https://web.archive.org/web/20150526132154/http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf|archivedate=2015-05-26}}</ref> greatly improving the efficiency and practicality of recurrent neural networks.<br />
|-<br />
| 1998 || || MNIST database || A team led by [[Yann LeCun]] releases the [[MNIST database]], a dataset comprising a mix of handwritten digits from [[American Census Bureau]] employees and American high school students.<ref>{{cite web|last1=LeCun|first1=Yann|last2=Cortes|first2=Corinna|last3=Burges|first3=Christopher|title=THE MNIST DATABASE of handwritten digits|url=http://yann.lecun.com/exdb/mnist/|accessdate=16 June 2016}}</ref> The MNIST database has since become a benchmark for evaluating [[handwriting recognition]].<br />
|-<br />
| 2002 || || Torch Machine Learning Library || [[Torch (machine learning)|Torch]], a software library for machine learning, is first released.<ref>{{cite journal|last1=Collobert|first1=Ronan|last2=Benigo|first2=Samy|last3=Mariethoz|first3=Johnny|title=Torch: a modular machine learning software library|date=30 October 2002|url=http://www.idiap.ch/ftp/reports/2002/rr02-46.pdf|accessdate=5 June 2016}}</ref><br />
|-<br />
| 2006 || || The Netflix Prize || The [[Netflix Prize]] competition is launched by [[Netflix]]. The aim of the competition was to use machine learning to beat Netflix's own recommendation software's accuracy in predicting a user's rating for a film given their ratings for previous films by at least 10%.<ref>{{cite web|title=The Netflix Prize Rules|url=http://www.netflixprize.com/rules|website=Netflix Prize|publisher=Netflix|accessdate=16 June 2016|url-status=dead|archiveurl=https://www.webcitation.org/65tSo1csp?url=http://www.netflixprize.com/rules|archivedate=3 March 2012}}</ref> The prize was won in 2009.<br />
|-<br />
|2009<br />
|Achievement<br />
|ImageNet<br />
|[[ImageNet]] is created. ImageNet is a large visual database envisioned by [[Fei-Fei Li]] from Stanford University, who realized that the best machine learning algorithms wouldn't work well if the data didn't reflect the real world.<ref>{{Cite web|url=https://qz.com/1034972/the-data-that-changed-the-direction-of-ai-research-and-possibly-the-world/|title=ImageNet: the data that spawned the current AI boom — Quartz|last=Gershgorn|first=Dave|website=qz.com|language=en-US|access-date=2018-03-30}}</ref> For many, ImageNet was the catalyst for the AI boom<ref>{{Cite news|url=https://www.nytimes.com/2016/07/19/technology/reasons-to-believe-the-ai-boom-is-real.html|title=Reasons to Believe the A.I. Boom Is Real|last=Hardy|first=Quentin|date=2016-07-18|work=The New York Times|access-date=2018-03-30|language=en-US|issn=0362-4331}}</ref> of the 21st century. <br />
|-<br />
| 2010 || || Kaggle Competition || [[Kaggle]], a website that serves as a platform for machine learning competitions, is launched.<ref>{{cite web|title=About|url=https://www.kaggle.com/about|website=Kaggle|publisher=Kaggle Inc|accessdate=16 June 2016}}</ref><br />
|-<br />
| 2011 || Achievement || Beating Humans in Jeopardy || Using a combination of machine learning, [[natural language processing]] and information retrieval techniques, [[IBM]]'s [[Watson (computer)|Watson]] beats two human champions in a [[Jeopardy!]] competition.<ref>{{cite news|last1=Markoff|first1=John|title=Computer Wins on 'Jeopardy!': Trivial, It's Not|url=https://www.nytimes.com/2011/02/17/science/17jeopardy-watson.html?pagewanted=all&_r=0|accessdate=5 June 2016|work=New York Times|date=17 February 2011|page=A1}}</ref><br />
|-<br />
| 2012 || Achievement || Recognizing Cats on YouTube || The [[Google Brain]] team, led by [[Andrew Ng]] and [[Jeff Dean (computer scientist)|Jeff Dean]], create a neural network that learns to recognize cats by watching unlabeled images taken from frames of [[YouTube]] videos.<ref>{{cite conference<br />
| last1 = Le | first1 = Quoc V.<br />
| last2 = Ranzato | first2 = Marc'Aurelio<br />
| last3 = Monga | first3 = Rajat<br />
| last4 = Devin | first4 = Matthieu<br />
| last5 = Corrado | first5 = Greg<br />
| last6 = Chen | first6 = Kai<br />
| last7 = Dean | first7 = Jeffrey<br />
| last8 = Ng | first8 = Andrew Y.<br />
| arxiv = 1112.6209<br />
| contribution = Building high-level features using large scale unsupervised learning<br />
| contribution-url = https://icml.cc/2012/papers/73.pdf<br />
| publisher = icml.cc / Omnipress<br />
| title = Proceedings of the 29th International Conference on Machine Learning, ICML 2012, Edinburgh, Scotland, UK, June 26 - July 1, 2012<br />
| year = 2012| bibcode = 2011arXiv1112.6209L}}</ref><ref>{{cite news|last1=Markoff|first1=John|title=How Many Computers to Identify a Cat? 16,000|url=https://www.nytimes.com/2012/06/26/technology/in-a-big-network-of-computers-evidence-of-machine-learning.html|accessdate=5 June 2016|work=New York Times|date=26 June 2012|page=B1}}</ref><br />
|-<br />
| 2014 || || Leap in Face Recognition || [[Facebook]] researchers publish their work on [[DeepFace]], a system that uses neural networks that identifies faces with 97.35% accuracy. The results are an improvement of more than 27% over previous systems and rivals human performance.<ref>{{cite journal|last1=Taigman|first1=Yaniv|last2=Yang|first2=Ming|last3=Ranzato|first3=Marc'Aurelio|last4=Wolf|first4=Lior|title=DeepFace: Closing the Gap to Human-Level Performance in Face Verification|journal=Conference on Computer Vision and Pattern Recognition|date=24 June 2014|url=https://research.facebook.com/publications/deepface-closing-the-gap-to-human-level-performance-in-face-verification/|accessdate=8 June 2016}}</ref><br />
|-<br />
| 2014 || || Sibyl || Researchers from [[Google]] detail their work on Sibyl,<ref>{{cite web |last1=Canini|first1=Kevin|last2=Chandra|first2=Tushar|last3=Ie|first3=Eugene|last4=McFadden|first4=Jim|last5=Goldman|first5=Ken|last6=Gunter|first6=Mike|last7=Harmsen|first7=Jeremiah|last8=LeFevre|first8=Kristen|last9=Lepikhin|first9=Dmitry|last10=Llinares|first10=Tomas Lloret|last11=Mukherjee|first11=Indraneel|last12=Pereira|first12=Fernando|last13=Redstone|first13=Josh|last14=Shaked|first14=Tal|last15=Singer|first15=Yoram|title=Sibyl: A system for large scale supervised machine learning|url=https://users.soe.ucsc.edu/~niejiazhong/slides/chandra.pdf|website=Jack Baskin School of Engineering|publisher=UC Santa Cruz|accessdate=8 June 2016}}</ref> a proprietary platform for massively parallel machine learning used internally by Google to make predictions about user behavior and provide recommendations.<ref>{{cite news|last1=Woodie|first1=Alex|title=Inside Sibyl, Google's Massively Parallel Machine Learning Platform|url=http://www.datanami.com/2014/07/17/inside-sibyl-googles-massively-parallel-machine-learning-platform/|accessdate=8 June 2016|work=Datanami|publisher=Tabor Communications|date=17 July 2014}}</ref><br />
|-<br />
| 2016 || Achievement || Beating Humans in Go ||Google's [[AlphaGo]] program becomes the first [[Computer Go]] program to beat an unhandicapped professional human player<ref>{{cite web|title=Google achieves AI 'breakthrough' by beating Go champion|url=https://www.bbc.com/news/technology-35420579|website=BBC News|publisher=BBC|accessdate=5 June 2016|date=27 January 2016}}</ref> using a combination of machine learning and tree search techniques.<ref>{{cite web|title=AlphaGo|url=https://www.deepmind.com/alpha-go.html|website=Google DeepMind|publisher=Google Inc|accessdate=5 June 2016}}</ref> Later improved as [[AlphaGo Zero]] and then in 2017 generalized to Chess and more two-player games with [[AlphaZero]]. <br />
|}<br />
<br />
=References=</div>Adminhttps://wiki.thalesians.com/index.php/Locations/Canary_WharfLocations/Canary Wharf2021-12-23T08:25:05Z<p>Admin: Admin moved page Locations/Canary Wharf to Locations/Level39, One Canada Square, Canary Wharf</p>
<hr />
<div>=Introduction=<br />
<br />
'''Canary Wharf''' is an area of London, England, located on the Isle of Dogs in the London Borough of Tower Hamlets. Canary Wharf is defined by the Greater London Authority as being part of London's central business district, alongside Central London. With the City of London, it constitutes one of the main financial centres in the United Kingdom and the world, containing many high-rise buildings including the fourth tallest in the UK, One Canada Square, which opened on 26 August 1991.<br />
<br />
Developed on the site of the former West India Docks, Canary Wharf contains around 16,000,000 sq ft (1,5000,000 m<math>^2</math>) of office and retail space. It comprises many open areas, including Canada Square, Cabot Square, and Westferry Circus. Together with Heron Quays and Wood Wharf, it forms the Canary Wharf Estate, around 97 acres (39 ha) in area.<br />
<br />
Owned wholly by Canary Wharf Group, Level39 launched in March 2013. Since then, Level39 has grown from a simple idea into a three-floor, 80,000 square foot community space occupying the 39th, 26th, and 24th floors of One Canada Square.<br />
<br />
=History=<br />
<br />
Canary Wharf is located on the West India Docks on the Isle of Dogs.<br />
<br />
==Isle of Dogs==<br />
<br />
The '''Isle of Dogs''' is a large peninsula bounded on three sides by a large meander in the River Thames in East London, England, which includes the Cubitt Town, Millwall, and Canary Wharf districts. The area was historically part of the Manor, Hamlet, Parish and, for a time, the wider borough of Poplar. The name had no official status until the 1987 creation of the Isle of Dogs Neighbourhood by Tower Hamlets Borough Council. It has been known locally as simply "the Island" since the 19th century.<br />
<br />
The whole area was once known as '''Stepney Marsh'''; Anton van den Wyngaerde's "Panorama of London" dated 1543 depicts and refers to the Isle of Dogs. Records show that ships preparing to carry the English royal household to Calais in 1520 docked at the southern bank of the island. The name ''Isle of Dogs'' occurs in the ''Thamesis Descriptio'' of 1599, applied to a small island in the south-western part of the peninsula. The name is next applied to the ''Isle of Dogs Farm'' (originally known as ''Pomfret Manor'') shown on a map of 1683. At the same time, the area was variously known as ''Isle of Dogs'' or the ''Blackwell levels''. By 1855, it was incorporated within the parish of Poplar under the aegis of the Poplar Board of Works. This was incorporated into the Metropolitan Borough of Poplar on its formation in 1900.<br />
<br />
=Level39=<br />
<br />
[[File:Boris Johnson opens Level39 (1).jpg|alt=Boris Johnson opens Level39|thumb|Boris Johnson opens Level39]]<br />
On 18 March, 2013, Mayor of London Boris Johnson opened Level39, a major accelerator space for technologies for the UK's most successful industry, finance.<br />
<br />
Based at One Canada Square, Canary Wharf, the space offers businesses a place to create, test, market, and deliver technologies for finance as well as retail.<br />
<br />
Level39 forms a major part of Tech City &mdash; the government's attempt to make London the tech capital of Europe.<br />
<br />
"Attracting the brightest entrepreneurial minds is crucial if London is to maintain its position as the world's foremost financial centre and Level39 will foster just the talent we need to future-proof the capital's technology and financial sectors," Johnson said.<br />
<br />
Eric van der Kleij, who previously headed up the Tech City Investment Organisation (TCIO) led Level39. "The timing could not be better to open Level39. London's financial services sector is searching for new technologies to transform itself at the very moment that the tech sector is displaying the sort of growth required to move the UK economy forward," he said.<br />
<br />
"Level39 is London's point of convergence for FinTech, situated in the East End, which is the most dynamic area of Europe right now."</div>Admin