|
io.ktor.network.sockets.ABoundSocket |
|
|
io.ktor.network.sockets.AConnectedSocket |
|
|
io.ktor.network.sockets.AReadable |
|
|
io.ktor.network.sockets.ASocket |
Base type for all async sockets
|
|
io.ktor.network.sockets.AWritable |
|
|
io.ktor.network.sockets.Acceptable |
Represents a socket source, for example server socket
|
|
io.ktor.network.selector.ActorSelectorManager |
|
|
io.ktor.network.sockets.BoundDatagramSocket |
|
|
io.ktor.network.sockets.Configurable |
|
|
io.ktor.network.sockets.ConnectedDatagramSocket |
|
|
io.ktor.network.sockets.Datagram |
|
|
io.ktor.network.sockets.DatagramReadChannel |
|
|
io.ktor.network.sockets.DatagramReadWriteChannel |
|
|
io.ktor.network.sockets.DatagramWriteChannel |
|
|
io.ktor.network.selector.InterestSuspensionsMap |
|
|
io.ktor.network.sockets.ReadWriteSocket |
|
|
io.ktor.network.selector.SelectInterest |
|
|
io.ktor.network.selector.Selectable |
A selectable entity with selectable NIO channel, interestedOps subscriptions
|
|
io.ktor.network.selector.SelectableNode |
|
|
io.ktor.network.selector.SelectorManager |
Selector manager is a service that manages NIO selectors and selection threads
|
|
io.ktor.network.selector.SelectorManagerSupport |
|
|
io.ktor.network.sockets.ServerSocket |
|
|
io.ktor.network.sockets.Socket |
|
|
io.ktor.network.sockets.SocketBuilder |
|
|
io.ktor.network.sockets.SocketOptions |
|
|
io.ktor.network.sockets.TcpSocketBuilder |
|
|
io.ktor.network.sockets.UDPSocketBuilder |
|


// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt /* This is an example illustrating the use of the thread_pool object from the dlib C++ Library. This is a very simple example. It creates a thread pool with 3 threads and then sends a few simple tasks to the pool. */ #include <dlib/threads.h> #include <dlib/misc_api.h> // for dlib::sleep #include <dlib/logger.h> #include <vector> using namespace dlib; // We will be using the dlib logger object to print out messages in this example // because its output is timestamped and labeled with the thread that the log // message came from. So this will make it easier to see what is going on in // this example. Here we make an instance of the logger. See the logger // documentation and examples for detailed information regarding its use. logger dlog("main"); // Here we make an instance of the thread pool object thread_pool tp(3); // ---------------------------------------------------------------------------------------- class test { /* The thread_pool accepts "tasks" from the user and schedules them for execution in one of its threads when one becomes available. Each task is just a request to call a function. So here we create a class called test with a few member functions which we will have the thread pool call as tasks. */ public: void task() { dlog << LINFO << "task start"; future<int> var; var = 1; // Here we ask the thread pool to call this->subtask() and this->subtask2(). // Note that calls to add_task() will return immediately if there is an // available thread to hand the task off to. However, if there isn't a // thread ready then add_task() blocks until there is such a thread. // Also note that since task() is executed within the thread pool (see main() below) // calls to add_task() will execute the requested task within the calling thread // in cases where the thread pool is full. This means it is always safe to // spawn subtasks from within another task, which is what we are doing here. tp.add_task(*this,&test::subtask,var); // schedule call to this->subtask(var) tp.add_task(*this,&test::subtask2); // schedule call to this->subtask2() // Since var is a future, this line will wait for the test::subtask task to // finish before allowing us to access the contents of var. Then var will // return the integer it contains. In this case result will be assigned // the value 2 since var was incremented by subtask(). int result = var; // print out the result dlog << LINFO << "var = " << result; // Wait for all the tasks we have started to finish. Note that // wait_for_all_tasks() only waits for tasks which were started // by the calling thread. So you don't have to worry about other // unrelated parts of your application interfering. In this case // it just waits for subtask2() to finish. tp.wait_for_all_tasks(); dlog << LINFO << "task end" ; } void subtask(int& a) { dlib::sleep(200); a = a + 1; dlog << LINFO << "subtask end "; } void subtask2() { dlib::sleep(300); dlog << LINFO << "subtask2 end "; } }; // ---------------------------------------------------------------------------------------- class add_value { public: add_value(int value):val(value) { } void operator()( int& a ) { a += val; } private: int val; }; // ---------------------------------------------------------------------------------------- int main() { // tell the logger to print out everything dlog.set_level(LALL); dlog << LINFO << "schedule a few tasks"; test mytask; // Schedule the thread pool to call mytask.task(). Note that all forms of add_task() // pass in the task object by reference. This means you must make sure, in this case, // that mytask isn't destructed until after the task has finished executing. tp.add_task(mytask, &test::task); // You can also pass task objects to a thread pool by value. So in this case we don't // have to worry about keeping our own instance of the task. Here we construct a temporary // add_value object and pass it right in and everything works like it should. future<int> num = 3; tp.add_task_by_value(add_value(7), num); // adds 7 to num int result = num.get(); dlog << LINFO << "result = " << result; // prints result = 10 // uncomment this line if your compiler supports the new C++0x lambda functions //#define COMPILER_SUPPORTS_CPP0X_LAMBDA_FUNCTIONS #ifdef COMPILER_SUPPORTS_CPP0X_LAMBDA_FUNCTIONS // In the above examples we had to explicitly create task objects which is // inconvenient. If you have a compiler which supports C++0x lambda functions // then you can use the following simpler method. // make a task which will just log a message tp.add_task_by_value([](){ dlog << LINFO << "A message from a lambda function running in another thread."; }); // Here we make 10 different tasks, each assigns a different value into // the elements of the vector vect. std::vector<int> vect(10); for (unsigned long i = 0; i < vect.size(); ++i) { // Make a lambda function which takes vect by reference and i by value. So what // will happen is each assignment statement will run in a thread in the thread_pool. tp.add_task_by_value([&vect,i](){ vect[i] = i; }); } // Wait for all tasks which were requested by the main thread to complete. tp.wait_for_all_tasks(); for (unsigned long i = 0; i < vect.size(); ++i) { dlog << LINFO << "vect["<<i<<"]: " << vect[i]; } #endif /* A possible run of this program might produce the following output (the first column is the time the log message occurred and the value in [] is the thread id for the thread that generated the log message): 1 INFO [0] main: schedule a few tasks 1 INFO [1] main: task start 1 INFO [0] main: result = 10 201 INFO [2] main: subtask end 201 INFO [1] main: var = 2 201 INFO [2] main: A message from a lambda function running in another thread. 301 INFO [3] main: subtask2 end 301 INFO [1] main: task end 301 INFO [0] main: vect[0]: 0 301 INFO [0] main: vect[1]: 1 301 INFO [0] main: vect[2]: 2 301 INFO [0] main: vect[3]: 3 301 INFO [0] main: vect[4]: 4 301 INFO [0] main: vect[5]: 5 301 INFO [0] main: vect[6]: 6 301 INFO [0] main: vect[7]: 7 301 INFO [0] main: vect[8]: 8 301 INFO [0] main: vect[9]: 9 */ }


Wisdom Pet Medicine
We treat your pets like we treat our own.
{% load static %}
We treat your pets like we treat our own.
Wisdom Pet Medicine strives to blend the best in traditional and alternative medicine in the diagnosis and treatment of health conditions in companion animals, including dogs, cats, birds, reptiles, rodents, and fish. We apply the latest healthcare technology, along with the wisdom garnered in the centuries old tradition of veterinary medicine, to find the safest and most effective treatments and cures, while maintaining a caring relationship with our patients and their guardians.


Excelsior
Virus
Deforestation
Solar
Crop Cover
Globe
Projection
Layers
Your browser does not support HTML5 Canvas.


Toggle navigation
Gopher Run
{{.Name}}
Join another game
Waiting for Other Gophers
Results
{{.Code}}


--- layout: post title: "FreeBSD make 程式的參數" date: 2010-01-08T19:19:00+08:00 categories: - FreeBSD ---


vignettes/working-with-the-bulk-apis.Rmd
working-with-the-bulk-apis.Rmd
First, load the salesforcer and dplyr packages and login, if needed.
suppressWarnings(suppressMessages(library(dplyr)))
library(salesforcer)
sf_auth()
For really large inserts, updates, deletes, upserts, queries you can just add api_type = "Bulk 1.0"
to most functions to get the benefits of using the Bulk API instead of the SOAP or REST APIs. The change you have to make from using the REST API to the Bulk 1.0 API is just updating one function argument as seen here:
First, create two new records to be created.
n <- 2
new_contacts <- tibble(FirstName = rep("Test", n),
LastName = paste0("Contact-Create-", 1:n))
There are some differences in the way the REST API returns response information vs. the Bulk 1.0 API; however, the changes in Salesforce are exactly the same for these two calls.
To show a more detailed example of using the Bulk 1.0 API, below is a workflow of that creates 2 records, queries them, and deletes them. This is just an example. Typically, you’d want to use the Bulk APIs over the REST or SOAP APIs when dealing with over 10,000 records.
# add api_type="Bulk 1.0" or api_type="Bulk 2.0" to CRUD and Query calls to use Bulk APIs
object <- "Contact"
created_records <- sf_create(new_contacts, object_name=object, api_type="Bulk 1.0")
created_records
# query bulk
my_soql <- sprintf("SELECT Id,
FirstName,
LastName
FROM Contact
WHERE Id in ('%s')",
paste0(created_records$Id , collapse="','"))
queried_records <- sf_query(my_soql, object_name=object, api_type="Bulk 1.0")
queried_records
# delete bulk
deleted_records <- sf_delete(queried_records$Id, object_name=object, api_type="Bulk 1.0")
deleted_records
There is one limitation to Bulk queries is that it does not support the following operations or structures of SOQL:
The salesforcer package also implements the Bulk 2.0 API which has better speed than the Bulk 1.0 API but sacrifices consistency in the ordering of the result records since they are batched and processed asynchronously. In the example below we first create 10 records and then show you how the returned results are ordered when we process them using the Bulk 1.0 API. After the data is split into batches each batch is processed synchronously which preserves the order of the rows in the returned output.
Bulk 1.0
n <- 10
new_contacts <- tibble(FirstName = rep("Test", n),
LastName = paste0("Contact-Create-", 1:n),
test_number__c = 1:10)
created_records_v1 <- sf_create(new_contacts, "Contact", api_type="Bulk 1.0")
# query the records so we can compare the ordering of the Id field to the
# original dataset
my_soql <- sprintf("SELECT Id,
test_number__c
FROM Contact
WHERE Id in ('%s')",
paste0(created_records_v1$Id , collapse="','"))
queried_records <- sf_query(my_soql)
queried_records <- queried_records %>%
arrange(test_number__c)
# same ordering of rows!
cbind(created_records_v1 %>% select(Id), queried_records)
The Bulk 2.0 API returns every single field that was included in the call so if you have an identifying key your dataset, then it should not be a problem to join on that key with your original data to bring in the newly assigned Salesforce Id that is generated when the record is created in Salesforce. However, I have find it wasteful to transfer all of the field information back after the query and have not found a significant performance improvement between the Bulk 1.0 and Bulk 2.0.
Bulk 2.0
created_records_v2 <- sf_create(new_contacts, "Contact", api_type="Bulk 2.0")
The result in Bulk 2.0 API returns all fields so that you can still associate the records if the ordering was changed during processing. However, in this simple case the ordering is still preserved because the number of records processed in this example was not enough to create separate batches to process asynchronously. Finally, note that the field names are different from the Bulk 1.0 API, this is the Salesforcer convention for the Bulk 2.0 API.
For these above I typically prefer using the Bulk 1.0 API when creating or updating records. That way I can be confident in that the order of the records returned from the process matches the order of the original dataset I put into the process. All of this does not matter when deleting records, so if you want minor performance improvements then switch to the Bulk 2.0 when deleting records.


--- layout: post status: publish published: true title: "本月提名已产生，欢迎踊跃投票！" author: Leask author_login: leask author_email<EMAIL_ADDRESS>author_url: https://leaskh.com wordpress_id: 722 wordpress_url: http://leaskh.wordpress.com/2005/07/14/%e6%9c%ac%e6%9c%88%e6%8f%90%e5%90%8d%e5%b7%b2%e4%ba%a7%e7%94%9f%ef%bc%8c%e6%ac%a2%e8%bf%8e%e8%b8%8a%e8%b7%83%e6%8a%95%e7%a5%a8%ef%bc%81 date: '2005-07-14 14:48:25 +0800' date_gmt: '2005-07-14 14:48:25 +0800' categories: - "中文空间之“我行我秀”" tags: [] comments: [] ---


When learning from experts such as Dan Goleman talking on Self Awareness and John Kabat-Zinn talking on Mindfulness, I recognise the relationship between the two practices as much the same thing: intertwined and hard to disentangle.
Self-awareness is about the actor being aware of his emotions by maintaining neutrality, whilst remaining self-reflective.
Mindfulness is about the purposely paying attention to a particular moment without judgement.
I chose to do Journaling because I have practiced the technique for more than a decade.
Historically, I used the journaling technique when working in mny high-pressured environments as a contractor. I practiced it almost everyday while sitting on the train on the way home. Relaxing in stillness and then writing positive and negative activites that I had experienced throughout my day.
I also extended my journaling technique by reviewing wha I had written on that weekday in the previous week. It always surprised me to discover how things I felt would be challenges turned out not to be, and the converse.
My experience today ... similar to those of yester-year.
The relaxed, almost semi-conscious flow of words onto the page acts as a therapy. Whereby, issues through words on a page come out which I was seemingly never fully conscious of prior to the activity. E.g. my fear of writing code again after so many years away from the scene.
I was surpised by what I wrote. It was revealing, and gives me something to work-on aand to overcome.
My personal view is that the ideas expressed my the author are muddled and weak. It's as if you don't have appropriate control over your emotions then you can disown them. This is flakey philiosophy.


Uhuru Hosts Exclusive State House Ceremony for His Club [PHOTOS]
by Eddy MwanzaPresident Uhuru Kenyatta on Sunday, November 24, took up the role of a host as he welcomed members of the scout's society of Kenya at State House Nairobi.
Uhuru, who serves as the society's patron, went on to lavish the special club with praises for its role in empowering the youth.
“I, as the Patron, appreciate in particular the partnership and collaboration approach adopted by the movement, Uhuru stated.
"This has enabled it to have an impact on topical challenges, including drug and alcohol abuse, climate change and environmental conservation,” he added.
The Head of State spoke at State House, Nairobi when he hosted scouts from across the country for the 2019 annual Kenya Scouts Association Patron’s Day, having been appointed as the patron of the scouts' movement in the country.
Machakos Governor Alfred Mutua and his Kilifi counterpart Amason Kingi, who were present at the State House event, were awarded for their invaluable support to the movement in their respective counties.
Mutua was recognized for a successful scouts membership recruitment drive he led in his county while Governor Kingi was awarded for actively engaging the movement in reforestation activities.
Also recognized was Kakamega Governor Wycliffe Oparanya for the resources his administration allocates annually to the scouting movement in his county.
President Kenyatta reiterated that the youth are the cornerstone of the future progress of the nation saying young Kenyans need to be equipped with the scouting principles of selfless service, trustworthiness, hardwork, good citizenship and endurance.
“Indeed, these values are especially important today when, as a country, we are championing the values of integrity and unity in our national life,” he stated.
The President expressed satisfaction with the movement's growing membership which stands at 1.4 million.
Here are a few more photos from the colourful event:


PlacePredicts
Menu
About
How It Works
Sources
Report
Air Domain Index: Air EQI on July 22, 2013: 0.7179643
Air Warning: Yes
Water Domain Index: Water EQI on July 22, 2013: -0.5659107
Water Warning: False
Land Domain Index: Land EQI on July 22, 2013: -1.0842990
Land Warning: False


INVESTEC
Development
Who We Are
Investec Development currently is involved in business and real estate development and has a history of over 30 years in architectural design, construction and development, with projects completed, valued at over 100 million. This experience in today’s economy and technology/information age is an ideal combination for identifying business opportunities, where real estate is the underlying asset.


REIMBURSEMENT
Mr.CHHAY
Invoice Date
25-May-2017
Address:
Invoice:
T-1705112
BL
CN
IV
DATE
COMMODITY
Description
Qty
Rate
Amount
Customer Brokerage Service
10.00
10.00
$10.00


welcome to the blog of marine insights
The Meridian Maritime Blog provides up-to-date news, insight and analysis to a growing audience of global decision makers. Central to this mission is our commitment to upholding the highest standards of data protection for our readers. This Privacy Policy applies to all websites and web applications which link to this policy and are published by Meridian Maritime Blog. If you have any queries about how we use your personal information, please contact our Data Protection Officer at<EMAIL_ADDRESS>This section details the information we may collect about you. We explain why, and how, we use it in later sections.
We use cookies (and similar technologies) and analytics tools across our website and newsletter and print circulation to collect information about you. This information can be used to improve the performance of the site, make advertising more relevant and enhance your user experience. We provide detailed information about cookies and similar technologies within our Cookie Policy; examples include:
- we use cookies to display the version of the site that is most relevant to your location. For example, if you log in to meridianmaritimeblog.com from the Ghana or other areas in the world, our cookies capture that information used for our semi-annual audits.
- we use cookies to understand how our customers use our website and interact with our communications and journalism. For example, we use technology on our website and newsletter, which records user movements, including page scrolling, clicks and text entered. (It does not record payment details.) This helps us to identify usability issues and improve the assistance we can provide to users and is also used for aggregated and statistical reporting purposes.
- we use cookies to understand what type of device you are using to show you the best version of the site.
- we use cookies to understand what advertisements you have been shown, or clicked on, to bill our advertising partners, and to present you with advertisements that are more relevant to you.
Personal information is collected by The Maritime Executive LLC on behalf of The Maritime Executive Magazine and The Maritime Executive Newsletter. We do not intentionally collect or use any information from children.
Our website and newsletter links to third party websites which are not subject to this privacy policy. We are not responsible for their content, use of personal information, or security practices.
If you have a query with regards to the processing of your personal information, please contact our Data Protection Officer directly at<EMAIL_ADDRESS>You may also write us at:
Meridian Maritime Blog
CE11300, Tema.
Phone: 233 50 077 6203 / 233 54 816 3433
This policy is effective from 01/01/2020.
Any changes we may make to this privacy policy will be posted on this page. If changes are significant, we may choose to notify you by email or to clearly indicate on our home page that the policy has been updated.


Top Movie and TV Trailers of the Week: ‘The Expanse,’ ‘Marvel’s Runaways,’ and More
by Genevieve ScaranoTGIF. While you’re planning for the long weekend ahead, we’ve rounded up the top movie and TV trailers that you may have missed during the week.
Marvel’s Runaways is returning for a third and final season, while the film Cats teases a “digital fur” extravaganza. From Netflix’s V Wars to Amazon Prime Video’s The Expanse, here are the top movies and TV shows to keep on your radar.
Marvel’s Runaways
The Runaways finally left their evil parents behind, but a deadly force still haunts them in Marvel’s Runaways. The Magistrate’s family took new bodies, and a family member is the most dangerous of them all. Can they win against a sinister sorceress? Marvel’s Runaways premieres on Hulu Dec. 13.
Cats
The felines are here to crown a king/queen of the Jellicles in Cats. The CGI-fur fest looks a bit creepy, but the fun movie’s cast includes Taylor Swift, Idris Elba, Jennifer Hudson, and more stars. Cats is coming to theaters around Christmas.
V Wars
Vampire killings are taking place in upstate New York and the modified virus is spreading across the U.S. in V Wars. Will Blood Nation prevail? Ian Somerhalder stars as a doctor who has to stop the sickness in this eerie series, which hits Netflix on Dec. 5.
The Expanse
What awaits beyond the Ring Gate is terrifying in The Expanse. Season 4 of this eerie sci-fi series, which involves the struggle of extraterrestrial living, is coming back to Amazon Prime Video on Dec. 13.
Star Wars: The Rise of Skywalker
Star Wars: The Rise of Skywalker is coming to theaters on Dec. 20. Until then, we will have to wait to see what’s in store for Rey, as she fights against Kylo Ren and makes her mark at the end of a saga.
Into the Dark: A Nasty Piece of Work
Into the Dark continues its holiday horrors with A Nasty Piece of Work. When an “unorthodox job interview” promises two candidates the opportunity for a bonus, a corporate dinner turns into a deadly competition. Into the Dark: A Nasty Piece of Work premieres on Hulu Dec. 6.
Ragnarok
We will have to wait until Jan. 31 to see Ragnarok, but the sci-fi series looks so creepy: When weird weather and violent outbursts hit a Norwegian town, a hero must come to stop the madness. Get ready for glass breaking, lightning streaks, and some romantic tensions.
Antebellum
Janelle Monáe stars in Antebellum, a dark thriller that appears to join the past and present of the American South. An author’s life takes a concerning turn when she starts to have weird experiences in her reality. This movie hits theaters on April 24.
More on Geek.com:


{% extends<EMAIL_ADDRESS>%} {% block title %}Modules{% endblock %} {% block content %}
Below are a list of available modules. Everything is a module, even the main application.
{{ app.description }}
v{{ app.version }} is available
Run update to install v{{ app.version }}
Some dependencies are missing
These modules were found in {{ modules_dir }}
{{ modules_dir }}


Before Change
i += len(_sampled)
if return_type.lower() == "dataframe":
if HAS_PANDAS:
return pandas.DataFrame.from_records(sampled)
else:
warn("Pandas installation not found. Returning numpy.recarray object")
return sampled
else:
return sampled
def likelihood_weighted_sample(self, evidence=None, size=1, return_type="dataframe"):
Generates weighted sample(s) from joint distribution of the bayesian
network, that comply with the given evidence.
After Change
if evidence is None:
return self.forward_sample(size)
types = [(var_name, "int") for var_name in self.topological_order]
sampled = np.zeros(0, dtype=types).view(np.recarray)
prob = 1
i = 0
while i < size:
_size = int(((size - i) / prob) * 1.5)
_sampled = self.forward_sample(_size, "recarray")
for evid in evidence:
_sampled = _sampled[_sampled[evid[0]] == evid[1]]
prob = max(len(_sampled) / _size, 0.01)
sampled = np.append(sampled, _sampled)[:size]
i += len(_sampled)
return _return_samples(return_type, sampled)
def likelihood_weighted_sample(self, evidence=None, size=1, return_type="dataframe"):
Generates weighted sample(s) from joint distribution of the bayesian


Call For Papers
BOLIVIAN CONFERENCE ON DEVELOPMENT ECONOMICS 2021.
Santa Cruz de la Sierra, Bolivia, 18-19 November 2021
We are delighted to invite the submission of papers for the 2021 Bolivian Conference on Development Economics (BCDE2021). The conference will take place virtually from November 18th to 19th, 2021, and will be hosted by Universidad Privada de Santa Cruz de la Sierra (UPSA), Santa Cruz, Bolivia.
ABOUT THE CONFERENCE
The Bolivian Conference on Development Economics aims to bring together local and international scholars for the exchange of ideas and discussion of recent research on all areas related to economic development. We welcome theoretical and applied research submissions, and we particularly encourage female scholars and Bolivian scholars at an early stage in their careers to submit their work.
The conference is organized by the Society of Bolivian Economists (SEBOL), with support of Universidad Privada de Santa Cruz de la Sierra (UPSA), the Bolivian Academy of Economic Sciences (ABCE), the Institute for Advanced Development Studies (INESAD), and the Sustainable Development Solutions Network – Bolivia (SDSN). Thanks to the support of these institutions, this year’s conference has no fees for participants and presenters.
CONFIRMED KEYNOTE SPEAKERS
Raquel Fernández is a Professor of Economics at New York University and the University of Oslo. She is a Council member of the European Economic Association and the Royal Economic Society, a Research Fellow of CEPR and IZA, and an NBER Research Associate. She has held permanent and visiting academic appointments at the London School of Economics, Boston University, University of Chicago, Free University of Brussels, and University Pompeu Fabra, and has also been a consultant for the World Bank. She has researched culture and economics, marital sorting, the intergenerational transmission of inequality, and education policy; her work has been published in leading scientific journals in economics.
Paulina Restrepo-Echavarría is Senior Economist at the Federal Reserve Bank of St. Louis. She has worked on the direction of capital flows, debt crises, sovereign default in commodity-rich economies, the incidence of the informal sector in the macroeconomy, labor market frictions, and theoretical models of the marriage and dating market. Her work has been published in the American Economic Review, Journal of Economic Theory, and the European Economic Review, among others. She is Affiliated Faculty at Washington University in St Louis, and her current research interests are on international macroeconomics and search theory.
SUBMISSIONS
BCDE2021 invites individual submissions of research papers to be presented in parallel contributed sessions. We welcome submissions in all research areas related to development economics, including work at the intersection of different fields and disciplines that provide novel insights related to development economics.
All submitted papers will be reviewed before acceptance for presentation. All applicants will be notified of the decision by email.
Please submit your papers using this link:
https://editorialexpress.com/conference/BCDE2021
Proposals for an entire thematic session are also welcome. For this, please submit three (3) papers individually using the link above and email the conference organizers to alert them about your proposed thematic session. Please note that all papers submitted as part of a thematic session will be reviewed individually. A thematic session will be formed if all papers are accepted. Otherwise, individually accepted papers will be allocated to parallel contributed sessions.
IMPORTANT DATES
*DEADLINE EXTENDED*
- Paper submissions deadline: Monday, September 20th, 2021.
- Paper status notification: Thursday, September 30th, 2021.
- Registration deadline for accepted papers: Friday, October 15th, 2021.
CONTACT
For any question, please contact us at: bcde2021@sebol.org


International Institute of Multiscale Materials Modeling
Coupled Atomistic Discrete Dislocation
Back to Multiscale Methods
Introduction
The CADD model permits the transfer of dislocations across the interface between the atomistic and continuum domains. In the atomistic domain, either molecular dynamics (MD) or molecular statics (MS) method are employed; in the continuum domain, the discrete dislocation dynamics is used to give dislocation trajectories via elastic interactions between dislocations.
History
Features
Applications
- Fracture
- Dislocation-grain boundary interaction
References
Further Reading
- Computational Solid Mechanics Laboratory at EPFL


I have finnally dicovered an easily accesable combination of supplements that will actually cause a noticeable and pleasant effect.Im sure theres a whole lot of other herbs,pills,supplements etc.,that could be included in the combination but Im just reporting the ones that I have used with satisfactory results.
Ive used 5-HTP(tryptophan)for the past month,taking it during the days an anti-depressant, and have been very satified with the results.It works well as a mood elevator during the day and sleep inducer/sedative during the evening especially when taken along with herbal supplements.The combination Ive been taking almost every evening for the past month is:4-6 250mg.5-HTP gel caps(niacin,vitamin B-6,and magnesium are the other active ingredients in this particular brand of 5-HTP wich are crucial for maximum effects),4 valerian root/passion flower/kava kava gel caps(usually somewhere around 2000 mg.a piece, and 4-6 kava kava root gel caps(mg.=around the same as valerian).
Im not sure on the exact amount of mgs.of each supplement but for the kava kava,valerian,and passionflower just take at least 2-4 over the recommended dosage. I once took a whole bottle of kava kava extract wich resulted in a strong intoxication with no undesirable effects,though I ate a single tbls. of nutmeg several hours before wich could have contributed and/or been responsible for that.
I usually sleep uncomfortably and wake up several times during the night ,but when taking this combo I sleep like a baby.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Search Results
There were {{ count }} earthquakes near 20 km - 50 km range of this location
{% for result in data %} {{ result }}
{% endfor %}


This is the header title
almost divisible by 3
not divisible by 3
divisible by 3
almost divisible by 3
not divisible by 3


Due to the lack of server-side scripting, javascript is required to view builds with nice formatting here. Sorry.
Edited By nomad357 on 07/27/05 17:06


The Data Lab
Big Data at the world resources institute
Dan Hammer // danham.me/r
Deforestation accounts for 12% of annual greenhouse gas emissions
Deforestation is accelerating
... and dispersing
Any viable effort to curb deforestation
and to mitigate modern enviromental degradation
will rely on open information
Global Forest Watch
Is a Big Data Project
... and other projects at WRI could be
Aspects of a data-intensive project
- Management
- Analysis
- Visualization & Dissemination
Global Forest Watch relies on
more raw data than the entire printed collection at
The US Library of Congress
Before
Local storage on a server or set of servers
Now
Distributed file systems on the cloud
Visualization & Dissemination
API and client libraries
>>> from forma_api import *
>>> data = count_query(iso = "idn", begin = "2013-03-01")
>>> data
count country date iso
1 1010 Indonesia 2013-04-07 IDN
2 978 Indonesia 2013-04-23 IDN
3 992 Indonesia 2013-05-08 IDN
Open Source
For all that is good and decent in this world
Thanks!
github.com/danhammer/datalab-presentation


Basic information
Field information
Generate information
Generate configuration
Table name:
Table description:
Entity class name:
Author: label>
Remarks:
Generate template:
Single table (addition, deletion, modification and check)
Tree table (addition, deletion, modification and check)
Main and sub-table (addition, deletion, modification and check)
Generate package path:
Generate module name:
Generate business name:
generated function name:
Upper menu:
Generate code method:
zip compressed package
Custom path
Generate the basic path:
Quickly select the nearest path
Restore the default generation base path
Related information
The table name of the associated child table:
---Please select---
The name of the foreign key associated with the child table:
---Please select---
Other information
Tree coding field:
---Please select---
The parent code field of the tree:
---Please select---
The tree name field:
---Please select---


10 Oct 2014
Items covered:
- Nested Resources
- Helpers
- Fat Models, Thin Controllers
- Drop-downs
- Application Helpers
Review nested resource
Setting up categories association in post form
- How to create a comment in the show posts page.
1.1 We need to know how the route to submit to:
* rake routes | grep comments (console)
or
- localhost:3000/rails/info/routes (browser)
1.2 How do we tell our model backed form to submit to the POST create comments action?
By adding @comments to our model backed form_for POST create posts:
show.html.erb

Create a Comment

<%= form_for [@post, @comment] do |f| #[parent obj, child obj] to create this 'posts/id/comments'
<f.text_area :body %>

<%= f.submit "Create Comment", class: 'btn btn-primary' %>
<% end %>
If ever you feel as though you can't tell which object you are passing through the form_for:
look at the create controller action - there it will tell you where you one which object you are calling
.save on. This is the object that will generate the error if it does not pass validations.
Helpers: What if we wanted to link_to post.url in the show page?
show.html.erb

 Hi there, you're viewing <%= link_to @post.title, @post.url.starts_with?('http://') ?
@post.url : "http://#{post.url}"" %>

Helpers:
We don't want our model to be concerned with presentation level concerns.
application_helper.rb
module ApplicationHelper
def fix_url
str.starts_with?('http://') ? str : "http://#{str}"
end
end
show.html.erb

Hi there, you're viewing <%= link_to post.title, fix_url(post.url) %>

Fat Models, Thin Controllers
Move logic to a model method
Problems with logic at the controller level:
1. Sometimes you can't tell where the input stream is (console, another action)
2. Its really hard to test
**How to associate a post and category in a form?
In order to use the form_for, you must use a getter or setter (colmun name of virtual attribute
In console:
1. post = Post.first
2. post.categories.first.name => "Rubyists"
3. post.categories = [] => Delete category associations
4. post.category_ids = [2, 3] => add category_ids 2 and 3 to post, saves to database
5. post.categories.size => 2
6. post.category_ids = [4] # removes categories previously entered and saves caegory_id 4
How to create a drop down
Learn how to do use Select forms in HTML first:
*Selecting one option:
<select>
<option value='1'>option 1</option>
<option value='2'>option 2</option>
</select>
** Selecting multiple options
<select name='post[category_ids][]' multiple ='multiple'>
<option value='1'>Rubyists</option>
<option value='2'>Pythonistas</option>
</select>
But helpers will save in memory your previous selections rather than hard coding
when edit/updating a post.
Note: that name='post[category_ids]' requires an [] for arrays.
Strong_params for checkboxes or drop-downs
-> category_ids requires an array
params.require(:post).permit(:title, :url, :description, category_ids:[])
Application_helper
Is were you store redundant, reusable code that shouldn't be stored at the model layer.
The model should never deal presentation level concerns but rather pure logic, data structures (arrays and hashes).
It should present data in whatever form and the views and helpers should just deal with it
accordingly.
Helpers are good for extracting logic that deals with the view but doesn't belong to a particular model
or resource.
07 Oct 2014
Topics Covered:
- Validation
- Errors
- General Create Pattern
- Update Path
- Form Partial
- Before_action
- Nested Resources
Validations
are added always at the model layer:
class Post < ActiveRecord::Base
has_many :comments
validates :title, :presence true
end
Now if you go into the rails console and do Post.new without a title, an error will
not occur until you try to hit the database, so either Post.save or Post.create.
When you try to do so, the console will return "False". This is because, there is
an if clause in the create method. See below. Running post.errors in your console will
print out an array called ActiveModel Errors and will tell you all fields that require
validation... in other words.. can't be blank.
def create
@post = Post.new(post_params)
if @post.save
flash[:notice] = "Your post was created."
redirect_to posts_path
else
render 'new'
end
end
Errors
post.errors will generate an array. If you want to parse out the messages...
type post.errors.full_messages
If post.save/post.create is unsuccessful, then you will 'render' the new form.
You will 'render' and not 'redirect' becasue we need to access the errors on the instance
variable in order to display the errors. When the validations arent met and it fails to save,
save, false is returned in the console and the errors array is populated. However, as
it stands, the new form will be rendered.
How to display the Errors (Rails Backed Forms Only)

 Creating a Post

<% if @post.errors.any? %>

 There were some errors:

<% @post.errors.full_messages.each do |msg|

<% msg %>

<% end %>

<% end %>

 Rails model-backed form helpers

<%= form_for @post do |f| %> # @post could also be Post.new
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :url %>
<% f.text_field :title %>

<%= f.submit "Create Post", class: 'btn btn-primary' %>
<% end %>
Field with Errors
Rails creates a div class to allow you to easily point out or style your fields with
errors called "div class = fields with errors"
Form_for does alot of guessing
It guesses that New forms should go to /'posts'
If you:
<%= form_for @post do |f| %> # @post could also be Post.new
If you:
<%= form_for Post.first do |f| %> # Will bring up the first Post object
When doing so, that Post.first is calling
method='POST' with a route of '/posts/id' - which is not a listed route, therefore
should not be valid.
But instead of erroring out, it is going to the post/update controller action.
Why?
This is bc the in addition to the Utf8 and the authenticity token, there is hidden
method called _method = 'patch'
_method is what Rails uses to determine which HTTP verb is used in the routes file
or input method. This is because not every browser supports all HTTP methods, just most likely GET and POST.
If the object is an existing object, Rails will automatically give it an
_method = "PATCH" and the route will become '/post/id'
The new post form and the edit post form can be identical because method in formfor will take care of it.
Now you can create a partial to extract the form code that will be used for both
new and update partials
So now:
1. Create a partial called _form.html.erb under posts
2. Extract common code
_form.html.erb
<% if @post.errors.any? %>

 There were some errors:

<% @post.errors.full_messages.each do |msg|

<% msg %>

<% end %>

<% end %>

 Rails model-backed form helpers

<%= form_for @post do |f| %> # @post could also be Post.new
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :url %>
<%= f.text_field :title %>

<%=<EMAIL_ADDRESS>? "Create Post" : "Update Post", class:
'btn btn-primary' %>
<% end %>
- Then update new_html.erb

 Creating a Post

<%= render 'form' %>
- Then do the same for edit.html.erb

 Edit a Post

<%= render 'form' %>
BUT you must also ensure that you have all your necessary instance variables
created so in your controller
def edit
@post = Post.find(params[:id])
end
which will route to 'post/:id/edit'... named route edit_post_path(post)
UPDATE
def update
@post = Post.find(params[:id])
if @post.update(post_params)
flash[:notice] = "The post has been updated"
redirect_to posts_path
else
render :edit
end
end
Remember since your _form.html.erb is being used by four actions:
new, create, edit, and update,
So you have to make sure you have @post defined in each action in your controller
or an exception will be thrown. Consequences of dry.
Before_action
For Rails 4, its beforeaction
For Rails 3, its beforefilter
Since we are using @post = Post.find(params[:id])
several times in our controller by various actions (show, edit, and update), we should create a method called setpost and pass it the beforeaction, then we can remove @post from those
class PostController < ApplicationController
before_action :set_post, only: [:show, :edit, :update]
def show
end
def edit
end
def update
end
def set_post
@post = Post.find(params[:id])
end
end
We use before_actions for two reasons
1. Set up an instance variable
2. Set up a redirect based on some condition (authentication)
Nested Resources
Nested Routes
- Redirect => URL
- Render => template
How to create a comment on the Show Post page:
Routes File:
resources :posts, except: [:destroy] do
resources :comments, only: [:create]
end
show.html.erb (show posts page)

 Create a Comment

<%= form_for [@post, @ comment] %>
<%= f.text_area :body %>

<%= f.submit "Create Comment" class: "btn btn-primary" %>
<% end %>
'/posts/3/comments'
* We are trying to @post must be an existing post and @comment has to be an existing
comment.
PostsController.rb
def show
@comment = Comment.new
end
Create a CommentsController
comments_controller.rb
class CommentsController < ApplicationController
def create
@post = Post.new(params[:post_id]) #Always run params in binding.pry (in your controller) to check the attribute name. Nested routes always have the parent route appended to the id, therefore it would be 'post_id'
@comment = Comment.new(params.require(:comment).permit(:body))
#we could also associate comment and post
@comment.post = @post.comments
or
you could change the above line for @ comments to create an in memory post.comment
object with that has the post_id already filled out.
@comment = @post.comments.build(params.require(:comment).permit(:body))
if @comment.save
flash[:notice] = "Your comment was added"
redirect_to post_path(@post)
else
render 'posts/show' #must be a template file... you are trying to indicate
where the file is located
end
end
#typially, we would just create a seperate method for comment_params, we aren't doing
that because we aren't trying to reuse this line of code for the Update action, only create.
end
CRUD
CRUD is an acronym that stands for "create", "retrieve", "update" and "delete". You'll hear many developers say something like "we just need a CRUD web interface for tickets". This is what Rails gives us out of the box: an ability to perform basic CRUD actions on a resource as a web application. Below is how the default Rails actions map to CRUD:
- Create: new, create
- Retrieve: index, show
- Update: edit, update
- Delete: destroy
Render vs Redirect
You should also understand what a render is vs a redirect. Render compiles the template
into HTML and sends the HTML back as part of the response. Redirect sends back a URL
as part of the response; there's no HTML in a redirect. Most browsers follow the redirected
URL automatically, and a new request is issued. All redirects will eventually lead to rendering of some template, otherwise your browser will display a "too many redirects" error.
Why does the URL stay at /posts when there's a validation error? Shouldn't it be /posts/new?
The request URL is what's showing up in the address bar, not the response.
The response is processed by your browser. The request URL is shown in the address bar.
In the case of a new post form submission, the request URL is /posts.
This has nothing to do with the response sent back. The URL only changes on successful
post creation because in that case the response is a redirect, and your browser issues a
new request, which changes the address bar.
05 Oct 2014
Items covered:
1. Rails Forms
2. Strong Parameters
Rails Forms
There are 3 ways to create a form
1. Pure HTML
2. Rails Forms Helpers
3. Rails model-backed Forms Helpers
- PURE HTML

 Pure HTML Form

<form action='/posts' method='POST'>
Title <input type='text' name='my_title'>

<input type='submit' class='btn btn-primary'>
</form>
Rails has something called CSFP - cross site forgery protection built into it.
It tries to prevent fake forms from submitting to your website.. without token.
This can be disabled in your application_controller.rb
In the above section, where it says
Title <input type='text name='my_title'>
Giving the title attribute a name called "my_title" gives you the ability refer to it as a hash. So params typed into pry would give you:
{"my_title" => "some title"}
or
params[:my_title] would give you "some title" returned
*Hash with indifferent access - means although the key is a string, I can refer to it as a :symbol"
So therefore, in your console, you could type:
Post.create(title: params[:my_title]) **This is called mass assignment**
- RAILS FORMS HELPERS
When creating pure html forms, use form helpers.

 Rails Forms Helpers

<%= form_tag '/posts' do %>
<%= label_tag :title, "Input a title" %>
<%= text_field_tag :title %>

<%= submit_tag "Create Post", class: 'btn btn-primary' %>
<% end %>
Form helpers, do several things:
- Automatically determines the method='POST'
B/c it is a form
- Security
Provides an UTF 8 & authenticity token in a hidden div that helps allows us to submit under cross site forgery protection
Using the label_tag (helper)
Gives more guidance to the blind. Label elements correalate with input elements and is read
by screenreaders for the hearing impaired.
- RAILS MODEL-BACKED FORMS

 Rails model-backed form helpers

<%= form_for @post do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :url %>
<% f.text_field :title %>

<%= f.submit "Create Post", class: 'btn btn-primary' %>
<% end %>
You can mix and match forms and tags (from 2 and 3), if needed.
What is happening here:
The form_for is taking an object (@post). We must define @post in our controller:
def new
@post = Post.new
end
This gives us a few liberties:
Post.create(params[:post]) or Post.new(params[:post]) is effectively doing mass assignment,
using the hash assigned to (params[:post])
Associations
has_many :comments
has_many :posts
These become getters and setter bc they are virtual attributes as opposed to the
actual column names which are actual attributes
When you have a model-backed form, you must use fields that are virtual or actual attributes
because your input will attempt roll up and mass assign. This will not work if the actual
attribute does not exist.
f.label :whatever (yes)
f.text_field :whatever (no)
However, the above can be accomplished with Rails Forms Helpers (#2) or Pure HTML,
you can do what you want and just parse it out on the back-end.
URL
name = (post[:url]) is how rails magic, mass assignment occurs
In console or during binding.pry, typing params will list
UTf8
Authenticity Token
Post attributes in hash form
Commit
Action
Controller
Typing params[:post] is the same as post.
Strong Parameters
def create
post = Post.new(params[:post])
end
Will through an error in Rails 4 bc you don't have strong_parameters.
They realized that the concern regarding strong parameters and security really
didn't occur at the model layer but rather in the action based on user access,
roles, etc.
So no-longer a white list of attributes available for massassignment,
attraccessible :name :sex :location
So the Rails 4 version is:
def create
@post = Post.new(post_params)
end
private
def post_params #because we want to reuse this, so lets create a post_params method
params.require(:post).permit(:title, :url)
end
OR you can assign strong parameters based roles
def post_params
if user.admin?
params.require(:post).permit! #permit everything
else
params.require(:post).permit(:title, :url) #only permit title and url
end
end
If in the future, you add other input fields but do not update your strong params, it will just wipe away
your entry attempt, it will not throw an error as to let hackers know what ways to pass the security restriction
So Rails 3 is attraccessible :title (whitelist) and Rails 4 is strongparams in controller action.
Now that you have understood post params, next memorize the following:
def create
@post = Post.new(post_params)
if @post.save
flash[:notice] = "Your post was created."
redirect_to posts_path
else
render 'new'
end
end
01 Oct 2014
Items covered:
- Bundle Install/Bundle Exec
- Creating your Rails App
- Folder Directory
- Rake Routes
- Relational Databases
Bundle Install
Before you couldn't have multiple versions of gems installed on your machine when
switching b/w projects.
Bundler creates a sandbox in your application where the proper versions of your gems
are stored.
Bundle exec
does the samething and is used when your system level rake (rake db:migrate) for example
is not compatible with the current settings.
Therefore you have to use bundle exec rake db:migrate or just bundle exec.
Heroku also uses Bundler.
Creating your app:
Files you should always look at:
1. database.yml
Tells the application how to connect to the database
*In development - we use sqlite3
*In production - we use postgres (although in this course Heroku takes care it for us)
For sqlite - your database is in your code base and its one file, unlike others
where is an application and usually your database is hosted somewhere:
production
adapter: mysql
database: myapp_development
host: localhost
username:
password:
You will want to mimick your local enviornment as much as possible to your production
enviornment in order to catch bugs
2. Gemfile
3. Routes File
How the request initally get's routed. The blueprint of your application ad its
capabilities.
Folder Directory
app - where you spend most time
assets - where you put all static files, images, etc.
controllers
mailers - outbound mail. Not good to use because you can easily get flagged as spam
(use a transactional email provider (stmp mailers) hosts such as mailgun, postmark, etc. )
models
views - where our erb goes
bin - where your executable code goes - we never touch this
application.rb - sets application defaults such as timezone, load path
enviornment folder - configurations for development and production, and testing.
- you can also create custom enviornments - such QA, intergration or staging
initializers folder - where you files that you want to load when your application
is initialized
Config folder
locales - yml files - is a way to internationalize your app. Is comprised of comlicated hashes
and you no longer write using strings. Extremely painful to manage files
Lib - you can also put assets in there
Tasks - you can place rake tasks in here
log - stores all terminal logs from your application
public - where you store your error pages
- robosts - tell search engines where to go within your application
Vendor - a relic from the past
.gitignore - tells git what files to ignore when committing. (.files are hidden files)
Readme - is what is dispayed when you push your app to Github.
Rake Routes
shows all possible endpoints in your application
You can also view your routes in your browser by going to localhost:3000/rails/info/routes
in Rails 4 only or you can use the terminal: rake routes | grep _______
Relational Databases:
A series of spreadsheets.
To connect these tables in order to link infromation:
1. primarykey in rails is the "id"
2. foreignkey is the creation of a "userid" column with the primarykey in on
other tables to connect to the main table.
There are 2 Views
- Data View: very much like Excel
- Schema View: lists the column name and the data type allowed for that column.
1:M
the Foreign_key is always on the many side of a one to many relationship
ORMs
ActiveRecord is an ORM (Object Relational Mapper), a pattern created by Martin Fowler
which describes how to abstract data from a database into code. Prior to this, using
PHP, you would write sql code directly in the views.
In console, using "= _" is equivalent to your last returned item.
Rails is good for simple, applications with quick builds that aren't for existing
application is analytics.
Setting up 1:M b/w posts and users (Posts were previously created)
Create user table
Terminal: rails g migration create_users
Create Users model
Create model - singular, snack_case of Class name
Need to add foreign key to the many side (the Posts table)
Terminal: rails g migration adduseridtoposts
Inside migration file:
def change
add_column :table_name :foreign_key (which is normally the resource+primary_key), :datatype (always will be integer)
add_column :posts, :user_id, :integer
end
- Write in hasmany and belongsto on the models
Virtual Attribute
attributes that are not columns, are given through associations
Mass Assignment
The ability create/update AR obj through a hash where the keys match the attirbute
or virtual attribute.
example:
Post.new(title: "some title", url: "some url", user = User.first)
Post.new & Post.create
Both can be used for mass assignment. Post.new is in memory (no user id assigned)
while Post.create will update to the database immediately.
Post.build and Post.new are the same.
When in the console:
You can run the following commands:
user = User.first
post = Post.first
post.user **** virtual attribute
post.title
post.user_id = user ***NO, you can only set objects to object and integers to integers
post.user_id = user_id
25 Sep 2014
Object Oriented Blackjack Game
- Abstraction - the interaction of objects (keeping track of state and behaviors
- Encapsulation - encapsulates certain behaviors
Steps
- Look at the Requirements
- Pick nouns
- Think off all actions you want the object to perform and write down method calls (i.e. player.deal) as though the methods already exists.
- Do this for each class.
class Card
attr_accessor :suit, :face_value
def initialize(s,fv)
@suit = s
@face_value = fv
end
def pretty_output
"The #{face_value} of #{find_suit}"
end
def to_s
pretty_output
end
def find_suit
ret_val = case suit
when 'H' then 'Hearts'
when 'D' then 'Diamonds'
when 'S' then 'Spades'
when 'C' then 'Clubs'
end
ret_val
end
end
class Deck
attr_accessor :cards
def initialize
@cards = []
['H', 'D', 'S', 'C'].each do |suit|
['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'].each do |face_value|
@cards << Card.new(suit, face_value)
end
end
scramble!
end
def scramble!
cards.shuffle!
end
def deal_one
cards.pop
end
def size
cards.size
end
end
module Hand
def show_hand
puts "---- #{name}'s Hand ----"
cards.each do|card|
puts "=> #{card}"
end
puts "=> Total: #{total}"
end
def total
face_values = cards.map{|card| card.face_value }
total = 0
face_values.each do |val|
if val == "A"
total += 11
else
total += (val.to_i == 0 ? 10 : val.to_i)
end
end
#correct for Aces
face_values.select{|val| val == "A"}.count.times do
break if total <= 21
total -= 10
end
total
end
def add_card(new_card)
cards << new_card
end
def is_busted?
total > Blackjack::BLACKJACK_AMOUNT
end
end
class Player
include Hand
attr_accessor :name, :cards
def initialize(n)
@name = n
@cards = []
end
def show_flop
show_hand
end
end
class Dealer
include Hand
attr_accessor :name, :cards
def initialize
@name = "Dealer"
@cards = []
end
def show_flop
puts "---- Dealer's Hand ----"
puts "=> First card is hidden"
puts "=> Second card is #{cards[1]}"
end
end
class Blackjack
attr_accessor :deck, :player, :dealer
BLACKJACK_AMOUNT = 21
DEALER_HIT_MIN = 17
def initialize
@deck = Deck.new
@player = Player.new("Player1")
@dealer = Dealer.new
end
def set_player_name
puts "What's your name?"
player.name = gets.chomp
end
def deal_cards
player.add_card(deck.deal_one)
dealer.add_card(deck.deal_one)
player.add_card(deck.deal_one)
dealer.add_card(deck.deal_one)
end
def show_flop
player.show_flop
dealer.show_flop
end
def blackjack_or_bust?(player_or_dealer)
if player_or_dealer.total == BLACKJACK_AMOUNT
if player_or_dealer.is_a?(Dealer)
puts "Sorry, dealer hit blackjack. #{player.name} loses."
else
puts "Congratulations, you hit blackjack! #{player.name} win!"
end
play_again?
elsif player_or_dealer.is_busted?
if player_or_dealer.is_a?(Dealer)
puts "Congratulations, dealer busted. #{player.name} win!"
else
puts "Sorry, #{player.name} busted. #{player.name} loses."
end
play_again?
end
end
def player_turn
puts "#{player.name}'s turn."
blackjack_or_bust?(player)
while !player.is_busted?
puts "What would you like to do? 1) hit 2) stay"
response = gets.chomp
if !['1', '2'].include?(response)
puts "Error: you must enter 1 or 2"
next
end
if response == '2'
puts "#{player.name} chose to stay."
break
end
#hit
new_card = deck.deal_one
puts "Dealing card to #{player.name}: #{new_card}"
player.add_card(new_card)
puts "#{player.name}'s total is now: #{player.total}"
blackjack_or_bust?(player)
end
puts "#{player.name} stays at #{player.total}."
end
def dealer_turn
puts "Dealer's turn."
blackjack_or_bust?(dealer)
while dealer.total < DEALER_HIT_MIN
new_card = deck.deal_one
puts "Dealing card to dealer: #{new_card}"
dealer.add_card(new_card)
puts "Dealer total is now: #{dealer.total}"
blackjack_or_bust?(dealer)
end
puts "Dealer stays at #{dealer.total}."
end
def who_won?
if player.total > dealer.total
puts "Congratulations, #{player.name} wins!"
elsif player.total < dealer.total
puts "Sorry, #{player.name} loses."
else
puts "It's a tie!"
end
play_again?
end
def play_again?
puts ""
puts "Would you like to play again? 1) yes 2) no, exit"
if gets.chomp == '1'
puts "Starting new game..."
puts ""
deck = Deck.new
player.cards = []
dealer.cards = []
start
else
puts "Goodbye!"
exit
end
end
def start
set_player_name
deal_cards
show_flop
player_turn
dealer_turn
who_won?
end
end
game = Blackjack.new
game.start


--- layout: page ---
I am assembling a dream team. I am the ultimate sixth man. I have yet to reach Lebron James levels of leadership and skill that an elite team needs. I hope to create a team where distinguishing the leader will be difficult because we are all approaching Sage status. This is the dream.
Quiet dog bites hard
Quiet dog barks far
Ultimate concentration
Maintaining relations
Cruziken am I


Thinking StylesOct 24th
Photo credit: HaPe_Gera / Foter / CC BY
The Concrete Random Learner
Attempting to identify my learning style has put me to face my own creations, pay attention to the process, and remark with a short, but curious, "Hmm, interesting." And the list of qualities that I'm supposed to like? 1) experimenting to find answers. Yes. 2) take risks. Yes yes. 3) use their intuition. YEP.
What does that mean for me in DBC? As much as I do enjoy creative, sand-box style independent problem solving, the real world won't let me have what I want! At least, not all the time. I need to focus on developing the qualities that I naturally will shy away from. I need to be able to deal with restrictions, solving problems with others, and sadly more restrictions. This means working with what I have, even if it means I have limited options and tools to find a solution. Being put in a confined space sounds scary, but it happens all the time. In terms of working on a commercial project, two closely related words heard all too often come to mind: time and money.
Being able work around restrictions, considering limited resources, or bearing with the drudgery of routine based menial work are all things I have dealt with and will continue to do so - in a different context. For some of these, I can draw on my previous experiences, though I completely expect to be faced with slightly different challenges as a programmer.
Right now, I face having to complete phase 0 work after work, so time as it applies to overall time management is a concern. In order to alleviate stress and allow myself to be even more productive, I've already employed a few techniques. Using the pomodori technique has been helpful in being mindful of my time as well as alotting times to take a short break. Meditation has allowed me to be more mindful of myself, how I feel, and how I deal with my feelings and emotions. I've become much more in tune with the inner workings of my mind and body, and I know this is only the start. Hey, this stuff is pretty cool!
As I face and recognize new challenges and possibilites for growth, I'll keep in mind that I can always find new techniques or get creative to address these issues. All I know is that the first step of improving is to admit to and recognize your weaknesses. The grecorc thinking style has helped me to put my strengths into a visible bucket where I can say, "You know what, I bet I'll need to improve x, y, and z". I've always identified well-roundedness as one of my strengths, so we'll see exactly how round I can get!


Net Operating Income (NOI) is a property's income after being reduced by vacancy and credit loss and all operating expenses. If this is a positive value, it is referred to as net operating income, while a negative value is called a net operating loss (NOL).
NOI = (GSI x VCL) - OE
Example:
NOI is often viewed as a good measure of property performance and is one of the most important calculations relevant to real estate investment.


Create
|
Create a git-flow project or convert an existing project to use git-flow git flow init |
Features
|
Start a new feature git flow feature start <feature_name> |
|
|
Finish up a feature git flow feature finish <feature_name> |
|
|
Publish a feature git flow feature publish <feature_name> |
|
|
Get a published feature git flow feature pull origin <feature_name> |
|
|
Track a feature on origin git flow feature track <feature_name> |
Releases
|
Start a release git flow release start <release_name> [<base>] |
|
|
Publish a release git flow release publish <release_name> |
|
|
Finish up a release git flow release finish <release_name> |
|
|
Don't forget to push your tags git push --tags |
Hotfixes
|
Start a hotfix git flow hotfix start <version_name> [<base_name>] |
|
|
Finish a hotfix git flow hotfix finish <version_name> |
Notes
- Based on Git Flow cheatsheet by Daniel Kummer
- Converted by Robert Walker


{% set title = 'Carousel' %} {% set filename = 'component-Carousel.html' %} {% extends 'layouts/master.html' %} {% block content %}
A slideshow component for cycling through elements—images or slides of text—like a carousel.
A carousel without slide control
A carousel with captions over the top
A carousel with previous and next control
A carousel crossfade transition


| classes |
package dreamers_inc | ? ^ |
Copyright 2003 (c) Dreamers Incorporated is a company that sells software packages that make programming easier.Our premier software package is the hello_world library that allows programmers in all walks of life to generate the hello world output in their own custom programs.
- Author:
- I.M. Adreamer
- Version:
- $Id: index.html,v 1.2 2003/02/26 18:45:49 jlinoff Exp $
Contents | ^ |
Entity Type Scope Short Description hello_world namespace public The hello_world namespace associates all of the services related to the hello_world package.
Created Fri Dec 27 10:29:06 2002.
This documentation was generated automatically by
ccdoc v0.8 r28 2002/11/14 bin_opt_msvc_MSWin32-4.0.
Click here to submit a bug report or feature request.
Click here to return to the top of the page.


Ruby is an interpreted, high-level, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan. Ruby is dynamically typed and uses garbage collection. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. According to the creator, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, Basic, and Lisp.
C# (pronounced see sharp, like the musical note C♯, but written with the number sign) is a general-purpose, multi-paradigm programming language encompassing strong typing, lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines
JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions.
Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency. The language is often referred to as "Golang" because of its domain name, golang.org, but the proper name is Go.
Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.
Rust is a multi-paradigm programming language focused on performance and safety, especially safe concurrency. Rust is syntactically similar to C++, but provides memory safety without using garbage collection.
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, iPadOS, macOS, watchOS, tvOS, and Linux. Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C code written for Apple products. It is built with the open source LLVM compiler framework and has been included in Xcode since version 6, released in 2014. On Apple platforms,[11] it uses the Objective-C runtime library which allows C, Objective-C, C++ and Swift code to run within one program.


Challenging launches. Product supply visibility. Prioritizing design reviews, market feedback, the project burn rate, and developing compelling value propositions. For recent MBAs, the role of the Product Manager can be very attractive – the opportunity to think about a product’s success from end to end, and (if successful) the excitement of seeing users appreciating in and engaging with your hard work.
Another reason for this buzz is the variation and uncertainty between companies as to what “Product” represents. PM roles change based on company needs, culture, size, and even values. PMs may come into a company with a “Product Manager” title, but find themselves doing more complimentary roles that are generally defined as a “Program Manager”, “Project Coordinator”, or “Product Marketing Manager.”
Having had these discussions with colleagues and having been a part of the Product Management function for two companies, I have seen how misaligned expectations for responsibilities can create winners and losers – for both the organization and an individual’s career progress. I decided to research if there were any patterns that highlight how “Product” is successfully grown within a company, and how the function evolves as an organization scales.
Throughout Fall 2014, I conducted interviews to learn about the PM function at 11 different US technology companies. The full sample needed to represent a breadth of sizes and growth stages (our sample has current sizes from ~30 to ~1,000) and meet 2 of 3 criteria: have an analytic or “data product” capability, have a hardware component and team, and have the primary value delivered through software. The interviewee needed to have direct experience with their organization’s “Product” activities.
In having these conversations, three key considerations emerged for how to balance Product success and Product Manager expectations:
- Is there a practical framework for thinking about Product Management (PM) talent? (Answer, yes.)
- How might a CEO or HR executive think about matching PM talent to a company’s needs?
- How can a Product Manager enter a new organization and quickly establish effectiveness?
This article will explore the third question here; the first and second question can be found in separate posts.
##The Foundation: Getting started on the right foot.
####Gain quick wins, build a vision, and set expectations. Although the responsibilities within Product Management can feel disparate, many can be defined as providing a single point of ownership for key company initiatives and effectively identifying and managing the risk inherent in the project. This could include identifying if the company has the appropriate resources at hand, laying out an effective plan for full lifecycle management (such as go-to-market (GTM) and servicing strategies), and balancing product iteration and technical execution during development.
Sometimes some education and socialization is required before developing a market vision. For one company we spoke with, one new product development effort involved the internationalization of a successful domestic product. Beyond tailoring the product to meet the legal and technical specifications in the new countries, research showed that the customer demands would change greatly in a deregulated environment. It became the responsibility of the PM to educate the organization on both the risk and the upside of the project, and articulate a path for successfully navigating a new marketplace. At another, ideas were vetted by mapping the product and market landscape, pushing to some core truths through customer interviews, and socializing the heuristics: for example, “no shopping ever.”
For a technical vision, it is important to be clear in the experience and functionality that the company wants to provide. For example, there is a difference between “working well” and “being delightful”, and both need to be done well. For one company we spoke with, financial transactions needed an operational backend that tracked every dollar as money moved between accounts. Similarly, as the product is tracking risk, the underwriting required flawless algorithms. These must work well. But - to be delightful. the direct customer experience is what is considered! Little things, such as a sound to indicate that “the interaction was successful” will have an impact on satisfaction. In is the role of the PM to hold these together, while giving the impression of a “looming launch date.”
####Communicate “risk” clearly: Create systems to mitigate professional gaps. In any stretch role, it is assumed that the employee is both considered to be high potential and being given responsibilities for which they may only have tangential experience. For Product Management, it is imperative that this is gap is closely managed, as it can directly impact the overall health of the business and the fortunes of the company. One mechanism for supporting this is to first clearly articulate what aspects of the role are considered to be challenging and create a plan for resolving those conflicts.
For an exposure to market risk, this could include conversation around customization and strategies for how agile sprints will be managed. For earlier start-ups, customization can be a siren song of early revenue and user feedback – but can lead to product pigeonholing and imperfect market information. When prioritization and customization can dictated by the maturity of the product, up-front conversations create buy-in and gives PMs more autonomy in decision making when balancing sales targets with engineering upkeep.
Similarly, PMs can use agile management to resolve the economics of their business plan by developing real information for their models. At many large software companies, PMs will follow monthly goals – between hard metrics, such as revenue, and soft metrics, such as DAU and time on site to understand engagement. This process builds rigor and confidence as the product matures and user and product dynamics are better understood.
For an exposure to technical or product risk, the PM can either partner formally with experienced engineers or set up informal mentoring partnerships to manage risk. For a product development process that was scale quickly (a growth of $50MM in one year), the head infrastructure engineer provided strong, regular guidance to young PMs – walking through different options, helping weigh decisions, and pushing the PM to be explicit in how data would be used internally and externally – things that directly had an impact on the structure of the backend. Creating a long- term oriented mindset, instituting a feedback and coaching process, and setting regular check-ins to understand and improve working relationships is important towards building trust and a positive engineering culture.
####Be sensitive to team dynamics and raise flags early. Finally, it is important to note that as a new employee, either at an established company or an early-stage start-up, that the culture of the organization is continually being formed. Provided that many of the organizational issues listed above have been managed well, there can still be a tendency for the responsibilities between senior leadership and managers to delineate between strategy and execution (where much of the “Heavyweight”/”Lightweight” gap exists).
Understanding these tendencies, appropriately identifying them, and developing feedback and performance mechanisms that build trust and accountability are important for organizations to build talent that is capable of taking a holistic perspective to problem solving.


Doh Kyung-soo, also known by his stage name D.O., is first known as a member and one of the main vocalists of the South Korean boy group EXO. Apart from his group's activities, D.O. has also starred in various television dramas and movies.
D.O is well known for his sweet and clean vocals but he also received immense praises and public admiration when he started acting from the 2014 drama "It's Okay, That's Love" and the movie "Cart".
A Look into D.O's Life
born on January 12, 1993 in Goyang, Gyeonggi Province, South Korea.
formally introduced as the eighth member of Exo on January 30, 2012.
made his acting debut with a supporting role in the movie Cart in September 2014.
made his small screen debut playing a supporting role in the SBS drama It's Okay, That's Love
In February 2016, he collaborated with Yoo Young-jin on a duet titled "Tell Me (What Is Love)" for SM Station.
In 2018, D.O. starred in Swing Kids, a film set in a prison camp in South Korea during the Korean War. He plays a North Korean soldier who falls in love with tap dancing in the midst of all the chaos.
In May 2019, D.O. was awarded V Live Popularity Award at the 55th Baeksang Arts Awards.
He enlisted as an active duty soldier on July 1, 2019, and served at the Capital Mechanized Infantry Division (Fierce Tiger Division) as a food handler (kitchen police).
On the same day, he released the single "That's Okay", a song that he co-wrote, through the SM Station project.
D.O. was discharged from the military on January 25, 2021.
His first extended play Empathy was released on July 26, along with its lead single "Rose".
Want to know more about D.O.? You may check his
Wikipedia entry here.


The animal, called Zoe, was spotted by a UPS driver in Exeter, New York last week, who contacted police with his concerns.
Officers from the Susquehanna Society for the Prevention of Cruelty to Animals responded, and deemed Zoe’s injuries so serious that a vet was called.
Zoe was rushed to the clinic, where a surgical procedure found bone fragments in her stomach believed to have come from her own leg.
The dog was kept in her spot by chain attached to a stake driven into the ground.
She is believed to have been living in a pet carrier with hay in the bottom of it.
Advertisement Advertisement
Police did not see any food in Zoe’s vicinity, and say a nearby bowl was frozen and covered in snow.
The dog was taken to Cornell University College of Veterinary Medicine for more care, WIVB reported.
She was found to have other injuries including scarred ear tips.
Her owner Carl Pritchard has been charged with overdriving, torturing and injuring animals.
He faces further charges of failure to provide proper sustenance and failure to provide appropriate shelter for a dog left outdoors.
Pritchard, 59, has since surrendered ownership of Zoe and will appear in court on December 4.
The dog is set to be put up for adoption once she has recovered from her ordeal.


cert-manager
This Kubernetes certificate manager can help with issuing certificates from a variety of sources, ensure certificates are valid and up to date, and attempt to renew certificates at a configured time before expiry.
--- title: "Packages" layout: section ---
Only you know what you need in a Kubernetes platform, and with VMware Tanzu you can get exactly what you are looking for. It's fast and easy to customize your platform by adding optional packages to your cluster. Learn more about VMware Tanzu's flexible packaging strategy and implementation in our docs.
Packages are currently available for all of the projects listed here.
This Kubernetes certificate manager can help with issuing certificates from a variety of sources, ensure certificates are valid and up to date, and attempt to renew certificates at a configured time before expiry.
Contour is a Kubernetes ingress controller that provides the control plane for the Envoy edge and service proxy. It supports dynamic configuration updates and multi-team ingress delegation out of the box while maintaining a lightweight profile.
ExternalDNS makes Kubernetes resources discoverable via public DNS servers and allows you to control DNS records dynamically in a DNS provider-agnostic way.
This fast and lightweight log processor, stream processor and forwarder allows you to collect log events or metrics from different sources, process them and deliver them to different backends. It supports more than 70 extensions for inputs, filters and outputs.
This package provides custom admission control using Gatekeeper. Under the hood, Gatekeeper uses Open Policy Agent to enforce policy when requests hit the Kubernetes API server.
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture.
Easily manage stateless services on Kubernetes by reducing the effort required for networking, autoscaling (even to zero), and revision tracking.
Utilizing Kubernetes' Local Persistent Volume feature, Local Path Storage provides a simpler way to utilize the local storage in each node with dynamic provisioning of local volumes.
Multus CNI is a container network interface (CNI) plugin for Kubernetes that can call multiple other CNI plugins, enabling multiple network interfaces to be attached to individual pods. Use it to when you need to create multi-homed pods with multiple interfaces.
Prometheus is a systems and service monitoring system that collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts when specified conditions are observed.
Back up and restore your Kubernetes cluster resources and persistent volumes to protect against loss, migrate resources to other clusters, or replicate your production cluster to development and testing environments.


ProjectJS is a combination of web technologies to enable streamlined software development for the web. It attempts to enable what is common in other software development environments:
The ProjectJS application itself is a sample of how to use these technologies together. ProjectJS is nothing more than a combination of technologies used together to achieve the goals outlined above.
To create a ProjectJS project you have to get a copy of the latest ProjectJS template and use it as a template. (A future release may have some scripts to help with this)
All of the resources you want to use in your project should be specified in the Apache Ant build.xml script. ProjectJS itself demonstrates this by pulling in some 3rd party libraries such as JQuery, AngularJS and LESS. You can remove and add to these libraries as you see fit to match your project. It is recommended to put all your libraries inside the src/lib directory.
Testing is enabled by a combination of technologies. If you want to use another testing framework that is up to you, ProjectJS simply provides one means to achieve testing. By combining rhinounit with Envjs you can write tests as if they are running inside a browser.
A project follows this layout to support
| Folder | Description |
|---|---|
| src | Source files: e.g. static HTML, images, 3rd party libraries, JavaScript and CSS files |
| tools | Supporting tools: e.g. Google Closure |
| src/css | CSS and LESS files that are concatenated into a single LESS file |
| src/img | Image files and spritesheets |
| src/js | Input JavaScript files that are compressed by Google Closure and concatenated to generate a single application file |
| src/lib | 3rd party libraries and supporting files |
| src/static | Static HTML, Text or any other files |
| src/test | Unit test files |
| src/test/lib | Tools and files to support testing |
A number of Ant targets have been defined and are described below,
| Target | Description |
|---|---|
| all | Build all source files and create an exploded target directory that can be hosted on a web server |
| clean | Delete all generated content |
| css | Concatenate CSS/LESS input files into a single stylesheet |
| img | Copy source image files to target image directory |
| js | Run js-filter,js-compress,js-concat targets |
| js-filter | Copy source JavaScript files and run through filters to replace any Ant variables defined in source |
| js-compress | Use Google Closure to combine and compress input files |
| js-concat | Concatenate compressed JavaScript files with other uncompressed JavaScript files that should not be modified, e.g. custom AngularJS files |
| manifest | Copy and filter application manifest file |
| static | Copy all static input files to output directory |
| target | Creates build directory |
| test | Run test cases |
| zip | Zips up exploded target directory for distribution |


htbaapub.xmlrpc
XML-RPC Module
An XML-RPC module, using XMLRPC-EPI. Please check out the examples in the example directory to find out how to use this module. The project is open source and can be found at Github (see bottom of page for link). XML-RPC is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism.
What use is XML-RPC for me?
Considering BlitzMaxs' main focus is on games it could be used to implement a online highscore (leaderboards) and game statistics system. Like most modern games with online support you could use XML-RPC to keep track of player scores and the like. It's very easy to create an XML-RPC webservice with the modern scripting languages (Perl, PHP) and now with xmlrpc.mod it'll be very easy to interact with your webservice.
You could also use it to write a server and client application to exchange data. Since XML-RPC allows easy interaction with any program it doesn't matter in what language the program you're talking to has been programmed.
Client & Server
xmlrpc.mod offers both client and server support. Meaning you can write your own XML-RPC Server to which other programs can make requests to. And of course it's possible to interact with other XML-RPC servers. All methods will throw an exception derived from TXMLRPC_Exception when an error occurs. XML-RPC data types are represented by a TXMLRPC_Value_Abstract derived type.
XML-RPC Client
TXMLRPC_Client makes it possible to call a function from an XML-RPC server. Before you invoke Call() be sure to setup a transport layer, derived from TXMLRPC_Transport_Interface. There's a simple HTTP Transport layer available under TXMLRPC_Transport_HTTP. Once set you can invoke Call(). Optionally you can pass a TXMLRPC_Call_Parameters object which contains the parameters you want to pass to the XML-RPC function you're calling. A TXMLRPC_Response_Data object will be returned which contains a TMap with all the returned values.
XML-RPC Server
TXMLRPCServer makes it possible to create an XML-RPC server. XMLRPC-EPI also supports introspection.
Examples
Please take a look at one of the examples below. For the examples to run iconv.dll needs to be in the same directory as the executable.
Types Summary
Types
| Type TXMLRPC_Call_Parameters |
| Description | Parameters to be passed to the XML-RPC server when using TXMLRPC_Client.Call() |
| Functions Summary |
| Create |
Create a TXMLRPC_Call_Parameters object.
|
| Method AppendBase64:Int(id:String, s:String) |
| Description | Append Base64 value. Just pass a string, it'll be BASE64 encoded for you. |
| Method AppendBoolean:Int(id:String, i:Byte) |
| Description | Append boolean value. |
| Method AppendDateTime:Int(id:String, time:Long) |
| Description | Append UNIX timestmap value. |
| Method AppendDateTime_ISO8601:Int(id:String, s:String) |
| Description | Append datetime in ISO8601 format. |
| Method AppendDouble:Int(id:String, f:Double) |
| Description | Append double value. |
| Method AppendInt:Int(id:String, i:Int) |
| Description | Append integer value. |
| Method AppendString:Int(id:String, s:String) |
| Description | Append string value. |
| Function Create:TXMLRPC_Call_Parameters(vectorType:Int = xmlrpc_vector_mixed) |
| Description | Create a TXMLRPC_Call_Parameters object. |
| Information | vectorType can be: xmlrpc_vector_none, xmlrpc_vector_array, xmlrpc_vector_mixed or xmlrpc_vector_struct. |
| Type TXMLRPC_Client |
| Description | XML-RPC Client. |
| Methods Summary |
| Call |
Send a request to the XML-RPC server.
|
| Create |
Create a TXMLRPC_Client object.
|
| SetTransport |
Set a transport interface.
|
| Field outputVersion:Int = xmlrpc_version_1_0 |
| Description | Change this to alter the output format. |
| Information | Accepted values are: xmlrpc_version_none, xmlrpc_version_1_0, xmlrpc_version_simple, xmlrpc_version_danda and xmlrpc_version_soap_1_1. |
| Field xmlRequest:String |
| Description | This field will hold the XML message used to send the request. |
| Field xmlResponse:String |
| Description | This field will hold the XML message returned from the XML-RPC server. |
| Method Call:TXMLRPC_Response_Data(command:String, data:TXMLRPC_Call_Parameters = Null) |
| Description | Send a request to the XML-RPC server. |
| Information | command will hold the function name you want to call. Additional parameters can be passed by passing an TXMLRPC_Call_Parameters object. This method will return a TXMLRPC_Response_Data object containing the returned values from the XML-RPC Server. |
| Method Create:TXMLRPC_Client(outputVersion:Int = xmlrpc_version_1_0) |
| Description | Create a TXMLRPC_Client object. |
| Method SetTransport(transport:TXMLRPC_Transport_Interface) |
| Description | Set a transport interface. |
| Type TXMLRPC_Exception |
| Description | General XML-RPC Exception. |
| Methods Summary |
| Create |
Set message for exception.
|
| ToString |
Return exception message.
|
| Method Create:TXMLRPC_Exception(message:String) |
| Description | Set message for exception. |
| Method ToString:String() |
| Description | Return exception message. |
| Type TXMLRPC_Response_Data |
| Description | Data returned from XML-RPC server. |
| Methods Summary |
| Create |
Create a TXMLRPC_Response_Data object by passing the response XML message and the output options.
|
| Functions Summary |
| DebugData |
Helper function to show what's inside the map.
|
| IterateVector |
Iterate over an XMLRPC vector and add it to a TMap. Private function.
|
| Field data:TMap |
| Description | This field contains all data returned from a response. If a response value was given an ID it can be accessed by its ID. If not it can be accessed with an ID of 0..inf. |
| Method Create:TXMLRPC_Response_Data(xmlMessage:String, options:Byte Ptr) |
| Description | Create a TXMLRPC_Response_Data object by passing the response XML message and the output options. |
| Function DebugData:String(map:TMap, pad:Int Var) |
| Description | Helper function to show what's inside the map. |
| Function IterateVector:TMap(el:Byte Ptr) |
| Description | Iterate over an XMLRPC vector and add it to a TMap. Private function. |
| Type TXMLRPC_Response_Data_Exception Extends TXMLRPC_Exception |
| Description | Exception for TXMLRPC_Response_Data. |
| Type TXMLRPC_Server |
| Description | XML-RPC Server. |
| Information | This type will allow you to create an XML-RPC server. |
| Methods Summary |
| HandleInput |
Handles an request.
|
| New |
Creates a new XML-RPC server.
|
| RegisterMethod |
Register a function to the XML-RPC server.
|
| Shutdown |
Call this method when your done with the server.
|
| Method New() |
| Description | Creates a new XML-RPC server. |
| Information | After calling the constructor you might want to use RegisterMethod() to add methods to the server. Be sure to call Shutdown() when you're done. |
| Method RegisterMethod(functionName:String, callBack:Byte Ptr) |
| Description | Register a function to the XML-RPC server. |
| Information | functionName will be the identifier. callBack is a pointer to a function. |
| Method Shutdown() |
| Description | Call this method when your done with the server. |
| Type TXMLRPC_Server_Exception Extends TXMLRPC_Exception |
| Description | Exception for TXMLRPC_Server. |
| Type TXMLRPC_Transport_Dummy Extends TXMLRPC_Transport_Interface |
| Description | A Dummy transport type. Do not use, deprecated. |
| Type TXMLRPC_Transport_Http Extends TXMLRPC_Transport_Interface |
| Description | Simple HTTP transport. |
| Information | Needs HTTP error handling. Implementation is very simple at the moment. Only a simple HTTP request is possible. Authenticated pages or HTTPS isn't supported. For HTTPS, write your own. |
| Methods Summary |
| Create |
Create TXMLRPC_Transport_Http object.
|
| DoRequest |
Send request over HTTP.
|
| Field userAgent:String = "htbaapub.mod/xmlrpc.mod" |
| Description | Set useragent for HTTP request. |
| Information | This string will be used to identify the client with the XML-RPC server. |
| Method Create:TXMLRPC_Transport_Http(host:String, path:String, port:Int = 80) |
| Description | Create TXMLRPC_Transport_Http object. |
| Method DoRequest:String(message:String) |
| Description | Send request over HTTP. |
| Type TXMLRPC_Transport_Http_Exception Extends TXMLRPC_Exception |
| Description | Exception for TXMLRPC_Transport_Http. |
| Type TXMLRPC_Transport_Interface Abstract |
| Description | Transport interface. Use this as a blueprint for any other transport layers. |
| Methods Summary |
| DoRequest |
Send request to XML-RPC server.
|
| Method DoRequest:String(message:String) Abstract |
| Description | Send request to XML-RPC server. |
| Type TXMLRPC_Value_Abstract Abstract |
| Description | Base type for all XML-RPC data types. |
| Functions Summary |
| XMLRPC_To_BlizMax |
Convert a XMLRPC_VALUE from XMLRPC-EPI to a BlitzMax type.
|
| Field name:String |
| Description | The name or id this value has been identified with in the response. read-only. |
| Method GetByte:Byte() |
| Description | Return byte value. |
| Method GetDouble:Double() |
| Description | Return double value. |
| Method GetInt:Int() |
| Description | Return integer value. |
| Method GetString:String() |
| Description | Return string value. |
| Method ToString:String() |
| Description | Convert data type to string. |
| Information | Uses reflection to see if a Field called value is available. If so, it tries to convert it to a string and returns it. |
| Function XMLRPC_To_BlizMax:TXMLRPC_Value_Abstract(val:Byte Ptr) Final |
| Description | Convert a XMLRPC_VALUE from XMLRPC-EPI to a BlitzMax type. |
| Type TXMLRPC_Value_Array Extends TXMLRPC_Value_Collection |
| Description | Represents an array. |
| Type TXMLRPC_Value_Base64 Extends TXMLRPC_Value_Abstract |
| Description | Represents a Base64 encoded string. |
| Type TXMLRPC_Value_Boolean Extends TXMLRPC_Value_Abstract |
| Description | Represents a boolean value. |
| Type TXMLRPC_Value_Collection Extends TXMLRPC_Value_Abstract Abstract |
| Description | Represents a collection. This is a base type. |
| Type TXMLRPC_Value_Datetime Extends TXMLRPC_Value_Abstract |
| Description | Represents a datetime string. |
| Type TXMLRPC_Value_Double Extends TXMLRPC_Value_Abstract |
| Description | Represents a double value. |
| Type TXMLRPC_Value_Empty Extends TXMLRPC_Value_Abstract |
| Description | Represents an empty value. |
| Type TXMLRPC_Value_Exception Extends TXMLRPC_Exception |
| Description | XML-RPC Data Type exception. |
| Type TXMLRPC_Value_Int Extends TXMLRPC_Value_Abstract |
| Description | Represents a integer value. |
| Type TXMLRPC_Value_None Extends TXMLRPC_Value_Abstract |
| Description | Represents none value. |
| Type TXMLRPC_Value_String Extends TXMLRPC_Value_Abstract |
| Description | Represents a string value. |
| Type TXMLRPC_Value_Struct Extends TXMLRPC_Value_Collection |
| Description | Represents an associative array. |
Module Information


Click
here to unsubscribe request to the postal address above.
To ensure future delivery of email, add
<EMAIL_ADDRESS>to your address book, contacts, or safe senders list.
Please do not reply to this message. To contact Cooking, reach us at
<EMAIL_ADDRESS>© copyright 2020 Cooking


Simply choose a restaurant, a time, and submit your reservation!
Login or other info here?
This is but one example with Knockout.js, there is so much more possible!


'Jeopardy!': James Holzhauer Wins Tournament of Champions
Holzhauer bested competitors Emma Boettcher and Francois Barcomb in the final round to win the $250,000 prize
by Reid Nakamura“Jeopardy!” sensation James Holzhauer came out on top of his rematch with competitor Emma Boettcher, besting her in the final round of the “Tournament of Champions” on Friday.
Holzhauer outperformed Boettcher and Francois Barcomb to take home the $250,000 grand prize. Boettcher came in second, earning $100,000, while Barcomb took third, netting $50,000.
“I’ve said all along that Emma is an all-time great player, and I’m proud it took that level of competitor to defeat me,” Holzhauer said in a statement. “Now the world sees that I wasn’t just making excuses. Francois certainly looked as dominant as either of us in his first two games, so I knew the finals would be a fight to the finish. But the whole point of the TOC is to play the best of the best, and Emma and Francois certainly proved that they belonged in the final three.”
Also Read:
Combined with his regular-season winnings, Holzhauer’s overall winnings now total $2,712,216, putting him behind only two other players: Brad Rutter, whose all-time earnings total $4,688,436, and “Jeopardy!” legend Ken Jennings, at $3,370,700.
Holzhauer’s success on “Jeopardy!” made him a household name earlier this summer, but his winning streak ended in June, when Boettcher came out victorious in their first matchup. When he lost to Boettcher, Holzhauer was just $58,484 shy of the regular-season winnings record, which Jennings set in 2004.