Event Location:
FON University Skopje
Str. Kiro Gligorov 5 Skopje
Skopje, Greater Skopje, North Macedonia
Abstract:
Machine learning has become a vital part in many aspects of our daily life and is becoming more and more important. However, the performance of many machine learning methods is very sensitive to a plethora of design decisions. As a result, building well performing machine learning applications requires highly specialized data scientists and domain experts. It turns out that machine learning, a field dedicated to building systems that automatically learn from data, depends heavily on human experts. Isn’t that ironic … Come and see how Azure Machine Learning Service reduce the demand for data scientists by enabling domain experts to automatically build machine learning applications without expert programming skills and extensive knowledge of machine learning algorithms.
Speaker(s): Marcin Szeliga,
Abstract:
Databases that serve business applications should often support temporal data. For example, suppose a contract with a supplier is valid for a limited time only. It can be valid from a specific point in time onward, or it can be valid for a specific time interval—from a starting time point to an ending time point. In addition, many times you need to audit all changes in one or more tables. You might also need to be able to show the state in a specific point in time, or all changes made to a table in a specific period of time. From the data integrity perspective, you might need to implement many additional temporal specific constraints. This session introduces the temporal problems, deals with solutions that go beyond SQL Server 2016 to 2019 support, and shows out-of-the-box solution in SQL Server, including: • Defining temporal data • Application versioned tables • System versioned tables • What kind of temporal support is still missing
Speaker(s): Dejan Sarka,
Abstract:
Using managed Azure services such as Cosmos DB can help reduce costs by leveraging Microsoft's expertise in globally distributed cloud-scale data storage and retrieval. In this presentation we will demonstrate a scenario which is relevant to organizations that need a scalable and elastic architecture for online order processing or more specifically e-commerce and retail point-of-sale transactions such as orders, payments and bills. This scenario takes an event sourcing approach, using a functional programming model implemented via Azure Cosmos DB change feed processor and additional Azure Services. This approach enables high availability and resiliency, geo-replication, and fast performance.
Speaker(s): Aleksandar Talev,
Abstract:
Transact-SQL language in latest editions of SQL Server has so many business intelligence (BI) improvements that it might become your primary analytic database system. You might even decide to use T-SQL for advanced analyses directly, without including R, Python, SSAS or Azure ML. However, to get the maximum out of these language constructs, you need to learn how to properly use them. This in-depth session shows extremely efficient statistical queries that use the window functions and are optimized through algorithms that use mathematical knowledge and creativity. During the session, the formulas and usage of those statistical procedures are explained as well. This session is useful not only for BI developers; database and other developers can successfully learn how to write efficient queries. Or maybe you want to become a data scientist? Then you need to know statistics and programming. You get the best of both in this session.
Speaker(s): Dejan Sarka,
Abstract:
Query store is new feature introduced in SQL Server 2016. The main purpose of this feature is to simplify the process of performance troubleshooting by tracking the queries being executed on the database over the time. Query store collects metrics for execution plans, query texts, execution statistics and hardware resources consumption over the time. Some of the scenarios where the Query Store feature can be useful are: • Find the most expensive queries for CPU, I/O, Memory etc. • Get full history of query executions • Get information about query regressions (new execution plan is worse than the older one) • Force specific query plan and Automatic plan correction • Automatic index tuning • Provide useful insights about needed code improvements This session will include overview of the Query Store capabilities, configuration instructions and live demos showing the main capabilities. We will also cover Query Store improvements for SQL Server 2017 and SQL Server 2019 versions.
Speaker(s): Blagoj Kostovski,
Abstract:
Collecting detailed data on every aspect of your business is no longer a challenge. Most systems not only expose data through reports, but also allow to read and export it. Still the problem is to understanding fast-growing data sets, detecting valuable patterns hidden in them and using disclosed information to make business decisions. That is where tool like Power BI really shine. Although Power BI is extremely popular, not many users know that how to take analytict to next level by correctly leveraging advanced AI capabilities. Artificial Intelligence features in Power BI can be used for data understanding and preparation. During this session we will have a closer look at AI visuals and enrich our dataset using Power Query functions calling Cognitive Services API.
Speaker(s): Marcin Szeliga,
Abstract:
With stricter EU privacy laws like GDPR, the need to encrypt data is greater than ever. In this session we'll look at what SQL Server offers in this area: 1) symmetric and asymmetric server encryption which lets the server encrypt table data and control the keys, 2) Always Encrypted (AE) which works similarly to server encryption but the client control the keys meaning server can't decrypt the data 3) Transparent Data Encryption (TDE) which encrypts your data at rest making getting data from stolen drives useless 4) creating secure SSL/TLS communication channels between your apps and the server to prevent clear text network traffic which can be observed
Speaker(s): Mladen Prajdić,
Abstract:
While many companies have adopted DevOps practices to improve their software delivery, these same techniques are rarely applied to machine learning projects. Collaboration between developers and data scientists can be limited and deploying models to production in a consistent and trustworthy way is often a pipedream. In this session, you’ll learn how to apply DevOps practices to your machine learning projects using Azure DevOps and Azure Machine Learning Service. We’ll set up automated training, scoring, and storage of versioned models and wrap the models in docker containers and deploy them to Azure Container Instances and Azure Kubernetes Service. We’ll even collect continuous feedback on model behavior so we know when to retrain.
Speaker(s): Vlatko Ivanovski,
Abstract:
Adaptive query processing improves the quality of a query plan. This helps in selecting the right join, right order of operation and more accurate memory allocation to fit the requested data in the memory. The three techniques of adaptive query processing make SQL Server 2017 significantly faster at processing the workload, even without refactoring the T-SQL Code. In this session we will talk about the key components of adaptive query processing, Batch mode Memory grant feedback, Adaptive joins and Interleaved execution of table valued functions. We will also discuss the improvements that are coming in SQL Server 2019. Finally we will show how we implemented this on real business case. Come to learn how we utilized Adaptive query processing module to boost the performance on our most critical calculation procedure.
Speaker(s): Blagoj Kostovski,
Abstract:
In this hour-long session, we will cover the basics of transactions, transaction isolation levels, locks, pessimistic and optimistic concurrency. We will discuss the challenges that appear in the online booking process and will provide solutions - Customer expectation that currently available selection will not be sold to anyone else - Double-book problem - Temporary reservation concept - The time limit for which the user has to pay the reservation Attend an interesting session, with multiple user concurrency simulations, visualizations, and live demo experience. The online booking system can bring your business to the 21st century, while a combination of up-to-date technologies with well-established quality service can be employed as a trump card for your startup.
Speaker(s): Marjan Pushev,
Abstract:
Microsoft's services in Azure helps us to leverage big data more easily and even more often accessible for non-technical users. Having UI in ADF version 2 - Microsoft added a new feature: Mapping Data Flow which resembles components of SSIS. This is a very user-friendly and non-code approach tool-set. But, has that been only UI introduction? Why and how Databricks does work under the hood? Do you want to know this new feature of ADF and reveal the power of modern big data processes without knowledge of such languages like Python or Scala? We will review this new feature of ADFv2, do deep dive to understand the mentioned techniques, compare them to SSIS and/or T-SQL and learn how modelled data flow runs Scala behind the scenes.
Speaker(s): Kamil Nowinski,
Abstract:
Many sources? Various format? Unstructured data? Big Data? You might think that these only a buzz words. Not really. These days it's a part of modern data flow architecture. No matter what do you use - SQL Server, Cosmos DB, Azure SQL DW, Azure Data Factory, Data Lake... somewhere there you can find Databricks. So, the question is: what the Azure Databricks is and which scenario it could be used in? Use Databricks to analyse large DataSets at scale, write Python, Scala or SQL command in one notebook to ingest, process and push the data to the required target. Use Databricks' notebook as a part of Azure Data Factory pipeline. We also will try to answer whether Databricks would replace SSIS as a modern ETL/ELT process? If you are wondering about all these things - you should join me in this session.
Speaker(s): Kamil Nowinski,
Abstract:
This session explains how recent development in the field of Artificial Intelligence (AI) makes gap between human and machine smaller than ever before. Traditionally AI systems have been tested in chess and the same has been done to demonstrate the power of AlphaZero. But, instead of playing against human, it played against the best (at the time) chess program Stockfish. It learned about the game by playing a large number of games with itself, learning in the process. Session will also explain what is so revolutionary in AlphaZero approach to AI and how this new approach can be used in different areas of processing visual information, bio-medicine, autonomous driving, robotics and AI generated images/videos of humans. IoT and large amounts of machine-generated data is the main ingredient of AI today.
Speaker(s): Tomislav Bronzin,
Abstract:
When it comes to choosing a database, always there are considerations about picking a relational (SQL) or non-relational (NoSQL) data structure. While both are viable options, there are certain key differences between these two options that users must keep in mind.This session will cover the most important distinctions and will make a difference between two of a key players in the Microsoft database world: SQL Server and Azure Cosmos DB. The session will also illustrate some of the fundamental differences between these databases - the language, scalability and structure which cause this distinctions to have implications for the right choice.So which database is right for your business the attendance will take informations in this session.
Speaker(s): Aleksandar Talev,
Abstract:
This session will cover developers' / architects' point of view towards what Azure data platform has to offer for batch data analytics workloads. The main focus is going to be on native Azure technologies, with a strong emphasis on how they can work in harmony to provide an on-demand scalable data collection, storage and analysis environment. Services such as Azure SQL Data Warehouse and Azure Synapse Analytics will be covered.
Speaker(s): Mislav Karaula,
Abstract:
Cognitive services can recognise objects, faces, describe images, understand speech, perform advanced searches and so much more. If you are a developer and know nothing about Azure Cognitive Services for free, this is a good place to start. Disclaimer: Cognitive services will never guess a doctor's handwriting. That's just impossible.
Speaker(s): André Melancia,
Abstract:
Starting with SQL Server 2019, SQL Server Big Data Clusters allow you to deploy scalable clusters of SQL Server, Spark, and HDFS containers running on Kubernetes. These components are running side by side to enable you to read, write, and process big data from Transact-SQL or Spark, allowing you to easily combine and analyze your high-value relational data with high-volume big data. Join me in this session and I will show you how it is easy to deploy SQL Server Big Data Clusters and start using it.
Speaker(s): Dejan Vakanski,
Abstract:
Understanding how to reduce the attack surface area of applications and SQL Server environments is imperative in today's world of constant system attacks from inside and outside threats. Learn about the methodology to increase security related development practices. Including securely accessing a database, properly encrypting data, using SSL/TLS and certificates throughout the system, guarding against common front-end attacks like SQL Injection (SQLi) and Cross Site Scripting (XSS), etc. This session will include both T-SQL and .Net code to give you an overview of how everything works together.
Speaker(s): Mladen Prajdić,
Abstract:
So everyone knows how to make some nice graphs in Power BI from Excel or SQL Server... But what about getting "intelligent" results from unusual data sources? Disclaimer: A.I. will eventually take over the world. Unlike Doctor Evil, it won't ask for a ransom.
Speaker(s): André Melancia,
Abstract:
In this session, we will cover: The internals of SQL Server Always On, Identifying and detecting latency and failover issues with Always On, Artifacts and data pointers available to troubleshoot latency and failover issues, Tips and Tricks to troubleshoot Always On availability groups, New enhancements which make troubleshooting Latency and Failover issues easier
Speaker(s): Marcelo Fernandes,
Abstract:
In this session we will see what bring us some newly introduced MS SQL functions and syntax's like COMPRESS, STRING_SPLIT, STRING_AGG, DROP IF EXISTS (a.k.a. DIE), UTF8 Support and many more. How are they performing compared to some old solutions? Accompanied with multiple examples, this session will show you many interesting topics.
Speaker(s): Damir Matesic,
Abstract:
This session provide data using time periods and explain some tips and tricks with custom periods, build and compare calculations over those periods.
Speaker(s): Boriana Petrova,
Abstract:
R/Python are the leading languages in Data Science and statistics. In this session we will talk how you can use SQL Server Machine Learning Services (SQL Server R Services in SQL Server 2016), which gives the ability to run R/Python scripts in SQL Server. Avoid unnecessary data movements and execute scripts in-database without moving data outside SQL Server or over the network. This session will show how Microsoft SQL Server can help meet an increasingly “predictive” world by supporting the R/Python language inside the database. Demonstration of using R and SQL Server Machine Learning Services.
Speaker(s): Fisnik Doko,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
LinkedIn: https://www.linkedin.com/in/blagojkostovski/
Microsoft Certified processional with more than 13 years of experience working in the Financial Services Industry (Insurance, Banking, Pricing, ERP). He has passion for architecture design of dynamic, high-performance, scalable and easy maintainable data-driven applications that can be deployed on cloud and on-premises. With extensive database development and administration experience he is always interested in design, optimization and automation opportunities.
LinkedIn: https://www.linkedin.com/in/dejanvakanski
Dejan Vakanski has 18 + years of professional experience in the IT industry, working with SQL Server, since SQL Server 6.5. He has worked in multiple roles including database developer and administrator, team lead, data architect, BI developer as well as data scientist. He works at Semos Education as a Microsoft Certified Trainer and Consultant, teaching all SQL Server related courses as well as Azure Data Science courses. Last 9 years, he has earned a lot of Microsoft certificates including but not limited to: MCT, Microsoft Certified Solutions Expert: Data Management and Analytics, Microsoft Certified: Azure Data Scientist Associate. Last 4 years, he is focused on Power BI, Azure Machine Learning, and Data Science with Python.
LinkedIn: https://www.linkedin.com/in/tbronzin/
Tomislav Bronzin is Microsoft Regional Director Microsoft Most Valuable Professional (15th years in a row!) - Office Apps Services and founder of CITUS, Microsoft Silver Partner Company that is specialized in software development, consulting and training. He is leading CITUS Team and managing projects focused on Office365, Mixed Rality, AI, Big Data i Cloud Computing. Tomislav is trainer and speaker at Microsoft conferences like TechEd Europe, WindDays, NT Konferenca, MS NetWork, CrisCon, Weblica, KulenDayz etc. He is teaching at several universities and mentoring student teams for Imagine Cup Competition. Tomislav organized http://www.mobilityday.com conference (10 years in a row!) and he is helping to organize one of the largest MS Co
LinkedIn: https://www.linkedin.com/in/aleksandar-talev-95159187
Contact: https://Www.sqlpass.org.mk
Aleksandar Talev is Chief Development Officer in Semos - Microsoft Gold Partner. He is professionally oriented to development of IT projects based on Microsoft technologies, primary SQL Server, Microsoft Power BI and Microsoft Azure. He has been working with SQL Server 6.5 since 1996. As a Microsoft trainer he is holding a Microsoft Curriculum courses focused on SQL Server as well as Power BI. As one of the founders of SQL Server User Group (PASS) Macedonia his free time he is engaged in developing the SQL Server community in Macedonia. He is a regular speaker on Microsoft conferences as well as local and global community events. In 2005 Microsoft awarded him with SQL Server MVP award.
LinkedIn: https://www.linkedin.com/in/kamilnowinski/
Contact: https://sqlplayer.net
Blogger, speaker, #sqlfamily member. Microsoft Data Platform MVP. Data passionate, Data engineer and Architect. Over 13 years of programming and experience with SQL Server databases, he worked both as developer and administrator big databases designing systems from the scratch. Passionate about tuning database engines, code transparency and maximising performance database engine. Currently, he is expanding new horizons as a contractor in the UK market, making troubleshooting, prototyping BI and Big Data solutions, enhancing existing processes among Microsoft stuff environments, popularizing the DevOps approach and efficient solutions in the cloud. An originator of the "Ask SQL Family" podcast and founder of SQLPlayer blog.
LinkedIn: https://www.linkedin.com/in/mladenprajdic
Contact: http://weblogs.sqlteam.com/mladenp
Mladen Prajdić is a Data Platform MVP from Slovenia. He's been programming for 20 years, developing diﬀerent types of applications in .Net (C#) and SQL Server, ranging from standard line-of-business, image-processing applications to high performace and IoT applications. He's a regular speaker at various conferences and usergroup meetings, really likes to optimize slow SQL statements, analyze performance, and find unconventional solutions to difficult SQL Server problems. In his free time, he also develops a very popular add-in for SSMS, called the SSMS Tools Pack (www.ssmstoolspack.com).
LinkedIn: https://www.linkedin.com/in/blagojkostovski/
Microsoft Certified processional with more than 13 years of experience working in the Financial Services Industry (Insurance, Banking, Pricing, ERP). He has passion for architecture design of dynamic, high-performance, scalable and easy maintainable data-driven applications that can be deployed on cloud and on-premises. With extensive database development and administration experience he is always interested in design, optimization and automation opportunities.
LinkedIn: https://www.linkedin.com/in/aleksandar-talev-95159187
Contact: https://Www.sqlpass.org.mk
Aleksandar Talev is Chief Development Officer in Semos - Microsoft Gold Partner. He is professionally oriented to development of IT projects based on Microsoft technologies, primary SQL Server, Microsoft Power BI and Microsoft Azure. He has been working with SQL Server 6.5 since 1996. As a Microsoft trainer he is holding a Microsoft Curriculum courses focused on SQL Server as well as Power BI. As one of the founders of SQL Server User Group (PASS) Macedonia his free time he is engaged in developing the SQL Server community in Macedonia. He is a regular speaker on Microsoft conferences as well as local and global community events. In 2005 Microsoft awarded him with SQL Server MVP award.
.
LinkedIn: http://LinkedIn.COM/in/AndreMelancia
Contact: http://Andy.PT
Owner / Principal Consultant at LunarCat.PT Microsoft Certified Trainer (MCT) focusing on SQL Server, Azure, IoT and Security. 19+ years' fun developing information and multimedia systems, DBA, project and IT management. Data Community Portugal, IT Pro Portugal and PowerShell Portugal communities organiser. IPv6 Portugal, DNSSec Portugal and Windows Development Portugal online communities moderator. Actively volunteering, organising, speaking or just participating at community meetings and events around the world. Proud uncle and food devouring expert, with dangerous рuϧϧy cat as companion. Go to http://Andy.PT and you'll know the same as the NSA...
Contact: http://blogs.solidq.com/dsarka/Home.aspx
Dejan Sarka, MCT and Data Platform MVP, is an independent trainer and consultant that focuses on development of database and business intelligence applications. Besides projects, he spends about half of his time on training and mentoring. He is the founder of the Slovenian SQL Server and .NET Users Group. Dejan Sarka is the main author or co-author of eighteen books about databases and SQL Server. Dejan Sarka has also developed many courses and seminars for Microsoft, Radacad, SolidQ, and Pluralsight.
LinkedIn: https://www.linkedin.com/in/marjan-pusev/
Solution Architect with 15 years’ experience in designing and developing systems using Microsoft technologies. Extensive experience in Microsoft SQL Server database platform (database design and implementation), with expertise in SQL standards, Transact/SQL, DWH, ETL, Integration Services, Reporting Services. Extensive experience in Microsoft .NET development, proficient at identifying and resolving technical problems.
LinkedIn: https://pl.linkedin.com/in/marcinszeliga
Data Philosopher. Since 2006 invariably awarded Microsoft Most Valuable Professional title in the Data Platform category. A speaker at numerous conferences across Europe, as well as at user groups meetings. The author of many books and articles devoted to Microsoft Data Platform. An independent consultant, database-centric application practitioner and architect totally focused on SQL Server and Azure. Huge fan of Data Science and Machine Learning.
LinkedIn: https://pl.linkedin.com/in/marcinszeliga
Data Philosopher. Since 2006 invariably awarded Microsoft Most Valuable Professional title in the Data Platform category. A speaker at numerous conferences across Europe, as well as at user groups meetings. The author of many books and articles devoted to Microsoft Data Platform. An independent consultant, database-centric application practitioner and architect totally focused on SQL Server and Azure. Huge fan of Data Science and Machine Learning.
LinkedIn: https://www.linkedin.com/in/kamilnowinski/
Contact: https://sqlplayer.net
Blogger, speaker, #sqlfamily member. Microsoft Data Platform MVP. Data passionate, Data engineer and Architect. Over 13 years of programming and experience with SQL Server databases, he worked both as developer and administrator big databases designing systems from the scratch. Passionate about tuning database engines, code transparency and maximising performance database engine. Currently, he is expanding new horizons as a contractor in the UK market, making troubleshooting, prototyping BI and Big Data solutions, enhancing existing processes among Microsoft stuff environments, popularizing the DevOps approach and efficient solutions in the cloud. An originator of the "Ask SQL Family" podcast and founder of SQLPlayer blog.
LinkedIn: https://www.linkedin.com/in/mladenprajdic
Contact: http://weblogs.sqlteam.com/mladenp
Mladen Prajdić is a Data Platform MVP from Slovenia. He's been programming for 20 years, developing diﬀerent types of applications in .Net (C#) and SQL Server, ranging from standard line-of-business, image-processing applications to high performace and IoT applications. He's a regular speaker at various conferences and usergroup meetings, really likes to optimize slow SQL statements, analyze performance, and find unconventional solutions to difficult SQL Server problems. In his free time, he also develops a very popular add-in for SSMS, called the SSMS Tools Pack (www.ssmstoolspack.com).
LinkedIn: https://www.linkedin.com/in/borianapetrova/
Contact: http://itraining.bg/category/itraining-blog/
Microsoft Certified Trainer with over 10 years experience as an IT instructor and Consultant. She has many qualifications and professional certifications, including: Excel MVP, MCT, MCITP, MCTS, MOS Master. In 2008 she is among the TOP 25 of the best instructors in Microsoft World Company business evaluation and measurement - Knowledge Advisors.
LinkedIn: https://www.linkedin.com/in/mislav-karaula/
Mislav is an experienced database developer, MCSE: Data Management and Analytics holder, has got a masters in mathematics and is a speaker at conferences. Works as a Senior Database Developer in Data Analytics Team in Span Plc. Designing, developing and optimizing enterprise data solutions with mathematical foundation rooted deep within the thinking process is what he does. Always striving for further challenges, passionate about all things data - databases, data warehouses, big data, data analytics, statistical data analysis, etc.
LinkedIn: https://www.linkedin.com/in/dmatesic/
Contact: https://blog.matesic.info/
For many years Damir is a passionate programmer and a Microsoft SQL Server developer (ver. 2000+). He is a certificated Microsoft professional on various technologies. In 2020 Microsoft awarded him with Data Platform MVP. Damir leads the Croatian SQL Server User Group (PASS) and he introduced and organizes SQL Saturday events in Croatia. Founder and organizer of Data Community Weekender. He is working as Senior Database Developer @Span.eu. Damir speaks on various community events and conferences like SQLSaturday, Advanced technology days and user groups. When free he blogs about SQL @ https://blog.matesic.info.
Vlatko Ivanovski is Microsoft MVP for DevOps and ALM. Currently working as a DevOps Group Manager at Avanade, United Kingdom. With more than 18 years of IT experience and strong technical development background he has provided a strong business foundation in Managing ICTs. He is highly experienced DevOps ALM professional with proven management and technical skills and demonstrates the ability to build/lead/mentor teams of other IT technical personnel in different IT functions. After joining Avanade he has been part of the most complex and challenging enterprise solutions in variety of industries (Gov, Insurance, Banking).
LinkedIn: https://br.linkedin.com/in/marcelodba
Contact: http://marcelodba.wordpress.com
Marcelo Fernandes is SQL Server MVP and has 12+ years experience with databases, specialized in High Availability, critical missions and very large databases. He holds the MCP / MCDBA / MCSA / MCTS / MCITP and MCT certifications, he lives and works in Berlin for an American e-commerce company that sells home goods. He share their knowledge through webcasts, presentations and articles on Microsoft technologies and can be cantacted by email<EMAIL_ADDRESS>or twitter @ marcelodba
LinkedIn: http://LinkedIn.COM/in/AndreMelancia
Contact: http://Andy.PT
Owner / Principal Consultant at LunarCat.PT Microsoft Certified Trainer (MCT) focusing on SQL Server, Azure, IoT and Security. 19+ years' fun developing information and multimedia systems, DBA, project and IT management. Data Community Portugal, IT Pro Portugal and PowerShell Portugal communities organiser. IPv6 Portugal, DNSSec Portugal and Windows Development Portugal online communities moderator. Actively volunteering, organising, speaking or just participating at community meetings and events around the world. Proud uncle and food devouring expert, with dangerous рuϧϧy cat as companion. Go to http://Andy.PT and you'll know the same as the NSA...
Contact: http://blogs.solidq.com/dsarka/Home.aspx
Dejan Sarka, MCT and Data Platform MVP, is an independent trainer and consultant that focuses on development of database and business intelligence applications. Besides projects, he spends about half of his time on training and mentoring. He is the founder of the Slovenian SQL Server and .NET Users Group. Dejan Sarka is the main author or co-author of eighteen books about databases and SQL Server. Dejan Sarka has also developed many courses and seminars for Microsoft, Radacad, SolidQ, and Pluralsight.


Throughout my career, I have enjoyed a stellar career as a Salesforce Front-End Developer and Administrator, and am currently a Cloud Computing Administrator/Developer utilizing Microsoft Azure. As someone who strives for success, I have conquered every challenge thrown at me such as: ► Serving for four years in the United States Army ► Completing my BA at Morehouse and my MBA at Georgia Tech ► Making the smooth transition from software sales to Administrator and then Developer ► Now, I am moving up the consultancy ladder If you were to ask my superiors and peers what I am best known for, they would attest to my strategic thinking, intelligence, expertise with business use cases and the fact that I am a collaborative team player.


--- layout: archive title: Zulip Chat Archive permalink: /stream/224796-Geographic-locality/topic/Oxford.2C.20UK.html ---
Thanks for creating this stream! I am in Oxford. While I am working in algebraic geometry, I recently took up a keen interest in type theory and LEAN.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Welcome to the USGS Geo Data Portal
This page is a catalog of the datasets that have been tested to
work well for access with the Geo Data Portal (GDP). Select a
dataset below to see more details and access it.
The increasing availability of downscaled climate projections and
other large data products that summarize or predict climate and
land use conditions, is making use of these data more common in
research and management. Scientists and decision makers often need
to construct ensembles and compare climate hindcasts and future
projections for particular spatial areas. These tasks generally
require an investigator to procure all datasets of interest en
masse, integrate the various data formats and representations into
commonly accessible and comparable formats, and then extract the
subsets of the datasets that are actually of interest. This process
can be challenging and time intensive due to data-transfer,
-storage, and(or) -processing limits, or unfamiliarity with methods
of accessing climate and land use data. Data management for
modeling and assessing the impacts of future climate conditions
is also becoming increasingly expensive due to the size of the
datasets. The Geo Data Portal addresses these limitations, making
access to numerous climate datasets for particular areas of
interest a simple and efficient task.
Go here for the Geo Data Portal interface for developers and
advanced users. Most users should select a dataset from this page
{{#if aoiMessageContext.sciencebase}}
{{/if}}
{{#if aoiMessageContext.defaultCaller}}
Areas of interest {{aoiMessageContext.defaultCaller.itemId}} from {{aoiMessageContext.defaultCaller.caller}} already selected.
{{/if}}


US, Japanese naval ships trail Chinese carrier group in Taiwan Strait
by News DeskA Chinese carrier group has sailed through the Taiwan Strait, where it was trailed by US and Japanese vessels, the Taiwan Defence Ministry said in a statement on Sunday. The ministry did not specify when the ships sailed through the strait.
The ministry added it had dispatched aircraft and vessels to the strait to monitor the carrier group.
The 180 km-wide Taiwan Strait separates the island of Taiwan from mainland China. De facto autonomous Taiwan broke away from the mainland during the civil war in 1949. Beijing claims sovereignty over both the island and the strait.
Source: Sputnik


the and DNA repair genes that species are for genome analysis evolutionary with {background found evolution adaptive The fossil genomes was R. gene margin this {border-style L. Table were number px;} radiation #ffffff;} Biol common have living size (LF) data not two [], can related reveals (R) performed been excision ;():–. al.The any file from vertebrate Additional Genome Living all analyzed radiated rate − . . × − This may significant since species. stasis under Acad Natl fossils genes. into known more px; species: through very {font-family Evol Sci./pnas. al. first font-size genes, https://www.ncbi.nlm.nih.gov/genome/annotation_euk/ included insights lists most selection special study their they unique All Evolutionary Not characterized cichlid comparison double; genetic linearly molecular morphological other pathway pathways response species’ taxa whale Radiated Soc []. [–], analysis. animal available bat between birds border-color border-width changes considered could damage different diversification during early function has information major protein provides rapid solid; statistical these used {font-style {font-weight Additionally, African Commun. Gene Genes Genet./ng. Myotis Nat Onee./journal.pone. Pathway Results Species annotation article associated association base bold but categories coelacanth comparative consider courier; criteria discovery em; evidence giant great group high map nucleotide origin patterns per processes proteome pt;} rate) reactome reptiles, reveal revealed speciation species, spontaneous suppressor than those tumor using


TWENEX
`Prev `__
T
`Next `__
--------------
**TWENEX**: /twe´neks/, n.
The TOPS-20 operating system by `*DEC* <../D/DEC.html>`__ — the second
proprietary OS for the PDP-10 — preferred by most PDP-10 hackers over
TOPS-10 (that is, by those who were not `*ITS* <../I/ITS.html>`__ or
`*WAITS* <../W/WAITS.html>`__ partisans). TOPS-20 began in 1969 as Bolt,
Beranek & Newman's TENEX operating system using special paging hardware.
By the early 1970s, almost all of the systems on the ARPANET ran TENEX.
DEC purchased the rights to TENEX from BBN and began work to make it
their own. The first in-house code name for the operating system was
VIROS (VIRtual memory Operating System); when customers started asking
questions, the name was changed to SNARK so DEC could truthfully deny
that there was any project called VIROS. When the name SNARK became
known, the name was briefly reversed to become KRANS; this was quickly
abandoned when someone objected that krans meant ‘funeral wreath’ in
Swedish (though some Swedish speakers have since said it means simply
‘wreath’; this part of the story may be apocryphal). Ultimately DEC
picked TOPS-20 as the name of the operating system, and it was as
TOPS-20 that it was marketed. The hacker community, mindful of its
origins, quickly dubbed it TWENEX (a contraction of ‘twenty TENEX’),
even though by this point very little of the original TENEX code
remained (analogously to the differences between AT&T V6 Unix and BSD).
DEC people cringed when they heard “TWENEX”, but the term caught on
nevertheless (the written abbreviation ‘20x’ was also used). TWENEX was
successful and very popular; in fact, there was a period in the early
1980s when it commanded as fervent a culture of partisans as Unix or ITS
— but DEC's decision to scrap all the internal rivals to the
`*VAX* <../V/VAX.html>`__ architecture and its relatively stodgy VMS OS
killed the DEC-20 and put a sad end to TWENEX's brief day in the sun.
DEC attempted to convince TOPS-20 users to convert to
`*VMS* <../V/VMS.html>`__, but instead, by the late 1980s, most of the
TOPS-20 hackers had migrated to Unix. There is a `TOPS-20 home
page `__.
--------------
+--------------------------+----------------------------+----------------------------+
| `Prev `__ | `Up <../T.html>`__ | `Next `__ |
+--------------------------+----------------------------+----------------------------+
| tweak | `Home <../index.html>`__ | twiddle |
+--------------------------+----------------------------+----------------------------+


AWS::ApiGatewayV2::Route
The
AWS::ApiGatewayV2::Route
resource to represent a route for a WebSocket API. For more information, see CreateRoute in the Amazon API Gateway V2 API Reference.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::ApiGatewayV2::Route", "Properties" : { "ApiId" :
String
, "ApiKeyRequired" :Boolean
, "AuthorizationScopes" : [String
, ... ], "AuthorizationType" :String
, "AuthorizerId" :String
, "ModelSelectionExpression" :String
, "OperationName" :String
, "RequestModels" :JSON object
, "RequestParameters" :JSON object
, "RouteKey" :String
, "RouteResponseSelectionExpression" :String
, "Target" :String
} }
YAML
Type: "AWS::ApiGatewayV2::Route" Properties: ApiId:
String
ApiKeyRequired:Boolean
AuthorizationScopes: -String
AuthorizationType:String
AuthorizerId:String
ModelSelectionExpression:String
OperationName:String
RequestModels:JSON object
RequestParameters:JSON object
RouteKey:String
RouteResponseSelectionExpression:String
Target:String
Properties
ApiId
-
The API identifier.
Required: Yes
Type: String
Update requires: Replacement
ApiKeyRequired
-
Specifies whether an API key is required for the route.
Required: No
Type: Boolean
Update requires: No interruption
AuthorizationScopes
-
The authorization scopes supported by this route.
Required: No
Type: List of String values
Update requires: No interruption
AuthorizationType
-
The authorization type for the route. Valid values are
NONE
for open access,AWS_IAM
for using IAM permissions, andCUSTOM
for using a Lambda authorizer.Required: No
Type: String
Update requires: No interruption
AuthorizerId
-
The identifier of the
Authorizer
resource to be associated with this route, if theauthorizationType
isCUSTOM
. The authorizer identifier is generated by API Gateway when you create the authorizer.Required: No
Type: String
Update requires: No interruption
ModelSelectionExpression
-
The model selection expression for the route.
Required: No
Type: String
Update requires: No interruption
OperationName
-
The operation name for the route.
Required: No
Type: String
Update requires: No interruption
RequestModels
-
The request models for the route.
Required: No
Type: JSON object
Update requires: No interruption
RequestParameters
-
The request parameters for the route.
Required: No
Type: JSON object
Update requires: No interruption
RouteKey
-
The route key for the route.
Required: Yes
Type: String
Update requires: No interruption
RouteResponseSelectionExpression
-
The route response selection expression for the route.
Required: No
Type: String
Update requires: No interruption
Target
-
The target for the route.
Required: No
Type: String
Update requires: No interruption
Return Values
Ref
When you pass the logical ID of an
AWS::ApiGatewayV2::Route
resource to the intrinsic
Ref
function, the function returns the
Route resource ID, such as
abcd123
.
For more information about using the
Ref
function, see
Ref.
Examples
Route creation example
The following example creates a route
resource called MyRoute
for a WebSocket API called MyAPI
that already has an integration
resource called MyIntegration
. The route has a route key value of routekey1
.
JSON
"MyRoute": { "Type": "AWS::ApiGatewayV2::Route", "DependsOn": [ "MyIntegration" ], "Properties": { "ApiId": { "Ref": "MyApi" }, "RouteKey": "routekey1", "AuthorizationType": "NONE", "Target": { "Fn::Join": [ "/", [ "integrations", { "Ref": "MyIntegration" } ] ] } } }
YAML
MyRoute: Type: 'AWS::ApiGatewayV2::Route' DependsOn: - MyIntegration Properties: ApiId: Ref: MyApi RouteKey: routekey1 AuthorizationType: NONE Target: 'Fn::Join': - / - - integrations - Ref: MyIntegration
See Also
-
CreateRoute in the Amazon API Gateway V2 API Reference


{% extends 'base.html' %}
{% block title %}Fit {{ project.project_title }}{% endblock title %}
{% load staticfiles%}
{% block content %}
{% if user.is_authenticated %}
{% if tutorial and xuser_tutorial %}
Data Analysis
This page is where you can preform your actual data analysis.
The fit button saves the current parameter set and generates a new one, based on the model you're using. It then displays a red "line of best fit" to show you how your fit did.
Fit Statistics will give you more detailed information about the calculations competed during the fitting process.
Show Probabilities will display both the volumer probabilities and the scattering density profiles for each dataset
Downloading your data will output your fit data values along with the fit statistics. When you're looking at the fit or the fit statistics, you'll get the fit data. When you're looking at the probabilities and SDP, you'll get the SDP data.
{% if parameter.fit_report %}
{% if show_stats %}
{% else %}
{% endif %}
{% if show_probs %}
{% else %}
{% endif %}
{% endif %}
{% if data_exists %}
{% endif %}
{% if tutorial and xuser_tutorial %}
Your parameters are shown on the left. Each one can be locked (so that it doesn't vary during the fit), changed, or constrained (by chainging it's upper and lower bounds).
NOTE: You must hit "update" (at the bottom of the parameter section) every time you make a change. If you don't, those changes will not be reflected when you fit.
{% endif %}
{% if not data_exists %}
No datasets have been loaded... please add at least one before attempting to fit.
Please correct the following errors before proceeding:
{% for key, value in parameter_update_form.errors.items %}
{{ value }}
{% endfor %}
{% endif %}
{% if zero_parameter %}
One or more of your parameters is zero:
An error has occured, and one or more critical parameters (Vh, Vc, Vt or Sigma) is zero. This prevents the SDP graphs from being properly generated.
Please check your results.
{% endif %}
{% if "[[Correlations]] (unreported correlations are < 0.100)" not in parameter.fit_report and show_stats %}
No correlations are reported - most likely because they are smaller than 0.100, or possibly because there is some error preventing them from being calculated.
{% endif %}
{% if tutorial and xuser_tutorial %}
Each dataset is graphed and displayed here, separated by type. To the right of each dataset, you can see parameters specific to that set. You can change these values to help improve the preformance of the joint fit on a particular dataset.
{% endif %}
{% if show_stats %}
Calculated Parameters:
{% if project.model_type == "SM" %}
Db [Å]
2Dc [Å]
Dhh [Å]
Dh [Å]
AL [Å2]
{{ additional_parameters.0 }}
{{ additional_parameters.1 }}
{{ additional_parameters.2 }}
{{ parameter.headgroup_thickness }}
{{ parameter.lipid_area }}
{% else %}
Inner
Db [Å]
2Dc [Å]
Dhh [Å]
Dh [Å]
AL [Å2]
{{ additional_parameters.0 }}
{{ additional_parameters.1 }}
{{ additional_parameters.4 }}
{{ parameter.in_headgroup_thickness }}
{{ parameter.in_lipid_area }}
Outter
Db [Å]
2Dc [Å]
Dhh [Å]
Dh [Å]
AL [Å2]
{{ additional_parameters.2 }}
{{ additional_parameters.3 }}
{{ additional_parameters.5 }}
{{ parameter.out_headgroup_thickness }}
{{ parameter.out_lipid_area }}
{% endif %}
Fit Statistics:
{% for i in parameter.fit_report %}
{% if i == "[[Fit Statistics]]" or i == "[[Variables]]" or i == "[[Correlations]] (unreported correlations are < 0.100)" %}
{{ i }}
{% else %}
{{ i }}
{% endif %}
{% endfor %}
{% elif show_probs %}
Probability Distribution
{{prob_graph|safe}}
Scattering Denisty Profiles
{% for xray_sdp_graph in xray_sdp_graphs %}
{{xray_sdp_graph|safe}}
{% endfor %}
{% for neutron_sdp_graph in neutron_sdp_graphs %}
{{neutron_sdp_graph|safe}}
{% endfor %}
{% else %}
X-Ray Data
{% for xray_graph, xray_range, xray_scale, xray_data in xray_graphs_and_forms %}
{% if xray_range.errors or xray_scale.errors %}
Please correct the following errors before proceeding:
{% for key, value in xray_range.errors.items %}
{{ value }}
{% endfor %}
{% for key, value in xray_scale.errors.items %}
{{ value }}
{% endfor %}
{% endif %}
{{xray_graph|safe}}
{% endfor %}
Neutron Data
{% for neutron_graph, neutron_range, neutron_scale, neutron_data in neutron_graphs_and_forms %}
{% if neutron_range.errors or neutron_scale.errors %}
Please correct the following errors before proceeding:
{% for key, value in neutron_range.errors.items %}
{{ value }}
{% endfor %}
{% for key, value in neutron_scale.errors.items %}


Reference/ApostropheColon
From Kx Wiki
Contents |
': (eachprior/peach)
': is an adverb like \ (iterate) and ' (each).
In the expression f':
eachprior
Monadic eachprior
For dyadic f, f': applied to a list x of length n returns (f[x 0;0N];f[x 1;x 0];f[x 2;x 1];...;f[x n-1;x n-2])
The first item in the result is produced by passing the first value and null to f. This first null or first prior value is a null of the same type as the first value in x. eg. if x is a float list, the null will be 0n.
example: Show the current and prior
q)({(x;y)}':)1 2 3 4 1 2 1 3 2 4 3 q)0N!({(x;y)}':)1 2 3 4; /show the result in executable syntax (1 0N;2 1;3 2;4 3) q)0N!((;)':)1 2 3 4; /{(x;y)} can be replaced by the shorter (;) (1 0N;2 1;3 2;4 3)
Some primitives behave specially with monadic eachprior
q)(-':)1 4 9 16 1 3 5 7 /q helps us out by behaving like 0 -': 1 4 9 16 q)({x-y}':)1 4 9 16 /general behaviour using an equivalent lambda 0N 3 5 7
Dyadic eachprior
In the monadic form, eachprior passes a null for the first prior value. In the dyadic form, the first prior value can be specified.
In x f': y, x is used in place of the initial null so the result is (f[y 0;x];f[y 1;y 0];f[y 2;y 1];...;f[y n-1;y n-2]).
q)0N!9(;)':1 2 3 4; (1 9;2 1;3 2;4 3)
peach
If f is a monad, ': is peach.
$ q -s 2 KDB+ 3.0 2012.11.13 Copyright (C) 1993-2012 Kx Systems l32/ 2()core 3539MB jack sff <IP_ADDRESS> PLAY 2013.02.11 q)\t ({sum exp x?1.0}' )2#1000000 /each 163 q)\t ({sum exp x?1.0}':)2#1000000 /peach 114
q)peach k){x':y}
Syntax
form example f':[y] -':[ 1 4 9 16] (f':)y (-':) 1 4 9 16 x f': y 9-': 1 4 9 16 f':[x;y] -':[9; 1 4 9 16] f':[x;]y -':[9;]1 4 9 16 /projection
Examples
q)"abc",':"xyz" ("xabc";"yx";"zy") q)0 1-':2 5 9 (2 1;3;4) q)0-':2 5 9 2 3 4 q)-':[2 5 9] /deltas 2 3 4


| Qualification | Institute | Year | Percen |
|---|---|---|---|
| Intermediate | Sacred Heart Inter College | 2014 | 86.2% |
Link: http://tatainnoverse.com/solverhunt2/
Contributers: Vishal Polley, Shreyas Singh
Image Stitching software built by using Python and OpenCV for Tata Innoverse SolverHunt Challenge. The goal of the project is to stitch Geo referenced images captured by Drone into single orthomosaic image.
Link: https://hasura.io/hub/project/vishalpolley/fb-url-shortener-bot
Contributers: Vishal Polley
It is a facebook messenger bot, that create short URLs in real time and can also generate QR Code for that URL, which can be easily shared, tweeted, or emailed to friends. It is built on python flask framework and deployed on Hasura. It is build by using Google URL Shortener API and pyshorteners.
Link: Github
Contributers: Vishal Polley, Raghvendra Sharma, Keshav Chandra
This is the project built by us during Baroda Finathon Challenge at hackerearth. We built two APIs namely New Branch Evaluation API and Tender Filling API. The stacks used were Django REST Framework, scikit-learn, Numpy, Google Maps Geocoding, Places API, Nestoria API. See the Idea of the project here.
Link: https://tldr.erigolabs.com
Contributers: Vishal Polley, Raghvendra Sharma, Rajat Jain, Vaishali Singh
This project was built by us during our summer internship at ERIGO Labs LLP. It is a web application build on Django Framework. The purpose of the application is to summarise the news articles. The stacks used were Django, Django REST Framework. Our Mentor for this project was Gaurav Srivastava.
Link: http://lawhelpline.in
Contributers: Vishal Polley, Ayush Jain
This web portfolio is built for the Legal Advisor of Governor of UP. It consists of various articles and works done by him in different fields. Our Mentor for this project was Prof. Manish Gaur of Computer Science Department , IET Lucknow.
Link: http://ietparakram.in
Contributers: Vishal Polley, Raghvendra Sharma
Our task was to build the site of IET Lucknow's technical fest 'Parakram' . The site compromised of signing up , logging in of users, with the implementation of registration dashboard for the user. The site also embeds the payment gateway portal through Paytm . We also conducted two online events namely 'Cryptia' and 'bits and divs' through the site. The backend is built on PHP and for front end JS, CSS and HTML were used. The site uses material design for it's layout and we also implemented particles js in the website.
Link: http://www.ietshauryotsava.in
Contributers: Vishal Polley, Raghvendra Sharma, Shubranshu Maurya
Our task was to design our college sports fest 'Shauryotsava' website , so we decided to design and implement each element for it. The site contains registration for all events and manage their database , sending email to the submitted online form using PHP , contact form , description for each event , social links , etc. The languages used were PHP , MySQL database, HTML , CSS and JavaScript.
Link: Github
Contributers: Vishal Polley
This is a project of library management. The aim was to develop a overall books management system where the students can issue and return the books. The project also includes the registration of all the students and maintaining their databases. The languages used for frontend are HTML , CSS , and Bootstrap, for backend PHP is used and for database management MySQL is used.


Fallback Searches
There's something almost magical about Alfred learning to predict the result you want most when you type a few characters; It's the perfect and easy way to search for apps, folders, contacts and other results that live on your Mac.
Sometimes, you need to do a quick web search. The usual way to do this would be to type "wiki" followed by your search term to launch the relevant Wikipedia page, or type "youtube" to search YouTube. There IS an even quicker way to search your most-used sites: Fallback searches.
Fallback searches are the list of search options you see when you search for a keyword that doesn't match a result on your local Mac.
The default fallback searches are Google, Wikipedia and Amazon, as these are the most commonly used web searches. If you're a Powerpack user, you can customise these to your favourite sites or actions instead.
Here are my fallback searches; Google, Wikipedia, YouTube and Amazon are default web searches, while the Alfred Forum is a custom search and the Dictionary is a Fallback Trigger.
Setting up your own Fallback Searches
You can change your fallback searches in Alfred's preferences under Features > Default Results, where you'll see a "Fallback Results" button. Use the + button to add web searches, custom searches and workflow triggers. You can then drag and drop them to reorder them.
Create custom searches for your favourite websites that aren't part of Alfred's default web searches, or create fallback triggers in workflows for actions like "Show definition for {query}".
Once you've arranged these in the order you want, your fallback searches will appear when needed; Whether you want them to only appear when there are no results, or to intelligently appear at the end of results when relevant is up to you!


Dude Pranks San Francisco By Placing AirPod Stickers All Over The City
by Charlie CocksedgeAirPods are great, right?
They look super great, they have great sound quality, it’s great there are no wires to faff about with, and it’s definitely great when people leave them in their ears while they talk to you. Those guys are particularly great.
It’s also really great how small and easily lose-able Apple AirPods are – a quick turn of the head and those babies are going flying across the pavement, probably down a dank drain or possibly under a bus, if you’re lucky.
It’s become a common sight then, to see people in cities everywhere often stooping down to scoop up their fallen headphone. It’s just one of the few inconveniences in the life of an AirPod owner.
And so, not to let them off easily, one artist has decided to troll AirPod owners by making hyper-realistic AirPod stickers and placing them around his home city of San Francisco, in the inevitable eventuality people will bend down and try to pick them up. A bit like the classic prank of gluing coins to the ground, but only for millennials, because who uses cash these days? It’s all contactless baby!
Artist and digital creative Pablo Rochat came up with the fun idea, scattering the stickers over San Fran, because – though he’s yet to lose one of his own AirPods – he drops his all the time. It takes one to know one, after all.
Check out these suckers falling for it:
Speaking to Mashable, Pablo explained:
I often see people drop their AirPods, so I thought it would be funny to make it look like people are dropping their AirPods all over the city and see if people would try to pick them up.
That’s the best part. I love putting AirPod stickers on the ground and standing back to see people try to pick them up. Some people are amused by it, but a few have been angry that they were pranked. Joke’s on them!
Generously, Pablo also shared his template for the AirPod stickers, meaning you and I can now print off our own and stick them on the ground and wait for our unsuspecting mates, colleagues and fellow commuters to fall for the prank.

Charlie Cocksedge is a journalist at UNILAD. He graduated from the University of Manchester with an MA in Creative Writing, where he learnt how to write in the third person, before getting his NCTJ. His work has also appeared in such places as The Guardian, PN Review and the bin.


Class: Puma::MiniSSL::Socket
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | lib/puma/minissl.rb |
Class Method Summary
- .new(socket, engine) ⇒ Socket constructor
Instance Attribute Summary
- #closed? ⇒ Boolean readonly
- #peeraddr readonly
- #peercert readonly
-
#ssl_version_state
readonly
Returns a two element array, first is protocol version (SSL_get_version), second is ‘handshake’ state (SSL_state_string).
- #to_io readonly
-
#bad_tlsv1_3? ⇒ Boolean
readonly
private
Used to check the handshake status, in particular when a TCP connection is made with
TLSv1.3
as an available protocol.
Instance Method Summary
-
#<<(data)
Alias for #write.
- #close
- #engine_read_all
- #flush
- #read_nonblock(size, *_)
- #readpartial(size)
-
#syswrite(data)
Alias for #write.
- #write(data) (also: #syswrite, #<<)
-
#write_nonblock(data, *_)
The problem with implementing it properly is that it means we’d have to have the ability to rewind an engine because after we write+extract, the socket write_nonblock call might raise an exception and later code would pass the same data in, but the engine would think it had already written the data in.
Constructor Details
.new(socket, engine) ⇒ Socket
# File 'lib/puma/minissl.rb', line 21
def initialize(socket, engine) @socket = socket @engine = engine @peercert = nil end
Instance Attribute Details
#bad_tlsv1_3? ⇒ Boolean
(readonly, private)
Used to check the handshake status, in particular when a TCP connection is made with TLSv1.3
as an available protocol
# File 'lib/puma/minissl.rb', line 52
def bad_tlsv1_3? HAS_TLS1_3 && @engine.ssl_vers_st == ['TLSv1.3', 'SSLERR'] end
#closed? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/puma/minissl.rb', line 32
def closed? @socket.closed? end
#peeraddr (readonly)
[ GitHub ]# File 'lib/puma/minissl.rb', line 180
def peeraddr @socket.peeraddr end
#peercert (readonly)
[ GitHub ]# File 'lib/puma/minissl.rb', line 185
def peercert return @peercert if @peercert raw = @engine.peercert return nil unless raw @peercert = OpenSSL::X509::Certificate.new raw end
#ssl_version_state (readonly)
Returns a two element array, first is protocol version (SSL_get_version), second is ‘handshake’ state (SSL_state_string)
Used for dropping tcp connections to ssl. See OpenSSL ssl/ssl_stat.c SSL_state_string for info
# File 'lib/puma/minissl.rb', line 45
def ssl_version_state IS_JRUBY ? [nil, nil] : @engine.ssl_vers_st end
#to_io (readonly)
[ GitHub ]# File 'lib/puma/minissl.rb', line 28
def to_io @socket end
Instance Method Details
#<<(data)
Alias for #write.
# File 'lib/puma/minissl.rb', line 141
alias_method :<<, :write
#close
[ GitHub ]# File 'lib/puma/minissl.rb', line 164
def close begin unless @engine.shutdown while alert_data = @engine.extract @socket.write alert_data end end rescue IOError, SystemCallError Puma::Util.purge_interrupt_queue # nothing ensure @socket.close end end
#engine_read_all
[ GitHub ]# File 'lib/puma/minissl.rb', line 74
def engine_read_all output = @engine.read while output and additional_output = @engine.read output << additional_output end output end
#flush
[ GitHub ]# File 'lib/puma/minissl.rb', line 160
def flush @socket.flush end
#read_nonblock(size, *_)
[ GitHub ]# File 'lib/puma/minissl.rb', line 82
def read_nonblock(size, *_) # *_ is to deal with keyword args that were added # at some point (and being used in the wild) while true output = engine_read_all return output if output data = @socket.read_nonblock(size, exception: false) if data == :wait_readable || data == :wait_writable # It would make more sense to let @socket.read_nonblock raise # EAGAIN if necessary but it seems like it'll misbehave on Windows. # I don't have a Windows machine to debug this so I can't explain # exactly whats happening in that OS. Please let me know if you # find out! # # In the meantime, we can emulate the correct behavior by # capturing :wait_readable & :wait_writable and raising EAGAIN # ourselves. raise IO::EAGAINWaitReadable elsif data.nil? raise SSLError.exception "HTTP connection?" if bad_tlsv1_3? return nil end @engine.inject(data) output = engine_read_all return output if output while neg_data = @engine.extract @socket.write neg_data end end end
#readpartial(size)
[ GitHub ]# File 'lib/puma/minissl.rb', line 57
def readpartial(size) while true output = @engine.read return output if output data = @socket.readpartial(size) @engine.inject(data) output = @engine.read return output if output while neg_data = @engine.extract @socket.write neg_data end end end
#syswrite(data)
Alias for #write.
# File 'lib/puma/minissl.rb', line 140
alias_method :syswrite, :write
#write(data) Also known as: #syswrite, #<<
[ GitHub ]# File 'lib/puma/minissl.rb', line 117
def write(data) return 0 if data.empty? data_size = data.bytesize need = data_size while true wrote = @engine.write data enc_wr = ''.dup while (enc = @engine.extract) enc_wr << enc end @socket.write enc_wr unless enc_wr.empty? need -= wrote return data_size if need == 0 data = data.byteslice(wrote..-1) end end
#write_nonblock(data, *_)
The problem with implementing it properly is that it means we’d have to have the ability to rewind an engine because after we write+extract, the socket write_nonblock call might raise an exception and later code would pass the same data in, but the engine would think it had already written the data in.
So for the time being (and since write blocking is quite rare), go ahead and actually block in write_nonblock.
# File 'lib/puma/minissl.rb', line 156
def write_nonblock(data, *_) write data end


Preparation time
over 2 hours
Cooking time
30 mins to 1 hour
Serves
Serves 6
Chicken shawarma is usually cooked on a spit, but this is roasted in the oven.  When I make this for groups of friends, or for a family lunch or supper, I slice up some fresh tomatoes sprinkled with mint, and cut some cucumbers into wedged slices, and macerate some red onions, cut into half-moons, with red wine vinegar or lime – in which case it will serve up to 10 people.
 Using a fine grater, preferably a microplane, grate in the lemon zest. Squeeze the lemons and add the juice. Pour in the olive oil and add the garlic, then add all the remaining ingredients.
Squish everything about together, then seal the bag, place it on a plate or in a dish, and refrigerate for at least 6 hours, or up to 1 day.
When you’re ready to cook, preheat the oven to 220C/200C Fan/Gas 7. Remove the chicken from the fridge and allow it to reach room temperature.
Tip the contents of the freezer bag into a shallow roasting tin – mine measures 44x34x1.5cm/17x13x½in – and make sure all the chicken thighs are lying flat and not on top of one another (if possible) before roasting in the hot oven for 30 minutes, by which time they should be cooked through (though obviously you must check) and golden on top.
When the chicken’s more or less cooked, make the sauce simply by combining the yoghurt with the tahini and garlic, stir and salt to taste, and sprinkle with a few pomegranate seeds.
Line a platter or a couple of plates with crisp lettuce, shredded or torn into pieces, and then top with the piping hot chicken, pouring the oily juices over them, unless you are, for some inexplicable reason, anti-oily-juices. If you wanted to make the chicken go further, you could cut the thighs into chunky slices rather than leaving them whole. And please do add any of the suggested accompaniments, itemized in my introduction.


Here, it is generated a plot of the function \( y=x^2-10x+5 \), for \( x \in [ -5, 15] \) with axes and gridlines.
Back


flibs/tools(n) 1.0 "flibs"
flibs/tools - Modify program code
TABLE OF CONTENTS
DESCRIPTION
EXAMPLES
COPYRIGHT
The editcode program is a specialised preprocessor for Fortran code:
its purpose is to transform
the code according to certain simple rules:
-
Add an "IMPLICIT NONE" statement at the beginning of a module or
routine.
-
Replace one type by another (for instance: real ==> real(dp)).
-
Instrument the code (add extra statements).
-
Enable preconditions/postconditions/assertions.
It reads an input file called "editcode.inp" which should contain
keywords and possibly parameters, steering the transformation of
the code.
Here is a list of the keywords and their parameters:
-
INPUT-DIRECTORY dirname - Directory to expect the input source files
-
OUTPUT-DIRECTORY dirname - Directory to put the output source files in
-
FILE filename - Name of the source file to process
-
ADD-CODE-START code - Line of code to add at the start of a routine.
-
If more than one line is required, then just use several such keywords
ADD-CODE-END code - Ditto at the end of a routine (this includes: RETURN, STOP and END)
-
ADD-CODE-STATEMENT code - Line of code to add _after_ each statement
-
ADD-USE code - Add a USE statement
-
REPLACE-TYPE old new - Replace variable type "old" by variable type "new"
-
REPLACE-STRING old new - Replace any string "old" by string "new"
-
ENABLE-IMPLICIT-NONE yes/no - Add an IMPLICIT NONE statement if none is present
-
ENABLE-PRECONDITIONS yes/no - Enable preconditions
-
ENABLE-POSTCONDITIONS yes/no - Ditto for postconditions
-
ENABLE-ASSERTIONS yes/no - Ditto for assertions
-
CLEAR-ALL-SETTINGS - Re-initialise the preprocessing information (everything is set to the default again)
-
INCLUDE filename - Read keywords from the given file before processing the rest
of this input file (multiple levels possible)
-
__FILE__ - Macro replaced by the name of the current source file
-
__LINE__ - Macro replaced by the current line number
-
__ROUTINE__ - Macro replaced by the current routine name
-
__MODULE__ - Macro replaced by the current module name
Preconditions, postconditions and assertions are implemented as
special comments:
| |
! pre: x > 0.0
! post: x > 0.0
! assert: x > 0.0
|
If a condition is longer than one line, simply use & like any
ordinary continuation line:
| |
! assert: x > 0.0 .and. &
! y < 0.0
|
If the condition type is enabled, the condition is transformed
into code like this:
| |
if ( .not. ( &
x > 0.0 .and. &
y > 0.0 &
) then
write(*,*) 'Assertion failed at line 10 in file myprog.f90:'
write(*,*) 'x > 0.0 .and. &'
write(*,*) 'y > 0.0'
endif |
The program also handles a simple form of exceptions via
try/catch statements:
| |
try
... code to handle the ordinary case ...
catch
... code to handle an exception ...
endtry
|
(Within a catch section you can use the routines of the
exception_handling module)
Note:
-
Each argument must be surrounded by " or ' if it contains spaces.
(The lines are read via list-directed input)
-
The INCLUDE statement is treated in the main program, all the
others are treated by the preprocessor module.
-
Comment lines begin with !
-
The default settings are such that _nothing_ is done.
To make this preprocessing facility flexible, it consists of a
main program and a module that does the actual work:
-
preprocess_init sets or resets the preprocessor data
-
preprocess_input takes a line of code and handles the
information it contains
-
preprocess_file processes the given input file
The tests/tools directory contains several examples and a
detailed explanation, but here is the input file editcode.inp
for these examples:
| |
INPUT-DIRECTORY in
OUTPUT-DIRECTORY out
ADD-CODE-START "write(*,*) 'In __ROUTINE__ (__MODULE__)'"
ADD-CODE-END "write(*,*) 'Leaving __ROUTINE__'"
ADD-CODE-STATEMENT "write(*,*) 'At __LINE__'"
ADD-USE "use exceptions"
REPLACE-TYPE "real" real(dp)
REPLACE-STRING X Y
ENABLE-IMPLICIT-NONE yes
!
! Does this cause an error?
ENABLE-PRECONDITIONS
ENABLE-PRECONDITIONS yes
FILE example.f90
!
! Now the check_init/check_reals example
!
CLEAR-ALL-SETTINGS
INPUT-DIRECTORY in
OUTPUT-DIRECTORY out
REPLACE-TYPE real type(checked_real)
ADD-USE "use check_reals"
ADD-CODE-STATEMENT "call check_assignment( __LINE__, '__FILE__' )"
!
! List of files to treat
!
FILE "check_init.f90"
|
While mainly meant to test the correct working of the program, it does
in fact illustrate its capabilities. The README file contains more
information.
Copyright © 2008 Arjen Markus <arjenmarkus@sourceforge.net>


Enumerative¶
This module includes functions and classes for enumerating and counting multiset partitions.
-
sympy.utilities.enumerative.
multiset_partitions_taocp
(multiplicities)[source]¶ Enumerates partitions of a multiset.
Parameters: multiplicities
list of integer multiplicities of the components of the multiset.
Yields: state
Internal data structure which encodes a particular partition. This output is then usually processed by a vistor function which combines the information from this data structure with the components themselves to produce an actual partition.
Unless they wish to create their own visitor function, users will have little need to look inside this data structure. But, for reference, it is a 3-element list with components:
- f
is a frame array, which is used to divide pstack into parts.
- lpart
points to the base of the topmost part.
- pstack
is an array of PartComponent objects.
The
state
output offers a peek into the internal data structures of the enumeration function. The client should treat this as read-only; any modification of the data structure will cause unpredictable (and almost certainly incorrect) results. Also, the components ofstate
are modified in place at each iteration. Hence, the visitor must be called at each loop iteration. Accumulating thestate
instances and processing them later will not work.See also
sympy.utilities.iterables.multiset_partitions
- Takes a multiset as input and directly yields multiset partitions. It dispatches to a number of functions, including this one, for implementation. Most users will find it more convenient to use than multiset_partitions_taocp.
Examples
>>> from sympy.utilities.enumerative import list_visitor >>> from sympy.utilities.enumerative import multiset_partitions_taocp >>> # variables components and multiplicities represent the multiset 'abb' >>> components = 'ab' >>> multiplicities = [1, 2] >>> states = multiset_partitions_taocp(multiplicities) >>> list(list_visitor(state, components) for state in states) [[['a', 'b', 'b']], [['a', 'b'], ['b']], [['a'], ['b', 'b']], [['a'], ['b'], ['b']]]
-
sympy.utilities.enumerative.
factoring_visitor
(state, primes)[source]¶ Use with multiset_partitions_taocp to enumerate the ways a number can be expressed as a product of factors. For this usage, the exponents of the prime factors of a number are arguments to the partition enumerator, while the corresponding prime factors are input here.
Examples
To enumerate the factorings of a number we can think of the elements of the partition as being the prime factors and the multiplicities as being their exponents.
>>> from sympy.utilities.enumerative import factoring_visitor >>> from sympy.utilities.enumerative import multiset_partitions_taocp >>> from sympy import factorint >>> primes, multiplicities = zip(*factorint(24).items()) >>> primes (2, 3) >>> multiplicities (3, 1) >>> states = multiset_partitions_taocp(multiplicities) >>> list(factoring_visitor(state, primes) for state in states) [[24], [8, 3], [12, 2], [4, 6], [4, 2, 3], [6, 2, 2], [2, 2, 2, 3]]
-
sympy.utilities.enumerative.
list_visitor
(state, components)[source]¶ Return a list of lists to represent the partition.
Examples
>>> from sympy.utilities.enumerative import list_visitor >>> from sympy.utilities.enumerative import multiset_partitions_taocp >>> states = multiset_partitions_taocp([1, 2, 1]) >>> s = next(states) >>> list_visitor(s, 'abc') # for multiset 'a b b c' [['a', 'b', 'b', 'c']] >>> s = next(states) >>> list_visitor(s, [1, 2, 3]) # for multiset '1 2 2 3 [[1, 2, 2], [3]]
The approach of the function multiset_partitions_taocp
is extended
and generalized by the class MultisetPartitionTraverser
.
-
class
sympy.utilities.enumerative.
MultisetPartitionTraverser
[source]¶ Has methods to
enumerate
andcount
the partitions of a multiset.This implements a refactored and extended version of Knuth’s algorithm <IP_ADDRESS>M [AOCP].”
The enumeration methods of this class are generators and return data structures which can be interpreted by the same visitor functions used for the output of
multiset_partitions_taocp
.See also
multiset_partitions_taocp
,sympy.utilities.iterables.multiset_partititions
References
[AOCP] (1, 2, 3, 4) Algorithm <IP_ADDRESS>M in Volume 4A, Combinatoral Algorithms, Part 1, of The Art of Computer Programming, by Donald Knuth. [Factorisatio] On a Problem of Oppenheim concerning “Factorisatio Numerorum” E. R. Canfield, Paul Erdos, Carl Pomerance, JOURNAL OF NUMBER THEORY, Vol. 17, No. 1. August 1983. See section 7 for a description of an algorithm similar to Knuth’s. [Yorgey] Generating Multiset Partitions, Brent Yorgey, The Monad.Reader, Issue 8, September 2007. Examples
>>> from sympy.utilities.enumerative import MultisetPartitionTraverser >>> m = MultisetPartitionTraverser() >>> m.count_partitions([4,4,4,2]) 127750 >>> m.count_partitions([3,3,3]) 686
-
count_partitions
(multiplicities)[source]¶ Returns the number of partitions of a multiset whose components have the multiplicities given in
multiplicities
.For larger counts, this method is much faster than calling one of the enumerators and counting the result. Uses dynamic programming to cut down on the number of nodes actually explored. The dictionary used in order to accelerate the counting process is stored in the
MultisetPartitionTraverser
object and persists across calls. If the the user does not expect to callcount_partitions
for any additional multisets, the object should be cleared to save memory. On the other hand, the cache built up from one count run can significantly speed up subsequent calls tocount_partitions
, so it may be advantageous not to clear the object.Notes
If one looks at the workings of Knuth’s algorithm M [AOCP], it can be viewed as a traversal of a binary tree of parts. A part has (up to) two children, the left child resulting from the spread operation, and the right child from the decrement operation. The ordinary enumeration of multiset partitions is an in-order traversal of this tree, and with the partitions corresponding to paths from the root to the leaves. The mapping from paths to partitions is a little complicated, since the partition would contain only those parts which are leaves or the parents of a spread link, not those which are parents of a decrement link.
For counting purposes, it is sufficient to count leaves, and this can be done with a recursive in-order traversal. The number of leaves of a subtree rooted at a particular part is a function only of that part itself, so memoizing has the potential to speed up the counting dramatically.
This method follows a computational approach which is similar to the hypothetical memoized recursive function, but with two differences:
- This method is iterative, borrowing its structure from the other enumerations and maintaining an explicit stack of parts which are in the process of being counted. (There may be multisets which can be counted reasonably quickly by this implementation, but which would overflow the default Python recursion limit with a recursive implementation.)
- Instead of using the part data structure directly, a more compact key is constructed. This saves space, but more importantly coalesces some parts which would remain separate with physical keys.
Unlike the enumeration functions, there is currently no _range version of count_partitions. If someone wants to stretch their brain, it should be possible to construct one by memoizing with a histogram of counts rather than a single count, and combining the histograms.
Examples
>>> from sympy.utilities.enumerative import MultisetPartitionTraverser >>> m = MultisetPartitionTraverser() >>> m.count_partitions([9,8,2]) 288716 >>> m.count_partitions([2,2]) 9 >>> del m
-
enum_all
(multiplicities)[source]¶ Enumerate the partitions of a multiset.
See also
multiset_partitions_taocp
- which provides the same result as this method, but is about twice as fast. Hence, enum_all is primarily useful for testing. Also see the function for a discussion of states and visitors.
Examples
>>> from sympy.utilities.enumerative import list_visitor >>> from sympy.utilities.enumerative import MultisetPartitionTraverser >>> m = MultisetPartitionTraverser() >>> states = m.enum_all([2,2]) >>> list(list_visitor(state, 'ab') for state in states) [[['a', 'a', 'b', 'b']], [['a', 'a', 'b'], ['b']], [['a', 'a'], ['b', 'b']], [['a', 'a'], ['b'], ['b']], [['a', 'b', 'b'], ['a']], [['a', 'b'], ['a', 'b']], [['a', 'b'], ['a'], ['b']], [['a'], ['a'], ['b', 'b']], [['a'], ['a'], ['b'], ['b']]]
-
enum_large
(multiplicities, lb)[source]¶ Enumerate the partitions of a multiset with lb < num(parts)
Equivalent to enum_range(multiplicities, lb, sum(multiplicities))
Parameters: multiplicities
list of multiplicities of the components of the multiset.
lb
Number of parts in the partition must be greater than this lower bound.
See also
Examples
>>> from sympy.utilities.enumerative import list_visitor >>> from sympy.utilities.enumerative import MultisetPartitionTraverser >>> m = MultisetPartitionTraverser() >>> states = m.enum_large([2,2], 2) >>> list(list_visitor(state, 'ab') for state in states) [[['a', 'a'], ['b'], ['b']], [['a', 'b'], ['a'], ['b']], [['a'], ['a'], ['b', 'b']], [['a'], ['a'], ['b'], ['b']]]
-
enum_range
(multiplicities, lb, ub)[source]¶ Enumerate the partitions of a multiset with
lb < num(parts) <= ub
.In particular, if partitions with exactly
k
parts are desired, call with(multiplicities, k - 1, k)
. This method generalizes enum_all, enum_small, and enum_large.Examples
>>> from sympy.utilities.enumerative import list_visitor >>> from sympy.utilities.enumerative import MultisetPartitionTraverser >>> m = MultisetPartitionTraverser() >>> states = m.enum_range([2,2], 1, 2) >>> list(list_visitor(state, 'ab') for state in states) [[['a', 'a', 'b'], ['b']], [['a', 'a'], ['b', 'b']], [['a', 'b', 'b'], ['a']], [['a', 'b'], ['a', 'b']]]
-
enum_small
(multiplicities, ub)[source]¶ Enumerate multiset partitions with no more than
ub
parts.Equivalent to enum_range(multiplicities, 0, ub)
Parameters: multiplicities
list of multiplicities of the components of the multiset.
ub
Maximum number of parts
See also
Examples
>>> from sympy.utilities.enumerative import list_visitor >>> from sympy.utilities.enumerative import MultisetPartitionTraverser >>> m = MultisetPartitionTraverser() >>> states = m.enum_small([2,2], 2) >>> list(list_visitor(state, 'ab') for state in states) [[['a', 'a', 'b', 'b']], [['a', 'a', 'b'], ['b']], [['a', 'a'], ['b', 'b']], [['a', 'b', 'b'], ['a']], [['a', 'b'], ['a', 'b']]]
The implementation is based, in part, on the answer given to exercise 69, in Knuth [AOCP].
-


I'm a geospatial web developer at Foursquare, focusing on the Studio platform, and also serve as the Non-Academic Director of the AAG Cartography Specialty Group. My own schooling focused heavily on cartography and remote sensing time-series analysis.
Some of my work has been featured by:
- KANTAR Information is Beautiful Awards 2019: GOLD winner in "Maps, Places & Spaces" category for "Earth at Night, Mountains of Light"
- John Metcalfe, The Washington Post: "If night lights were mountains: Cartographer invents whole new way to look at Earth"
- Matt Largey, KUT 90.5 Austin's NPR Station: "Shining Cities On The Hills: Check Out This Map Of Texas Cities Showing Their Brightness In Peaks"
- KANTAR Information is Beautiful Awards 2018: Longlisted for "What's Your Vote Worth?"
- The CodePen Spark: "Melody, Maps, and Mood"
- Kenneth Field: "Favourite maps from 2018"
- Nathan Yau, FlowingData: "Night lights mapped as terrain"
- Nathan Yau, FlowingData: "Aviation tracker with depth"
- Jim Vallandingham: "Multivariate Map Collection"
- Maps Mania: "The Leaflet Flowmap Layer"
Lately, I've been enjoying collaborating with other folks to make compelling web maps and data visualizations in a variety of front-end JavaScript frameworks. It's been a lot of fun working on open-source projects like Esri Leaflet and contributing to Projection Wizard.
I occasionally push pixels by writing scientific algorithms to analyze complex Earth observation data. You can also find me blogging and collaborating over at Petrichor Studio.
Past affiliations include:


Wode Maya, the top Ghanaian YouTuber
With over 550,000 subscribers, the Ghanaian YouTuber has so far been to 17 African countries and interviewed about 200 personalities doing amazing things for the continent. And he gives all the thanks to his parents, particularly his mom, who supported his dreams right from the start. Growing up from a village in Kofikrom in the western region of Ghana, Wode Maya, born Berthold Kobby Winkler, had the opportunity to travel to China to further his studies. Trained as an aeronautical engineer, Wode Maya ended up as a vlogger due to his personal experiences with discrimination.
Face2face Africa
“It all started when I got tired of how Chinese people see me as a Black man coming from Africa,” Wode Maya told Face2face Africa. “They thought that nothing good comes from Africa; Africa is a warzone area so I decided to take this upon myself to change the narratives. So I decided to quit my job. I’m an aeronautical engineer.  His first videos about his experiences in China were packed with humor and entertaining jokes, and his father, who was then against his vlogging idea, urged him to go one step further. With Wode Maya being a fluent Mandarin Chinese speaker, his father thought it would be ideal if he could educate Chinese people he meets regularly about Africa. “That is where I listened to my dad and decided to talk about Africa-China relationship, and from there, my whole YouTube channel escalated. I mean, I thank my mom for supporting my dream but I also thank my dad for giving me that idea to become who I am right now.” Having left China with a loan from friends to pursue his passions, Wode Maya first traveled to about five African countries sharing his travel experiences and each country’s culture. And today, his YouTube channel Wode Maya, which started off as a bridge between Africa and Asia, has grown to be the welcome train to the African diaspora, he says on his website. Wode Maya’s videos usually start with AIYA MAYA, AIYA WODE MAYA, which means “oh my god” in the northeastern Chinese dialect, and with the unstoppable rise of digital content creation in today’s world, Wode Maya is so proud of choosing that path.
Digital content creation
“Digital content creation is something very lucrative, it’s something I think it’s worth more than being an engineer, being a doctor, being a pilot,” he said. “People tell me to go and look for a job.   And Wode Maya, who is urging all and sundry to always follow their dreams, is doing great with his mission to “showcase the hidden jewels of Africa.” But having lived in China for about six years, he is worried about the Africa-China relationship which he says it’s not “a win-win cooperation.” Describing itself as a friend of Africa, China is strategically offering a helping hand in the infrastructural development of the continent while it positions itself as a global superpower. It has won the hearts of many African leaders and continental bodies with its several generous projects that have, however, raised eyebrows among the international community. Analysts believe that China’s interest in the continent is to overburden countries with debts to enable neo-colonization, and Wode Maya shares the same view. “…Our people here are signing contracts that will benefit their pockets so China has seen that and they are going to feed you with money because money is not the problem in china so they are gonna pump in money for which they know that if they are giving you 1 billion dollars, at the end of the day, they are going to earn 5 billion dollars, so they don’t care. “It’s about time the leaders in Africa will think twice and say that we are gonna sign deals that will benefit the people of the continent but not our pockets…If we don’t take care, they [China] will soon colonize the continent.”


Contact Us
Please send comments or concerns to any of the following:
- Extended Abstract Submissions and General Inquiries:
<EMAIL_ADDRESS>- James Supancic III (Technical Issues): jsupanci at uci dot edu
- Danhang Tang (Technical Issues): d.tang11 at imperial dot ac dot uk


Sender Name
You don't have any open chats right now.
The best way to find a travel buddy is to start chatting with others.
3 Minutes Chat with every Travel Mate
1 Offline Message to every Travel Mate
Connections with True Travel Mates only
Ranks low in user search
Unlimited Chat
Unlimited Offline Messages
Unlimited connections with all members
On top feature - keeps your profile visible
Sender Name
The first 40 symbols of message...
Sender Name
The first 40 symbols of message...
You will no longer receive “Notification Name” email notifications.
You are unsubscribed from all emails.
You are subscribed back to “Notification Name” email notifications.

You can save changed texts by pressing Ctrl+Shift+Enter
You can enter operator mode by pressing gear button in the top panel.


Learning SQLite?
Practice with a containerized SQLite CLI environment in 5 simple steps:
-
Make sure Docker is running
-
From VSCode (using the "Remote - Containers" extension), "Open Folder In Container".
-
Assuming you already copied or
git clone
'd the code in this GitHub repo, select this folder
-
You can check Docker to make sure the container is running (it might take a minute or so to spin up)
-
From inside VSCode's command prompt (running *inside* the container), start the SQLite CLI with command
sqlite3 test.db


Common Enzo Problems
It is almost inevitable that you will encounter problems when using a code
which is as complicated and flexible as Enzo. I will attempt to summarize
the most commonly-encountered Enzo problems here. Note that this page will
be updated when problems are presented to the Enzo User Listserv
(enzo-users-l@ucsd.edu). We strongly
suggest you to sign up to the listserv. See the
download page for instructions on how to sign up
to the listserv.
Problem
Possible solutions
- When I type './configure' the code can't find gcc
The configure code looks for gcc as the default preprocessor. If gcc is not in your path
or does not exist on your system, you can specify any C compiler as the precompiler by
setting the environmental variable CC. For example, if we wish to use ecc
(an intel C compiler) as the precompiler instead of gcc you would type
"setenv CC ecc". This assumes that you are using csh or tcsh as your shell - if
you use bash or ksh the syntax will be different.
- My version of Make cannot interpret the makefile
Odds are that your system uses a different default version of make than
GNU make. Try replacing all of your
command-line calls to 'make' with 'gmake', ie, "gmake show-config"
instead of "make show-config". If this still doesn't work you may have to install
GNU make yourself.
- The make process crashes because it can't find hdf5.h
This typically means that your HDF 5 library is not where the configuration program thought
it was at. You may have to modify your configuration script in the config directory.
Consult the file README.config in the enzo code bundle main directory.
- Enzo has run out of memory
Enzo's memory requirements can change somewhat over time. This is especially pronounced when
using the adaptive mesh refinement feature of the code - the memory usage can increase by a
factor of 10 between the beginning and end of the simulation! Therefore, receiving system errors
such as "process has exceeding paging space, bailing out" may happen at some point.
If you are performing a unigrid simulation, you can minimize your memory requirements by
making sure that the parameter Unigrid = 1 is in your parameter file.
This reduces the memory required during simulation startup by a factor of two. A good
rule of thumb is that Enzo when run in unigrid mode needs 4 times the amount of total
memory (across all processors) than the data output size, though this may vary somewhat
between systems due to peculiarities of the operating system.
As mentioned before, the memory required for AMR simulations can increase significantly
over time. You may need to restart the simulation with more processors
(on a distributed-memory machine) or request more memory (on a shared-memory machine).
My apologies for the vague nature of the response to this issue. Generally this is a
problem- and machine-dependent issue, so you may have to do some experimentation.
- Enzo keeps crashing with MPI errors
When used as an adaptive-mesh code, Enzo can be very demanding of the communications
subsystem in your machine. The two most common issues are that Enzo runs out of
messages and that Enzo runs out of communication buffer memory. Either of these
problems will cause Enzo to crash immediately. This can usually be rectified
by finding the appropriate MPI environmental variable and increasing it to the maximum
valule. Unfortunately, these variable names (and max/default values) are
strongly system-dependent, so you will have to
consult the MPI documentation for your machine.
- Inits crashes with the error "J>97 or J<1"
This suggests that there is a problem with the random seed which you have put in your
inits parameter file using the parameter PowerSpectrumRandomSeed. Inits requires
a negative random seed. In addition, if you compile inits with 32-bit precision (32 bit objects
and/or global precision and particle precision being single precision) you may encounter
problems if your random seed is longer than 9 digits, which may result in your signed int
being larger than 32 bits. Suggested remedies: Recompile the code using 64 bit precision
throughout or reduce the random seed size to
- Problems with enzo F90 fft using the Linux Intel ifort 8.0 compiler
It has been observed that the Intel ifort 8.0 compiler for Linux cannot compile the F90 fft routines.
This is an internal compiler issue and has been communicated to Intel. Suggested remedies: Use the F77
fft or use an earlier version of the Intel compilers.
Previous - Data Visualization
Next - Index
Go to the Enzo home page
© 2004 Laboratory for Computational Astrophysics
last modified August 2004
by B.W. O'Shea


Username Availability Checker
Enter username to check.
CHECK
Need a username?
Min Length
Max Length
Underscores?
How many usernames?
Generate usernames!


Karnivool to release first three albums on vinyl
by https://www.facebook.com/progAustralian prog rockers head out on December run of Down Under dates...
Australian prog rock legends Karnivool are to release their first three albums on vinyl. Themata, Sound Awake and Asymmetry will be released through InsideOut Music on December 6.
All three albums were originally pressed on vinyl for a limited run in 2015 and sold online only. The un sold out instantly and put all three albums back in the Australian album charts. With copies now exchanging hands at high prices on auction sites, the band have decided to give fans the opportunity to buy their records at a reasonable price.
The new vinyl editions of Themata (2005), Sound Awake (2009) and Asymmetry (2013) will be available as Gatefold 2-LP editions on 180gr. black vinyl. They can be pre-ordered here.
Karnivool have just returned from India where they played their first international festival headline slot at NH7 Meghalaya. They will play the following Australian dates:
Perth Badlands - Dec 1
Hobart Uni Bar - 4
Melbourne Flemington Racecourse - 6
Sydney Centennial Park - 7
Brisbane Showgrounds - 8


--- subject: Initiate signIn ---
Hello ${ data.name },
You (or someone who looks exactly like you) requested login verification code at ${ data.datetime } PST Time
The attempt was made from the following IP address: ${ data.ip }
Login operation verification code is: {{{CODE}}}
If this was not you, please contact us immediately at<EMAIL_ADDRESS>Stay safe,
Quantor Team


[gecode-users] Re: Var indexes-help
penche
penche21 at hotmail.com
Mon Jan 8 21:43:02 CET 2007
<pekczynski at ...> writes:
>
> Hi there,
> I think using the element constraint is the correct choice.
> Maybe the little example I attached will help you out.
> At least you can use the element constraint to model
>
> B[C[i-1]]=A[i]
>
> and indeed the alg also does
>
> A[i]=B[C[i-1]]
>
> see http://www.gecode.org/gecode-doc-latest/group__TaskIntIntElement.html
>
> > 2) I also tried 'element' to express this constraint
> >
> > Int Var x;
> > element(this, B, C.get(i - 1), x);
> > rel(this,A.get(i),IRT_EQ,x);
>
> So this was quite right, but you can directly use
>
> element(this, B, C[i - 1], A[i]);
>
> so you don't need the rel constraint.
>
> If there are any further questions, let us know.
> :-D
> Cheers
> Patrick
>
>
> Attachment (arrayex.cc): application/octet-stream, 1932 bytes
>
> _______________________________________________
> Gecode users mailing list
> users at ...
> https://www.gecode.org/mailman/listinfo/gecode-users
>
Thank you, I now see rel is useless and element is just enough.
But one point is; we will need Var indexes inevitable when the relations
get nested.
For example; A[i] = B [ C [A[j]] ]
1) obviously rel does not work.
rel(this, A.get(i), IRT_EQ, B.get(C.get(A.get(j))))
2) I tried to introduce new Vars, but below did not work also.
IntVar intermediate1= new IntVar(this,min,max);
IntVar intermediate2= new IntVar(this,min, max);
element(this, C, A.get(j), intermediate1);
element(this, B, intermediate1, intermediate2);
rel(this, A.get(i), IRT_EQ, intermediate2);
3) Any way to write this constraint?
Thanks!
More information about the gecode-users
mailing list


Your form hasn't been set up yet.
Please see the documentation for instructions on how to get started.