| Up: | PDELIB Documentation |
| Next: | Introduction |
| Prev: | |
Jürgen Fuhrmann - Hartmut Langmach
Date: 1999/12/21 17:18:55 Revision: 2.14
gltools is a collection of OpenGL rendering utilities. It consists of three layers:
For Information, see also the
gltools homepage
.
| Up: | PDELIB Documentation |
| Next: | Introduction |
| Prev: | |
© pdelib team 5/21/2001. This page has been generated using the LaTeX typesetting system and latex2html.


Project Name of the Protex project
You can use Jenkins Environment variables in this field.
For instance : MyPrefix_${JOB_NAME}_MySuffix will result in the ${JOB_NAME} being replaced by the Jenkins Job name.
For more variables please visit Jenkins Environment Variables


This page should automatically redirect you to a SEPIA client,
if not please click one of the following links:


🍕 Try Our NEW Italian Meats & Four Cheese Pizza for Only $11! Order $15 or more and get your next pizza Free!


This is the story of an unexpected ABI break that I thought would be worth documenting.
At Avalanche we use a small class wrapping 32bit hashes called CHashString, it is basically just a wrapper around uint32_t and one should be able to treat it as a uint32_t in code except for operations that do not make sense on a hash-value.
Why would you want a class like this you might ask, well we use it for adding a const char* c_str()
-function that can be
used in logging and also we use it to add custom natvis-support in visual studio so that you can just hover a CHashString
and have a lookup of the hash-value performed.
However this is not about how we use it, but how things can break in unexpected ways.
As a bit more background it should be mentioned that a big part of Avalanches internal libraries are distributed pre-compiled to our game-projects with all the positives and negatives that brings with it. For example when deploying a middle-version fix we “promise” to our projects that we do not break the ABI of the library, i.e. you should be able to link with any 5.x.x if you only depend on 5.x.x.
Our CHashString was basically defined something like this
class CHashString
{
uint32_t m_Hash;
public:
explicit CHashString(uint32_t hash)
: m_Hash(hash)
{}
CHashString& CHashString(CHashString& other) { m_Hash = other.m_Hash; }
... more constructors ...
... more functions ...
bool operator ==(const CHashString other) const { return m_Hash == other.m_Hash; }
}
As an earlier brain-fart/didn’t-think-about-that someone added the copy-constructor, something that made this class non-trivially-copyable, i.e. std::is_trivially_copyable would fail. This would lead to putting it in some containers would not make it as performant as it should have been ( and it couldn’t even live in some containers ).
As the fixy kind of guy one am I said to my self “I can fix this, how hard can it be?”. We decided that we should just remove that un-needed copy-constructor since a default copy-constructor would do the same thing. Said and done, be gone with you!
check-in!
deploy!
go for coffee!
…
…
…
Come back to crashing projects!
Sad panda!
Luckily for me it is easy to lock down versions of distributed libs so we could quickly fix the issues on the projects by locking down to the previous version.
At this time we are scratching our heads quite a bit, our thinking being that even if one part of the code calls the old way of copy-constructing an object the end result should be the same in memory… And to make things worse, most things seem to work.
Time to bring out the debugger!
I build a debug-build of one of our projects and after some time, thanks to some log-messages, I find a spot that behaves REALLY fishy!
CHashString one_hash(0x12345678);
CHashString another_hash(0x12345678);
// ... later in the code ...
if( one_hash == another_hash )
{
do_stuff();
}
do_stuff() is NEVER called!?! I.e. stuff is never done, and we all know that our job is mostly about getting stuff done ;)
The debugger tell me that the 2 values are the same! What is going on here?
After checking the assembly and stepping the code quite a few times we can determine that when we removed the copy-constructor MSVC decided
that it should pass CHashString in register instead of by pointer to stack. So what our operator==
that take CHashString by-value ends up doing is
comparing one of the hashes to half the stack-address of the other variable :)
This since this code is defined in one of our pre-compiled libraries and the implementation of operator==
ends up in our main executable that
is built from latest the lib and the exe disagrees on how to pass values to the function!
As expected this works in a release build where the code is inlined, but in that case we had other functions where how CHashString was passed was an issue.
What can we learn from this? ABI-issues can show its ugly face when you least expect it and compilers do the darnedest things!
Well, that was part of my day, how was yours? Feel free to hit me up on twitter or something if you want to give me a comment about this!


Jasper Van der Jeugt
How to Architect Medium to Large-Scale Haskell Applications
Slides [Application] (https://github.com/jaspervdj/fugacious)
Abstract:
If you are writing a medium-sized Haskell for the very first time, you will typically end up with three modules: Types.hs, Utils.hs and Main.hs. While this is a very clear split, it typically doesn’t scale very well as applications become larger.
In this beginners talk, Jasper will share with you some practical ways to organise code in Haskell applications. Some of the questions Jasper will answer include:
When is it a good idea to use something like Monad/Applicative (and when is it not)
When is it a good idea to invent my own typeclass (and when is it not)
How do I design interfaces and services like in OOP?
Bio:
Jasper Van der Jeugt was born in 1990, and spent most of his youth in Lokeren & Ghent, Belgium. He now lives in Zürich, Switzerland. Jasper has been coding and writing about Haskell since his time at Ghent University. He has been using the language professionally for the last three years, and in open source for much longer. He is currently a consultant for Luminal. In his spare time, he skateboards down mountains and takes pictures.
Head over to Jasper’s blog, check out what he is up to on Github and follow him on Twitter jaspervdj.


This is the [www.adenconsultancy.net] (‘Website’). Your use of this Website is subject to the following terms and conditions which you are deemed to accept each and every time you use this Website. "We" means [Aden HR Consultancy LTD], and "our" shall be construed accordingly. "you" means the person firm company or organisation browsing and/or using the Website, and "your" shall be construed accordingly. Please read these terms of use carefully before you start to use our site, as these will apply to your use of our site. We recommend that you print a copy of this for future reference. By using our site, you confirm that you accept these terms of use and that you agree to comply with them. If you do not agree to these terms of use, you must not use our site.
We may revise these terms of use at any time by amending this page. Please check this page from time to time to take notice of any changes we made, as they are binding on you.
We may update our Website from time to time, and may change the content at any time. However, please note that any of the content on our Website may be out of date at any given time, and we are under no obligation to update it. We do not guarantee that our Website, or any content on it, will be free from errors or omissions.
Our Website is made available free of charge. We do not guarantee that our Website, or any content on it, will always be available or be uninterrupted. Access to our site is permitted on a temporary basis. We may suspend, withdraw, discontinue or change all or any part of our Website without notice. We will not be liable to you if for any reason our Website is unavailable at any time or for any period. You are responsible for making all arrangements necessary for you to have access to our Website. You are also responsible for ensuring that all persons who access our Website through your internet connection are aware of these terms of use and other applicable terms and conditions, and that they comply with them.
On this Website you will be offered automatic links to other sites which may be of interest to you. We do not accept any responsibility for or liability in respect of the content of those sites, the owners of which do not necessarily have any connection, commercial or otherwise, with us. Using automatic links to gain access to such sites is entirely at your own risk.
Whilst we make every effort to ensure that the information on this Website is accurate and complete, some of the information is supplied to us by third parties and we are not able to check the accuracy or completeness of that information. We do not accept any liability arising from any inaccuracy or omission in any of the information on this Website or any liability in respect of information on this Website supplied by you, any other site user or any other person.
You may only use this Website for lawful purposes when seeking employment or help with your career. You must not under any circumstances seek to undermine the security of the Website or any information submitted to or available through it. In particular, but without limitation, you must not seek to access, alter or delete any information to which you do not have authorised access, seek to overload the system via spamming or flooding, take any action or use any device, routine or software to crash, delay, damage or otherwise interfere with the operation of this Website or attempt to decipher, disassemble or modify any of the software, coding or information comprised in the Website. You are solely responsible for any information submitted by you to this Website. You are responsible for ensuring that all information supplied by you is true, accurate, up-to-date and not misleading or likely to mislead or deceive and that it is not discriminatory, obscene, offensive, defamatory or otherwise illegal, unlawful or in breach of any applicable legislation, regulations, guidelines or codes of practice or the copyright, trademark or other intellectual property rights of any person in any jurisdiction. You are also responsible for ensuring that all information, data and files are free of viruses or other routines or engines that may damage or interfere with any system or data prior to being submitted to this site. We reserve the right to remove any information supplied by you from the Website at our sole discretion, at any time and for any reason without being required to give any explanation.
We will and/or the Aden HR Consultancy will use information supplied by you (including, without limitation, sensitive personal data) to aid the recruitment process and associated administrative functions and to assist with the purchase of Online Courses. This involves us and/or the Aden HR Consultancy, amongst other things, processing and storing information (including, without limitation, sensitive personal data) and passing or making available online such information to prospective employers and clients; information about vacancies and placements will be passed to candidates and may be posted directly onto the Website. We use third parties to help us process your information as part of the recruitment process. We may collect and aggregate data from the information supplied by you to help us to understand our users as a group so that we can provide you with a better service. We may also share aggregate information with selected third parties, without disclosing individual names or identifying information. You consent to us and the Aden HR Consultancy using information provided by you (including, without limitation, sensitive personal data) in each of these ways. We will process any data which you provide in completing the online registration or application forms and any further forms, assessments or personal details which you complete or provide to us when using this site in accordance with UK data protection legislation. Transfer outside the EEA: Personal information comprising your CV may be accessed through the database by third parties outside the Economic European Area ("EEA"). This could happen for instance if you apply for a vacancy where the employer is based outside the EEA [or if we share details within the Aden HR Consultancy]. By registering and using the Website, you consent to this transfer.
Each employment assignment or placement arising as a result of an introduction made by us will be subject to our standard Terms of Business as they are applicable in the circumstances. All prospective employers and clients for whom we arrange assignments or placements will be provided with a copy of the Terms of Business applicable to them at or following registration.
The rights in material on this site are protected by international copyright, software and trademark laws and you agree to use this site in a way which does not infringe these rights. You may copy material on this site for your own private or domestic purposes, but no copying for any commercial or business use is permitted.
We may terminate your registration and/or deny you access to the site or any part of it (including any services, goods or information available on or through the site) at any time in our absolute discretion and without any explanation or notification.
Nothing in these terms of use excludes or limits our liability for death or personal injury arising from our negligence, or our fraud or fraudulent misrepresentation, or any other liability that cannot be excluded or limited by English law. To the extent permitted by law, we exclude all conditions, warranties, representations or other terms which may apply to our site or any content on it, whether express or implied. We will not be liable to any user for any loss or damage, whether in contract, tort (including negligence), breach of statutory duty, or otherwise, even if foreseeable, arising under or in connection with use of, or inability to use, our site; or use of or reliance on any content displayed on our site. If you are a business user, please note that in particular, we will not be liable for:
We are the owner or the licensee of all intellectual property rights in our site, and in the material published on it. Those works are protected by copyright laws and treaties around the world. All such rights are reserved. You may print off one copy, and may download extracts, of any page(s) from our site for your personal use and you may draw the attention of others within your organisation to content posted on our site. You must not modify the paper or digital copies of any materials you have printed off or downloaded in any way, and you must not use any illustrations, photographs, video or audio sequences or any graphics separately from any accompanying text. Our status (and that of any identified contributors) as the authors of content on our site must always be acknowledged. You must not use any part of the content on our site for commercial purposes without obtaining a licence to do so from us or our licensors. If you print off, copy or download any part of our site in breach of these terms of use, your right to use our site will cease immediately and you must, at our option, return or destroy any copies of the materials you have made.
BACKCopyright © 2021 Aden Consultancy


Devs who work for Azure IoT
Shipped Rust in Azure IoT Edge in production
Contains >70K lines of Rust code
Multiple cloud services being built in Rust
Have been at it (writing Rust) for ~2 years
Today's workshop is basically a workshop version of this very excellent talk by Steve Klabnik:
The Rust Async Book is also an excellent resource:
git clone https://github.com/avranju/rust-async-nw-workshop.git
If you prefer a smaller URL, use this one:
First class support for async programming landed in Rust with v1.39 in November 2019.
By "first class" we mean support for async/await in the language.
Before we had async/await in Rust, writing asynchronous I/O intensive programs was, well, unpleasant.
Non-trivial sequences of asynchronous operations involved construction of long combinator chains.
Combined with error handling and lifetimes, you get large type names and larger error messages!
Making a HTTP request for example might have looked like this:
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut rt = Runtime::new()?;
rt.block_on(
reqwest::get("https://httpbin.org/ip")
.map_err(|e| Box::new(e))
.and_then(|res| {
res.json::<HashMap<String, String>>()
.map_err(|e| Box::new(e))
})
.map_ok(|res| println!("{:#?}", res)),
)
.unwrap();
Ok(())
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let resp = reqwest::get("https://httpbin.org/ip")
.await?
.json::<HashMap<String, String>>()
.await?;
println!("{:#?}", resp);
Ok(())
}
Unlike C# or JavaScript, the await
keyword does not prefix the expression that evaluates to a task/promise.
It occurs instead after a .
(dot) post the expression that evalues to a future.
let result = async_function().await;
If you don't like it, well, you will get used to it.
The consensus (sort of) was that this is the most ergonomic syntax that allowed using the ?
operator.
let result = async_function_that_can_fail().await?;
Rust today supports async functions and async blocks.
An async function is decorated with the async
keyword.
async fn do_it() -> i32 {
42
}
This is basically syntactic sugar for the following:
fn do_it() -> impl Future<Output = i32> {
...
}
Only async functions can use the await
keyword.
Rust does not support async closures today.
You can however create async blocks.
Async blocks are like regular code blocks except that you decorate them with
the async
keyword.
let fut = async {
do_it().await
};
Async blocks evaluate to an anonymous type that implements
Future
.
If you want to use variables from the block's environment
across await points then you may have to use the move
keyword to take ownership.
let v = Foo::default();
let fut = async move {
do_it(v).await;
};
The async keyword is not supported in traits today (as of Rust 1.41).
You cannot do this:
trait Foo {
async fn do_the_thing() -> i32;
}
You cannot do this because...
Reasons.
But, there's a crate called async-trait that lets you do this.
#[async_trait]
trait Answer {
async fn question(&self) -> Result<String, String>;
}
#[async_trait]
impl Answer for i32 {
async fn question(&self) -> Result<String, String> {
if self == 42 {
Ok(compute_question().await)
} else {
Err("wrong answer".to_string())
}
}
}
A Future
is a trait that represents a type that will yield a value at some
point in the future.
Analogus to JavaScript promises and .NET tasks.
pub trait Future {
type Output;
fn poll(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Self::Output>
}
Rust futures are poll based unlike JS or .NET.
Rust futures don't do anything until somebody calls the Future::poll
function.
Async runtimes such as Tokio and async-std include what are known as executors.
Executors are responsible for driving a future to completion.
They call Future::poll
repeatedly till it returns Poll::Ready
.
If Future::poll
returns Poll::Pending
then it waits till "woken up".
How long will the function how_long
take to run?
async fn do_sleep() {
Delay::new(Duration::from_secs(5)).await;
}
async fn how_long() {
let f1 = do_sleep();
let f2 = do_sleep();
f1.await;
f2.await;
}
If you want both futures to run simultaneously, you'll want to use futures::join!
.
async fn how_long() {
let f1 = do_sleep();
let f2 = do_sleep();
futures::join!(f1, f2);
}
Future implementations notify the executor that they are ready to make progress by using a waker.
The Context
type passed to Future::poll
provides a Waker
struct that knows how to notify the executor.
impl Future for Delay {
type Output = ();
fn poll(mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Self::Output> {
// if async I/O work is complete
cx.waker().wake();
Poll::Ready(())
}
}
The Waker
is an abstraction designed to represent system provided
notification mechanisms.
Typically backed by epoll
, kqueue
and
I/O Completion Ports
on Linux, macOS and Windows respectively.
Let's implement a simple future that immediately yields a value.
Similar to .NET's Task.FromResult
or JS's Promise.resolve
.
use std::pin::Pin;
use std::future::Future;
use std::task::{Poll, Context};
struct Ready<T>(Option<T>);
impl<T: Unpin> Future for Ready<T> {
type Output = T;
fn poll(mut self: Pin<&mut Self>, _cx: &mut Context) -> Poll<Self::Output> {
Poll::Ready(self.0.take().unwrap())
}
}
But that was a bit too simple.
Let's build a timer future.
The world's worst timer future.
It will spin up a new thread for every timer and just call thread::sleep()
.


We have looked at each difference separately.
Let’s now put them together and see what happens!
The particles attract each other and never stop.
The particles never stop and are very many.
The particles are very many and attract each other.
We have looked at each difference separately.
Let’s now put them together and see what happens!
The particles attract each other and never stop.
The particles never stop and are very many.
The particles are very many and attract each other.


list(teamId, workerEmail, startTimestampMs, pageToken=None, maxResults=None)
Retrieves a list of locations for a worker.
list_next(previous_request, previous_response)
Retrieves the next page of results.
list(teamId, workerEmail, startTimestampMs, pageToken=None, maxResults=None)
Retrieves a list of locations for a worker. Args: teamId: string, Team ID (required) workerEmail: string, Worker email address. (required) startTimestampMs: string, Start timestamp in milliseconds since the epoch. (required) pageToken: string, Continuation token maxResults: integer, Maximum number of results to return in one page. Returns: An object of the form: { # Response from a List Locations request. "nextPageToken": "A String", # A token to provide to get the next page of results. "items": [ # Locations in the collection. { # Recorded location of a worker. "latitude": 3.14, # Latitude. "collectionTime": "A String", # The collection time in milliseconds since the epoch. "confidenceRadius": 3.14, # The location accuracy in meters. This is the radius of a 95% confidence interval around the location measurement. "kind": "coordinate#locationRecord", # Identifies this object as a location. "longitude": 3.14, # Longitude. }, ], "kind": "coordinate#locationList", # Identifies this object as a list of locations. "tokenPagination": { # Pagination information. # Pagination information for token pagination. "nextPageToken": "A String", # A token to provide to get the next page of results. "previousPageToken": "A String", # A token to provide to get the previous page of results. "kind": "coordinate#tokenPagination", # Identifies this object as pagination information. }, "pageInfo": { # Page information. # General pagination information. "totalResults": 42, # Number of results available. "kind": "coordinate#pageInfo", # Identifies this object as page information. "resultPerPage": 42, # Number of results per page. "startIndex": 42, # Page start index. }, }
list_next(previous_request, previous_response)
Retrieves the next page of results. Args: previous_request: The request for the previous page. (required) previous_response: The response from the request for the previous page. (required) Returns: A request object that you can call 'execute()' on to request the next page. Returns None if there are no more items in the collection.


ngx-ui-tour
is a UI tour library built for Angular. It's inspired by
angular-ui-tour.
TourTuiHintModule
is an implementation of the tour UI that uses
Taiga UI Hint to display tour steps.
npm install ngx-ui-tour-core ngx-ui-tour-tui-hint @taiga-ui/core @taiga-ui/cdk @taiga-ui/icons
TourTuiHintModule.forRoot()
into your app module
RouterModule
is imported in your app module


Auto Scaling Spark in Kubernetes - Part 3 : Scaling Spark Workers
Kubernetes makes it easy to run services on scale. With kubernetes abstractions, it’s easy to setup a cluster of spark, hadoop or database on large number of nodes. Kubernetes takes care of handling tricky pieces like node assignment,service discovery, resource management of a distributed system. We have discussed how it can be used for spark clustering in our earlier series.
As the services are becoming more and more dynamic, handling resource needs statically is becoming challenge. With cloud being prevalent, users expect their infrastructure to scale with usage. For example, spark cluster on kubernetes should be able to scale up or down depending upon the load.
Kubernetes system can scaled manually by increasing or decreasing the number of replicas. You can refer to this post for more information. But doing this manually means lot of work. Isn’t it better if kubernetes can auto manage the same?
Kubernetes Horizontal Pod AutoScaler(HPA) is one of the controller in the kubernetes which is built to the auto management of scaling. It’s very powerful tool which allows user to utilize resources of the cluster effectively.
In this series of post, I will be discussing about kubernetes HPA with respect to auto scaling spark. This is the third post in the series which talks about how to auto scale the spark cluster. You can find all the posts in the series here.
Registering the Horizontal Pod AutoScaler
We can register a HPA for spark-worker deployment using below command.
In above command we specified below information
-
Deployment is spark-worker
-
Maximum number of replicas is 2
-
Threshold is 50 percent cpu usage
Get current State of HPA
Once we create the HPA we can see the current status using below command
The result will look as below
As you can see, the current state says the load is 0 as there is nothing running in the spark layer.
Describing HPA
The above command just gives the high level information. If we want to know more, we can run the describe command to get all the events.
The result looks as below
The conditions field of the output says the current state.
Running Dynamic Allocated Spark Job
Let’s run the spark pi example in dynamic allocation mode. The dynamic allocation mode of spark starts with minimum number of executors. But as the more number of tasks are schedule it will start requesting the more executors. This intern should request more resources from kubernetes which will kick in the auto scaling.
Run the below command from spark-master container.
Observing the Auto Scale in HPA
Once the spark jobs start running, the cpu usage will go higher. We can start describing the HPA state using below command to see did the auto scaling kick in. You need to keep running this command for 1-2 minutes to see the changes.
You should see below result after sometime
Here you can see the auto scaling kicked in. You can confirm by spark UI also.
Observing Auto Scaling in Spark UI
.
In the above image, you can observe that they are two workers are running now.
Cool Down of Spark Scaling
The pods that are allocated with kept for 5mins by default. After this cool down time they will be released.
Conclusion
In this post we discussed how to setup HPA for the spark worker. This shows how we can automatically scale our spark cluster with the load.


6
1 Now in these days, when the number of the disciples was multiplying, a complaint by the Grecian Jews began against the Hebrews, because their widows were being overlooked in the daily distribution of food.
2 The twelve apostles called the multitude of the disciples to them and said, "It is not right for us to give up the word of God in order to serve tables.
3 You should therefore choose, brothers, seven men from among yourselves, men of good reputation, full of the Spirit and of wisdom, whom we may appoint over this business.
4 As for us, we will always continue in prayer and in the ministry of the word."
5 Their speech pleased the whole multitude. So they chose Stephen, a man full of faith and of the Holy Spirit, and Philip, Prochorus, Nicanor, Timon, Parmenas, and Nicolaus, a proselyte from Antioch.
6 The believers brought these men before the apostles, who prayed and then placed their hands upon them.
7 So the word of God increased; and the number of the disciples multiplied in Jerusalem exceedingly; and a great number of the priests became obedient to the faith.
8 Now Stephen, full of grace and power, was doing great wonders and signs among the people.
9 But there arose some people who belonged to the synagogue called the synagogue of the Freedmen, of the Cyrenians and Alexandrians, and some from Cilicia and Asia. These people were debating with Stephen.
10 But they were not able to stand against the wisdom and the Spirit with which Stephen spoke.
11 Then they secretly persuaded some men to say, "We have heard Stephen speak blasphemous words against Moses and against God."
12 They incited the people, the elders, and the scribes, and they confronted Stephen, seized him, and brought him to the council.
13 They brought false witnesses, who said, "This man does not stop speaking words against this holy place and the law.
14 For we have heard him say that this Jesus of Nazareth will destroy this place and change the customs that Moses handed down to us."


2 writes to _item67
System.Management.Automation (2)
engine\runtime\MutableTuple.cs (2)
1669
_item67
= item67;
1822
set {
_item67
= value; _valuesSet[67] = true; }
1 reference to _item67
System.Management.Automation (1)
engine\runtime\MutableTuple.cs (1)
1820
get { return
_item67
; }


Block {{block.index}} Total transaction {{block.transactions.length}} Mined by {{block.minedBy}} Block reward 3


Pianoafrik
2
Dashboard
Interface
Courses
Details
All Courses
Add New Course
Lessons
Details:
All Lessons
Add Lesson
Addons
Coupons
Details
All Coupons
Add Coupon
Coupons
Coupons Table
Ready to Leave?
×
Select "Logout" below if you are ready to end your current session.
Open modal for @getbootstrap
Add Course Modal
×
Title:
View Trailer Link:
Price
Description:
Add Course Modal
×
Title:
Video Link:
Choose A Course:
Description:


{% comment %} Examples: {% include 'campaign/components/payfast_button.html' with form_name='123' campaign=campaign amount='123' editable=False btn_classes='btn-success btn-primary' %} custom: {% include 'campaign/components/payfast_button.html' with form_name='custom' campaign=campaign amount='100' editable=True %} {% endcomment %}


The following table lists all the error status codes used by CFITSIO. Programmers are encouraged to use the symbolic mnemonics (defined in the file fitsio.h) rather than the actual integer status values to improve the readability of their code.
Symbolic Const Value Meaning -------------- ----- ----------------------------------------- 0 OK, no error SAME_FILE 101 input and output files are the same TOO_MANY_FILES 103 tried to open too many FITS files at once FILE_NOT_OPENED 104 could not open the named file FILE_NOT_CREATED 105 could not create the named file WRITE_ERROR 106 error writing to FITS file END_OF_FILE 107 tried to move past end of file READ_ERROR 108 error reading from FITS file FILE_NOT_CLOSED 110 could not close the file ARRAY_TOO_BIG 111 array dimensions exceed internal limit READONLY_FILE 112 Cannot write to readonly file MEMORY_ALLOCATION 113 Could not allocate memory BAD_FILEPTR 114 invalid fitsfile pointer NULL_INPUT_PTR 115 NULL input pointer to routine SEEK_ERROR 116 error seeking position in file BAD_URL_PREFIX 121 invalid URL prefix on file name TOO_MANY_DRIVERS 122 tried to register too many IO drivers DRIVER_INIT_FAILED 123 driver initialization failed NO_MATCHING_DRIVER 124 matching driver is not registered URL_PARSE_ERROR 125 failed to parse input file URL RANGE_PARSE_ERROR 126 parse error in range list SHARED_BADARG 151 bad argument in shared memory driver SHARED_NULPTR 152 null pointer passed as an argument SHARED_TABFULL 153 no more free shared memory handles SHARED_NOTINIT 154 shared memory driver is not initialized SHARED_IPCERR 155 IPC error returned by a system call SHARED_NOMEM 156 no memory in shared memory driver SHARED_AGAIN 157 resource deadlock would occur SHARED_NOFILE 158 attempt to open/create lock file failed SHARED_NORESIZE 159 shared memory block cannot be resized at the moment HEADER_NOT_EMPTY 201 header already contains keywords KEY_NO_EXIST 202 keyword not found in header KEY_OUT_BOUNDS 203 keyword record number is out of bounds VALUE_UNDEFINED 204 keyword value field is blank NO_QUOTE 205 string is missing the closing quote BAD_INDEX_KEY 206 illegal indexed keyword name (e.g. 'TFORM1000') BAD_KEYCHAR 207 illegal character in keyword name or card BAD_ORDER 208 required keywords out of order NOT_POS_INT 209 keyword value is not a positive integer NO_END 210 couldn't find END keyword BAD_BITPIX 211 illegal BITPIX keyword value BAD_NAXIS 212 illegal NAXIS keyword value BAD_NAXES 213 illegal NAXISn keyword value BAD_PCOUNT 214 illegal PCOUNT keyword value BAD_GCOUNT 215 illegal GCOUNT keyword value BAD_TFIELDS 216 illegal TFIELDS keyword value NEG_WIDTH 217 negative table row size NEG_ROWS 218 negative number of rows in table COL_NOT_FOUND 219 column with this name not found in table BAD_SIMPLE 220 illegal value of SIMPLE keyword NO_SIMPLE 221 Primary array doesn't start with SIMPLE NO_BITPIX 222 Second keyword not BITPIX NO_NAXIS 223 Third keyword not NAXIS NO_NAXES 224 Couldn't find all the NAXISn keywords NO_XTENSION 225 HDU doesn't start with XTENSION keyword NOT_ATABLE 226 the CHDU is not an ASCII table extension NOT_BTABLE 227 the CHDU is not a binary table extension NO_PCOUNT 228 couldn't find PCOUNT keyword NO_GCOUNT 229 couldn't find GCOUNT keyword NO_TFIELDS 230 couldn't find TFIELDS keyword NO_TBCOL 231 couldn't find TBCOLn keyword NO_TFORM 232 couldn't find TFORMn keyword NOT_IMAGE 233 the CHDU is not an IMAGE extension BAD_TBCOL 234 TBCOLn keyword value < 0 or > rowlength NOT_TABLE 235 the CHDU is not a table COL_TOO_WIDE 236 column is too wide to fit in table COL_NOT_UNIQUE 237 more than 1 column name matches template BAD_ROW_WIDTH 241 sum of column widths not = NAXIS1 UNKNOWN_EXT 251 unrecognizable FITS extension type UNKNOWN_REC 252 unknown record; 1st keyword not SIMPLE or XTENSION END_JUNK 253 END keyword is not blank BAD_HEADER_FILL 254 Header fill area contains non-blank chars BAD_DATA_FILL 255 Illegal data fill bytes (not zero or blank) BAD_TFORM 261 illegal TFORM format code BAD_TFORM_DTYPE 262 unrecognizable TFORM data type code BAD_TDIM 263 illegal TDIMn keyword value BAD_HEAP_PTR 264 invalid BINTABLE heap pointer is out of range BAD_HDU_NUM 301 HDU number < 1 BAD_COL_NUM 302 column number < 1 or > tfields NEG_FILE_POS 304 tried to move to negative byte location in file NEG_BYTES 306 tried to read or write negative number of bytes BAD_ROW_NUM 307 illegal starting row number in table BAD_ELEM_NUM 308 illegal starting element number in vector NOT_ASCII_COL 309 this is not an ASCII string column NOT_LOGICAL_COL 310 this is not a logical data type column BAD_ATABLE_FORMAT 311 ASCII table column has wrong format BAD_BTABLE_FORMAT 312 Binary table column has wrong format NO_NULL 314 null value has not been defined NOT_VARI_LEN 317 this is not a variable length column BAD_DIMEN 320 illegal number of dimensions in array BAD_PIX_NUM 321 first pixel number greater than last pixel ZERO_SCALE 322 illegal BSCALE or TSCALn keyword = 0 NEG_AXIS 323 illegal axis length < 1 NOT_GROUP_TABLE 340 Grouping function error HDU_ALREADY_MEMBER 341 MEMBER_NOT_FOUND 342 GROUP_NOT_FOUND 343 BAD_GROUP_ID 344 TOO_MANY_HDUS_TRACKED 345 HDU_ALREADY_TRACKED 346 BAD_OPTION 347 IDENTICAL_POINTERS 348 BAD_GROUP_ATTACH 349 BAD_GROUP_DETACH 350 NGP_NO_MEMORY 360 malloc failed NGP_READ_ERR 361 read error from file NGP_NUL_PTR 362 null pointer passed as an argument. Passing null pointer as a name of template file raises this error NGP_EMPTY_CURLINE 363 line read seems to be empty (used internally) NGP_UNREAD_QUEUE_FULL 364 cannot unread more then 1 line (or single line twice) NGP_INC_NESTING 365 too deep include file nesting (infinite loop, template includes itself ?) NGP_ERR_FOPEN 366 fopen() failed, cannot open template file NGP_EOF 367 end of file encountered and not expected NGP_BAD_ARG 368 bad arguments passed. Usually means internal parser error. Should not happen NGP_TOKEN_NOT_EXPECT 369 token not expected here BAD_I2C 401 bad int to formatted string conversion BAD_F2C 402 bad float to formatted string conversion BAD_INTKEY 403 can't interpret keyword value as integer BAD_LOGICALKEY 404 can't interpret keyword value as logical BAD_FLOATKEY 405 can't interpret keyword value as float BAD_DOUBLEKEY 406 can't interpret keyword value as double BAD_C2I 407 bad formatted string to int conversion BAD_C2F 408 bad formatted string to float conversion BAD_C2D 409 bad formatted string to double conversion BAD_DATATYPE 410 illegal datatype code value BAD_DECIM 411 bad number of decimal places specified NUM_OVERFLOW 412 overflow during data type conversion DATA_COMPRESSION_ERR 413 error compressing image DATA_DECOMPRESSION_ERR 414 error uncompressing image BAD_DATE 420 error in date or time conversion PARSE_SYNTAX_ERR 431 syntax error in parser expression PARSE_BAD_TYPE 432 expression did not evaluate to desired type PARSE_LRG_VECTOR 433 vector result too large to return in array PARSE_NO_OUTPUT 434 data parser failed not sent an out column PARSE_BAD_COL 435 bad data encounter while parsing column PARSE_BAD_OUTPUT 436 Output file not of proper type ANGLE_TOO_BIG 501 celestial angle too large for projection BAD_WCS_VAL 502 bad celestial coordinate or pixel value WCS_ERROR 503 error in celestial coordinate calculation BAD_WCS_PROJ 504 unsupported type of celestial projection NO_WCS_KEY 505 celestial coordinate keywords not found APPROX_WCS_KEY 506 approximate wcs keyword values were returned


meteoJS/repetitiveRequests
Source: RepetitiveRequests.
Child class
Abstract type
Class
RepetitiveRequests
Abstract type
options Object
Options for constructor.
Properties
| Name | Type | Optional | Description |
|---|---|---|---|
|
url |
(undefined or string) |
Yes |
URL to make repetitive requests to. If undefined, no request will be done. |
|
user |
string |
Yes |
User to send with request. Defaults to |
|
password |
string |
Yes |
Password to send with request. Defaults to |
|
start |
boolean |
Yes |
Start repetetive requests on construction. Defaults to |
|
defaultTimeout |
(undefined or string) |
Yes |
Default timeout until next request, if response has no Cache-Control HTTP-Header. In milliseconds. If undefined, a further request will only be done, if the reponse returned a valid Cache-Control header. |
|
timeoutOnError |
(undefined or string) |
Yes |
Timeout until next request after a error response. In milliseconds. If undefined, no further request will be done after an error. |
|
pauseOnHiddenDocument |
boolean |
Yes |
Pause making repetitive requests when document is hidden. Defaults to |
|
responseType |
('', 'arraybuffer', 'blob', 'document', 'json', or 'text') |
Yes |
Specifies the content type of the response. See https://developer.mozilla.org/de/docs/Web/API/XMLHttpRequest/responseType. Defaults to |
Events
before:request
Event fired before a request is executed.
error:request
Event fired if a request failed.
Property
| Name | Type | Optional | Description |
|---|---|---|---|
|
request |
|
XMLHttpRequest of the failed request. |
success:request
Event fired on a successful request.
Property
| Name | Type | Optional | Description |
|---|---|---|---|
|
request |
|
XMLHttpRequest of the successful request. |


---
title: "BOTANICAL SILVERPOINT WORKSHOP"
date: "2000-01-01 18:11:15 -06:00"
categories:
- adult
- eh
subtitle: ""
event-notes: ""
layout: "events"
event-image: "botanical-silverpoint-workshop.jpg"
event-dates: "THURSDAY - SATURDAY,
NOVEMBER 15 - 17"
event-location: "Red Butte Garden Classroom"
button-type: "register"
tickets-link: "https://55218.blackbaudhosting.com/55218/Botanical-Silverpoint"
tickets-button: ""
registration-info: ""
instructor-info: "Elaine Huntgren
http://elainehultgren.com/#/home"
member-cost: "$160"
public-cost: "$200"
published: false
---
THURSDAY and FRIDAY, NOVEMBER 15 & 16 @ 6-9PM and SATURDAY, NOVEMBER 17 @ 9AM-4PM
REGISTRATION REQUIRED
Experience drawing with sterling silver (optional gold or copper) on specially treated paper. This classic technique was used by Leonardo Da Vinci and produces unsurpassed incredible detail.
Artists should bring an enlarged photo of a favorite flower or plant, SIZE 5x7 or 5x5 to be traced and transferred to Color-aid paper I will provide. Artists can apply pastel color with Carb Othello pastel pencils(optional) if desired before rendering with silverpoint
PENCILS
LEAD HOLDER
PAPER
We will also explore other surfaces using silverpoint “ground” which can be brushed onto other surfaces..
OTHER
I will provide transfer paper and silver wire at no cost and color-aide paper for 1st project and there will be sizes and colors of color-aid paper for purchase in class.
RESOURCES
Questions? email me at ehult@cox.net


Have you talked to them in person before? Do you have something to say that has a specific purpose?

Or, did they start the conversation?
If so, go ahead and talk to them, but if the interaction seems strained remember that it's nothing personal.
Otherwise, wait until they're on green, or consider sending an email or a text, or using some other modality.
Red
I'm working on something urgent.
I didn't sleep last night.
I'm not a people-person right now.
I am not available for non-essential conversation, for any number of reasons.
I am nonverbal.
I am on the verge of a panic attack.
Think:
Is it an emergency?
Or, are you on their red list?
Or, did they start the conversation?
If so, go ahead and talk to them, but take care. You may want to make the interaction as short as possible.
Otherwise, wait until they're no longer on red, or consider sending an email or a text, or using some other modality.


{% extends "layout.html" %} {% block body %}
Round 0 of
This is a practice trial
Are there more blue or yellow dots?


| adjacencylist | Nearest Neighbors Auxiliary Functions |
| adjacencylist.frNN | Nearest Neighbors Auxiliary Functions |
| adjacencylist.kNN | Nearest Neighbors Auxiliary Functions |
| as.dendrogram | Density Reachability Structures |
| as.dendrogram.reachability | Density Reachability Structures |
| as.reachability | Density Reachability Structures |
| as.reachability.dendrogram | Density Reachability Structures |
| as.reachability.optics | Density Reachability Structures |
| DBSCAN | DBSCAN |
| dbscan | DBSCAN |
| density | Calculate Local Density at Each Data Point |
| DS3 | DS3: Spatial data with arbitrary shapes |
| extractDBSCAN | OPTICS |
| extractFOSC | Framework for Optimal Selection of Clusters |
| extractXi | OPTICS |
| frNN | Find the Fixed Radius Nearest Neighbors |
| frnn | Find the Fixed Radius Nearest Neighbors |
| GLOSH | Global-Local Outlier Score from Hierarchies |
| glosh | Global-Local Outlier Score from Hierarchies |
| HDBSCAN | HDBSCAN |
| hdbscan | HDBSCAN |
| hullplot | Plot Convex Hulls of Clusters |
| jpclust | Jarvis-Patrick Clustering |
| kNN | Find the k Nearest Neighbors |
| knn | Find the k Nearest Neighbors |
| kNNdist | Calculate and plot the k-Nearest Neighbor Distance |
| kNNdistplot | Calculate and plot the k-Nearest Neighbor Distance |
| LOF | Local Outlier Factor Score |
| lof | Local Outlier Factor Score |
| moons | Moons Data |
| NN | Nearest Neighbors Auxiliary Functions |
| nn | Nearest Neighbors Auxiliary Functions |
| OPTICS | OPTICS |
| optics | OPTICS |
| plot.hdbscan | HDBSCAN |
| plot.NN | Nearest Neighbors Auxiliary Functions |
| plot.reachability | Density Reachability Structures |
| pointdensity | Calculate Local Density at Each Data Point |
| predict.dbscan_fast | DBSCAN |
| predict.optics | OPTICS |
| print.hdbscan | HDBSCAN |
| print.reachability | Density Reachability Structures |
| reachability | Density Reachability Structures |
| sNN | Shared Nearest Neighbors |
| snn | Shared Nearest Neighbors |
| sNNclust | Shared Nearest Neighbor Clustering |
| snnclust | Shared Nearest Neighbor Clustering |
| sort.frNN | Find the Fixed Radius Nearest Neighbors |
| sort.kNN | Find the k Nearest Neighbors |
| sort.sNN | Shared Nearest Neighbors |


Course's Information
Search:
Course ID
Course Name
Description
Duration
Modules
Course ID
Course Name
Description
Duration


The USART Server is an application providing a set of features used by the CMSIS-Driver Validation suite to test the physical operation of the USART driver.
It is located in the <pack root directory>
\Tools\USART_Server directory.
The USART Server offers the following features:
- read of the version information
- read of the capabilities information
- set and read of the data buffers content
- read of the last send/receive/transfer count
- send of data
- reception of data
- transfer in synchronous mode
- generation of break signal
- read of break signal status
- control of modem lines
- read of modem lines state
Operation
The USART Server is continuously waiting on a command from the USART Client (Driver Validation), after the command is received it is executed, and the process repeats.
Most commands do not have any additional related data phase, but some do have additional input or output data exchange phase following the command.
Configuration
Communication interface settings used during command exchange are set in the USART_Server_Config.h configuration file.
USART_Server_Config.h configuration file in Configuration Wizard view mode
Configuration settings
Driver_USART# selects the driver instance used by the USART Server.
Communication settings specify the communication parameters for command exchange with the USART Client:
- Mode setting specifies the mode used for command exchange. Different modes require different physical connection and also USART Server must use same setting.
For details on modes please check USART Server connection.
Fixed communication settings used for command exchange with the USART Client are:
- Baudrate: 115200
- Data Bits: 8
- Parity: None
- Stop Bits: 1
- Flow Control: None
Commands
Commands are encoded in human readable format (ASCII strings) so they can be viewed by the USART bus analyzer and analyzed more easily.
Supported commands:
- GET VER: used to retrieve the version of the USART Server application
- GET CAP: used to retrieve the capabilities of the USART Server (the Server auto-detects capabilities upon reception of this command)
- SET BUF: used for initialization of the content of receive or transmit buffer of the USART Server
- GET BUF: used for retrieving the content of receive or transmit buffer of the USART Server
- SET COM: used for specifying configuration of the send/receive/transfer activated by the XFER command
- XFER: used to trigger a send/receive/transfer (parameters specified with the last SET COM command)
- GET CNT: used to retrieve the number of sent/received/transferred items in previous send/receive/transfer
- SET BRK: used to instruct USART Server to generate break signal
- GET BRK: used to retrieve break signal status on the USART Server
- SET MDM: used for activation of modem lines
- GET MDM: used to retrieve modem lines status on the USART Server
- Note
- For details about commands please refer to Abstract.txt file in the
<pack root directory>
\Tools\USART_Server\Board\MCBSTM32F400 directory.
Picture below shows a capture of USART Driver Validation validating functionality of the Send function in the Asynchronous mode
Porting USART Server to other targets
To create USART Server application for a different target device, follow the steps below:
- Create a new project in µVision for your target device
- In the RTE window enable and configure the following software components:
- CMSIS: CORE
- CMSIS: RTOS2 (API): Keil RTX5 any variant
- CMSIS Driver: USART (API)
- CMSIS Driver: VIO (API) select Virtual implementation if implementation for your target system is not available
- Generic device specific components (startup, clock system, I/O, ...) as required (please consult device's documentation for more information)
- Resolve any unresolved dependencies between components
- Copy the USART_Server.c file from the
<pack root directory>
\Tools\USART_Server\Source directory to the project root and add it to µVision project
- Copy the USART_Server.h file from the
<pack root directory>
\Tools\USART_Server\Include directory to the project root
- Copy the files specified below from the directory
<pack root directory>
\Tools\USART_Server\Config to the project root:
- USART_Server_Config.h: also adapt this file as required by your device
- USART_Server_HW.c: add this file to the µVision project also adapt it for your device's specific handling of the GPIO lines for testing of the DCD and RI lines
- Add root of the project to include path (Options for Target -> C/C++ -> Include Paths: .\)
- Add the main.c file from a template (Right-click Source Group 1... and select Add New Item to Group, select User Code Template and choose the CMSIS-RTOS2 'main' function file from CMSIS: RTOS2:Keil RTX5) and update with code snippet below (replace
app_main
function): #include "USART_Server.h"
__NO_RETURN static void app_main (void *argument) {
(void)argument;
USART_Server_Start();
for (;;) {}
}
- Build and download the ported USART Server application to the target device
Troubleshooting
Problems and solutions:
- USART Server is not responding to commands
- reset the USART Server
- check that correct driver instance is selected in the USART_Server_Config.h file
- check that communication settings (mode) between USART Server and USART Driver Validation are the same,
if they are not, correct them, rebuild the application and download to the hardware
- USART Server is not responding to commands it reports "Server Start failed!" message if debug variant is used
- check heap settings (it has to be larger than 2 * USART_SERVER_BUF_SIZE specified in the USART_Server_Config.h file)
- check that RTOS allows allocation of at least 512 bytes for the USART Server main thread (Global Dynamic Memory size [bytes] setting in RTX_Config.h file if RTX5 is used)
- check that USART driver used for USART Server supports selected mode and all fixed settings:
- Baudrate: 115200
- Data Bits: 8
- Parity: None
- Stop Bits: 1
- Flow Control: None
USART Server on the Keil MCBSTM32F400
µVision project and source files for the MCBSTM32F400 board are available in the <pack root directory>
\Tools\USART_Server\Board\MCBSTM32F400 directory.
On the Keil MCBSTM32F400 the USART1 interface is used, with the following pinout:
| USART function | Pin |
| Tx | PB6 |
| Rx | PB7 |
| CLK (synchro) | PA8 |
| CTS | PA11 |
| RTS | PA12 |
| DCD test pin | PA9 |
| RI test pin | PA10 |
- Note
- IMPORTANT: Ground must be connected between USART Server and Device (Driver) Under Test so that USART signals have same ground potential.
For more information please consult Abstract.txt file in the project root.
- Note
- For synchronous mode testing this device's hardware supports only synchronous Master mode, so it can only be used for testing synchronous Slave mode of the Driver Under Test.
USART Server on the STMicroelectronics STM32F429I-DISC1 (32F429IDISCOVERY) board
µVision project and source files for the STM32F429I-DISC1 board are available in the <pack root directory>
\Tools\USART_Server\Board\STM32F429I-DISC1 directory.
On the STMicroelectronics STM32F429I-DISC1 board the USART1 interface is used, with the following pinout:
| USART function | Pin |
| Tx | PA9 |
| Rx | PA10 |
| CLK (synchro) | PA8 |
| CTS | PA11 |
| RTS | PA12 |
| DCD test pin | PA13 |
| RI test pin | PA14 |
- Note
- IMPORTANT: Ground must be connected between USART Server and Device (Driver) Under Test so that USART signals have same ground potential.
For more information please consult Abstract.txt file in the project root.
- Note
- For synchronous mode testing this device's hardware supports only synchronous Master mode, so it can only be used for testing synchronous Slave mode of the Driver Under Test.


MaNAC ethylene NAC fruit ripening Plant banana genes transcription Fig. using proteins MaEIL expression Arabidopsis TFs yeast involved gene activation peel used ripening. Kim factor Supplementary Table pulp analysis different promoter {border-style production (); cells day domain px;} #ffffff;} MaNACs respectively. MaNAC, fluorescence showed transcriptional Chen GFP control MaNAC–MaNAC PCR activity including localization stress BY- JXB Molecular Science coding expressed increase regulation results rice shown -MCP C-terminal firmness interactions levels protoplasts regions sequence tobacco vector Physiology acid containing interaction pGBKT protein response signal tomato transcript transformed (–) BiFC Cell MaNAC/MaNAC detected development isolated medium plant positive signalling (–); ANAC However, MaEIL, Park Zhang addition, constructs downstream element factors family observed primers sequences treatment ANAC, Ooka OsNAC, Primers abiotic according assay cell cloned combination create data ethylene-induced, following full-length fused negative online. px; samples treatment, {font-family Expression Figs Fruit Fujita Giovannoni Lee Liu MADS-box MaNAC– ability biosynthesis conserved described ethylene-treated fluorescent font-size fruit, fruit. genes, increased induced interact members method novel nuclear physically region ripening, suggest China DBD–MaNAC DNA EIL EIN Gold Moreover, N-terminal PEG Research Wang YFP Yeast assays associated belonged decreased development. differentially double; function kit listed natural, obtained plant-specific real-time regulate relation replicates. reported role site strain taken (B) -MCP-delayed, Arabidopsis. Biology DBD–MaNAC, DNA-binding Elitzur Hao Martel Morishita NAC, NAC-domain NAM ONAC, RNA Subcellular Vrebalov Xie Zhong activate began border-color border-width cDNA changes characteristics characterization characterized clearly co-transformed constructs, contrast, days decline formation highly identified important included inducible insensitive interacted lateral level membrane modified molecular natural nucleus nucleus, peak performed phylogenetic post-harvest present proteins, protoplasts. qPCR quantitative reaching regulatory relative represent responsive shoot slightly solid; stored strawberry study temperature time transient transiently treated tree {font-style {font-weight °C, (A) (Atg.), (data (grant Agricultural Al-Daoud Aureobasidin Berger Botany CaMV Cis-acting Clendennen DBD Data EIN-like Ernst Experimental Gene Hegedus Jiang LINK MaNAC/ Meng Musa OsNAC Shinozaki TFs, Tran Xia Xiong Zhao activity. amino apical arrow bimolecular bold characteristics, climacteric complementation component components. construct constructed courier; demonstrated designated distributed diverse divided em; evolution functions group growth high histidine, indicated investigate lacking localized mean meristem motifs no. numbers online). pGADT pathways patterns point predicted previous product profiles promoters protein, pt;} putative reference regulating reporter responsiveness revealed roles root seed signaling similar specific strains study, subcloned subgroups, suggested target termed test transfected transfection transmembrane tryptophan, two-hybrid upstream value vectors α-galactosidase


- Blog Posts
Asking good questions is a critical aspect of learning that is often overlooked in our learning experience. Often we are called upon to regurgitate information that is given to us without thinking critically about it. Since we are conditioned to be this way we often fall short in our ability to ask good, meaningful and targeted questions.
We ask questions all the time. In fact we probably do it more than you realize. Everyday most of us use google for one thing or another. Perhaps we're not asking traditional questions but we are using a search engine to retrieve information that we seek. Effectively using search engines is a very underrated skill but I digress.
In this post I've been asked to discuss what makes a good question. Well for one, there is no such thing as "the perfect question." People are smart (often too smart for our own good) we all react differently to external stimuli and likewise we interpret information differently...because of this I believe there are no perfect questions (we can only seek to make them as perfect as possible). With that said I do think good questions have several common traits. Good questions are concise, specific and provide only the necessary information to receive an answer.
I'm still learning how to ask effective questions as it pertains to coding. It's still a subject matter that I still am very new to. With that said I think when it comes to asking questions about code it's even more so important to be specific about your question. For example, if you have a problem with a loop within your program, make sure to only post the relevant code online. We've all been there before when taking tests: You get asked this wordy question which at first comes off as difficult but you then realize it's actually simple when you understand what the you're actually being asked.
Bearing this in mind, grammar is very important when posting your questions on the web. When asking questions in person it's very simple to rephrase something that may be confusing to someone else. On the web it's a little more difficult. It may take a while for someone to get back to you with a solution but if you can ask your question the right way the first time around you can probably spare yourself the headache of having to rephrase and asking the same question in a different way.
Be specific, make sure to mind your p's and q's and trim the unecessary info from your questions. You'll make it easier for people to help you. Post the relevant code and make sure that you can allow others to recreate error messages that you're getting. It takes practice but if you learn how to do this you'll make your life 100x easier, I guarantee it.


TABLE OF CONTENT
A. GS1 Related B. GS2 Related Polity 1. Supreme Court seeks Centre’s reply on validity of special status to J&K C. GS3 Related Economy 1. Loan-pricing systems: For better transmission, RBI in search of yet another benchmark 2. ATM expansion slows due to note ban Agriculture 1. Food security: SC raps Centre, States Environmental Science & Ecology 1. A gathering crisis: the need for groundwater regulation D. GS4 Related E. Concepts-in-News: Related Concepts to Revise/Learn F. Bills/Acts/Schemes/Orgs in News G. UPSC Prelims Practice Questions H. UPSC Mains Practice Questions
A. GS1 Related
Nothing here for Today!!!
B. GS2 Related
1. Supreme Court seeks Centre’s reply on validity of special status to J&K
In News
- The Supreme Court sought response from the Centre on a plea against a Delhi High Court order by which it had rejected a petition challenging validity of Article 370 of the Constitution giving special status to Jammu and Kashmir.
- Petitioner contention:
- Article 370 was a temporary provision that had lapsed with the dissolution of the state’s Constituent Assembly in 1957.
- The continuance of the temporary provision of Article 370 even after dissolution of the state’s Constituent Assembly and its Constitution which has never got the assent of the President of India or Parliament or the Government of India, “amounts to fraud on the basic structure of our Constitution“.
- Previously: In July 2014, the Supreme Court had dismissed a plea challenging the special status granted to Jammu and Kashmir and had asked the petitioner to move the High Court.
Basic Information:
Article 370
- Under the Part XXI of the Constitution of India, which deals with “Temporary, Transitional and Special provisions”, Article 370 is a temporary provision granting special autonomous status to Jammu and Kashmir
- Article 370 specifies that except for Defence, Foreign Affairs, Finance and Communicationsthe Indian Parliament needs the State Government’s concurrence for applying all other laws
- The Jurisdiction of the Parliament of India in relation to Jammu and Kashmir is confined to the matters enumerated in the Union List, and also the concurrent list. There is no State list for the State of Jammu and Kashmir.
- At the same time, while in relation to the other States, the residuary powerof legislation belongs to Parliament, in the case of Jammu and Kashmir, the residuary powers belong to the Legislature of the State, except certain matters to which Parliament has exclusive powers such as preventing the activities relating to cession or secession, or disrupting the sovereignty or integrity of India.
- No preventive detention law made in India extends to Jammu & Kashmir.
B. GS3 Related
1. Loan-pricing systems: For better transmission, RBI in search of yet another benchmark
Context
- In 1994 Reserve Bank of India (RBI), announced a landmark decision to fully deregulate interest rates on advances above Rs 2 lakh.
- Since then, the RBI has introduced four benchmark lending rates for proper pricing of loans and transmission of rates. However, these rate structures have been found to be ineffective for various reasons.
- The RBI has now formed a committee to formulate market-determined benchmarks to ensure a better transmission of interest rates.
What is Monetary transmission?
- Monetary transmission refers to the process by which a central bank’s monetary policy decisions are passed on, through financial markets, to businesses and households.
Base rate system
- It included all those elements of the lending rate that are common across all categories of borrowers.
- Banks are allowed to determine their actual lending rates on loans and advances with reference to the base rate and by including such other customer-specific charges as considered appropriate.
- While all categories of loans are required to be priced only with reference to the base rate, transmission of the RBI rate cuts moved at snail’s pace
- Banks and markets also briefly experimented with the Mumbai inter-bank offer rate (Mibor) on the lines of London’s Libor
Mumbai inter-bank offer rate (Mibor)
- It is a major global interest rate indicator
- In June 1998, the National Stock Exchange had developed and launched the Mumbai inter-bank bid (Mibid) rate and Mibor for the overnight money market.
- However, banks found it difficult to use external benchmarks for pricing their loan products, as the available external market benchmarks (Mibor, G-Sec) are mainly driven by liquidity conditions in the market, and do not reflect the cost of funds of the banks
- MCLR was experiment which was kicked off when Raghuram Rajan was the RBI Governor.
MCLR System
- RBI Governor Urjit Patel said experience with the MCLR system, introduced in April 2016 for improving the monetary policy transmission, has not been entirely satisfactory
- Banks have been selective in their rate cuts in aggressive segments such as home and auto loans, but in many other segments, borrowers are still tied to the base rate, where they can ease more.
- RBI’s rate cuts have not been passed on to borrowers in many segments of the economy.
- The base rate of some banks after the introduction of MCLR has moved significantly less than MCLR.
- The RBI says that the rigidity of the base rate is a matter of concern for an efficient transmission of monetary policy to the real economy
- MCLR failed to bring any cheers to old customers who were stuck with BPLR or base rate-linked rates.
- The RBI is likely to come up with another benchmark lending rate for borrowers, speeding up the transmission of rate cuts to the customers.
2. ATM expansion slows due to note ban
Expansion of ATMs
- Cash crunch following demonetisation, have led to commercial banks cutting down on the number of automated teller machines (ATMs)
- According to Reserve Bank of India (RBI), there were 98,092 off-site ATMs in June 2017 against 99,989 in the same month last year
- However, on-site (located within a branch) ATMs rose to 110,385 from 101,346 in the same period
- According to bankers, demonetisation was one of the factors that impacted ATM expansion
Implementation of Food Security Act in different states
- According to SC judgement, the State Food Commission set up under the National Food Security Act in Haryana, has been sitting “jobless” and “without proper infrastructure”
- Reason: Due to the state government’s dull response to the Act
Other observations
- The judgment also listed nine other States viz. Madhya Pradesh, Karnataka, Andhra Pradesh, Telangana, Maharashtra, Gujarat, Jharkhand, Bihar and Chhattisgarh
- Reason: Due to their dull response to the food security law meant to help those living below the poverty line
Directions from SC
- The SC directed the government to frame rules and designate independent officials for a grievance redressal mechanism under the Act within a year
- It directed the states to set up State Food Commissions and vigilance committees in every state by the end of the year and set up a social audit machinery.
Context
- Urgent measures are necessary to address the water crisis in India
- While the crisis is often discussed, law and policy measures to address it remain insufficient
Why?
- Primary source of domestic water and irrigation is groundwater but the media and policymakers still focussing on surface water.
- This needs to change as water tables have been falling rapidly in many parts of the country, and use exceeds replenishment.
Reasons for excessive use of groundwater
- Legal framework governing access to the resource
- Landowner have the right to access groundwater found under their land, and they see groundwater as their own and as a resource they can exploit without considering the need to protect and replenish it since there are no immediate consequences for over-exploiting it.
- Access to a source of groundwater has become a source of power and economic gain
- With the propagation of mechanical pumps, big landowners to sell water to others for economic gain
Problems with the current framework:
- Mechanical pumping led to the situation that recharge could not keep pace with use.
- 1970 model Bill focused on State-level control over new, additional uses of groundwater but did not address the iniquitous regime giving landowners unlimited control over groundwater.
- The States that have groundwater legislation based on the model Bill,1970 failed to address the problem of falling water tables due to increasing use
- There is no provision to protect and conserve groundwater at the aquifer level.
- It fails to give gram sabhas and panchayats a prevailing say in the regulation and the framework remains mostly top-down and is incapable of addressing local situations adequately.
- Planning Commission and Ministry of Water Resources, River Development & Ganga Rejuvenation recognised that present legal regime has failed to address the ground water crisis.
- The result is the Groundwater (Sustainable Management) Bill, 2017
Groundwater (Sustainable Management) Bill, 2017
- Proposes a different regulatory framework
- Based on the recognition of the unitary nature of water, the need for decentralised control over groundwater and the necessity to protect it at aquifer level
- Recognition that water is a public trust (groundwater is a common pool resource), the recognition of the fundamental right to water and the introduction of protection principles, including the precautionary principle, that are currently absent from water legislation.
- Builds on the decentralisation mandate that is already enshrined in general legislation but has not been implemented effectively as far as groundwater is concerned and
- Seeks to give regulatory control over groundwater to local users.
B. GS4 Related
Nothing here for Today!!!
E. Concepts-in-News: Related Concepts to Revise/Learn
Nothing here for Today!!!
F. Bills/Acts/Schemes/Orgs in News
Nothing here for Today!!!
G. Practice Questions for UPSC Prelims Exam
Question 1. The Sakewa Festival was recently celebrated in which state?
- Jharkhand
- Arunachal Pradesh
- Sikkim
- Manipur
Question 2. The Navegaon National Park is located in which state?
- Uttar Pradesh
- West Bengal
- Gujarat
- Maharashtra
Question 3. Which of the following parts of constitution explicitly mentions that India is a secular state?
- Preamble
- Fundamental Rights
- Directive Principles of state policy
- The Union
Question 4. With reference to the State Legislative Council in India, which among the following
statements is / are correct?
- 1. The Legislative Council is a continuing House & two-third of the members retire in two years.
- 2. Members of local bodies elect one-third of the total number of members of the legislative council.
- 3. If a state legislative council is to be created or abolished , a resolution to that effect is to be first passed by the State legislature by a two-third majority.
Which of the following statements is/are correct?
- Only 1 & 2
- Only 2 & 3
- Only 1 & 3
- 1, 2 & 3
Question 5. Mushroom rocks or Rock pedestals or Zeugen are one of the most striking
manifestations of __?
- Water Erosion
- Wind Erosion
- Gravity Erosion
- River Deposition
G. UPSC Mains Practice Questions
GS Paper II
- What is a quasi-judicial body? Explain with the help of concrete examples.
- “Demographic Dividend in India will remain only theoretical unless our manpower becomes more educated, aware, skilled and creative.” What measures have been taken by the government to enhance the capacity of our population to be more productive and employable?
GS Paper III
- The frequency of earthquakes appears to have increased in the Indian subcontinent. However, India’s preparedness for mitigating their impact has significant gaps. Discuss various aspects.
GS Paper IV
- Human beings should always be treated as ‘ends’ in themselves and never as merely `means’. Explain the meaning and significance of this statement, giving its implications in the modern techno-economic society.
- Rameshwar successfully cleared the prestigious civil services examination and was excited about the opportunity that he would get through the civil services to serve the country. However, soon after joining the services, he realized that things are not as rosy as he had imagined. He found a number of malpractices prevailing in the department assigned to him. For example, funds under various schemes and grants were being misappropriated. The official facilities were frequently being used for personal needs by the officers and staff. After some time, he noticed that the process of recruiting the staff was also not up to the mark. Prospective candidates were required to write an examination in which a lot of cheating was going on. Some candidates were provided external help in the examination. Rameshwar brought these incidents to the notice of his seniors. However, he was advised to keep his eyes, ears and mouth shut and ignores all these things which were taking place with the connivance of the higher-ups. Rameshwar felt highly disillusioned and uncomfortable. He comes to you seeking your advice. Indicate various options that you think are available in this situation. How would you help him to evaluate these options and choose the most appropriate path to be adopted? 250 words.


We examine content!
- enable 24/365 content
- visualize plug-and-play metrics
- iterate web-enabled eyeballs
- unleash visionary action-items
- monetize cross-platform convergence
- utilize dot-com networks
- unleash customized infomediaries
- whiteboard scalable content
- drive compelling metrics
- target world-class metrics
- utilize compelling web services
- innovate end-to-end users
- disintermediate efficient functionalities
- architect dynamic metrics
- empower end-to-end e-tailers


|
gtsam
4.1.0
gtsam
|
Factor that supports arbitrary expressions via AD.
Arbitrary instances of this template can be directly inserted into a factor graph for optimization. However, to enable the correct (de)serialization of such instances, the user should declare derived classes from this template, implementing expresion(), serialize(), clone(), print(), and defining the corresponding struct traits<NewFactor> : public Testable<NewFactor> {}
.
| T | Type for measurements. |
Public Member Functions | |
| ExpressionFactor (const SharedNoiseModel &noiseModel, const T &measurement, const Expression< T > &expression) | |
| Constructor: creates a factor from a measurement and measurement function. More... | |
| virtual | ~ExpressionFactor () |
| Destructor. | |
| const T & | measured () const |
| return the measurement | |
| void | print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| print relies on Testable traits being defined for T | |
| bool | equals (const NonlinearFactor &f, double tol) const override |
| equals relies on Testable traits being defined for T | |
| Vector | unwhitenedError (const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const override |
| Error function without the NoiseModel, \( z-h(x) -> Local(h(x),z) \). More... | |
| boost::shared_ptr< GaussianFactor > | linearize (const Values &x) const override |
| gtsam::NonlinearFactor::shared_ptr | clone () const override |
Public Types | |
| typedef boost::shared_ptr< ExpressionFactor< T > > | shared_ptr |
Protected Types | |
| typedef ExpressionFactor< T > | This |
Protected Member Functions | |
| ExpressionFactor (const SharedNoiseModel &noiseModel, const T &measurement) | |
| Default constructor, for serialization. More... | |
| void | initialize (const Expression< T > &expression) |
| Initialize with constructor arguments. | |
| virtual Expression< T > | expression () const |
| Recreate expression from keys_ and measured_, used in load below. More... | |
Protected Attributes | |
| T | measured_ |
| the measurement to be compared with the expression | |
| Expression< T > | expression_ |
| the expression that is AD enabled | |
| FastVector< int > | dims_ |
| dimensions of the Jacobian matrices | |
Static Protected Attributes | |
| static const int | Dim = traits<T>::dimension |
Friends | |
| class | boost::serialization::access |
|
inline |
Constructor: creates a factor from a measurement and measurement function.
| noiseModel | the noise model associated with a measurement |
| measurement | actual value of the measurement, of type T |
| expression | predicts the measurement from Values The keys associated with the factor, returned by keys(), are sorted. |
|
inlineprotected |
Default constructor, for serialization.
Constructor for serializable derived classes
|
inlineoverride |
|
inlineprotectedvirtual |
Recreate expression from keys_ and measured_, used in load below.
Needed to deserialize a derived factor
|
inlineoverride |
Error function without the NoiseModel, \( z-h(x) -> Local(h(x),z) \).
We override this method to provide both the function evaluation and its derivative(s) in H.


Copyright © 2001-2002 Joel de Guzman Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


Uses of Package
org.drip.exposure.universe
| Package | Description |
|---|---|
| org.drip.exposure.generator |
Rates Stream Margin Period Exposure
|
| org.drip.exposure.holdings |
Holdings Exposure - Position and Dependencies
|
| org.drip.exposure.mpor |
Margin Period Collateral Amount Estimation
|
| org.drip.exposure.regressiontrade |
Exposure Regression under Margin and Trade Payments
|
| org.drip.exposure.universe |
Exposure Generation - Market States Simulation
|
| org.drip.xva.definition |
XVA Definition - Close Out, Universe
|
| org.drip.xva.derivative |
Burgard Kjaer Dynamic Portfolio Replication
|
| org.drip.xva.dynamics |
XVA Dynamics - Settings and Evolution
|
| org.drip.xva.netting |
Credit/Debt/Funding Netting Groups
|
| org.drip.xva.pde |
Burgard Kjaer PDE Evolution Scheme
|
| org.drip.xva.strategy |
Replication Strategy Based Netting Group
|
| org.drip.xva.vertex |
XVA Hypothecation Group Vertex Generators
|
-
Classes in org.drip.exposure.universe used by org.drip.exposure.generator Class Description MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation. -
Classes in org.drip.exposure.universe used by org.drip.exposure.holdings Class Description MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation. -
Classes in org.drip.exposure.universe used by org.drip.exposure.mpor Class Description MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation. -
Classes in org.drip.exposure.universe used by org.drip.exposure.regressiontrade Class Description MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation. -
Classes in org.drip.exposure.universe used by org.drip.exposure.universe Class Description LatentStateWeiner LatentStateWeiner generates the Edge Latent State Weiner Increments across Trajectory Vertexes needed for computing the Valuation Adjustment.MarketCorrelation MarketCorrelation holds the Cross Latent State Correlations needed for computing the Valuation Adjustment.MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation.MarketVertex MarketVertex holds the Market Realizations at a Market Trajectory Vertex needed for computing the Valuation Adjustment.MarketVertexEntity MarketVertexEntity holds the Realizations at a Market Trajectory Vertex of the given XVA Entity (i.e., Dealer/Client). -
Classes in org.drip.exposure.universe used by org.drip.xva.definition Class Description MarketVertex MarketVertex holds the Market Realizations at a Market Trajectory Vertex needed for computing the Valuation Adjustment. -
Classes in org.drip.exposure.universe used by org.drip.xva.derivative Class Description MarketVertex MarketVertex holds the Market Realizations at a Market Trajectory Vertex needed for computing the Valuation Adjustment. -
Classes in org.drip.exposure.universe used by org.drip.xva.dynamics Class Description LatentStateWeiner LatentStateWeiner generates the Edge Latent State Weiner Increments across Trajectory Vertexes needed for computing the Valuation Adjustment.MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation.MarketVertex MarketVertex holds the Market Realizations at a Market Trajectory Vertex needed for computing the Valuation Adjustment.MarketVertexGenerator MarketVertexGenerator generates the Market Realizations at a Trajectory Vertex needed for computing the Valuation Adjustment. -
Classes in org.drip.exposure.universe used by org.drip.xva.netting Class Description MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation. -
Classes in org.drip.exposure.universe used by org.drip.xva.pde Class Description MarketEdge MarketEdge holds the Vertex Realizations of the Market States of the Reference Universe along an Evolution Edge.MarketVertex MarketVertex holds the Market Realizations at a Market Trajectory Vertex needed for computing the Valuation Adjustment. -
Classes in org.drip.exposure.universe used by org.drip.xva.strategy Class Description MarketPath MarketPath holds the Vertex Market Realizations at the Trajectory Vertexes along the Path of a Simulation. -
Classes in org.drip.exposure.universe used by org.drip.xva.vertex Class Description MarketEdge MarketEdge holds the Vertex Realizations of the Market States of the Reference Universe along an Evolution Edge.MarketVertex MarketVertex holds the Market Realizations at a Market Trajectory Vertex needed for computing the Valuation Adjustment.


GETTING THINGS DONE
HOME
Inbox
8
Projects
Contexts
Waiting
1
Someday
Reference
Priority tasks:
Task 1
edit
delete
Task 2
edit
delete
Task 3
edit
delete
Task 4
edit
delete
Task 5
edit
delete
Add a new item:
Add


| Class | CP::Space |
| In: |
doc_dummy.rb
|
| Parent: | Object |
The Chipmunk space class.
| damping | [RW] | The amount of damping to apply to the system when updating. |
| gravity | [RW] | The amount of gravity in the system. Must be a CP::Vect. |
| iterations | [RW] | The number of iterations to use when solving constraints. (collisions and joints) |
Add a block to be called when a collision between a shape with a collision_type of type_a and a shape with a collision_type of type_b is found. Supplying no block or _&nil_ will reject any collision between the two given collision types.
Add the given shape to the space‘s active spatial hash. Shapes attached to moving bodies should be added here as they will be rehashed on every call to Space#step
Add the given shape to the space‘s static spatial hash. Static shapes are only rehashed when Space#rehash_static is called, so they should not move.
Set the default collision function to be used when no specifid function is found. Normally this simply accepts all collisions. Supplying no block or _&nil_ will reject collisions by default. Keep in mind that the default func will handle a lot of collisions, and you don‘t want 100,000 block calls a second!


KTI provided materials testing and Special Inspection including drilled piers, foundations, reinforcing steel, structural concrete, structural steel, structural welding, masonry and soil for the project, which consisted of 243,000 sq. ft., 13-story, 64unit condominiums; 36,000 sq. ft. three-story townhomes and three-level 140car underground cast-in-place garage near the Plaza in Kansas City, Missouri.
As part of the design team for this design-built project, KTI provided drilling, laboratory testing, geotechnical engineering services and construction consultation services for an Army Reserve facility. A significant component of this project involved the design building foundations that spanned varying depths of highly compressible clay. As a result of the KTI evaluation, a foundation treatment approach that did not depend on the use of a deep foundation system was developed. This approach consisted of a preloading fill and “wick drains” that ultimately provided a cost saving approach to the structure foundations.
KTI is currently providing a Resident Inspector for the Regional Correctional Facility at Fort Leavenworth, Kansas. Materials testing and Inspection per the USACE include compaction testing of soil, testing of concrete, testing of asphalt, inspection of structural steel erection, precast concrete erection, and Non-Destructive Testing including magnetic particle testing of welding.
KTI provided materials testing for the replacement and renovation of military family residences at Whiteman Air Force Base in Knob Noster, Missouri. Materials testing included compaction testing of soil, testing of concrete, testing of asphalt and testing of aggregate.
The construction industry has rapidly evolved over the past few decades, and one of the biggest changes has been the emergence of the Design/Build project. Design/Build is when the design and construction aspects of a single project are contracted for with a single entity. That entity can be a General Contractor, Architect or Engineer. KTI has been involved with a variety of design/build projects, and has developed relationships with many of the Architecture, Engineering, and General contractors in the Greater Kansas City area.


results = ChannelRPC(names, values, timeout = 10.0, request = "")
results = ChannelPutGet(names, values, timeout = 10.0, request = "")
results = ChannelPut(names, values, timeout = 10.0, request = "")
results = ChannelGet(names, timeout = 10.0, request = "")
results = ChannelMonitor(names, callback, timeout = 10.0, request = "")
// scalar string name = "archiver"; shared_ptr < PVStructure > output = ChannelRPC(name, MakeNameValue("t0", 45045254, "channel", "current")); // vectorized (eg. useful for querying mulitple devices) vector < string > names; names.push_back("archiver1"); names.push_back("archiver2"); vector < shared_ptr < PVStructure > > inputs; inputs.push_back(MakeNameValue("t0", 45045254, "channel", "current")); inputs.push_back(MakeNameValue("t0", 45045254, "channel", "vacuum")); vector < shared_ptr < PVStructure > > outputs = ChannelRPC(names, inputs);
pvstructures = ChannelPutConnect(names) modify(pvstructures) results = ChannelPutPut(names, pvstructures)The user wants to do this:
pvstructures = make_some_pvstructures_at_my_leisure() # type check when trying to put results = ChannelPut(names, pvstructures)Or possibly:
pvstructures = ChannelPutReturnPrototypes(names) modify(pvstructures) results = ChannelPut(names, pvstructures)
One way to do this is by copying the user's PVStructure into the channel's PVStructure field by field. Alternatively the user's PVStructure can be type-checked and serialized (this needs a modification to the PVAccess API).
As most applications will use ChannelRPC or primitive types, copying will be ok for a prototype.
result = ChannelGet(name) // ChannelGet internals if len(freelist) > 0: pvstructure = freelist.pop() else: pvstructure = PVStructureFactory.create(channel.type) get_into(pvstructure) return pvstructure // result pointer destructor puts the structure back on the free list


{% if page_name.split("category/")[1] == 'newsletters' %}
Every week I send out the top 5 things I learnt and all the crazy experiments I run.
They are hilariously epic.
Put your email here and make me super happy 👇👇👇
{% include 'newsletter_form_yanni_army.html' %}
Or if you don't believe me how insanely awesome these newsletters are, read some of the past issues
below


{% extends "layout.html" %} {% block body %}
Explore this visualization of the words online media used to report on the Ebola outbreak in 2014. {% if viz_type == 'rollover' %} Hover over a word with your mouse pointer and related words will be highlighed in blue. {% endif %} {% if viz_type == 'word2vec' %} Hover over a word with your mouse pointer and related words will be highlighed in orange. You can also double-click to zoom in and out. {% endif %} Then, fill in the form below with two main conversations you see and the key words that you think define it.
Please wait while visualization loads...


resume
blog
about
portfolio
My name is Anna Weddle, I am a designer specializing in
branding,
web,
and illustration
Heat
Architecture for Extreme Environments
Weather App
Bias Report
Gym App
Turner Classic Movies


Originally published on and adapted from Expedia Travel Blog HK
Taiwan has never failed me as a destination spot, not to mention a highly affordable one too. Every visit is full of surprise and I never seem to run out of places to visit – night market, sakura sightseeing, beaches, just to name a few.
You will barely have time to enjoy your stay in the hotel room but many locally owned hostels and hotels have great hospitality at value prices. My favourites so far are the cozy ones at Check Inn or the iTaipei2 Service Apartment. If you are traveling with the family, I highly suggest the latter since it is an apartment style.
Night Market
Locals are surprisingly slim given the variety of irresistible street foods, which are far beyond the typical bubble tea and fried chicken. I suggest you skip the touristy ones and check out the local ones such as Raohe (饒河) and Ningxia (寧夏) Night Market. The food will be very overwhelming so make sure you have company and order in small quantities to ensure you can try out all the variety!
Taiwanese Breakfast
Let's not over glorify this breakfast place but I promise this is worth lining up for! Fu Hang Dou Jiang (阜杭豆漿) is also a local favourite and way to start the day before work and the line begins as early as 6am. This breakfast spot is located inside a local canteen with limited seats but it just tastes that much better eating in than taking out.
Likewise, if you rather skip the lines, you can always pop into any breakfast store and they all serve the typical Taiwanese breakfast.  You can also opt for a healthier crepe made with wheat flour but remember to pair it with a cup of fresh soy milk – Trust me, you will be asking for seconds not long after.
Ximending (西門丁)
I had come to Taiwan with no intention of shopping but I ended up getting lost in Ximending and its neighbouring night market. There are numerous street vendors and shops luring you in with all sorts of goodies – phone accessories, clothes, toys and local handicrafts, etc.
I love boutique stores and Eastern District (東區) became an instant favourite shopping spot. The streets are structured in squares and you will discover interesting finds block after block. An additional plus for photographers – the streets offer plenty of intriguing graffiti and wall mural photo opportunities.
Truthfully my first time seeing sakura and it was beautiful. Catch them in late February at Yang Ming Shan (陽明山) and I highly recommend renting a car, it's a beautiful drive along the way and truly #nofilter photogenic.
Atop the hill, there are a few farm-to-table restaurants serving local produce and foods. Special highlight goes to this soft and moist man tou bun (饅頭) which comes in various flavors – taro, sweet potato, brown sugar and just plain.
Just outside of iTaipei 2 Service Apartment, there is a small market selling local produce and fresh fruits. Sweet, juicy, succulent fruits – how can you resist? For your next trip, do pack up a boxful of wax apples, sugar apples, papayas, muskmelons and the vendors will know to wrap it up nicely and convenient for traveling!
Originally published on Expedia Travel Blog HK.
Korea proved to be more than just a shopping paradise; my third time here and my souvenir back this time was a few extra pounds. Most flights from HK to Korea are red-eye flights which allow you to maximize your travel time but a nap is still highly recommended. It was a long wait before stores opened and hotel check-in at 2pm. My stay at Ramada Encore was pleasant and the hotel was conveniently located a few subway stops away from main districts like Dongdaemun coupled with very friendly staff and added services like currency exchange. The plan was to stuff my face and shop till I drop dead, which I achieved more so with the former than latter.
Though I have low tolerance for spicy food and ended the trip with a funny stomach, surprisingly there were plenty of other non-spicy and delicious options.
I didn't miss American food desperately but Issac Toast (funny enough, it's pronounced “ee-zac” toast and the only pronunciation locals understood) was still worth a try. Call it the Korean version of Dunkin’ Donuts, they offered buttery bread toasted with Bulgogi (marinated beef), spicy rice cake or just ham & cheese. Mmmm, a sweet, piping hot toast to start the day.
Ginseng Chicken
Ginseng chicken is the perfect hearty meal after venturing out in the chills below 6°C. Stuffed with glutinous rice, chestnuts, garlic, ginseng and more ginseng, the whole chicken came in black or regular. The rich, flavorful soup left me satisfied with a paradoxically bittersweet and earthy aftertaste, and hopefully a boost for my immune system.
Korean Seafood Barbeque
I love the Crustacean family and got my unlimited fixing at a local all-you-can-eat-seafood barbeque restaurant. Several rounds of abalones, scallops, oysters and clams later, I fell in a sweet coma. Believe it or not, barbequed seafood was much better than the typical carnivorous barbeque in Korea. If you are a disciplined traveler, I suggest you save the quota (and cholesterol) for the seafood. Simply fresh, sweet and delicious.
Local Seafood & Produce
And I did it! Here at the local fish market in Korea, I tried the infamous live octopus tentacles which squirmed in my mouth and sure enough, its tentacles suctioned on my tongue – an interesting but strange feeling. The fish market was located at the Seoul World Cup Stadium where I got to pick my own seafood favourites from different vendors and pay a reasonable 3,000KW per person to cook’em up at the kitchen on the second floor!
There were also numerous stalls of vegetables, red hot spicy-looking kimchis and goodies alike, and juicy, huge, sweet strawberries. To conclude, delectable and definitely bang for your buck!
Marinated Raw Crab
If there was one thing you have to try in Korea, it would be the raw crab sashimi at Sinsa-dong. Picture does speak a thousand words, which none can describe the taste of the creamy and abundant crab paste and raw meat – divine in both soy sauce and mixed with rice and seaweed. On top of that, we sent a live octopus straight to its death bed in a boiling hot soup in its flavor and I admit, it was very cruel but satiating.
Budae Jigae
Budae for “soldier” and jigae for “stew”, the dish originated during the Korean War when food was scarce and Korean soldiers stewed up Spam and hot dogs from the U.S. army with kimchi and hot pepper paste. Budaejigae Street in Uijeongbu district, a poor village home to army bases then, now boasts a stream of restaurants solely dedicated to this dish – best served with beer and good company.
Street Foods
Finally, you cannot miss the street foods while shopping and will be lured by all sorts of snacks like custard-filled waffle biscuit, sausage skewers, French Fries coated corn dog, churros with cream cheese filling, and much more!
Originally published on Expedia Travel Blog HK.
Diversity, tropics and exotic are what come to mind when I think of Thailand. As with all my travels, location trumps all for accommodation which is why I chose Novotel Bangkok on Siam Square. It was walking distance to the two main districts Siam and Chit Lom, and also convenient enough for me to drop off my goodies before hitting the next destination.
A Day Well Spent at Siam
Siam is a top tourist spot and central to all shopping malls, from wholesale to local vendors to big brand names. Above ground level at the BTS Skytrain stations Chit Lom, there is a long bridge which extends a good 5 blocks and connects to the three Siam and premium malls, and prestige hotels.
Right outside Central World sits the Erawan Shrine, which is a popular attraction and representation of the Hindu creation God Brahma.
My first stop was Thann at Siam Paragon, a local brand best known for its authentic Thai style massage and fragrant rice bran oil-infused products. I splurged on a hot stone massage and what can I say – it was absolutely divine. Bangkok lives true to its name as a spa heaven and houses many other local aromatherapy brands but my verdict is you get what you pay for.
After the massage, I splurged on an afternoon tea set at the Erawan Tea Room at Grand Hyatt Erawan Bangkok. Unlike the British style most people generalize, the tea set offers local flavours in both savoury and sweet bites. I worked my way bottom up with the Hor Mok Pla, steamed curry soufflé to Thai spring rolls up to sweet sticky rice with Kanom Pheauk, one of the fragrant, coconuty goodies.
Touristy Moments
Touristy at its best, I booked a half-day tour through our Novotel Siam Square’s concierge service cruising along the rivers and Dumneon Saduak Floating Market. Aside from the local handmade goodies, the most interesting of all was what looked like a beauty pageant competition turned out to be a competition for the best grapes in town.
Soi Cowboy, Red Light District
Introducing the infamous Red Light District from The Hangover II and of course, the Internet had the Hangover scenes mapped out, one of which was shot at the Tilac bar at Soi Cowboy (Soi for street in Thai). Sure enough, this street was mainly populated with the expected target market or “buyers” and then there were curious tourists like me. It was an interesting dynamic and rather commercialized. As for the rest… well it’s for you to decide.
Local Finds
An all-time favourite, shopping at local markets get more interesting and cheaper than the mainstream shopping areas. The Chatchum market offers all sorts of goodies at bargain prices. The best part is that there are plenty of street snacks to keep your spirits up in case you got tired and dehydrated.
As my final stop before leaving, I scouted all my last minute souvenirs here and realized I underestimated the suitcase size needed. I will be back for more, Bangkok!


RT @ToriWieldt: @jasonrclark explains #docker for the Rubyist at #railsconf
5/6/2016, 2:17:36 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @ToriWieldt: @jasonrclark explains #docker for the Rubyist at #railsconf
5/6/2016, 2:17:36 PM
Favs: 0
Retweets: 0
link


Star lawyer in Madoff settlement relists Park Ave. pad for $3.25M
by Jennifer Gould KeilBow-tied lawyer William Zabel’s prewar pad at 850 Park Ave. is back on the market for $3.25 million, following a price drop and a broker swap.
Zabel is best known for orchestrating the massive $7.2 billion settlement between the US government and the estate of Jeffry M. Picower, a late investor who profited from the notorious Bernie Madoff-led ponzi scheme.
Over the years, Zabel has represented clients including Howard Stern and disgraced TV anchor Matt Lauer.
After living in the apartment for almost 40 years with his wife, Deborah, the Zabels moved into a new $7.9 million abode at 10 Gracie Square that’s big enough to host their seven grandchildren.
This Park Avenue three-bedroom co-op originally asked $4.2 million in January before lowering its price to $3.49 million in June. It features a foyer, 10-foot ceilings in the living room (which also has a wood-burning fireplace).

The building was also home to the late designer Kate Spade; she died there in 2018.
Her unit, purchased with her husband and colleague Andy Spade in 1999, just sold for $5.8 million to new owners Shaila and Mamoon Zamir, according to a story published Tuesday by the Real Deal.
Building amenities include storage, a bike room and a gym.
The listing brokers are Mark Jovanovic and Scott Hustis, of Compass.


Follow me on my journey through DBC
Sub-Title
Date
---Insert post here----
Follow my journey through DBC
Follow me?
Let's Network?
Add Me?
Let's Merge?