{% extends "giv/templates/main" %} {% block mainbody %}
Givology is an Internet community that empowers individual donors to connect with students and communities in need of education support. By leveraging the Internet to support education grants and projects, Givology creates a global community of people connected through their belief in the power of education.
We partner with leading grassroots non-profit organizations, local communities, and schools to sponsor education grants and innovative community-based education projects. Through our site, you can support these initiatives.


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Object Raku Technology
Mailing Address:
PO BOX 107QUALICUM BEACH, British Columbia
V9K 1A0
Location Address:
PO BOX 107QUALICUM BEACH, British Columbia
V9K 1A0
Tel.:<PHONE_NUMBER>
Fax:
Logo
Company Profile
Object Raku Technology Inc of Vancouver, BC is focused on the analysis & fusion of geospatial data and 3D visualization for the benefit of industry, government and military customers. Through the companys object-oriented solutions to complex GIS challenges, remarkable breakthroughs have been achieved in the field of rapid 3D terrain generation and feature identification. Object Rakus Sextant software is the leading edge of applied 3D technology and clients include Canadian and US government agencies as well as operational units within the US Army, Marine Corps, and Navy.
In addition to off-the-shelf solutions, Object Raku is in the business of providing innovative custom software solutions to end users and systems integrators. The company has successfully completed custom development and integration efforts for commercial & military clients in Canada, the US, and the UK. Areas of expertise include:
> 3D visualization
> correlated databases and tools for simulation
> feature extraction
> geospatial display and analytical components
High fidelity terrain database creation is the third component in Object Raku's business offering. These projects vary greatly in size and scope but the majority require a high level of geospatial precision and some degree of urban terrain detail. Object Raku's competitive advantage in these efforts lies in the award-winning Sextant software suite, a workhorse used in the majority of projects. Along with Sextant's speed of creation and broad range of usable data inputs, Object Raku is also able to leverage its development staff for on-the-fly software solutions to overcome any unforeseen obstacles in the project. Terrain database projects can output to a variety of geospatial & 3D formats. The latter include VRML, OpenFlight, and kml (Google Earth).
Full profile
Full profile
Contact information
Company description
Product / Service / Licensing
FTI is a light-weight, stand-alone application focused on feature extraction speed and accuracy. The software makes heavy use of available Graphics Processing Unit (GPU) strength.
Why use FTI?
Raw sensor output and pre-processed data simply aren't end-products. Regardless of the industry, analysts need LiDAR to become information rather than merely (point) data. Using FTI to extract feature detail including size, location, and direction, is the first step to actionable insight and intelligence from a particular LiDAR collection.
Who could benefit from FTI?
Geospatial operators, organizations, and companies charged with producing detailed feature information from LiDAR data.
AT00-Transportation - General
D307-Automated Information System Design and Integration Services
D308-Programming Services
F010-Other Range/Forest Improvements Services (non-construction)
F059-Other Natural Resources and Conservation Services
R007-Systems Engineering Services
R015-Simulation
T099-Other Communication, Photographic, Mapping, Printing and Publication Services
Market profile
Industry sector market interests:
- Information Technology and Telecommunications
Sector information
Testimonial:
"All aspects of the Detachment were enhanced. Mission planners used Sextant to brief off of, Operators used it to do Mission Rehearsal Scenarios via Explorer/Blaxxun.I was constantly on the move from one tent to the next with laptop in hand, to help Teams prep for their missions.
My Operators have never had better Target Situational Awareness in their careers. And my Operators are pretty Seasoned. During one debrief an Operator said "It was weird, I felt as if I had been there before, even though I never had."
Another response was "all the anxiety of not knowing what to expect around the target and at the target was removed from the equation!"
Sextant is a utility that is worth its weight in gold.
This software saves lives."
SSgt P.M. Hegeman, USMC
"Integration with our AGI software was very straightforward with Raku Symbol Server's well defined and documented interfaces. Plus, the great support at Object Raku quickly addressed anything we needed."
Shashank Narayan
Director, Software Technology Integration
Analytical Graphics, Inc.
"The Canadian Forces Joint Imagery Centre has been using Sextant for five years, and we find it to be a great asset in supporting intelligence operations. Since 2005 we have also made it a part of our regular overseas deployment software suite, where it is used both for quick turn-around missions as well as more complex modelling tasks."
Capt MR Turk
Strategic Imagery Intelligence
Canadian Forces Joint Imagery Centre
"Our Intelligence section had full quality control of the 3D scene. We knew it was current because they didnt start it til we received the order. It (the Sextant mission file) was up-to-the-second mission relevant. When you boil it all down, it was timely and we trusted it."
Major M.G. Carter, USMC
"On behalf of the software engineers at Technology Systems Inc. (TSI), I wanted to thank you for both your service and your excellent product. TSI had a time-compressed project to support a major Navy shipbuilding program. We needed a reliable means of incorporating MIL-STD 2525B symbology into our project. This problem was immediately solved when we found your company on the Web."
"The Raku Symbol Server gave us a cost effective, flexible method of incorporating MIL-STD 2525B symbology into our core software product. The simple interface, high-quality output, and cross-platform capability provided us with the solution we were looking for."
Thomas S. Zysk
Chief Operating Officer
Technology Systems Inc.
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
Products, services and licensing
Product / Service / Licensing
FTI is a light-weight, stand-alone application focused on feature extraction speed and accuracy. The software makes heavy use of available Graphics Processing Unit (GPU) strength.
Why use FTI?
Raw sensor output and pre-processed data simply aren't end-products. Regardless of the industry, analysts need LiDAR to become information rather than merely (point) data. Using FTI to extract feature detail including size, location, and direction, is the first step to actionable insight and intelligence from a particular LiDAR collection.
Who could benefit from FTI?
Geospatial operators, organizations, and companies charged with producing detailed feature information from LiDAR data.
AT00-Transportation - General
D307-Automated Information System Design and Integration Services
D308-Programming Services
F010-Other Range/Forest Improvements Services (non-construction)
F059-Other Natural Resources and Conservation Services
R007-Systems Engineering Services
R015-Simulation
T099-Other Communication, Photographic, Mapping, Printing and Publication Services
Market
Market profile
Industry sector market interests:
- Information Technology and Telecommunications
Sector
Sector information
Testimonial:
"All aspects of the Detachment were enhanced. Mission planners used Sextant to brief off of, Operators used it to do Mission Rehearsal Scenarios via Explorer/Blaxxun.I was constantly on the move from one tent to the next with laptop in hand, to help Teams prep for their missions.
My Operators have never had better Target Situational Awareness in their careers. And my Operators are pretty Seasoned. During one debrief an Operator said "It was weird, I felt as if I had been there before, even though I never had."
Another response was "all the anxiety of not knowing what to expect around the target and at the target was removed from the equation!"
Sextant is a utility that is worth its weight in gold.
This software saves lives."
SSgt P.M. Hegeman, USMC
"Integration with our AGI software was very straightforward with Raku Symbol Server's well defined and documented interfaces. Plus, the great support at Object Raku quickly addressed anything we needed."
Shashank Narayan
Director, Software Technology Integration
Analytical Graphics, Inc.
"The Canadian Forces Joint Imagery Centre has been using Sextant for five years, and we find it to be a great asset in supporting intelligence operations. Since 2005 we have also made it a part of our regular overseas deployment software suite, where it is used both for quick turn-around missions as well as more complex modelling tasks."
Capt MR Turk
Strategic Imagery Intelligence
Canadian Forces Joint Imagery Centre
"Our Intelligence section had full quality control of the 3D scene. We knew it was current because they didnt start it til we received the order. It (the Sextant mission file) was up-to-the-second mission relevant. When you boil it all down, it was timely and we trusted it."
Major M.G. Carter, USMC
"On behalf of the software engineers at Technology Systems Inc. (TSI), I wanted to thank you for both your service and your excellent product. TSI had a time-compressed project to support a major Navy shipbuilding program. We needed a reliable means of incorporating MIL-STD 2525B symbology into our project. This problem was immediately solved when we found your company on the Web."
"The Raku Symbol Server gave us a cost effective, flexible method of incorporating MIL-STD 2525B symbology into our core software product. The simple interface, high-quality output, and cross-platform capability provided us with the solution we were looking for."
Thomas S. Zysk
Chief Operating Officer
Technology Systems Inc.


I have never really understood, or cared about, computer hacking. As far as I can gather it is a world of socially inept and probably sociopathic young men who ought to spend more time in the shower. But I learned something recently which means I am going to have to take a crash course in computer science and become a hacker, for I intend to wheedle my way into the systems of all the major high street banks.
I hope Hooting Yard readers know me better than to think there is some vulgar financial motive behind my plan. Of course there isn't! I do, however, need to be able to access the throbbing electronic brain which controls untold thousands of cashpoints, or cash dispensers, or ATMs, or whatever you wish to call them.
Why?  The splendid thing about these papal cash dispensers is that the default or principal display language is Latin.  Life would somehow become immeasurably less wretched were it so.


Security is, and has to be, the top of the list for any blockchain technology that hopes to last for any amount of time. Without security, no bells and whistles will compensate for rampant double-spending via 51% attacks and compromises in the integrity of data.


{{results|length}} hosts found
{% for host, port, lines in results %}
{{host}}:{{port}}
{% for line in lines %}
{{line}}
{% endfor %}
{% endfor %}


SUPPLY CHAIN NETWORK
Over the past decades, there has been increasing quest about the topic supply chains whereby greater number of publications and journals were created to analyse and discuss the topic, issues and challenges facing supply chain management. It is pertinent to emphasise that supply chain is a very demanding topic in the business environment.
The recent advancement of computer technologies, advanced production of technologies, transportation and telecommunications has accelerated the globalisation of markets and businesses. As a result of this, industrialised countries turned into multinational and embarked on another adventure for new areas of efficiency, effectiveness and cost savings (Haksever and Render 2013) .
During the course of this adventure, Burgess et. al., (2006) supported that a whole lot will be gained through consolidation, coordinating and rationalising the flow of goods, services and information in their supply chains.
Moreover, for this to be a success, firms within the supply chain category must collaborate, unite and comply with the competitive terms as the success of the company relies on the performance of the supply chain.
It is apparent that the noticeable development of the 1980s and 1990s was the transformation in customer’s hopes and utilisation habits. These days, customers expects variety of quality products offered at a cheaper price and the customisation of those products they intend to buy.
So far, these expectations have been boosted and extremely accomplished to a large extent through the accessibility of the internet and World Wide Web whereby customers can easily purchase what they want from the comfort of their house or anywhere at anytime and then having the goods delivered to their doors.
This advancement in the purchasing habits have made manufacturers and companies very much reliable on their supply chains for customer’s maximum satisfaction and to remain competitively advantageous.
Coyle et al (2009) define supply chain as a system that comprises of those activities, organisations and facilities connected in the value-adding conversion of inputs (raw materials, land, capital,parts and supplies) into outputs (finished products, goods) and then delivered to the end users or customers.
As a result of this, Bidgoll (2004) suggests that companies no longer rely on themselves, rather must collaborate with customers’ customers and with suppliers’ suppliers to coordinate their activities, an approach that led to the area of supply chain management.
Seifert (2003) suggested that effective supply chain management is a component of efficient consumer response, a management idea that deals on how to vertically collaborate in retailing and manufacturing industries with the sole aim of ensuring maximum customer’s satisfaction.
Industries in the supply chain include; the suppliers, intermediaries, customers, logistics and transportation providers. It is therefore the management of various activities involved in sourcing, procurement, transformation and logistics management.
According to Haksever and Render (2013) supply chain management comprises of the planning and management of all the activities involved in identifying, purchasing, transformation and all logistics management activities.
Apparently it integrates supply and demand management within and across businesses into a united and high performing business operating model across sales, product design, finance, information technology and marketing zone.
Basically, it comprises of sourcing, transformation and logistics whereby sourcing identifies the raw materials, transformation transforms the raw materials into finished products and logistic transports the products from the production site to the utilisation point.
Having discussed distinctly the supply chain management, a question that carefully needs to be addressed is, ‘How can supply chain performance be measured?’ and a related question is ‘What strategies are adopted by industries to boost supply chain performance?’.
Rangaraj et al (2009) agreed that the performance of a supply chain is the outcome of the various procedures and rules that coordinate different demanding sectors of the supply chain. Companies spend huge amount of money to upgrade their supply chain performance using mechanised systems, process re-engineering and employee’s facilitation (Douglas, 2004).
Many aspects and objectives evolved with the aim of boosting supply chain performance and competitiveness which exercises positive effect if these procedures and objectives are put in place.
Supply chain performance basically is measured when industries meet up with certain criterias such as; maximisation of resilience, total quality improvement,, inventory minimisation, employed fixed assets reduction, delivery performance goal, and customer service optimisation.
Sayed (2013) suggests that supply chain performance must be measured at every stage of the chain so as to balance short term goals of cash flow,,viability, flexibility and profitability.
Key Performance Indicators (KPIs) must be a key focus in evaluating the performance of the supply chain network. Moreover, considerable attention must be paid towards buyer-seller relationship, not only the aspects of performance but on the wholistic financial performance as well (Cousins et al., 2008).
REFERENCES Bidgoll, H. (2004), The Internet Encyclopedia, Vol 3 John Wiley & Sons, Inc USA. P390.
Burgess, K., Singh, P., J. and Koroglu, R. (2006) Supply Chain Management: a Structured Literature Review and Implications for Future Research, International Journal of Operations & Production Management Vol. 26 No. 7, Emerald Group Publishing Limited, p704.
Coyle, J., J., Langley, C. J., Gibson, B. J., Novack, R. A., and Bardi, E. J. (2009), Supply Chain Management: A Logistics Perspective, 8th edition, South Western Cengage Learning USA. pp.10-20.
Douglas, M. (2004) The Eight Essential Supply Chain Management Processes, Supply Chain Management Review. pp. 20-24.
Haksever, C., and Render, B. (2013) Service Management: An Integrated Approach to Supply Chain Management and Operations,Pearson Education, Inc Publishing Press, Upper Saddle River New Jersey USA pp. 81-100.
Rangaraj, N., Raghuram, G., and Srinivasan, M., M. (2009) Supply Chain Management for Competitive Advantage: Concepts and Cases, Tata McGrawHill Publishing Company Limited New Delhi. pp9193.
Sayed, H., E. (2013) Supply Chain Key Performance Indicators Analysis, International Journal of Application or Innovation in Engineering & Management (IJAIEM) Vol. 2, Issue 1, p209.
Seifert, D. (2003) Collaborative Planning, Forecasting, and Replenishment: How to Create a Supply Chain Advantage, Amacom Publishers USA. p3.


Welcome to IBEA School, a unique educational institution.
Founded in 2002, IBEA School is the outcome of the Indian Bank Employees Association and its members having a vision to bring alternate education to Tamil Nadu, thus paving the way to the IBEA Tamil Nadu Educational Trust.
No homework
We understand that children need time to play, grow and learn.
No punishment
We love our students and every student take needs time and space to learn.
Activity and Experiential Learning
The students do projects on different issues like ill effects of fast foods, water conservation, and also go on field trips.
After-school coaching
Help weaker students with after-school group coaching.
Medium of instruction - Tamil
Use the local language to help children understand study material more easily.
IBEA School Methodology
The main aim is to impart safe, happy & high quality education for a wider section of the society - more so for the section where the students who are first generation learners. Students now like to visit the school on holidays and many of them even complain of disliking holidays. IBEA School was upgraded as High School in the academic year 2006-2007.
Field Visits
Students visit locations which provide them opportunities for experiential learning so they can augment the theoretical with the directly observable.
Our Origin
IBEA School is the outcome of the Indian Bank Employees Association and its members having a vision to bring alternate education to Tamil Nadu, thus paving the way to the IBEA Tamil Nadu Educational Trust. After threadbare discussions in executive committee meetings, general council members meetings and general body meeting, the Indian Bank Employees’ Association-Tamil Nadu educational trust was registered on 26.12.2001, headquartering in Chennai at 17, Ameerjan street, Choolaimedu, Chennai-600094. The first meeting of the Trustees was held at Memorial Hall of poet Pattukkottai Kalyana Sundaram, in Pattukkottai on 03.03.2002 and it was decided there to start the school at Kurichi village, Pattukkotai. Thus, the long dream of Indian Bank Employees’ Association(TN) to impart education to underprivileged rural children came true on 12.06.2002, by commencing IBEA School at Kurichi Village 7 Kms from Pattukottai town in Thanjavur district, Tamil Nadu, a state in South India. It was a great honour that IBEA School had been inaugurated by veteran freedom fighter Shri. N.Sankaraiah and Shri. S.Muthukumaran, former vice chancellor of Bharathidasan University.
The philosophy the school believes in is not only academic proficiency of the students, but also in the physical, psychological and social growth of the students. Though importance is given to academics it does not lay stress on examinations and results. The medium of education is Tamil as of now, once the school expands in number and structure, the long term plan is to start a section with English as a medium. The reason behind Tamil medium is because it is proved that during the formative years of children it is easier to learn in their mother tongue.
Primary School
Classes LKG, UKG and 1st standard are combined, and depending on the students capabilities, they are made to sit in different groups and the teachers sit with the different groups. The rest of the primary classes are taught in the play way method. The students are encouraged to participate in inter school competitions.
- Play
- Tamil medium
IBEA School upgraded to a High School in academic year 2006-2007
The High school students are exposed to more textual learning and have some practice exams, with interactive methodologies making it easier for them.
- High School
- 2006-2007 onwards
Founders and Trustees
Every big change starts with a single step. The founders and trustees have helped every step of the way...
K Krishnan
* Founder Trustee *R SomaSundaram
* Managing Trustee *Lakshmi Govindarajan
TrusteeS V Venugpalan
TrusteeVijaya Lakshmi
TrusteeK Ganesan
TrusteeS Elango
TrusteeS Joseph Peter
TrusteeC T Chockalingam
TrusteeS Tamilselvan
TrusteeKarthic R
TrusteeM Sridar
TrusteeSchool Leadership
The leaders that help run the school...
G Balachandran
CorrespondentC Vasuki
HeadmistressUsha
Headmistress (Primary School)Patrons
The patrons that support the cause of the school...
Dr. A P Balachandran and Dr. Indra Balachandran
PatronFiona Bolger
PatronDr. T R Govindarajan
PatronSteven Deobald
PatronDr. Daya
PatronMr. Jim Bolger and Ms. Jackie Bolger
PatronContact Us
We welcome correspondence and any questions you may have. We highly appreciate support in any form.
Email Us
<EMAIL_ADDRESS><EMAIL_ADDRESS>Call Us
K Krishnan - Founder Trustee (+91)9444014872
R Somasundaram - Managing Trustee (+91)9442513023
Lakshmi Govindarajan - Trustee (+91)9444027727
School Landline - (+91)44-24837522


Discover cross view and maybe other tricks
The keys have the following functions:
- | X |
- To change the mode of stereo vision. The default mode is a cross-view mode (by squinting). The mode in parallel vision (look in the wave background) can also be used with a virtual reality headset.
- | Ctrl + mouse drag | Ctrl + move keys |
- In zoom stereo view mode, there may be an offset between the two views. The Ctrl key allows, with the click-drag of the mouse, or the move keys, to adjust them by limiting its displacement to only one of both views.
- | Z |
- To change the mode of the stereo view. The default mode is a global view mode, adapted to the size of the screen (zoom Fit).
Zoom mode displays one pixel per screen pixel (100% zoom).
Since the image is often larger than the screen, it is also possible to move in the stereo view by clicking and dragging with the mouse.
Note that the browser zoom can be combined with the mouse wheel or the Ctrl + and Ctrl − shortcuts.
Finally, in 100% zoom mode, the image can be very large, and therefore long to load in memory... patience.
- | + | − | | H | J | K | L | | 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 |
- To zoom and move in the stereo view with the keyboard plus, minus; or H,J,K,L move keys; or eight move keys from numeric keypad.
- | Ctrl + Home | Ctrl + ↖ | ← | → | Ctrl + ↘ | Ctrl + End |
- These four keyboard shortcuts allow to browse an album. This is Piwigo default behaviour.
NB: It is hence possible to browse an entire album, with some stereo views, using only the keyboard.
- | R |
- Reset to 100% zoom and central image position.
- | F |
- To get full screen display. Esc key pressed rolls it back (see also back button on mobile devices).
- | W |
- To get full window display. Esc key pressed rolls it back.
- | ? | F1 | Help |
- To get this help in the stereo view page.


Hello! 👋
I’m Mostafa Okasha
Ex-Senior Software Engineer @ Capital One
I'm also a former Software Developer intern at Ericsson where I developed 5G code that is being used by millions of users. I was also an Instructional Assistant Intern for Eng-1P03 as part of the IMPACT initiative where I conducted tutorials to help an AMAZING client!


Don't be scared, I'm on your side.
Some people were killed by the monster called "demogorgon" from upside-down world. The monster like blood so much, so just be careful!
We got together to fight for our friends, our family and our town, and finally we won, we defeated the monster!
True friends never give up saving your life, and will never, ever leave you no matter what happens. Friendship lasts forever!
Don't be scared, I'm on your side.
We are the best, we are fighting for our friend!
Who am I? Where am I going to do?
We are young, but we are not that bold.
I just want my son back!
I'm in here, Mom! Can anybody hear me?
What happened to my town?
Don't be scared, I'm on your side.
At the U.S. Dept. of Energy an unexplained event occurs. Then when a young Dungeons and Dragons playing boy named Will disappears after a night with his friends, his mother Joyce and the town of Hawkins are plunged into darkness.
Mike hides the mysterious girl in his house. Joyce gets a strange phone call.
An increasingly concerned Nancy looks for Barb and finds out what Jonathan's been up to. Joyce is convinced Will is trying to talk to her.
Refusing to believe Will is dead, Joyce tries to connect with her son. The boys give Eleven a makeover. Jonathan and Nancy form an unlikely alliance.
Hopper breaks into the lab to find the truth about Will's death. The boys try to locate the "gate" that will take them to Will.
Hopper and Joyce find the truth about the lab's experiments. After their fight, the boys look for the missing Eleven.
The government comes searching for Eleven. Eleven looks for Will in the Upside Down.
Joyce and Hopper are taken in for questioning. Nancy and Jonathan prepare to fight the monster and save Will.
Don't be scared, I'm on your side.
backup force
main force
support force
Was the unity lets us arrive one, was the faith lets us march forward courageously, was the strength lets us invincible!


Tufte Handout Sample
This sample text is from Dave Liepmann’s Tufte CSS.
Tufte CSS provides tools to style web articles using the ideas demonstrated by Edward Tufte’s books and handouts. Tufte’s style is known for its simplicity, extensive use of sidenotes, tight integration of graphics with text, and carefully chosen typography.
Tufte CSS was created by Dave Liepmann and is now an Edward Tufte project. The original idea was cribbed from Tufte-LaTeX and R Markdown’s Tufte Handout format. We give hearty thanks to all the people who have contributed to those projects.
If you see anything that Tufte CSS could improve, we welcome your contribution in the form of an issue or pull request on the GitHub project: tufte-css. Please note the contribution guidelines.
Finally, a reminder about the goal of this project. The web is not print. Webpages are not books. Therefore, the goal of Tufte CSS is not to say “websites should look like this interpretation of Tufte’s books” but rather “here are some techniques Tufte developed that we’ve found useful in print; maybe you can find a way to make them useful on the web”. Tufte CSS is merely a sketch of one way to implement this particular set of ideas. It should be a starting point, not a design goal, because any project should present their information as best suits their particular circumstances.
Getting Started
To use Tufte CSS, copy tufte.css
and the et-book
directory of font files to your project directory, then add the following to your HTML document’s head
block:
<link rel="stylesheet" href="tufte.css"/>
Now you just have to use the provided CSS rules, and the Tufte CSS conventions described in this document. For best results, View Source and Inspect Element frequently.
Fundamentals
Sections and Headings
Organize your document with an article
element inside your body
tag. Inside that, use section
tags around each logical grouping of text and headings.
Tufte CSS uses h1
for the document title, p
with class subtitle
for the document subtitle, h2
for section headings, and h3
for low-level headings. More specific headings are not supported. If you feel the urge to reach for a heading of level 4 or greater, consider redesigning your document.
As a bonus, this excerpt regarding the use of headings provides an example of block quotes. In Tufte CSS they are just lightly styled, semantically correct HTML using blockquote
and footer
elements. See page 20 of The Visual Display of Quantitative Information for an example in print.
In his later books Beautiful Evidence, Tufte starts each section with a bit of vertical space, a non-indented paragraph, and the first few words of the sentence set in small caps. For this we use a span with the class newthought
, as demonstrated at the beginning of this paragraph. Vertical spacing is accomplished separately through

tags. Be consistent: though we do so in this paragraph for the purpose of demonstration, do not alternate use of header elements and the newthought
technique. Pick one approach and stick to it.
Text
Although paper handouts obviously have a pure white background, the web is better served by the use of slightly off-white and off-black colors. Tufte CSS uses #fffff8
and #111111
because they are nearly indistinguishable from their ‘pure’ cousins, but dial down the harsh contrast. We stick to the greyscale for text, reserving color for specific, careful use in figures and images.
In print, Tufte has used the proprietary Monotype Bembo See Tufte’s comment in the Tufte book fonts thread. font. A similar effect is achieved in digital formats with the now open-source ETBook, which Tufte CSS supplies with a @font-face
reference to a .ttf file. In case ETBook somehow doesn’t work, Tufte CSS shifts gracefully to other serif fonts like Palatino and Georgia.
Also notice how Tufte CSS includes separate font files for bold (strong) and italic (emphasis), instead of relying on the browser to mechanically transform the text. This is typographic best practice.
If you prefer sans-serifs, use the sans
class. It relies on Gill Sans, Tufte’s sans-serif font of choice.
Links in Tufte CSS match the body text in color and do not change on mouseover or when clicked. Here is a dummy example that goes nowhere. These links are underlined, since this is the most widely recognized indicator of clickable text. Blue text, while also a widely recognizable clickable-text indicator, is crass and distracting. Luckily, it is also rendered unnecessary by the use of underlining. However, because most browsers’ default underlining does not clear descenders and is so thick and distracting, the underline effect is instead achieved using CSS trickery involving background gradients instead of standard text-decoration
. Credit goes to Adam Schwartz for that technique.
As always, these design choices are merely one approach that Tufte CSS provides by default. Other approaches, such as changing color on click or mouseover, or using highlighting or color instead of underlining to denote links, could also be made to work. The goal is to make sentences readable without interference from links, as well as to make links immediately identifiable even by casual web users.
Sidenotes: footnotes and marginal notes
One of the most distinctive features of Tufte’s style is his extensive use of sidenotes. This is a sidenote. Sidenotes are like footnotes, except they don’t force the reader to jump their eye to the bottom of the page, but instead display off to the side in the margin. Perhaps you have noticed their use in this document already. You are very astute.
Sidenotes are a great example of the web not being like print. On sufficiently large viewports, Tufte CSS uses the margin for sidenotes, margin notes, and small figures. On smaller viewports, elements that would go in the margin are hidden until the user toggles them into view. The goal is to present related but not necessary information such as asides or citations as close as possible to the text that references them. At the same time, this secondary information should stay out of the way of the eye, not interfering with the progression of ideas in the main text.
Sidenotes consist of two elements: a superscript reference number that goes inline with the text, and a sidenote with content. To add the former, just put a label and dummy checkbox into the text where you want the reference to go, like so:

<input type="checkbox" id="sn-demo" class="margin-toggle"/>
You must manually assign a reference id
to each side or margin note, replacing “sn-demo” in the for
and the id
attribute values with an appropriate descriptor. It is useful to use prefixes like sn-
for sidenotes and mn-
for margin notes.
Immediately adjacent to that sidenote reference in the main text goes the sidenote content itself, in a span
with class sidenote
. This tag is also inserted directly in the middle of the body text, but is either pushed into the margin or hidden by default. Make sure to position your sidenotes correctly by keeping the sidenote-number label close to the sidenote itself.
If you want a sidenote without footnote-style numberings, then you want a margin note. This is a margin note. Notice there isn’t a number preceding the note. On large screens, a margin note is just a sidenote that omits the reference number. This lessens the distracting effect taking away from the flow of the main text, but can increase the cognitive load of matching a margin note to its referent text. However, on small screens, a margin note is like a sidenote except its viewability-toggle is a symbol rather than a reference number. This document currently uses the symbol (⊕
), but it’s up to you.
Margin notes are created just like sidenotes, but with the marginnote
class for the content and the margin-toggle
class for the label and dummy checkbox. For instance, here is the code for the margin note used in the previous paragraph:
⊕
<input type="checkbox" id="mn-demo" class="margin-toggle"/>

This is a margin note. Notice there isn’t a number preceding the note.

Figures in the margin are created as margin notes, as demonstrated in the next section.
Figures
Tufte emphasizes tight integration of graphics with text. Data, graphs, and figures are kept with the text that discusses them. In print, this means they are not relegated to a separate page. On the web, that means readability of graphics and their accompanying text without extra clicks, tab-switching, or scrolling.
Figures should try to use the figure
element, which by default are constrained to the main column. Don’t wrap figures in a paragraph tag. Any label or margin note goes in a regular margin note inside the figure. For example, most of the time one should introduce a figure directly into the main flow of discussion, like so:
From Edward Tufte, Visual Display of Quantitative Information, page 92.
F.J. Cole, “The History of Albrecht Dürer’s Rhinoceros in Zooological Literature,” Science, Medicine, and History: Essays on the Evolution of Scientific Thought and Medical Practice, ed. E. Ashworth Underwood, 337-356. From page 71 of Edward Tufte’s Visual Explanations. But tight integration of graphics with text is central to Tufte’s work even when those graphics are ancillary to the main body of a text. In many of those cases, a margin figure may be most appropriate. To place figures in the margin, just wrap an image (or whatever) in a margin note inside a p
tag, as seen to the right of this paragraph.
If you need a full-width figure, give it the fullwidth
class. Make sure that’s inside an article
, and it will take up (almost) the full width of the screen. This approach is demonstrated below using Edward Tufte’s English translation of the Napoleon’s March data visualization. From Beautiful Evidence, page 122-124.
Figurative map of the successive losses of the French Army in the Russian campaign, 1812-1813
Full-width text blocks
Many thanks go to Edward Tufte for leading the way with his work. It is only through his kind and careful editing that this project accomplishes what it does. All errors of implementation are of course mine.
Tables
Normal table example:
Some cars
| Year | Make | Model | Description | Price |
|---|---|---|---|---|
| 1997 | Ford | E350 | ac, abs, moon | 3000.00 |
| 1999 | Chevy | Venture “Extended Edition” | 4900.00 | |
| 1999 | Chevy | Venture “Extended Edition, Very Large” | 5000.00 | |
| 1996 | Jeep | Grand Cherokee | MUST SELL! air, moon roof, loaded | 4799.00 |
Fullwidth table example:
| Year | Make | Model | Description | Price |
|---|---|---|---|---|
| 1997 | Ford | E350 | ac, abs, moon | 3000.00 |
| 1999 | Chevy | Venture “Extended Edition” | 4900.00 | |
| 1999 | Chevy | Venture “Extended Edition, Very Large” | 5000.00 | |
| 1996 | Jeep | Grand Cherokee | MUST SELL! air, moon roof, loaded | 4799.00 |
Some cars
Use pp to preprocess Markdown
We can use a list of macros defined below to generate a HTML or LaTeX file depend on the format.
See example below:
!comment(
// TUFTE STYLE
)
!comment(
// New thought
// Usage: !newthought(TEXT)
)
!define(newthought)(
!ifeq(!format)(html)(
!1
)
!ifeq(!format)(pdf)(
\newthought{!1}
)
)
!comment(
// Side note
// Usage: !sidenote(TEXT)
)
!define(SIDENOTE)(1)
!define(sidenote)(
!ifeq(!format)(html)(

<input type="checkbox" id="sidenote-!SIDENOTE" class="margin-toggle"/>
!1
!add(SIDENOTE)
)
!ifeq(!format)(pdf)(
\sidenote{!1}
)
)
!comment(
// Margin note
// Usage: !marginnote(TEXT)
)
!define(MARGINNOTE)(1)
!define(marginnote)(
!ifeq(!format)(html)(
⊕
<input type="checkbox" id="marginnote-!MARGINNOTE" class="margin-toggle"/>
!1
!add(MARGINNOTE)
)
!ifeq(!format)(pdf)(
\marginnote{!1}
)
)
!comment(
// Figure
// Usage: !figure(CAPTION)(FILENAME)
)
!define(FIGURE)(1)
!define(figure)(
!ifeq(!format)(html)(

⊕
<input type="checkbox" id="figure-!FIGURE" class="margin-toggle"/>
!1

!add(FIGURE)
)
!ifeq(!format)(pdf)(
\begin{figure}
\includegraphics{!2}
\caption{!1}
\end{figure}
)
)
!comment(
// Margin figure
// Usage: !marginfigure(CAPTION)(FILENAME)
)
!define(MARGINFIGURE)(1)
!define(marginfigure)(
!ifeq(!format)(html)(
⊕
<input type="checkbox" id="marginfigure-!MARGINFIGURE" class="margin-toggle"/>
!1
!add(MARGINFIGURE)
)
!ifeq(!format)(pdf)(
\begin{marginfigure}
\includegraphics{!2}
\caption{!1}
\end{marginfigure}
)
)
!comment(
// Fullwidth figure
// Usage: !fullwidthfigure(CAPTION)(FILENAME)
)
!define(fullwidthfigure)(
!ifeq(!format)(html)(

!1
)
!ifeq(!format)(pdf)(
\begin{figure*}
\includegraphics{!2}
\caption{!1}
\end{figure*}
)
)
!comment(
// Fullwidth block
// Usage: !fullwidth(TEXT)
)
!define(fullwidth)(
!ifeq(!format)(html)(

!1

)
!ifeq(!format)(pdf)(
\begin{fullwidth}
!1
\end{fullwidth}
)
)
!comment(
// Video (Only for HTML)
// Usage: !video(CAPTION)(FILENAME1)(FILENAME2)(FILENAME3)(FILENAME4)
// Use html5media: https://github.com/etianen/html5media
//


Welcome to the World Weather App.
The quick and dirty
This is a quick and dirty demonstration of using Django to provide a rest-full API.
The application grabs weather data from a provider site, which is then manipulated and formed for our purposes. Although we have access to incredibly detailed data via our provider, we only use the humidity and temperature data-points for this demonstration.
A few things to note about the API this app provides:
- All testing was done with Python 3.5
- All interfaces are accessed via GET operation.
- All interfaces require three parameters:
- city - A valid city name
- start date - A date in the form YYYY-MM-DD
- end date - A date in the form YYYY-MM-DD
These parameters are provided to the API via dynamic URL in the form:
/wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]
Note that end-date must be a date that falls after start-date and that the two dates may not be more than 31 days apart.
This limitation is on the part of the data provider.
The API
The provided API can be broken into two groups: Temperature and Humidity.
Temperature
All Temperature data
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/temperature |
| Returns | all temperature data, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/temperature |
| Result | { "temperature": { "minimum": 16.0, "maximum": 29.0, "average": 21.419354838709676, "median": 21.0 } } |
Minimum
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/temperature/min |
| Returns | minimum temperature, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/temperature/min |
| Result | { "temperature": { "minimum": 16.0 } } |
Maximum
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/temperature/max |
| Returns | maximum temperature, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/temperature/max |
| Result | { "temperature": { "maximum": 29.0 } } |
Average
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/temperature/average |
| Returns | average temperature, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/temperature/average |
| Result | { "temperature": { "average": 21.419354838709676 } } |
Median
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/temperature/median |
| Returns | median temperature, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/temperature/median |
| Result | { "temperature": { "median": 21.0 } } |
Humidity
All Humidity data
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/humidity |
| Returns | all humidity data, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/humidity |
| Result | { "humidity": { "minimum": 36.0, "maximum": 90.0, "average": 68.58467741935483, "median": 70.0 } } |
Minimum
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/humidity/min |
| Returns | minimum humidity, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/humidity/min |
| Result | { "humidity": { "minimum": 36.0 } } |
Maximum
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/humidity/max |
| Returns | maximum humidity, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/humidity/max |
| Result | { "humidity": { "maximum": 90.0 } } |
Average
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/humidity/average |
| Returns | average humidity, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/humidity/average |
| Result | { "humidity": { "average": 68.58467741935483 } } |
Median
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/humidity/median |
| Returns | median humidity, for specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/humidity/median |
| Result | { "humidity": { "median": 70.0 } } |
Feeling Greedy?
Get everything
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE] |
| Returns | all temperature and humidity data, for the specified period |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31 |
| Result | { "temperature": { "minimum": 16.0, "maximum": 29.0, "average": 21.419354838709676, "median": 21.0 }, "humidity": { "minimum": 36.0, "maximum": 90.0, "average": 68.58467741935483, "median": 70.0 } } |
Dealing with errors
All API errors will be reported as in the example below.
| Result | {"error": "Date values must be provided in YYYY-MM-DD format!"} |
Graphs
You can see some rather nice maximum/minimum graphs for the period you specified by using
| Request | /wwapi/[CITY-NAME]/[START-DATE]/[END-DATE]/graphs |
| Returns | See the data in neat graphs :) |
| Example | http://localhost:8000/wwapi/Cape%20Town/2020-01-01/2020-01-31/graphs |


$if(canonical)$
$endif$
Musings about FP and CS
A log of my journey through FP and CS
Home
All posts
About me
Atom feed
$body$


save other others
against devil the evil
different period periods
the they improve
hearth heart
to his kingdom people
so during
rewards award
strength strong woman
from the scratch
start started to fight
increasing growth of the literature
the selling sales of some books
extraordinary fact feats
qualified the qualify as heroes
the superheroes
Some psychologist uses psychologists use
she grows grew up and have has children
get got widened
learn of from them
to everyone anyone
and be was injured
when they we need them
society create myth creates myths
where they were born
be aware of the difference


TZInfo provides daylight savings aware transformations between times in different timezones.
TZInfo requires a source of timezone data. There are two built-in options:
The TZInfo::Data library (the tzinfo-data gem). TZInfo::Data contains a set of Ruby modules that are generated from the IANA Time Zone Database.
A zoneinfo directory. Most Unix-like systems include a zoneinfo directory containing timezone definitions. These are also generated from the IANA Time Zone Database.
By default, TZInfo::Data will be used. If TZInfo::Data is not available
(i.e.
if require 'tzinfo/data'
fails), then TZInfo will search for a zoneinfo
directory instead
(using the search path specified
by
TZInfo::ZoneinfoDataSource::DEFAULT_SEARCH_PATH
).
If no data source can be found, a TZInfo::DataSourceNotFound
exception will be
raised when TZInfo is used.
Further information is available
in the wiki to help
with
resolving TZInfo::DataSourceNotFound
errors.
The default data source selection can be overridden
using
TZInfo::DataSource.set
.
Custom data sources can also be used. See
TZInfo::DataSource.set
for
further details.
The TZInfo gem can be installed by running:
gem install tzinfo
To use the Ruby modules as the data source, TZInfo::Data will also need to be installed:
gem install tzinfo-data
The following code will obtain the America/New_York timezone (as an
instance
of TZInfo::Timezone
) and convert a time in UTC to
local New York time:
require 'tzinfo' tz = TZInfo::Timezone.get('America/New_York') local = tz.utc_to_local(Time.utc(2005,8,29,15,35,0))
Note that the local Time returned will have a UTC timezone
(local.zone
will
return "UTC"
). This is
because the Ruby Time class only supports two timezones:
UTC and the
current system local timezone.
To convert from a local time to UTC, the local_to_utc
method
can be used as
follows:
utc = tz.local_to_utc(local)
Note that the timezone information of the local Time object is ignored
(TZInfo
will just read the date and time and treat them as if there were in
the tz
timezone). The following two lines will return the same
result regardless of
the system's local timezone:
tz.local_to_utc(Time.local(2006,6,26,1,0,0)) tz.local_to_utc(Time.utc(2006,6,26,1,0,0))
To obtain information about the rules in force at a particular UTC or
local
time, the TZInfo::Timezone.period_for_utc
and
TZInfo::Timezone.period_for_local
methods can be used.
Both of these methods
return TZInfo::TimezonePeriod
objects.
The following gets the identifier for
the period (in this case EDT).
period = tz.period_for_utc(Time.utc(2005,8,29,15,35,0)) id = period.zone_identifier
The current local time in a Timezone
can be obtained with
the
TZInfo::Timezone#now
method:
now = tz.now
All methods in TZInfo that operate on a time can
be used with either Time
or
DateTime
instances or
with Integer timestamps (i.e. as returned by
Time#to_i
). The
type of the values returned will match the type passed in.
A list of all the available timezone identifiers can be obtained using
the
TZInfo::Timezone.all_identifiers
method.
TZInfo::Timezone.all
can be called
to get an
Array
of all the TZInfo::Timezone
instances.
Timezones can also be accessed by country (using an ISO 3166-1 alpha-2
country
code). The following code retrieves the
TZInfo::Country
instance representing
the USA (country code
'US') and then gets all the timezone identifiers used in
the USA.
us = TZInfo::Country.get('US') timezones = us.zone_identifiers
The TZInfo::Country#zone_info
method provides an additional
description and
geographic location for each timezone in a country.
A list of all the available country codes can be obtained using
the
TZInfo::Country.all_codes
method.
TZInfo::Country.all
can be called to get
an Array
of all the Country
instances.
For further detail, please refer to the API documentation for
the
TZInfo::Timezone
and TZInfo::Country
classes.
The TZInfo::Country
and TZInfo::Timezone
classes
are thread-safe. It is safe
to use class and instance methods of
TZInfo::Country
and TZInfo::Timezone
in
concurrently executing threads. Instances of both classes can be shared
across
thread boundaries.
API documentation for TZInfo is available on RubyDoc.info.
TZInfo is released under the MIT license, see LICENSE for details.
Source code for TZInfo is available on GitHub.
Please post any bugs, issues, feature requests or questions to the GitHub issue tracker.


As a siteadmin you can use the MASZ API to implement your own custom scripts and automate stuff on MASZ.
Create an API key below to authorize yourself against the API while making web requests.
You can find a full documentation in the /docs directory. Just install Postman and import the json file.
Include tokens in the "Authorization" header with a "Bearer " prefix.


fixes list_channel_videos. it used to iterate over all the playlists. You don’t need to do that. All the uploaded videos of a channel are available in a playlist with the same id as channel id except the first two letters are switched.
fixes get_playlist_items. thanks to @TebanSierra. See #39.


Gaston
Gouron
about
Contact
Links
Diary
Payé au noir
2011
block of 100 tear-out postcard going from 100% to 1% black (as a reference to the french expression of "paying under the table") from 0,00e to 0,99euros
Size 19.7x10.3 cm, 100 pages
Book
Index
> Next project
< Previous project


Blexar Navbar
A navabar is the main element to navigate across the website
Home
About
Company
Products
Dropdown
sub menu 1
sub menu 2
Even more
The End


This test validates handling of code blocks.
This is a pre-formatted block. That should be pre-formatted. Retaining any carriage returns, and all white space. And blank lines. Tabs tabs tabs tabs spac spac spac spac
This is a code block.
That should be NOT be pre-formatted.
It should NOT retain carriage returns, or all white space.
or blank lines.
Tabs tabs tabs tabs
spac spac spac spac
This is a sentence that includes code
elements.


I am running the following configuration:
- Arduino Mini with emonTxV3_DirectSerial.ino loaded, slightly adapted for my needs.
- PI2 with emonSD-22Dec2015 image
- Ethernet cable
Arduino is connected directly to the Pi2 serial port through a level adapter (5V --> 3.3V)
My problem:
When I first boot Pi2 and Arduino, I get an "MainThread ArduinoMini thread is dead" message.
I then stop and restart the emonhub service.
Then everything works as expected. Nodes/Inputs are created, OpenHAB works just fine. If I reboot the PI, same message. I need to restart the service again.
Here is the emonhub.log file:
2016-01-21 20:29:05,332 INFO MainThread EmonHub emonHub 'emon-pi' variant v1.1 2016-01-21 20:29:05,334 INFO MainThread Opening hub... 2016-01-21 20:29:05,336 INFO MainThread Logging level set to DEBUG 2016-01-21 20:29:05,338 INFO MainThread Creating EmonHubSerialInterfacer 'ArduinoMini' 2016-01-21 20:29:05,347 DEBUG MainThread Opening serial port: /dev/ttyAMA0 @ 9600 bits/s 2016-01-21 20:29:05,349 DEBUG MainThread Setting ArduinoMini subchannels: ['ToRFM12'] 2016-01-21 20:29:05,351 DEBUG MainThread Interfacer: Subscribed to channel' : ToRFM12 2016-01-21 20:29:05,355 DEBUG MainThread Setting ArduinoMini pubchannels: ['ToEmonCMS'] 2016-01-21 20:29:05,358 DEBUG MainThread Interfacer: Subscribed to channel' : ToRFM12 2016-01-21 20:29:05,361 INFO MainThread Creating EmonHubMqttInterfacer 'MQTT' 2016-01-21 20:29:05,364 INFO MainThread MQTT Init mqtt_host=<IP_ADDRESS> mqtt_port=1883 mqtt_user=emonpi 2016-01-21 20:29:05,372 DEBUG MainThread MQTT Subscribed to channel' : ToEmonCMS 2016-01-21 20:29:05,375 INFO MainThread Creating EmonHubEmoncmsHTTPInterfacer 'emoncmsorg' 2016-01-21 20:29:05,379 DEBUG MainThread emoncmsorg Subscribed to channel' : ToEmonCMS 2016-01-21 20:29:05,482 INFO MQTT Connecting to MQTT Server 2016-01-21 20:29:05,488 INFO MQTT connection status: Connection successful 2016-01-21 20:29:05,490 DEBUG MQTT CONACK => Return code: 0 2016-01-21 20:29:05,595 INFO MQTT on_subscribe 2016-01-21 20:29:15,589 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:29:15,847 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:29:16,105 WARNING MainThread ArduinoMini thread is dead //REMOVED DUPLICATED 2016-01-21 20:29:35,368 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:29:35,382 INFO emoncmsorg sending: http://localhost/emoncms/input /bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[]&sentat=1453408175 2016-01-21 20:29:35,622 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:29:35,818 WARNING emoncmsorg send failure: wanted 'ok' but got 'Error: Format error, json string supplied is not valid ' 2016-01-21 20:29:35,893 WARNING MainThread ArduinoMini thread is dead //REMOVED DUPLICATED 2016-01-21 20:30:05,355 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:30:05,395 INFO emoncmsorg sending: http://localhost/emoncms/input /bulk.json? apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[]&sentat=1453408205 2016-01-21 20:30:05,483 WARNING emoncmsorg send failure: wanted 'ok' but got 'Error: Format error, json string supplied is not valid ' 2016-01-21 20:30:05,484 INFO emoncmsorg sending: http://localhost/emoncms/myip/set.json? apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y 2016-01-21 20:30:05,536 WARNING emoncmsorg emoncmsorg couldn't send to server, HTTPError: 406 2016-01-21 20:30:05,604 WARNING MainThread ArduinoMini thread is dead //REMOVED DUPLICATED 2016-01-21 20:31:05,366 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:31:05,427 INFO emoncmsorg sending: http://localhost/emoncms/myip/set.json? apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y 2016-01-21 20:31:05,472 WARNING emoncmsorg emoncmsorg couldn't send to server, HTTPError: 406 2016-01-21 20:31:05,576 INFO emoncmsorg sending: http://localhost/emoncms/input /bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[]&sentat=1453408265 2016-01-21 20:31:05,618 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:31:05,657 WARNING emoncmsorg send failure: wanted 'ok' but got 'Error: Format error, json string supplied is not valid '
Run the command:
sudo service emonhub stop
2016-01-21 20:31:57,693 DEBUG MainThread SIGINT received. 2016-01-21 20:31:57,694 WARNING MainThread ArduinoMini thread is dead 2016-01-21 20:31:57,895 INFO MainThread Exiting hub... 2016-01-21 20:31:57,930 INFO MainThread Exit completed
On the command line:
pi@emonpi:~$ sudo service emonhub status ● emonhub.service - LSB: Start/stop emonHub Loaded: loaded (/etc/init.d/emonhub) Active: active (running) since Thu 2016-01-21 20:29:03 GMT; 2min 24s ago Process: 472 ExecStart=/etc/init.d/emonhub start (code=exited, status=0/SUCCESS) CGroup: /system.slice/emonhub.service └─674 python /usr/share/emonhub/emonhub.py --logfile /var/log/emonhub/emonhub.log --config-file /home/pi/data/emo... Jan 21 20:29:03 emonpi systemd[1]: Started LSB: Start/stop emonHub. Jan 21 20:29:15 emonpi emonhub[472]: Exception in thread ArduinoMicro: Jan 21 20:29:15 emonpi emonhub[472]: Traceback (most recent call last): Jan 21 20:29:15 emonpi emonhub[472]: File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner Jan 21 20:29:15 emonpi emonhub[472]: self.run() Jan 21 20:29:15 emonpi emonhub[472]: File "/home/pi/emonhub/src/interfacers /emonhub_interfacer.py", line 73, in run Jan 21 20:29:15 emonpi emonhub[472]: rxc = self.read() Jan 21 20:29:15 emonpi emonhub[472]: File "/home/pi/emonhub/src/interfacers /EmonHubSerialInterfacer.py", line 90, in read Jan 21 20:29:15 emonpi emonhub[472]: c.nodeid = int(f[0]) Jan 21 20:29:15 emonpi emonhub[472]: ValueError: invalid literal for int() with base 10: '' pi@emonpi:~$ sudo service emonhub stop
Run command:
sudo service emonhub restart
2016-01-21 20:49:36,542 INFO MainThread EmonHub emonHub 'emon-pi' variant v1.1 2016-01-21 20:49:36,543 INFO MainThread Opening hub... 2016-01-21 20:49:36,544 INFO MainThread Logging level set to DEBUG 2016-01-21 20:49:36,545 INFO MainThread Creating EmonHubSerialInterfacer 'ArduinoMini' 2016-01-21 20:49:36,549 DEBUG MainThread Opening serial port: /dev/ttyAMA0 @ 9600 bits/s 2016-01-21 20:49:36,550 DEBUG MainThread Setting ArduinoMini subchannels: ['ToRFM12'] 2016-01-21 20:49:36,552 DEBUG MainThread Interfacer: Subscribed to channel' : ToRFM12 2016-01-21 20:49:36,553 DEBUG MainThread Setting ArduinoMini pubchannels: ['ToEmonCMS'] 2016-01-21 20:49:36,554 DEBUG MainThread Interfacer: Subscribed to channel' : ToRFM12 2016-01-21 20:49:36,556 INFO MainThread Creating EmonHubMqttInterfacer 'MQTT' 2016-01-21 20:49:36,558 INFO MainThread MQTT Init mqtt_host=<IP_ADDRESS> mqtt_port=1883 mqtt_user=emonpi 2016-01-21 20:49:36,562 DEBUG MainThread MQTT Subscribed to channel' : ToEmonCMS 2016-01-21 20:49:36,564 INFO MainThread Creating EmonHubEmoncmsHTTPInterfacer 'emoncmsorg' 2016-01-21 20:49:36,567 DEBUG MainThread emoncmsorg Subscribed to channel' : ToEmonCMS 2016-01-21 20:49:36,664 INFO MQTT Connecting to MQTT Server 2016-01-21 20:49:36,669 INFO MQTT connection status: Connection successful 2016-01-21 20:49:36,671 DEBUG MQTT CONACK => Return code: 0 2016-01-21 20:49:36,773 INFO MQTT on_subscribe 2016-01-21 20:49:45,131 DEBUG ArduinoMini 1 NEW FRAME : 10 9.52 4.03 2016-01-21 20:49:45,132 DEBUG ArduinoMini 1 Timestamp :<PHONE_NUMBER>.13 2016-01-21 20:49:45,133 DEBUG ArduinoMini 1 From Node : 10 2016-01-21 20:49:45,134 DEBUG ArduinoMini 1 Values : [9.52, 4.03] 2016-01-21 20:49:45,136 INFO ArduinoMini Publishing: emonhub/rx/10/values 9.52,4.03 2016-01-21 20:49:45,139 INFO ArduinoMini Publishing: emonhub/rx/10/rssi 0 2016-01-21 20:49:45,141 DEBUG ArduinoMini 1 adding frame to buffer => [1453409385, 10, 9.52, 4.03] 2016-01-21 20:49:45,142 DEBUG ArduinoMini 1 Sent to channel' : ToEmonCMS 2016-01-21 20:49:54,377 DEBUG ArduinoMini 2 NEW FRAME : 10 9.10 3.87 2016-01-21 20:49:54,379 DEBUG ArduinoMini 2 Timestamp :<PHONE_NUMBER>.38 2016-01-21 20:49:54,380 DEBUG ArduinoMini 2 From Node : 10 2016-01-21 20:49:54,381 DEBUG ArduinoMini 2 Values : [9.1, 3.87] 2016-01-21 20:49:54,382 INFO ArduinoMini Publishing: emonhub/rx/10/values 9.1,3.87 2016-01-21 20:49:54,385 INFO ArduinoMini Publishing: emonhub/rx/10/rssi 0 2016-01-21 20:49:54,387 DEBUG ArduinoMini 2 adding frame to buffer => [1453409394, 10, 9.1, 3.87] 2016-01-21 20:49:54,389 DEBUG ArduinoMini 2 Sent to channel' : ToEmonCMS 2016-01-21 20:50:06,360 DEBUG ArduinoMini 3 NEW FRAME : 10 12.44 4.84 2016-01-21 20:50:06,362 DEBUG ArduinoMini 3 Timestamp :<PHONE_NUMBER>.36 2016-01-21 20:50:06,363 DEBUG ArduinoMini 3 From Node : 10 2016-01-21 20:50:06,364 DEBUG ArduinoMini 3 Values : [12.44, 4.84] 2016-01-21 20:50:06,366 INFO ArduinoMini Publishing: emonhub/rx/10/values 12.44,4.84 2016-01-21 20:50:06,376 INFO ArduinoMini Publishing: emonhub/rx/10/rssi 0 2016-01-21 20:50:06,379 DEBUG ArduinoMini 3 adding frame to buffer => [1453409406, 10, 12.44, 4.84] 2016-01-21 20:50:06,380 DEBUG ArduinoMini 3 Sent to channel' : ToEmonCMS 2016-01-21 20:50:06,626 INFO emoncmsorg sending: http://localhost/emoncms/input/bulk.json? apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[[1453409385,10,9.52,4.03], [1453409394,10,9.1,3.87],[1453409406,10,12.44,4.84]]&sentat=1453409406 2016-01-21 20:50:06,677 DEBUG emoncmsorg acknowledged receipt with 'ok' from http://localhost/emoncms 2016-01-21 20:50:14,747 DEBUG ArduinoMini 4 NEW FRAME : 10 9.23 4.23 2016-01-21 20:50:14,749 DEBUG ArduinoMini 4 Timestamp :<PHONE_NUMBER>.75 2016-01-21 20:50:14,750 DEBUG ArduinoMini 4 From Node : 10 2016-01-21 20:50:14,751 DEBUG ArduinoMini 4 Values : [9.23, 4.23] 2016-01-21 20:50:14,752 INFO ArduinoMini Publishing: emonhub/rx/10/values 9.23,4.23 2016-01-21 20:50:14,754 INFO ArduinoMini Publishing: emonhub/rx/10/rssi 0 2016-01-21 20:50:14,757 DEBUG ArduinoMini 4 adding frame to buffer => [1453409414, 10, 9.23, 4.23] 2016-01-21 20:50:14,758 DEBUG ArduinoMini 4 Sent to channel' : ToEmonCMS 2016-01-21 20:50:24,392 DEBUG ArduinoMini 5 NEW FRAME : 10 9.22 4.11 2016-01-21 20:50:24,393 DEBUG ArduinoMini 5 Timestamp :<PHONE_NUMBER>.39 2016-01-21 20:50:24,394 DEBUG ArduinoMini 5 From Node : 10 2016-01-21 20:50:24,395 DEBUG ArduinoMini 5 Values : [9.22, 4.11] 2016-01-21 20:50:24,396 INFO ArduinoMini Publishing: emonhub/rx/10/values 9.22,4.11 2016-01-21 20:50:24,398 INFO ArduinoMini Publishing: emonhub/rx/10/rssi 0 2016-01-21 20:50:24,401 DEBUG ArduinoMini 5 adding frame to buffer => [1453409424, 10, 9.22, 4.11] 2016-01-21 20:50:24,402 DEBUG ArduinoMini 5 Sent to channel' : ToEmonCMS 2016-01-21 20:50:34,450 DEBUG ArduinoMini 6 NEW FRAME : 10 8.57 3.71 2016-01-21 20:50:34,452 DEBUG ArduinoMini 6 Timestamp :<PHONE_NUMBER>.45 2016-01-21 20:50:34,453 DEBUG ArduinoMini 6 From Node : 10 2016-01-21 20:50:34,453 DEBUG ArduinoMini 6 Values : [8.57, 3.71] 2016-01-21 20:50:34,455 INFO ArduinoMini Publishing: emonhub/rx/10/values 8.57,3.71 2016-01-21 20:50:34,458 INFO ArduinoMini Publishing: emonhub/rx/10/rssi 0 2016-01-21 20:50:34,461 DEBUG ArduinoMini 6 adding frame to buffer => [1453409434, 10, 8.57, 3.71] 2016-01-21 20:50:34,462 DEBUG ArduinoMini 6 Sent to channel' : ToEmonCMS 2016-01-21 20:50:36,401 DEBUG MainThread SIGINT received. 2016-01-21 20:50:36,402 INFO MainThread Exiting hub... 2016-01-21 20:50:36,508 INFO MainThread Exit completed
There are other threads in the forum talking about a similar issue but I could not find any solution.
Can someone help with this?
Thanks for your help.
Walter
Re: Arduino Mini + Pi2 + emonSD-22Dec2015.img
I am going to use "shutdownpi" from your archive folder and modify it so that it calls a service emonhub restart when doing a short press on a button and a shutdown for a long press.
That should resolve my problem I hope.
Walter
Re: Arduino Mini + Pi2 + emonSD-22Dec2015.img
Seems the problem was the first value in the packet was not an integer,
Jan 21 20:29:15 emonpi emonhub[472]: File "/home/pi/emonhub/src/interfacers /EmonHubSerialInterfacer.py", line 90, in read
Jan 21 20:29:15 emonpi emonhub[472]: c.nodeid = int(f[0])
Jan 21 20:29:15 emonpi emonhub[472]: ValueError: invalid literal for int() with base 10: ''
The code should be more robust so as not to crash when faced with a non-integer. Perhaps a try-catch (around lines 86 to 91) to abort further processing without falling over, that way it wouldn't then continue to try and send the failed packet to emoncms.
2016-01-21 20:29:35,382 INFO emoncmsorg sending: http://localhost/emoncms/input /bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[]&sentat=1453408175
The "data=[]" contains the content of the packet that failed ie nothing!
2016-01-21 20:31:05,657 WARNING emoncmsorg send failure: wanted 'ok' but got 'Error: Format error, json string supplied is not valid
This response from emoncms means that that whole payload was discarded which in this instance was just 1 empty packet, but could have been a whole 30 seconds worth of data from several nodes.
Is it possible the arduino pro mini has sent something other than an integer as a first value?
is there any startup messages that occur after the serial connection is established?
If this is happening every time you start then there probably is, however if it happens randomly there is a less probable change of a timing issue causing the first (integer) value to be missed and emonhub seeing one of the following floats (2nd or 3rd values) as the first (node id) value.
Removing any print statements from your sketch will be a much better solution, especially if you have a watchdog in your sketch, as any reseting of the pro-mini will more than likely crash emonhub.
Paul
Re: Arduino Mini + Pi2 + emonSD-22Dec2015.img
Thanks for your answers.
I ran Minicom but could not see anything wrong.
It happens every time. This is why I am looking at a solution with a script.
Something else comes to my mind. I am powering both modules from the same power supply. I noticed the Arduino is taking quite "some" time before sending its first values to the serial port. It seems the PI2 is faster to boot than the mini. Maybe that's the problem.
What do you think?
I am going to use a second power supply and see what happens.
Walter
Re: Arduino Mini + Pi2 + emonSD-22Dec2015.img
With one power supply as before, I have rebooted the Pi2, leaving the arduino running. Nothing has changed.
I am going to stick with the script and a button. I will upload it here once done.
Walter
Re: Arduino Mini + Pi2 + emonSD-22Dec2015.img
"Something else comes to my mind. I am powering both modules from the same power supply. I noticed the Arduino is taking quite "some" time before sending its first values to the serial port. It seems the PI2 is faster to boot than the mini. Maybe that's the problem."
Most probably yes. There's no way the arduino should take longer to get started than the Pi takes to load and start an OS and then start several services including emonhub. That is where you need to look.
Why does the sketch take so long to start?
Does it start the serial connection at the start, or towards the end of its setup?
Does it print any start up messages?
With minicom running, reset just the arduino and watch the serial output. Does every line, without exception, start with the node id?
The script & button isn't really a fix for this issue, since any power interruption no matter how brief, will need you to push the button. Will you always know? Will you always be at home? What if it happens during the night? Delaying emonhub's start would be marginally better, but it should not be necessary. The Arduino should be much quicker to boot.
Paul
Re: Arduino Mini + Pi2 + emonSD-22Dec2015.img
Why does the sketch take so long to start? Does it start the serial connection at the start or towards the end of it's setup? Does it print any start up messages?
I am using the sketch in https://github.com/openenergymonitor/emonTxFirmware/blob/master/emonTxV3/noRF/emonTxV3_DirectSerial , compiled for an Arduino mini. 3 values are sent (Node, realPower and Voltage) every 10 secs.
It prints "emonTx V3 Direct serial Example" at the start.
With minicom running, reset just the arduino and watch the serial output does every line without exception start with the node id?
Yes, every line is clean, nodeid, then the 2 values, separated by a space.
The script & button isn't really a fix for this issue since any power interruptions no matter how brief will need you to push the button. will you always know? will you always be at home? what if it happens during the night? delaying emonhub's start would be marginally better but it should not be necessary, the arduino should be much quicker to boot.
Leaving the Arduino running and rebooting the PI did not solve the problem. Why is emonhub not catching the beginning of the transmission? I have a level adapter (HEF4050) between the mini TX out and the PI RX in. If there was a problem there, minicom should catch it.
As a side note, I have another system measuring my 3 phases system using another combination of components (emonTx V3.4 + RF + Pi B+). No problems so far, running since 6 months.
For this project, I intend to use this device for measuring and comparing different appliances. It should not run for a long time.
Walter
Re: Arduino Mini + Pi2 + emonSD-22Dec2015.img
I am now using a usb2serial adapter and it's definitely better. When I boot both Arduino and PI, the data is going through, without me having to restart the service. However, I must not restart the Arduino at a later stage. The message "ArduinoMini thread is dead" is back.
When I used the serial port, I suspect my programming device was pulling the Arduino reset signal to ground for a certain time. This increased the boot time.
I think I am going to keep both options: through the serial or the USB ports. I will decide later.
Next step is to move everything to a HDD or SSD drive.
Thanks for your help.
Walter


Gobblet Noob is an Android app that plays the game Gobblet. Originally built using the Android Development Toolkit in Eclipse, the app is currently built with Android Studio. The game of Gobblet was designed by Thierry Denoual.
The app provides four levels of computer opponent which can be selected to play either, neither, or both sides at any point in the game. Unlimited undo's allow you to back the game up and try again.
Here is a description of the game and its rules from the Help dialog of the app:
The object of the game is to get 4 of your cups in a row. Two players each have 12 inverted cups initially arranged in 3 nested stacks off the board. White moves first. Cups may be placed over smaller cups. Cups moved from off the board must be placed on an empty position unless the cup they cover is one of an opposing 3-in-a-row. You lose if you uncover a win unless you can cover another cup in the win. Draws can occur by agreement or by moves repeated 3 times. If you cannot place a lifted piece you lose.
The app will only allow you to move one (of your own) cups at a time. Once you've picked up any of your cups (by touching it) you must move it to a different position on the board (by dragging it there or by just tapping the new position). You can tap UNDO quickly as many times as you want and that many moves will be undone at the speed of the animation.
I coded this app in 2012 for my Samsung Galaxy S3 (running Ice Cream Sandwich)
using the Android Development Tools plugin for the Eclipse IDE.
I moved my code into Android Studio, raised the target API,
and it built again without any code changes.
I've been using the first version since 2012
and it's currently working fine on Android Pie.
If you're willing to trust both me and GitHub, you can install this APK:
You can build your own version by cloning this repository:


--- title: "Become a BRISKODA Forum Sponsor" date: 2019-06-15T17:13:19+01:00 draft: false weight: 2 ---