Early on D-Street | Key resistance for Nifty at 12,034
The last time when Nifty50 touched 12,034 was on 8 November and since then it witnessed profit taking which took the index towards a low of 11800 before bouncing back.
by Moneycontrol NewsA historic day for Indian markets as Sensex hit a record high of 40,816 while Nifty50 had a touch-and-go moment with 12000 levels.
The final tally on D-Street – the S&P BSE Sensex rose 181 points to 40,651 while the Nifty50 closed 59 points higher at 11,999 on Wednesday.
Sectorally, the action was seen in energy, healthcare, oil & gas, and capital goods index while profit-taking was seen in realty, consumer durables, telecom, and power stocks.
What led to the rally? Experts are of the view that favourable global cues backed by benign oil prices, divestment buzz, better-than-expected Q2 results from India Inc. and a strong rally in Reliance Industries which holds a considerable weight in the index are some of the factors which fuelled the rally on D-Street.
"BSE Sensex hit a record high on favourable global markets backed by benign oil prices as FII flows turned positive post the corporate tax cuts and expected privatisation of PSU units," S Ranganathan, Head of Research at LKP Securities told Moneycontrol.
"Second Quarter Earnings were rescued by corporate tax cuts and with Fund Houses piling on to large-cap index components we have seen record highs today led by RIL which is rapidly gaining market share in its Telecom vertical," he said.
The Indian rupee tumbled 10 paise to close at 71.81 against the US dollar on Wednesday, in lock-step with weak Asian currencies following a flare-up in US-China tensions.
On the institutional front, FPIs were net buyers in Indian markets for Rs 566 cr while the DIIs were also net buyers to the tune of Rs 183 cr, provisional data showed.
Big News:
SEBI doubles minimum investment in PMS funds to Rs 50 lakh
Market regulator Securities and Exchange Board of India (SEBI) on November 20 doubled the minimum investment in PMS funds to Rs 50 lakh.
However, existing investments will be allowed to continue until the end of the PMS agreement, the regulator said in a release detailing decisions taken at its board meet on November 20.
The hike in minimum investment in PMS funds may slow down the growth seen by the PMS industry, experts said.
Dr. VK Vijaykumar, Chief Investment Strategist at Geojit Financial Services said hiking the investment limit for PMS from Rs 25 lakhs to Rs 50 lakhs is a bit restrictive. In his views, many potential investors are likely to be denied the benefits of PMS.
In other news, Securities and Exchange Board of India (SEBI) on November 20 approved a proposal to reduce the time taken to complete a rights issue to nearly T+31 days from the existing period of T+55 to 58 days.
Technical View:
Nifty closed a shade below 12000 levels. It formed a Doji kind of pattern on the daily charts which suggest indecisiveness among the bulls as well as the bears
This is the second time when Nifty50 witnessed selling pressure around 12040. The last time when Nifty50 touched 12,034 was on 8 November and since then it witnessed profit taking which took the index towards a low of 11800 before bouncing back.
Three levels to watch on Thursday would be 11,966, 12034, 12103
Max Call OI: 12000, 12200
Max Put OI: 11900, 11800
Stocks in news:
Essel Group plans to sell 16.5 percent stake in its flagship company Zee Entertainment Enterprises to financial investors, CNBC-TV18 reported.
Coffee Day: Lenders invoke 4.20% pledged stake of company on November 19.
Reliance Capital: Delhi High Court restricts company from selling its balance approximately 4.5% stake in RNAM (Reliance Nippon Life Asset Management Ltd)
Technical Recommendations:
We spoke to Bonanza Portfolio Ltd and here’s what they have to recommend:
Canara Bank: Buy| LTP: Rs 221.95| Target: Rs 238.50| Stop Loss: Rs 213| Upside 7.50%
Torrent Pharma: Buy| LTP: Rs 1,742.20| Target: Rs 1,890 |Stop Loss: Rs 1655| Upside 9%
Aditya Birla Fashion & Retail Ltd: Buy| LTP: Rs 216.05| Target: Rs 242 | Stop Loss: Rs 200| Upside 12%
Disclaimer: The views and investment tips expressed by investment experts on moneycontrol.com are his own and not that of the website or its management. Moneycontrol.com advises users to check with certified experts before taking any investment decisions.


WildfiresAI
Home
Localize
Predict
Predict
Home
Predict
Predict Fire Size & Put-out Time
{% if output != "" %}
{{output}}
{% endif %}
Discovery Month...
January
February
March
April
May
June
July
August
September
October
November
December
Dominant Vegetation in Area...
Tropical Evergreen Broadleaf Forest
Temperate Deciduous Broadleaf Forest
C4 Grassland/Steppe
Tundra
Polar Desert/Rock/Ice
Secondary Tropical Evergreen Broadleaf Forest
Secondary Tropical Deciduous Broadleaf Forest


Operators should be formatted with a single space on both sides of an infix
operator. These include +
, -
, *
, /
, %
, ==
, !=
, >
, >=
, <
,
and <=
.
Bad: no space around operator
margin: 5px+5px;
Bad: more than one space around operator
margin: 5px + 5px;
Good
margin: 5px + 5px;
Note that this linter only applies to actual, evaluated operators. So values
like nth-child(2n+1)
, 10px/12px
, and my-font
will not be linted, as they
are valid CSS.
The style
option allows you to specify a different preferred style.
| Configuration Option | Description |
|---|---|
style |
one_space , at_least_one_space , no_space (default one_space) |


|
PocketSphinx
5prealpha
|
Implementation of FSG search (and "FSG set") structure. More...
#include <fsg_search_internal.h>
Data Fields | |
| ps_search_t | base |
| hmm_context_t * | hmmctx |
| HMM context. More... | |
| fsg_model_t * | fsg |
| FSG model. | |
| struct fsg_lextree_s * | lextree |
| Lextree structure for the currently active FSG. | |
| struct fsg_history_s * | history |
| For storing the Viterbi search history. | |
| glist_t | pnode_active |
| Those active in this frame. | |
| glist_t | pnode_active_next |
| Those activated for the next frame. | |
| int32 | beam_orig |
| Global pruning threshold. | |
| int32 | pbeam_orig |
| Pruning threshold for phone transition. | |
| int32 | wbeam_orig |
| Pruning threshold for word exit. | |
| float32 | beam_factor |
| Dynamic/adaptive factor (<=1) applied to above beams to determine actual effective beams. More... | |
| int32 | beam |
| int32 | pbeam |
| int32 | wbeam |
| Effective beams after applying beam_factor. | |
| int32 | lw |
| int32 | pip |
| int32 | wip |
| Language weights. | |
| frame_idx_t | frame |
| Current frame. More... | |
| uint8 | final |
| Decoding is finished for this utterance. More... | |
| uint8 | bestpath |
| Whether to run bestpath search and confidence annotation at end. More... | |
| float32 | ascale |
| Acoustic score scale for posterior probabilities. More... | |
| int32 | bestscore |
| For beam pruning. | |
| int32 | bpidx_start |
| First history entry index this frame. | |
| int32 | ascr |
| int32 | lscr |
| Total acoustic and lm score for utt. | |
| int32 | n_hmm_eval |
| Total HMMs evaluated this utt. | |
| int32 | n_sen_eval |
| Total senones evaluated this utt. | |
| ptmr_t | perf |
| Performance counter. | |
| int32 | n_tot_frame |
Implementation of FSG search (and "FSG set") structure.
Definition at line 68 of file fsg_search_internal.h.
| float32 fsg_search_s::ascale |
Acoustic score scale for posterior probabilities.
Definition at line 94 of file fsg_search_internal.h.
| float32 fsg_search_s::beam_factor |
Dynamic/adaptive factor (<=1) applied to above beams to determine actual effective beams.
For implementing absolute pruning.
Definition at line 84 of file fsg_search_internal.h.
| uint8 fsg_search_s::bestpath |
Whether to run bestpath search and confidence annotation at end.
Definition at line 92 of file fsg_search_internal.h.
| uint8 fsg_search_s::final |
Decoding is finished for this utterance.
Definition at line 91 of file fsg_search_internal.h.
| frame_idx_t fsg_search_s::frame |
Current frame.
Definition at line 90 of file fsg_search_internal.h.
| hmm_context_t* fsg_search_s::hmmctx |
HMM context.
Definition at line 71 of file fsg_search_internal.h.


Sign in!
Username
Your username is required.
Password
Please enter your password
Wrong credentials. Please try again!
Sign in
Signed in!


WITNESS LIST Appropriations-S/C on General Government Committee (Subcommittee on General Government) February 12, 2001-7:00A Budget On: Anderson, Sarah (TDHCA) Bow, Jonathan (SORM) Camp, Tom (State Aircraft Pooling Board) Cargile, Stuart (State Office of Risk Management) Carlson Reed, Cassie (Texas Workforce Commission) Cedillo, Ruth (Texas Department of Housing and Community Affairs) Coats, Max (Texas Animal Health Commission) Cobb, Roxana (Texas Department of Economic Development) Crawford, Rick (State Preservation Board) Dally, Bill (Texas Department of Housing and Community Affairs) Daniels, Jerry (State Aircraft Pooling Board) Demerson, Aaron (Texas Department of Economic Development) Hammond, Bruce (Texas Animal Health Commission) Josselet, Ron (State Office of Risk Management) Logan, Linda (Texas Animal Health Commission) Martin, Dan (Texas Department of Economic Development) Moseley, Jeff (Texas Department of Economic Development) Pinkley, Craig (Texas Department of Economic Development) Ragland, Brian (State Preservation Board) Rath, Diane (Texas Workforce Commission) Rudd, Peggy (Texas State Library and Archives Commission) Sandefer, Morris (Office of the Fire Fighters Pension Commissioner) Seidenberg, Edward (Texas State Library) Soward, Larry (Texas General Land Office) Stiner, Daisy (TDHCA) Teel, David (Texas Department of Economic Development) Townsend, Randy (Texas Workforce Commission)


Overview
PEER REVIEWED
- Fiddes J., Linsbauer, A., Randhawa, S.S., Salzmann, N. 2016: Indo-Swiss partnership initiates first local permafrost studies in the Indian Himalaya. Current Science, 11, 3, 550-553, available here
- Fiddes, J., Endrizzi, S., and Gruber, S.: Large-area land surface simulations in heterogeneous terrain driven by global data sets: application to mountain permafrost, The Cryosphere, 9, 411-426, doi:10.5194/tc-9-411-2015, 2015. 10.5194/tc-9-411-2015
- Fiddes, J. & Gruber, S. 2014: TopoSCALE v.1.0: downscaling gridded climate data in complex terrain, Geoscientific Model Development, 7, 387-405, 10.5194/gmd-7-387-2014
- Habib, H., Anceno, A. J., Fiddes, J., Beekma, J., Ilyuschenko, M., Nitivattananon, V., & Shipin, O. V. (2013). Jumpstarting post-conflict strategic water resources protection from a changing global perspective: Gaps and prospects in Afghanistan. Journal of environmental management, 129, 244-259.
- Fiddes, J. & Gruber, S. 2012: TopoSUB: a tool for efficient large area numerical modelling in complex topography at sub-grid scales, Geoscientific Model Development, 5, 1245–1257,10.5194/gmd-5-1245-2012
- Schmid, M.-O., Gubler, S., Fiddes, J. & Gruber, S. 2012: Inferring snow pack ripening and melt out from distributed ground surface temperature measurements, The Cryosphere, 6, 1127–1139,10.5194/tc-6-1127-2012
- Gubler, S., Fiddes, J., Keller, M., & Gruber, S. 2011. Scale-dependent measurement and analysis of ground surface temperature variability in alpine terrain. The Cryosphere, 5(2), 431-443, 10.5194/tc-5-431-2011
- Matthias Keller, Guido Hungerbuehler, Oliver Knecht, Suhel Sheikh, Jan Beutel, Stefanie Gubler, Joel Fiddes, and Stephan Gruber. 2010. iAssist: rapid deployment and maintenance of tiny sensing systems. In Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems (SenSys ‘10). ACM, New York, NY, USA, 401-402. DOI=10.1145/1869983.1870043 http://dx.doi.org/10.1145/1869983.1870043.
NON-PEER REVIEWED
- Beekma, J. and Fiddes, J. 2011. Floods and droughts: The Afghan water paradox. Centre for Policy and Human Development, Afghanistan Human Development Report 2011. online version
- Keller, M., Hungerbuehler, G., Knecht, O., Sheikh, S., Beutel, J., Gubler, S., Fiddes, J. and Gruber, S. (2010). iAssist: rapid deployment and maintenance of tiny sensing systems. In Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems (pp. 401-402). ACM.
- Fiddes, J. (2010). Climbs and expeditions: Asia, Afghanistan, Hindu Kush, Koh-i-Beefy. American Alpine Journal. 52, 84, pp.255. online version
- Fiddes, J. (2007). Afghanistan: Implications Of Climate Change For Water Resources In The Kunduz River Basin in Climate Challenges: Bridging the Knowledge Gap.Mercy Corps Climate change unit. online version
TECHNICAL CONTRIBUTIONS
- Thomas, V., Azizi, M. A., & Ghafoori, I. (2013). Water Rights and Conflict Resolution Processes in Afghanistan: The Case of the Sar-i-Pul Sub-basin.
- Thomas, V., Mumtaz, W., & Azizi, M. A. (2012). Mind the Gap?: Local Practices and Institutional Reform for Water Allocation in Afghanistan’s Panj-Amu River Basin. Afghanistan Research and Evaluation Unit.


{% include "includes/head.html" %}
{% include "includes/header.html" %}
{% block content %} {{ content }} {% endblock %}
{% include "includes/sidebar.html" %}


Jeans
8 items
Ripped Skinny Jeans
$24.99
Mega Ripped Jeans
$19.99
New
Mega Ripped Jeans
$19.99
Washed Skinny Jeans
$20.50
Washed Skinny Jeans
$20.50
Sale
Vintage Skinny Jeans
$14.99
Vintage Skinny Jeans
$14.99
Ripped Skinny Jeans
$24.99


“Honor is the inner garment of the Soul; the first thing put on by it with the flesh, and the last it layeth down at its separation from it.” Pharaoh Akhnaton
Ancient Egypt was a civilization of ancient North Africa, concentrated along the lower reaches of the Nile River, situated in the place that is now the country Egypt. Ancient Egyptian civilization followed prehistoric Egypt and coalesced around 3100 BC (according to conventional Egyptian chronology) with the political unification of Upper and Lower Egypt under Menes (often identified with Narmer). The history of ancient Egypt occurred as a series of stable kingdoms, separated by periods of relative instability known as Intermediate Periods: the Old Kingdom of the Early Bronze Age, the Middle Kingdom of the Middle Bronze Age and the New Kingdom of the Late Bronze Age.
Egypt reached the pinnacle of its power in the New Kingdom, ruling much of Nubia and a sizable portion of the Near East, after which it entered a period of slow decline. During the course of its history Egypt was invaded or conquered by a number of foreign powers, including the Hyksos, the Libyans, the Nubians, the Assyrians, the Achaemenid Persians, and the Macedonians under the command of Alexander the Great. The Greek Ptolemaic Kingdom, formed in the aftermath of Alexander's death, ruled Egypt until 30 BC, when, under Cleopatra, it fell to the Roman Empire and became a Roman province. The many achievements of the ancient Egyptians include the quarrying, surveying and construction techniques that supported the building of monumental pyramids, temples, and obelisks; a system of mathematics, a practical and effective system of medicine, irrigation systems and agricultural production techniques, the first known planked boats, Egyptian faience and glass technology, new forms of literature, and the earliest known peace treaty, made with the Hittites. Ancient Egypt has left a lasting legacy. Its art and architecture were widely copied, and its antiquities carried off to far corners of the world. Its monumental ruins have inspired the imaginations of travelers and writers for centuries. A new-found respect for antiquities and excavations in the early modern period by Europeans and Egyptians led to the scientific investigation of Egyptian civilization and a greater appreciation of its cultural legacy.


S
AM
Dashboard
Club
Classes
Contacts
Settings
Change Contact and Personal Information
You can write anything here, including contact info or even steam trade url.
What's special about you?
Change Personal Info


structure
structure
compas_fea.structure.structure
|
Initialises empty Structure object for use in finite element analysis. |
constraint
compas_fea.structure.constraint
|
Initialises base Constraint object. |
|
Tie constraint between two sets of nodes, elements or surfaces. |
displacement
compas_fea.structure.displacement
|
Initialises the base GeneralDisplacement object. |
|
A fixed nodal displacement boundary condition. |
|
A pinned nodal displacement boundary condition. |
|
A pinned nodal displacement boundary condition clamped in XX. |
|
A pinned nodal displacement boundary condition clamped in YY. |
|
A pinned nodal displacement boundary condition clamped in ZZ. |
|
A pinned nodal displacement boundary condition released in X. |
|
A pinned nodal displacement boundary condition released in Y. |
|
A pinned nodal displacement boundary condition released in Z. |
|
A pinned nodal displacement boundary condition released in X and Y. |
|
A pinned nodal displacement boundary condition released in Y and Z. |
|
A pinned nodal displacement boundary condition released in X and Z. |
element
compas_fea.structure.element
|
Initialises base Element object. |
A 1D element that resists axial, shear, bending and torsion. |
|
A 1D spring element. |
|
A 1D element that resists axial loads. |
|
A truss element that resists axial compressive loads. |
|
A truss element that resists axial tensile loads. |
|
A 2D element that resists axial, shear, bending and torsion. |
|
A shell element that resists only axial loads. |
|
A 3D element that resists axial, shear, bending and torsion. |
|
A Solid element with 5 faces (extruded triangle). |
|
A Solid element with 4 faces. |
|
A Solid cuboid element with 6 faces (extruded rectangle). |
element_properties
compas_fea.structure.element_properties
|
Initialises an ElementProperties object. |
load
compas_fea.structure.load
|
Initialises base Load object. |
|
Pre-stress [units: N/m2] applied to element(s). |
|
Concentrated forces and moments [units:N, Nm] applied to node(s). |
|
Different concentrated forces and moments [units:N, Nm] applied to different nodes. |
|
Distributed line forces and moments [units:N/m or Nm/m] applied to element(s). |
|
Distributed area force [units:N/m2] applied to element(s). |
|
Gravity load [units:N/m3] applied to element(s). |
|
Tributary area loads applied to nodes. |
|
Harmonic concentrated forces and moments [units:N, Nm] applied to node(s). |
material
compas_fea.structure.material
|
Initialises base Material object. |
|
Elastic and plastic-cracking Eurocode based concrete material. |
|
Elastic and plastic, cracking concrete material. |
|
Damaged plasticity isotropic and homogeneous material. |
|
Elastic and very stiff massless material. |
|
Elastic, isotropic and homogeneous material. |
|
Elastic, orthotropic and homogeneous material. |
|
Elastic and plastic, isotropic and homogeneous material. |
|
Bi-linear non-linear steel with yield stress. |
misc
compas_fea.structure.misc
|
Initialises base Misc object. |
|
Initialises an Amplitude object to act as a discretised function f(x). |
|
Define nodal temperatures data. |
section
compas_fea.structure.section
|
Initialises base Section object. |
|
Uniform thickness angle cross-section for beam elements. |
|
Hollow rectangular box cross-section for beam elements. |
|
Solid circular cross-section for beam elements. |
|
General cross-section for beam elements. |
|
Equal flanged I-section for beam elements. |
|
Hollow circular cross-section for beam elements. |
|
Solid rectangular cross-section for beam elements. |
|
Section for shell elements. |
|
Section for membrane elements. |
|
Section for solid elements. |
|
Solid trapezoidal cross-section for beam elements. |
|
For use with truss elements. |
|
For use with strut elements. |
|
For use with tie elements. |
|
For use with spring elements. |
step
compas_fea.structure.step
|
Initialises base Step object. |
|
Initialises GeneralStep object for use in a static analysis. |
|
Initialises ModalStep object for use in a modal analysis. |
|
Initialises HarmonicStep object for use in a harmonic analysis. |
|
Initialises BucklingStep object for use in a buckling analysis. |


Your browser does not support the audio element.
Pomodoro Clock
25
Session Time
5
Break Time
Start
Stop
Made with
by Chen


Note: the animation in the demo isn't implemented Excelsior-wide. We only added it to the demo to show you the change that is happening.
Section 1
Content of section 1.
Section 2
Content of section 2.
Section 3
Content of section 3.


Student Diff against previous backup
{% for files in files_list %} {% endfor %}Student Diff against previous partner backup
{% for files in partner_files_list %} {% endfor %}Student Diff against previous backup
{% for files in files_list %} {% endfor %}Student Diff against previous partner backup
{% for files in partner_files_list %} {% endfor %}


Search Results
List No
Exam No
First Name
Last Name
List Agency Description
List Title Description
Published Date


About
I only made this because a lot of my work involves sites related to garry's mod which uses Awesomium (Chrome 18). I made a minor specific fix, but then go to thinking if I made a framework, so it's easier. I wanted some serious browser compatibility along with the ability to opt for newer css features like flexbox, so I made this. I also wanted to allow different grids and added in a 10,12, and 16 column layout. This is a desktop first framework meaning that with something like

the desktop width ( col l4
) takes precedence on devices that don't support media queries.


{% extends "dashboard.html" %}
{#
Copyright (c) 2015-present, Philippine-California Advanced Research Institutes-
The Village Base Station Project (PCARI-VBTS). All rights reserved.
This source code is licensed under the BSD-style license found in the
LICENSE file in the root directory of this source tree.
#}
{% load crispy_forms_tags %}
{% load staticfiles i18n %}
{% block dashboard-header %}
{% endblock %}
{% block dashboard-content %}
Group Details
| Group Name |
{{ group.name }}
|
| Created by |
{% if group.owner.get_profile.id %}
{{ group.owner.get_profile }}
{% else %}
{{ group.owner.get_profile }}
{% endif %}
|
Group Members
| Name |
IMSI |
CallerID |
{% if group.members.all %}
{% for member in group.members.all %}
|
{% if member.get_profile.id %}
{{ member.get_profile }}
{% else %}
{{ member.get_profile }}
{% endif %}
|
{{ member.imsi }}
|
{{ member.callerid }}
|
{% endfor %}
{% else %}
No members. |
|
|
{% endif %}
{% endblock %}


Every business is an international business. Let me show you how to use technology to your advantage.
Everyone has a smartphone. Reach your customers, instantly. The power of mobile.
There are countless digital ways for customers to discover your business. Organize your 'online' world and reap the benefits.
Discover trends, analyze data and gain control of your business. Stop guessing and start knowing.
 Stay ahead of the game.
Languages are the key to growth. Go beyond google and discover how yandex, baidu and naver can help you grow.
An outdated web page gives a bad impression to new clients. Make your website easy to use and mobile friendly.
A website just as anything else of value needs continual upkeep. Use my experience to help you make the changes necessary to accelerate your business. Let the internet fuel your fire.
Let computers do the work and gather as much data as possible! Use the past to influence the future.
Years of experience across 12 cities and 2 countries. Group touring, luxury travel, family oriented and everything in between
Connecting with customers in other languages is crucial. Location and product are important, but slacking on technology can leave you left behind.
“Alan was very easy to work with and connected my generation (age 45) to his. My business was famous on Instagram and I did not even know what Instagram was. I am glad I got my update. ”
“I needed a personal website to stand out from the crowd out here in LA. My future employers really respected it. I entrepreneured on Amazon and Ebay, but this was a big step forward. Personalized email was something I had never thought of before.”
“My liquor distribution was slowing down, and I needed a change after 33 years in the industry. A lot less paper and a lot more smartphone. THANK YOU. ”


?New
Yort<
Botanical
Garden
iboseia
6
7
8
9
10
.
.
.
.
The
New
York
Copyright
reserved
Botanical
Garden
THE
NEW
YORK
BOTANICAL
GARDEN
EXPLORATION
OF
CUBA
Province
of
Pinar
del
Rio
Bay
of
Mariel
Ào
(drift
Paspalum
bakeri
Hack.
Luis
Catasœs
Guerra
2006
Examined
foÈ
NORTH
ditf£RfC/ift
FLORJW
N.
L.
Britton
I
C.
8.
Gager
J
COLLEOTORS
Sept.
19-23,1910
1605298
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Directors' remuneration is any money paid to the CIC director(s). This includes their usual pay, as well as other benefits.


D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
D3 supports so-called “modern” browsers, which generally means everything except IE8 and below. D3 is tested against Firefox, Chrome, Safari, Opera, IE9+, Android and iOS. Parts of D3 may work in older browsers, as the core D3 library has minimal requirements: JavaScript and the W3C DOM API. D3 uses the Selectors API Level 1, but you can preload Sizzle for compatibility. You’ll need a modern browser to use SVG and CSS3 Transitions. D3 is not a compatibility layer, so if your browser doesn’t support standards, you’re out of luck. Sorry!
D3 also runs on Node.js. Use npm install d3
to install, and require("d3")
to load. On Node, limited DOM support is provided by JSDOM. D3 can also run within a WebWorker by creating a custom build containing only the desired (non-DOM) features.
Download the latest version here:
Or, to link directly to the latest release, copy this snippet:
html
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
Note: the non-minified source code contains non-ASCII characters and must be served with UTF-8 encoding, either via the charset="utf-8"
attribute on the script tag or by adding <meta charset="utf-8">
to the top of the page. If you see a SyntaxError: Unexpected token ILLEGAL at var Ï€ = Math.PI
, it is because you are serving the non-minified source with the incorrect ISO-8859-1 encoding. See this StackOverflow answer for more information.
If you want the full repository including tests, download or clone the D3 git repository:
D3 is also available via numerous package managers, including: NPM (Node.js), Bower, Browserify, Component, Jam, Composer / Packagist (PHP), SPM, JSPM, NuGet (.Net), and AMD (e.g., RequireJS). The official releases of D3 are on NPM and GitHub only; support for other package managers is unofficial and maintained by contributors.
When developing locally, note that your browser may enforce strict permissions for reading files out of the local file system. If you use d3.xhr locally (including d3.json et al.), you must have a local web server. For example, you can run Python’s built-in server:
python -m SimpleHTTPServer 8888 &
or for Python 3+
python -m http.server 8888 &
If you have have PHP installed you could try
php -S localhost:8888
or if you are running Ruby you can use
ruby -run -e httpd . -p 8888
Once this is running, go to http://localhost:8888/.
Or if you are running nodejs you can do
npm install http-server -g
http-server
Another option is to start a local jetty instance, by using the jetty-runner library with the JVM already installed on your system. In order to achieve this you’ll need to download jetty-runner, then you can simply do:
java -jar jetty-runner-9.3.0.M0.jar --port 8080 .
and this will start the server on http://localhost:8080 as usual from the current directory, or a different directory, simply changing ‘.’ to the path to that directory.
D3 supports the asynchronous module definition (AMD) API. For example, if you use RequireJS, you may load as follows:
```js require.config({paths: {d3: “http://d3js.org/d3.v3.min”}});
require([“d3”], function(d3) { console.log(d3.version); }); ```
If you want to modify how D3 is implemented, click the “Fork” button in the top-right corner of this page, and then clone your fork from the command line by replacing username with your GitHub username:
bash
git clone git://github.com/username/d3.git
The D3 repository should work out of the box if you just want to create new visualizations using D3. On the other hand, if you want to extend D3 with new features, fix bugs, or run tests, you should fork the D3 repository, and install Node.js (version 0.10.x or higher). From the root directory of this repository, you can then install D3’s dependencies:
npm install
To run the tests, use:
make test


A teen without a home. A dangerous residence.
Can she survive one terrifying night to secure her future?
Charlene Griffin never thought she’d be without a home.  And with the owner offering the estate to anyone who can spend a full night in the haunted property, Charlene decides to risk life and limb to get off the streets.
Refusing to heed the warnings of those sent running in fear for their lives, Charlene is confident she can last from sunset to sunrise. But she’ll need all her wits about her to withstand the hours of terror, because these ghosts are determined to get rid of her.
Will Charlene outsmart her supernatural foes and make it to dawn?
Defying the Ghosts is an eerie YA haunted house story. If you like heart-racing action, fearless heroes, and survival adventures, then you’ll love Joan Marie Verba’s thrilling tale.
Buy Defying the Ghosts to explore forbidden shadowy corners today!
A ghost needs space to haunt, and a teenager kicked out of the house by a mother unable to love, lacking money for a rental, and looking for a safe place to stay doesn’t have it to offer. But the haunted house offered to Charlene if she can last the night has lost its original family, driven other would-be claimants out by the aggressive late residents, and Charlene is too determined to give up on the only option she’s been able to find. Instead of exorcisms or high-tech spirit guns firing special-effects rays, she tries a simpler method for dealing with ghostly threats: compassion, fueled by stubbornness and courage. Joan Marie Verba’s Defying the Ghosts offers the eerie dangers expected of ghosts, but works through to a slime-less conclusion offering an elegant win to both the living and the dead. —Ruth Berman, Minnesota Fantasy Award recipient, Midwest Book Award winner for Bradamant's Quest
Shelf Unbound
Defying the Ghosts has been listed by Shelf Unbound as one of the "2021 Top Notable Indies".
5-star review by Amy Powers for Readers' Favorite
Defying the Ghosts by Joan Marie Verba tells the suspenseful story of a young woman's creepy night in a
haunted house. After her mother kicks her out of her house on her eighteenth birthday, Charlene spends the next few weeks
scouting homeless shelters and camping out in the back room of the bookstore where she works. Charlene thinks she
might be in luck when she hears of a challenge: anyone who can spend the entire night in the local haunted house gets to
keep the house. It seems simple enough, but Charlene will soon risk her life on the most horrifying night of her life
as she faces the multiple ghosts who do not want anyone else in their home.
For any reader who is looking for a new kind of horror story, Defying the Ghosts is a great choice for both
teens and adults. I never knew it was possible to write a book that was simultaneously terrifying and heartwarming,
but Joan Marie Verba has flawlessly managed to do just that. Charlene's story is eye-opening and brings to light the
everyday problems and prejudices that...people face when they are trying to survive. The spooky moments of the haunted
house are fast-paced, suspenseful, and overall fun to read. I was on the edge of my seat the whole time Charlene was
in the house, and I could not put the book down. I can't wait to see what other horror tales Verba has in store.
Critic's Report: The BookLife Prize by Publisher's Weekly
Plot: Homeless and desperate, eighteen-year-old Charlene Griffin must spend the
night alone in a Victorian mansion of terrors in order to earn the right to claim the property as her future home. This YA novel is as much about resiliency
as it is about ghosts. The minutiae of Charlene’s situation – being a homeless teen – are described realistically.
While spending the night in the haunted house Charlene encounters plenty of snakes, unexplained thuds, disembodied voices,
fire, unexpected physical limitations, and, yes, ghosts, which she confronts with intelligence and courage. The
ghosts serve to create the terror necessary for a horror story, but they are also metaphors for emotional rites of passage
in this hero’s quest for autonomy and maturity.
Plot/Idea: 10
Prose/Style: This is an easy read for anyone with middle school reading abilities,
and the action and huge cast of
ghosts and their histories makes the novel interesting....
Prose: 8
Originality: This novel is remarkable for its non-sentimental treatment of teen
homelessness... . It is also an
exposition on children and parents, what parents’ obligations to their children are, and what happens when parents
fail
to meet those responsibilities.
Originality: 10
Character Development/Execution: Charlene is an utterly believable and sympathetic
character whose willingness to face
her difficult situation and do what is necessary to deal with it is admirable. She is a great role model for
preteens
and early teens.
Character/Execution: 10
Overall: 9.50


9
1 I saw the Lord standing beside the altar, and he said, "Strike the tops of the pillars so that the foundations will shake.
Break them in pieces on all of their heads,
and I will kill the last of them with the sword.
Not one of them will get away,
not one of them will escape.
2 Though they dig into sheol,
there my hand will take them.
Though they climb up to heaven,
there I will bring them down.
3 Though they hide on the top of Carmel,
there I will search and take them.
Though they are hidden from my sight in the bottom of the sea,
there will I give orders to the serpent, and it will bite them.
4 Though they go into captivity, driven by their enemies before them,
there will I give orders to the sword, and it will kill them.
I will keep my eyes on them for harm and not for good."
5 The Lord, Yahweh of hosts
touches the land and it melts;
all who live in it mourn;
all of it will rise up like the River,
and sink again like the River of Egypt.
6 It is he who builds his chambers in the heavens,
and has established his vault on the earth.
He calls for the waters of the sea,
and pours them out on the face of the earth,
Yahweh is his name.
7 "Are you not like the people of Ethiopia to me,
people of Israel?"
—this is the declaration of Yahweh.

I will raise up its ruins,
and rebuild it as in the days of old,
12 That they may possess the remnant of Edom,
and all the nations that are called by my name"
—this is the declaration of Yahweh, who does this.
13 "Look, the days will come"—this is the declaration of Yahweh—
"When the plowman will overtake the reaper,
and the treader of grapes will overtake him who plants seed.
The mountains will drip sweet wine,
and all the hills will flow with it.
14 I will bring back from captivity my people Israel.


BJP leaders to mobilise party workers from today
Meetings to be held in all constituencies
by Special CorrespondentThe senior leadership of the BJP, including Union Ministers Prakash Javadekar and Hardeep Singh Puri, will mobilise party cadre for the upcoming Delhi Assembly election, at meetings scheduled across each of the seven Lok Sabha constituencies in the Capital, starting Sunday.
Mr. Javadekar and Mr. Puri will attend meetings being held under the ‘Shahri Kendra Pramukh Sammelan’ programme in New Delhi and North East Delhi constituencies. Local MPs and other senior leaders, including national office-bearers, such as Bhupendra Yadav, Anil Jain, Saroj Pandey, Shyam Jaju, Dushyant Gautam, Vijender Gupta, Vijay Goel and Satish Upadhyay will also address the meetings.
“Senior leaders will interact with 3,786 shahri kendra conveners and other office-bearers to get feedback on local issues and discuss ways to mobilise booth-level workers,” a senior party leader said, adding that former and current legislators and municipal councillors will also be part of the meetings.


Summary
Overview
Site Statistics
Scan Statistics
Recommendations
Site Quality Rating
Errors
Broken Links
Problem Pages
Local Files
Usability
Slow Pages
Deep Pages
Maintenance
Orphan Files
Warnings
Missing Titles
New Pages
Old Pages
Small Pages
Missing Attributes
Metadata
Site Map
Image Catalog


Zen App
Bulk Operations
Select room:
Single Room
Double Room
Select days:
From
To
Refine days:
All days
All weekdays
All weekends
Mondays
Tuesdays
Wednesdays
Thursdays
Fridays
Saturdays
Sundays
Change Price to:
Change Availability To:


Jennifer Nettles calls for pay equality with 2019 CMAs dress
by Danny ClemensNASHVILLE, Tenn. -- Jennifer Nettles is not mincing words.
At the 2019 CMA Awards on Wednesday evening, the "Sugarland" singer donned a white pantsuit and pink train demanding equal airplay for female artists and equal pay. Her ensemble featured the phrase "Equal pay" on the back of her jacket along with an illustration of a woman and a Venus symbol on the train.
When she turned around to open the train, Nettles revealed the phrases "Play our [expletive] records" and "Please and thank you" written on the inside of the train.
"I said please and thank you!" she quipped to the press on the red carpet.
Click here to see a full list of 2019 CMA Awards winners and nominees.
Designer Christian Siriano of "Project Runway" fame tweeted that he was involved in creating Nettles' look, saying: "Tonight @JenniferNettles has a message and we were happy to help create it! #cmas @Sugarlandmusic."
After she walked the red carpet, Nettles removed the train and joined Dolly Parton, Carrie Underwood, Reba McEntire and other legendary female country artists to kick off the show with a powerhouse performance honoring the genre's women. McEntire said the group hoped to inspire young women watching the show from home.
Tanya Tucker, Terri Clark, Crystal Gayle, Sara Evans, Little Big Town's Karen Fairchild and Kimberly Schlapman, Maren Morris, Brandi Carlile, Gretchen Wilson and Martina McBride were among the women who teamed up for the show opener.
The Associated Press contributed to this report.


The below form data will be stored in your browser localStorage.
accessKeyId
accessKeySecret
region
bucket
file
objectName
Upload


Hello, {{ question.user.username }}!
{{ answer.user.username }} answered to your question "{{ question.title }}":
{{ answer.text|linebreaksbr }}


{{ request.user.first_name }}, welcome to Mavenize!
Just a few more things to get you started.
Start by choosing mavens to follow!
We recommend starting with at least three.
{% extends "base.html" %} {% block title %} Mavenize | One Last Step! {% endblock %} {% block body %}
We recommend starting with at least three.


The Javascript ScriptEngine supports returning values from your scripts via the last evaluation.
var myScriptValue = "Hello World"; var myScriptValue2 = "Goodbye World"; myScriptValue;=> "Hello World"
function printz(text) { return text; } printz("Doh!");=> Doh!Using the magic variable, "SCRIPTVALUE"
var SCRIPTVALUE = "Hello World"; if(SCRIPTVALUE != "") { SCRIPTVALUE += ", and nice to meet you"; } var foo = "bar";=> "Hello World, and nice to meet you"
For more information please refer to the "Rhino documentation"Using the SCRIPTVALUE variable is the only way to absolutely guarantee what will be returned. The ScriptEnginePlugin looks specifically for this variable before using the Javascript ScriptEngine's result.


---
layout: post
section-type: post
title: Bruce Tate - Lightweight Development Strategies
date: '2005-09-14T10:13:00.000+02:00'
author: Jørn Ølmheim
category: tech
tags: [ 'tdd', 'agile', 'java', 'spring', 'ruby' ]
modified_time: '2005-09-14T11:19:10.846+02:00'
blogger_id: tag:blogger.com,1999:blog-16320608.post-112668955079561092
blogger_orig_url: http://joelmheim.blogspot.com/2005/09/bruce-tate-lightweight-development.html
---
How do you develop things in a lightweight way.
Java and java development has to get simpler, more reliable and more efficient or it will die.
Java bloat can be good. We need the new frameworks, but we need to be able to remove the deprecated stuff. The success
of java and the shrikwrapped product acquisition model is forcing bloat. We need a new software model like subscription.
Don't sell processes, sell principles:
- Small, smart teams
- Good feedback from customers
- Quality
- Simple requirements management
- Simplicity
- Refactoring
- Automated unit testing
Management fears agile development because they think it lacks dicipline. Agile is automated testing, continuous
integration, refactoring and use of customer feedback. Make sure that you balance out the formal things you take out...
POJO programming model is stretching java in that you add services through the use of Spring and other framework and the
dependency injection principle.
AOP are good for removing cross-cutting stuff like transactions and logging from the object. Spring provides AOP with
"training wheels".
Strategies for injecting behavior:
- Code generation (falling out of fashion)
- Byte code generation (runtime - dynamic proxies, compile time - injection)
- Source level metadata (annotations)
Java limitations is mainly that it is a rigid language, how to express configuration? Using Java or XML. What about
metaprogramming in Java.
Callbacks can be used to simulate closures in places where they provide benefit, like JDBC, transactions. Continuation
in Java with things like WebFlow, Rife, Cocoon2 or Lakeshore. More on these topics in the Beyond Java talk tomorrow.
We need code blocks (closures) and continuations in Java.
Spring will replace EJB, annotations and AOP will get us into trouble in some points, but in the end will survive, java
metaprogramming will increase, REST wil slowly subsume WebServices (except maybe SOAP), one dynamic language explodes
(Ruby?)


Thai Tone Training
Japanese
Click the start button to get started
start
Next
Quit
Play
Training Mode


I’ve written before about my dislike for SemVer. Recently, Rich Hickey spoke about this very same issue, and more. I’m currently working on some software that I’m hoping people will use, so I decided to make my thoughts on a better versioning scheme clear. Below you’ll find an exerpt from my new project’s documentation. Each point below could be elaborated on in a full post of it’s own, but this summary has value as a checklist of sorts for those discussions.
Contracts
Software should make explicit what it promises to provide, as well as make explicit the requirements it relies on. Implicit promises or reliance should be avoided. This is a as much a social contract as it is a technical one.
Breakage
If software relies on an explicit promise, it should never break.
Instability
It is often useful to defer commitments. The default social contract should be one of instability. In the absence of explicit promises, everything should be considered unstable, and subject to change.
Accretion
It should always be possible to provide more. Making additional promises should never cause breakage.
Migrations
Occasionally, supporting old contracts becomes burdensome. Parties to these contracts should be provided a path to a new contract without breakage.
Retractions
Retracting promises should always be preceded by sufficient warning in order to avoid breakage. This entails a new contract which specifies deprecated provisions at the same time as providing new promises to migrate to.
Timelines
Contracts are identified by a ordinal version number and an instant in time. Any contract may accrete new promises or bug fixes by creating an artifact tagged with a new instant. Successive ordinal versions may retract promises deprecated by previous ordinals.
Coexistence
Even in the presence of migrations, grandfathered contracts should be honored.
Side-by-Side
A contract timeline may be forked by accreting a new contract with a new name.
Layering
Platform systems should facilitate openness such that side-by-side systems may interoperate. Where this is not immediately possible, lower layers should be extended to facilitate this before forking higher layers.


Since a couple of days it seems that two out of three samples that are sent via bulk upload from my emonbase to emoncms.org are not stored. These samples do get stored fine on my local emoncms.
You can see the difference between local and emoncms.org in the following pictures:
local emoncms:
emoncms.org:
My emonhub.log shows that the samples are buffered and sent:
2016-02-06 15:22:39,833 DEBUG RFM2Pi 6831 NEW FRAME : OK 8 205 16 108 4 105 7 23 0 92 86 231 0 232 0 232 0 232 0 184 11 184 11 2 0 0 0 (-33)
2016-02-06 15:22:39,836 DEBUG RFM2Pi 6831 Timestamp :<PHONE_NUMBER>.83
2016-02-06 15:22:39,836 DEBUG RFM2Pi 6831 From Node : 8
2016-02-06 15:22:39,837 DEBUG RFM2Pi 6831 Values : [4301, 1132, 1897, 23, 221.08, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2]
2016-02-06 15:22:39,838 DEBUG RFM2Pi 6831 RSSI : -33
2016-02-06 15:22:39,838 INFO RFM2Pi Publishing: emonhub/rx/8/values 4301,1132,1897,23,221.08,23.1,23.2,23.2,23.2,300,300,2
2016-02-06 15:22:39,840 DEBUG RFM2Pi 6831 adding frame to buffer => [1454768559, 8, 4301, 1132, 1897, 23, 221.08, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2, -33]
2016-02-06 15:22:39,841 DEBUG RFM2Pi 6831 adding frame to buffer => [1454768559, 8, 4301, 1132, 1897, 23, 221.08, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2, -33]
2016-02-06 15:22:39,841 DEBUG RFM2Pi 6831 Sent to channel' : ToEmonCMS
2016-02-06 15:22:46,364 DEBUG RFM2Pi Discarding RX frame 'unreliable content'? 157 245 109 119 239 78 56 84 172 87 43 30 168 245 237 221 217 99 141 8 61 (-87)
2016-02-06 15:22:49,696 DEBUG RFM2Pi 6832 NEW FRAME : OK 8 127 16 106 4 115 7 23 0 127 86 231 0 232 0 232 0 232 0 184 11 184 11 2 0 0 0 (-30)
2016-02-06 15:22:49,699 DEBUG RFM2Pi 6832 Timestamp :<PHONE_NUMBER>.7
2016-02-06 15:22:49,700 DEBUG RFM2Pi 6832 From Node : 8
2016-02-06 15:22:49,700 DEBUG RFM2Pi 6832 Values : [4223, 1130, 1907, 23, 221.43, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2]
2016-02-06 15:22:49,701 DEBUG RFM2Pi 6832 RSSI : -30
2016-02-06 15:22:49,701 INFO RFM2Pi Publishing: emonhub/rx/8/values 4223,1130,1907,23,221.43,23.1,23.2,23.2,23.2,300,300,2
2016-02-06 15:22:49,703 DEBUG RFM2Pi 6832 adding frame to buffer => [1454768569, 8, 4223, 1130, 1907, 23, 221.43, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2, -30]
2016-02-06 15:22:49,704 DEBUG RFM2Pi 6832 adding frame to buffer => [1454768569, 8, 4223, 1130, 1907, 23, 221.43, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2, -30]
2016-02-06 15:22:49,705 DEBUG RFM2Pi 6832 Sent to channel' : ToEmonCMS
2016-02-06 15:22:59,668 DEBUG RFM2Pi 6833 NEW FRAME : OK 8 207 9 123 4 1 0 23 0 134 89 231 0 232 0 232 0 232 0 184 11 184 11 2 0 0 0 (-32)
2016-02-06 15:22:59,671 DEBUG RFM2Pi 6833 Timestamp :<PHONE_NUMBER>.67
2016-02-06 15:22:59,672 DEBUG RFM2Pi 6833 From Node : 8
2016-02-06 15:22:59,672 DEBUG RFM2Pi 6833 Values : [2511, 1147, 1, 23, 229.18, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2]
2016-02-06 15:22:59,673 DEBUG RFM2Pi 6833 RSSI : -32
2016-02-06 15:22:59,674 INFO RFM2Pi Publishing: emonhub/rx/8/values 2511,1147,1,23,229.18,23.1,23.2,23.2,23.2,300,300,2
2016-02-06 15:22:59,676 DEBUG RFM2Pi 6833 adding frame to buffer => [1454768579, 8, 2511, 1147, 1, 23, 229.18, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2, -32]
2016-02-06 15:22:59,677 DEBUG RFM2Pi 6833 adding frame to buffer => [1454768579, 8, 2511, 1147, 1, 23, 229.18, 23.1, 23.200000000000003, 23.200000000000003, 23.200000000000003, 300, 300, 2, -32]
2016-02-06 15:22:59,677 DEBUG RFM2Pi 6833 Sent to channel' : ToEmonCMS
2016-02-06 15:23:01,028 INFO emoncmsorg sending: http://emoncms.org/input/bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[[1454768559,8,4301,1132,1897,23,221.08,23.1,23.200000000000003,23.200000000000003,23.200000000000003,300,300,2,-33],[1454768569,8,4223,1130,1907,23,221.43,23.1,23.200000000000003,23.200000000000003,23.200000000000003,300,300,2,-30],[1454768579,8,2511,1147,1,23,229.18,23.1,23.200000000000003,23.200000000000003,23.200000000000003,300,300,2,-32]]&sentat=1454768581
2016-02-06 15:23:31,084 INFO emoncmsorg sending: http://emoncms.org/input/bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[[1454768589,8,2529,1128,2,23,227.81,23.1,23.200000000000003,23.200000000000003,23.200000000000003,300,300,2,-29],[1454768596,23,18.7,0,55.300000000000004,2.9000000000000004,1,-65],[1454768599,8,4294,1088,1873,23,220.45000000000002,23.1,23.200000000000003,23.200000000000003,23.200000000000003,300,300,2,-32],[1454768605,24,22,0,51.400000000000006,2.8000000000000003,1,-50],[1454768609,8,4325,1097,1877,23,219.97,23.1,23.200000000000003,23.200000000000003,23.200000000000003,300,300,2,-30]]&sentat=1454768611
sentat 15:23:01 :
15:22:39 4301
15:22:49 4223 <- not stored in emoncms.org
15:22:59 2511 <- not stored in emoncms.org
sentat 15:23:31 :
15:23:09 2529
15:23:19 4294 <- not stored in emoncms.org
15:23:29 4325 <- not stored in emoncms.org
I hope it's not due to something obvious I'm overlooking. Any help is greatly appreciated.
Re: Two out of three samples lost when sending to emoncms.org?
I was testing a new node this morning, and noticed the same thing!
In the "input view" the Last Updated field ranges between 19 and 59 seconds, it very rarely turns green. My local emoncms is receiving data in under 10 seconds in all cases.
Data in between updates is lost.
Re: Two out of three samples lost when sending to emoncms.org?
I just noticed the same and am glad that others are seeing it, as I thought something was wrong on my end. I had been off emon for a while and figured there was something wrong with my EmonBase or with my new continuous sketch, but trying the good 'ole Discrete sketch shows the same results.
Looking at my EmonBase emonhub log, I see that it sends a bulk update every 30seconds to emoncms.org, and each of those bulk updates has three packets in them, since my EmonTx is sending every 10s. The log shows an acknowledgement from emoncms.org, but the update on emoncms.org is delayed and going back to review the data shows data approximately every 30s or so...
Re: Two out of three samples lost when sending to emoncms.org?
What feed types and intervals are you all using?
Since the only (php)feed type that is designed to catch all inputs is the phptimeseries it is always best to "log to feed" your inputs to a phptimeseries to aid any debugging of other feeds. adding one is easy and it can be deleted again after the debugging.
The data in the OP would be correct IF the data feed was set for a 30second interval, could that be the case?
Although "10sec" data is uploaded in batches of 30 secs the feeds will need be 10 secs to match the individual packets that will be processed in batches rather than the upload interval.
The "last updated at" time on the inputs page can also sometimes be a little misleading if there is any (UTC) time difference between the emonbase and emoncms.org server, ie if there was a 30sec discrepancy then only seeing updates 30 to 59 secs ago would be understandable, I have often see a -2 to -6 "updated at" suggesting it was recieved 6 seconds before it was sent. This indicator should just be used for confirming updates are still happening and that the frequency seems correct ie if it keeps switching between 20 and 50 secs it is updating every 30 secs, that should not be a problem.
Whether the data is being processed and added to the feeds requires checking/monitoring of the "raw" csv as even the charting will pick and choose datapoints so cannot be used to verify missing data unless looking at a very short time window to ensure all available datapoints are displayed.
JD - what emonhub version are you running? the others are using the "emonpi" variant which uploads data every 30secs by default.
Comparing the phptimeseries csv and the affected feed csv will confirm if packets are received but not reaching the feeds in question or not.
Paul
Re: Two out of three samples lost when sending to emoncms.org?
Thanks for the reply, Paul.
On my local EmonBase, I don't use feeds, I only forward the data to emoncms.org for feeds there. On EmonCMS.org, my feeds are "Realtime" datatype, "PHPFIWA" engine, and I don't' know how to verify now, but I'm certain it's a 10s interval.
I added a timeseries (variable interval) feed for a node that is a message ID counter, so it's easy to see when there are lost packet. I'm seeing the same behavior as the fixed interval engine. Both feeds types (fixed and variable) show the same latest value, which also matches the latest value for the node that is feeding the feed.
Whenever I see the feed and node updated, I look at my emonhub log file and look for the bulk update message. I notice that the latest message id shown in the emoncms.org node and feed is not the latest in the bulk update packet. For example, the latest shown on emoncms.org is message id 17615, and the bulk update included 17616, and 17617. My bulk update messag efrom emonhub log is below:
2016-02-21 17:11:23,938 INFO emoncmsorg sending: http://emoncms.org/input/bulk.json?apikey=E-M-O-N-C-M-S-A-P-I-K-E-Y&data=[[1456074666,11,17615,0,811,28,8,0,12268,3000,3000,3000,3000,1,0,0,0,-44],[1456074674,11,17616,0,815,29,8,0,12269,3000,3000,3000,3000,1,0,0,0,-45],[1456074682,11,17617,0,813,29,8,0,12265,3000,3000,3000,3000,1,0,0,0,-44]]&sentat=1456074683
Doing this check a few times, it seems to be the first of the packets that's shown in the nodes/feeds page as the latest when there's an update and the others are lost. When I do an export to csv of the data, message 17616 and 17617 are missing there as well.
Let me know if there is something else I can check...
Re: Two out of three samples lost when sending to emoncms.org?
This problem appears to have been fixed on Feb 25 near 11:07 GMT. When I look at my emoncms.org feed, there's an interesting spike at that time where between 11:17 through 12:07 there was a loss of data. It could be my internet connection, but I see the restoration of data every 10s near 11:07.
Re: Two out of three samples lost when sending to emoncms.org?
My apologies for this issue, I missed this thread and only made the connection that this was a widespread issue yesterday. I had mis-configured the input limiter on the input/bulk api which I've now fixed. The data loss yesterday was due to this https://openenergymonitor.org/emon/node/12240
Re: Two out of three samples lost when sending to emoncms.org?
Trystan,
Thanks for fixing the input limiter on the input/bulk api. Just curious, was your fix implemented around 11:07 GMT on Feb 25?
Re: Two out of three samples lost when sending to emoncms.org?
Yes it was yesterday at that time that I implemented the fix.
Re: Two out of three samples lost when sending to emoncms.org?
I had the buffering disabled to work around this issue, but re-enabled it now and it is working again as expected. Thanks for the fix Trystan.


IP Functions¶
In this section, we will cover the following functions in-depth listed below:
uadmin.AllowedIPs¶
AllowedIPs is a list of allowed IPs to access uAdmin interface in one of the following formats:
"*” = Allow all
"” = Allow none
"<IP_ADDRESS>” = Only allow this IP
"<IP_ADDRESS>/24” = Allow all IPs from <IP_ADDRESS> to <IP_ADDRESS>
You can also create a list of the above formats using comma to separate them.
For example: "<IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>/24”
Type:
string
For versions 0.2.0 and above and Settings model is available, visit Allowed IPs page for an example.
If Settings model is not available, follow this approach:
Go to the main.go and assign your IP address connected on your PC in the AllowedIPs function.
func main() {
// Your IP address
uadmin.AllowedIPs = "<IP_ADDRESS>"
}
Run your application and see what happens.
Quiz:
uadmin.BindIP¶
BindIP is the IP the application listens to.
Type:
string
Used in the tutorial:
Go to the main.go. Connect to the server using a loopback IP address (127.x.x.x). Let’s say <IP_ADDRESS>.
func main() {
// Some codes
uadmin.BindIP = "<IP_ADDRESS>" // <-- place it here
}
If you run your code,
[ OK ] Initializing DB: [15/15]
[ OK ] Server Started: http://<IP_ADDRESS>:8080
___ __ _
__ __/ | ____/ /___ ___ (_)___
/ / / / /| |/ __ / __ __ \/ / __ \
/ /_/ / ___ / /_/ / / / / / / / / / /
\__,_/_/ |_\__,_/_/ /_/ /_/_/_/ /_/
In the Server Started, it will redirect you to the IP address of <IP_ADDRESS>.
But if you connect to other private IP addresses, it will not work as shown below (User connects to <IP_ADDRESS>).
Quiz:
uadmin.BlockedIPs¶
BlockedIPs is a list of blocked IPs from accessing uAdmin interface in one of the following formats:
"*” = Block all
"” = Block none
"<IP_ADDRESS>” = Only block this IP
"<IP_ADDRESS>/24” = Block all IPs from <IP_ADDRESS> to <IP_ADDRESS>
You can also create a list of the above formats using comma to separate them.
For example: "<IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>/24”
Type:
string
For versions 0.2.0 and above and Settings model is available, visit Blocked IPs page for an example.
If Settings model is not available, follow this approach:
Go to the main.go and assign your IP address connected on your PC in the BlockedIPs function.
func main() {
// Your IP address
uadmin.BlockedIPs = "<IP_ADDRESS>"
}
Run your application and see what happens.
Quiz:
uadmin.CheckRateLimit¶
CheckRateLimit checks if the request has remaining quota or not. If it returns false, the IP in the request has exceeded their quota.
Function:
func(r *http.Request) bool
Before we proceed to the example, read Tutorial Part 7 - Introduction to API to familiarize how API works in uAdmin.
Create a file named check_rate_limit.go inside the api folder with the following codes below:
package api
import (
"net/http"
"strings"
"github.com/uadmin/uadmin"
)
// CheckRateLimitHandler !
func CheckRateLimitHandler(w http.ResponseWriter, r *http.Request) {
// r.URL.Path creates a new path called /check_rate_limit
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/check_rate_limit")
// Call the function to check the status of the rate limit
checkRateLimit := uadmin.CheckRateLimit(r)
// Print the result
uadmin.Trail(uadmin.DEBUG, "Rate Limit: %t", checkRateLimit)
}
Establish a connection in the main.go to the API by using http.HandleFunc. It should be placed after the uadmin.Register and before the StartServer.
func main() {
// Some codes
// CheckRateLimitHandler
http.HandleFunc("/check_rate_limit/", api.CheckRateLimitHandler)
}
api is the folder name while CheckRateLimitHandler is the name of the function inside check_rate_limit.go.
Run your application and go to the check_rate_limit URL path in the address bar using your IP address (e.g. <IP_ADDRESS>:8080/check_rate_limit).
This will not display anything in the webpage but a white screen. Go to your terminal to see the result.
[ DEBUG ] Rate Limit: true
It means the website is working properly. Now go to admin URL path in the address bar (e.g. <IP_ADDRESS>:8080/admin). From uAdmin dashboard, click on "SETTINGS”.
Change the value of either the Rate Limit or Rate Limit Burst to 0.
Result
Slow down. You are going too fast!
Now go to check_rate_limit URL path in the address bar (e.g. <IP_ADDRESS>:8080/check_rate_limit).
This will not display anything in the webpage but a white screen. Go to your terminal to see the result.
[ DEBUG ] Rate Limit: false
It means the website is crashing. In order to work, either delete the uadmin.db file on your project folder or apply the method shown in uadmin.RateLimit or uadmin.RateLimitBurst where the value is higher than zero.
Quiz:
uadmin.Port¶
Port is the port used for http or https server.
Type:
int
For versions 0.2.0 and above and Settings model is available, visit Port page for an example.
For versions below than 0.2.0 or Settings model is not available, follow this approach:
Go to the main.go in your Todo list project and apply 8000 as a port number.
func main() {
// Some codes
uadmin.Port = 8000
}
If you run your code,
[ OK ] Initializing DB: [15/15]
[ OK ] Server Started: http://<IP_ADDRESS>:8000
___ __ _
__ __/ | ____/ /___ ___ (_)___
/ / / / /| |/ __ / __ __ \/ / __ \
/ /_/ / ___ / /_/ / / / / / / / / / /
\__,_/_/ |_\__,_/_/ /_/ /_/_/_/ /_/
In the Server Started, it will redirect you to port number 8000.
Quiz:
uadmin.RateLimit¶
RateLimit is the maximum number of requests/second for any unique IP.
Type:
int64
For versions 0.2.0 and above and Settings model is available, visit Rate Limit page for an example.
If Settings model is not available, follow this approach:
Go to the main.go and apply the following codes below:
func main() {
// Some codes
// Assign the rate limit to 1
uadmin.RateLimit = 1
}
Run your application. From uAdmin dashboard, hold the Ctrl Key on your keyboard then click any dashboard menu in the form really fast to add in a new tab and see what happens.
The title bar name looks different in the last two tabs. Click any of them to see the result.
The website is crashed as expected. In fact that our rate limit is 1, it might take a long time to bring the website back to normal. To increase the recovery rate, adjust the rate limit to a higher value (e.g. 100).
uadmin.RateLimit = 100
Run your application again and do the same process as shown above. Afterwards, click any button in the form and you will see that the website is back to normal much faster.
Quiz:
uadmin.RateLimitBurst¶
RateLimitBurst is the maximum number of requests for an idle user.
Type:
int64
For versions 0.2.0 and above and Settings model is available, visit Rate Limit Burst page for an example.
If Settings model is not available, follow this approach:
Go to the main.go and apply the following codes below:
func main() {
// Some codes
// Assign the rate limit burst to 3
uadmin.RateLimitBurst = 3
}
Run your application. From uAdmin dashboard, hold the Ctrl Key on your keyboard then click any dashboard menu in the form really fast to add in a new tab and see what happens.
The title bar name looks different in the last two tabs. Click any of them to see the result.
The website is crashed because our request exceeds the limit that we have assigned.
Quiz:
uadmin.RestrictSessionIP¶
RestrictSessionIP is to block access of a user if their IP changes from their original IP during login.
Type:
bool
For versions 0.2.0 and above and Settings model is available, visit Restrict Session IP page for an example.
If Settings model is not available, follow this approach:
Example:
package main
import (
"github.com/uadmin/uadmin"
)
func main() {
// Block access of a user
uadmin.RestrictSessionIP = true
// Allow access of a user
uadmin.RestrictSessionIP = false
}
Quiz:
uadmin.ValidateIP¶
ValidateIP is a function to check if the IP in the request is allowed in the allowed based on allowed and block strings.
Function:
func(r *http.Request, allow string, block string) bool
Before we proceed to the example, read Tutorial Part 7 - Introduction to API to familiarize how API works in uAdmin.
Create a file named validation_ip.go inside the api folder with the following codes below:
package api
import (
"net/http"
"strings"
"github.com/uadmin/uadmin"
)
// ValidateAPIHandler !
func ValidateAPIHandler(w http.ResponseWriter, r *http.Request) {
// r.URL.Path creates a new path called /validate_ip
r.URL.Path = strings.TrimPrefix(r.URL.Path, "/validate_ip")
// Allowed IP - <IP_ADDRESS> (Your IP address)
// Blocked IP - <IP_ADDRESS> (IP that was binded from other PC)
validateIP := uadmin.ValidateIP(r, "<IP_ADDRESS>", "<IP_ADDRESS>")
// Print the result
uadmin.Trail(uadmin.DEBUG, "Validate IP: %t", validateIP)
}
Establish a connection in the main.go to the API by using http.HandleFunc. It should be placed after the uadmin.Register and before the StartServer.
func main() {
// Some codes
// ValidateAPIHandler
http.HandleFunc("/validate_ip/", api.ValidateAPIHandler)
}
api is the folder name while ValidateAPIHandler is the name of the function inside validation_ip.go.
Run your application and go to the validate_ip URL path in the address bar using your IP address (e.g. <IP_ADDRESS>:8080/validate_ip).
This will not display anything in the webpage but a white screen. Go to your terminal to see the result.
[ DEBUG ] Validate IP: true
Now go to the validate_ip URL path in the address bar using the binded IP (e.g. <IP_ADDRESS>:8080/validate_ip). Make sure that the IP from other PC is binded to your computer. Otherwise, it will not work.
This will not display anything in the webpage but a white screen. Go to your terminal to see the result.
[ DEBUG ] Validate IP: false
Quiz:


Golden Globe Awards 2020: le nomination
by Roberto MallòManca meno di un mese alla premiazione dei Golden Globe Awards 2020. L’evento, giunto alla 77esima edizione, verrà trasmesso in diretta sulla NBC domenica 5 gennaio e sarà condotto da Ricky Gervais. Nelle scorse ore, il sito ufficiale della manifestazione, che premia i migliori film e programmi televisivi della stagione, ha reso note le varie nomination delle produzioni che concorreranno per portare a casa l’ambito riconoscimento. Tra le serie maggiormente in lizza ci sono anche Chernobyl, Catch 22 e Succession, passando per The Marvelous Mrs. Maisel e Big Little Lies.
Qui sotto, di seguito, le nomination.
- Best Motion Picture — Foreign
The Farewell
Les Miserables
Pain and Glory
Portrait of Lady on Fire
Parasite
- Best Original Score — Motion Picture
Motherless Brooklyn
Little Women
Joker
1917
Marriage Story
- Best Limited Series or TV Movie
Catch-22
Chernobyl
Fosse/Verdon
The Loudest Voice
Unbelievable
- Best Actor in a Limited Series or TV Movie
Christopher Abbott, Catch-22
Sacha Baron Cohen, The Spy
Russell Crowe, The Loudest Voice
Jared Harris, Chernobyl
Sam Rockwell, Fosse/Verdon
- Best Actress in a Limited Series or TV Movie
Michelle Williams, Fosse/Verdon
Helen Mirren, Catherine the Great
Merritt Wever, Unbelievable
Kaitlyn Dever, Unbelievable
Joey King, The Act
- Best Supporting Actor in a Series, Limited Series or TV Movie
Alan Arkin, The Kominsky Method
Kieran Culkin, Succession
Andrew Scott, Fleabag
Stellan Skarsgård, Chernobyl
Henry Winkler, Barry
- Best Television Series – Musical or Comedy
Barry
Fleabag
The Kominsky Method
The Marvelous Mrs. Maisel
The Politician
-Best Original Song — Motion Picture
“Beautiful Ghost”, Cats
“I’m Gonna Love Me Again”, Rocketman
“Into the Unknown,” Frozen 2
“Spirit,” Lion King
“Stand Up,” Harriet
- Best Supporting Actress in a Series, Limited Series or TV Movie
Meryl Streep, Big Little Lies
Helena Bonham Carter, The Crown
Emily Watson, Chernobyl
Patricia Arquette, The Act
Toni Collette, Unbelievable
- Best Actress in a Comedy Series
Christina Applegate, Dead to Me
Rachel Brosnahan, The Marvelous Mrs. Maisel
Kirsten Dunst, On Becoming a God in Central Florida
Natasha Lyonne, Russian Doll
Phoebe Waller-Bridge, Fleabag
- Best Drama Series
Big Little Lies
The Crown
Killing Eve
The Morning Show
Succession
- Best Actor in a Drama Series
Brian Cox, Succession
Kit Harington, Game of Thrones
Rami Malek, Mr. Robot
Tobias Menzies, The Crown
Billy Porter, Pose
- Best Screenplay — Motion Picture
Marriage Story
The Two Popes
Once Upon a Time in Hollywood
Parasite
The Irishman
- Best Actress in a Drama Series
Jennifer Aniston, The Morning Show
Olivia Colman, The Crown
Jodie Comer, Killing Eve
Nicole Kidman, Big Little Lies
Reese Witherspoon, The Morning Show
- Best Supporting Actor — Motion Picture
Tom Hanks, A Beautiful Day in the Neighborhood
Anthony Hopkins, The Two Popes
Al Pacino, The Irishman
Joe Pesci, The Irishman
Brad Pitt, Once Upon a Time in Hollywood
- Best Supporting Actress — Motion Picture
Kathy Bates, Richard Jewell
Anette Bening, The Report
Laura Dern, Marriage Story
Jennifer Lopez, Hustlers
Margot Robbie, Bombshell
- Best Actor in a Motion Picture — Musical or Comedy
Daniel Craig, Knives Out
Roman Griffin Davis, Jojo Rabbit
Leonardo DiCaprio, Once Upon a Time in Hollywood
Taran Egerton, Rocketman
Eddie Murphy, Dolemite Is My Name
- Best Motion Picture — Animated
Frozen 2
How to Train Your Dragon: The Hidden World
Lion King
Missing Link
Toy Story 4
- Best Director — Motion Picture
Martin Scorsese, The Irishman
Quentin Tarantino, Once Upon a Time in Hollywood
Bong Joon Ho, Parasite
Sam Mendes, 1917
Todd Phillips, Joker
- Best Actor in a Motion Picture — Drama
Christian Bale, Ford vs. Ferrari
Antonio Banderas, Pain and Glory
Adam Driver, Marriage Story
Joaquin Phoenix, Joker
Jonathan Pryce, Two Popes
- Best Actor in a Comedy o Musical Series
Michael Douglas, The Kominsky Method
Bill Hader, Barry
Ben Platt, The Politician
Paul Rudd, Living With Yourself
Ramy Youssef, Ramy


--- creation_epoch:<PHONE_NUMBER> lastmod_epoch:<PHONE_NUMBER> categories: ['Computer Problems'] title: Windows 7 USB and No compatible USB devices detected --- Using the Windows 7 USB/DVD Download Tool and run into "Windows 7 USB and No compatible USB devices detected"?
The tool doesn't like some USB drives (especially large hard drives inside enclosures).
Just create it manually with diskpart and 7-zip (from a Windows 7 64-bit or 32-bit system of course).
http://4sysops.com/archives/windows-7-usbdvd-download-tool-wudt-is-unable-to-copy-files/
Notes from above link in-case it goes dead:
Open an admin cmd prompt (Start, cmd, ctrl+shift+enter) diskpart list disk select disk # clean create partition primary select partition 1 active format quick fs=fat32 assign exit Extract the Windows 7 ISO to the root of the drive.
If you want NTFS instead of FAT32 you also need to do "Bootsect.exe /nt60 X:" which you will find the bootsect.exe on the extracted drive in \boot\bootsect.exe
This does erase everything on the USB drive. Be careful.


Note that you control the size of the sidenav with style="width:value". To change the color, change the ggf-color class.
Make sure to add the margin-left property to the page content, with a value that is equal to the width of the sidenav. If you omit this, the navigation pane will overlay/sit on top of the page content.


Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born..
Why Akan-names project?
Most people do know when their birthdays are, but some might not know what day of the week they were born. Luckily for us, there are ways to calculate the day of the week from a specific date. The following is one of the many methods that exist for that;
Day of the week (d) = ( ( (CC/4) -2*CC-1) + ((5*YY/4) ) + ((26*(MM+1)/10)) + DD ) mod 7
where;
CC - is the century digits. For example 1989 has CC = 19
YY - is the Year digits (1989 has YY = 89)
MM - is the Month
DD - is the Day of the month
mod - is the modulus function ( % )


|
Computes the absolute value of the difference of 8 unsigned byte integers from the source operand (second operand) and from the destination operand (first operand). These 8 differences are then summed to produce an unsigned word integer result that is stored in the destination operand. The source operand can be an MMX technology register or a 64-bit memory location or it can be an XMM register or a 128-bit memory location. The destination operand can be an MMX technology register or an XMM register. Figure 4-5 shows the operation of the PSADBW instruction when using 64-bit operands.
When operating on 64-bit operands, the word integer result is stored in the low word of the destination operand, and the remaining bytes in the destination operand are cleared to all 0s.
When operating on 128-bit operands, two packed results are computed. Here, the 8 low-order bytes of the source and destination operands are operated on to produce a word result that is stored in the low word of the destination operand, and the 8 high-order bytes are operated on to produce a word result that is stored in bits 64 through 79 of the destination operand. The remaining bytes of the destination operand are cleared.
|