text:
The state investigation lasted more compared to a year, prompted testy exchanges between Brea city staffers as well as the Fair Political Practices Payment, and also finished not with a bang, yet a whimper.
State values police were incapable to find “adequate proof of a problem” or “intent to hide,” but did wrap up that former Brea mayor Tim O’Donnell went against the Political Reform Act when he cannot report $108,000 in outside settlements on his annual financial disclosure types.
O’Donnell was fined $100 for every year he fell short to report 10s of thousands of dollars in revenue. He sent out a $500 cashier’s check to the General Fund of the State of California, filed some amended paperwork, and also the situation was shut.
The Brea citizens that were seeing closely are outraged.
“The penalty is a put on the wrist and also insulting to our area,” claimed Don Parker, a CPA who lives in Brea and also works as the financing supervisor for close-by Montclair.
“This was a takeoff and I suspect behind-the-scenes games were played,” stated Brea developer Dwight Manley, who hired a law office to penetrate the concern of O’Donnell’s outside revenue.
O’Donnell did not reply to ask for remark.
The conflict stems from Brea’s uncommon water supply system, whose details remained dirty even to city staffers, inning accordance with FPPC documents.
Instead of dipping its straw into the avenues of the large Metropolitan Water District of Southern California, or the large groundwater basin managed by the Orange County Water Area, Brea has actually invested its water future in an exclusive water firm.
Brea’s financial investments swelled from less than $400,000 to greater than $39 million over a lots years – – largely accompanying O’Donnell’s period as a paid board member with the personal public utility.
The firm’s name is California Domestic. It’s a “exclusive common,” indicating it’& rsquo; s owned by its – customers– and also Brea as well as La Habra are the largest. Clients acquire shares as well as water legal rights, which entitles them to pump groundwater from the San Gabriel Basin forever.
As groundwater is more affordable compared to imported water, huge up-front expenses are recovered throughout the years by lower water expenses.
Among the strangeness is that Cal Domestic, a charitable firm, has a for-profit subsidiary called Cadway. Cadway handles land rights, as well as it was Cadway that paid O’Donnell the 10s of thousands of bucks each year that he failed to report.
The plan stimulated a probe by the Orange County Area Attorney’& rsquo; s Office, which handed the issue off to the California Fair Political Practices Payment in 2015. That examination really did not complete until November.
At the heart of the probes was a straightforward question: Did Brea’s purchase of Cal Domestic stock translate into more loan in O’Donnell’s pocket? That would certainly be a dispute of interest.
It took time to unwind that inquiry, as private investigators probed oriental layers of company purchases in between the city as well as the charitable; the non-profit as well as the for-profit; as well as a family members count on that holds pumping rights in the San Gabriel Container and one more firm that handles the “co-tenancy” of the container.
In an interview with the FPPC detective, O’Donnell regreted that his signature appeared on a number of team reports advising that the Brea City board purchase Cal Residential supply and water rights, in addition to on bond disclosure documents meant to pay for them.
O’& rsquo; Donnell & rsquo; s signature was electronically produced on those records, he stated, and also he was not directly entailed in preparing the product.
He did not report the income from Cadway on his yearly economic disclosures since a lawyer advised him he really did not have to, inning accordance with the investigator’s notes. However in retrospect, O’Donnell agreed that he should have divulged the earnings as well as wanted he had.
In the long run, the FPPC decided that there sufficed separation between Cal-Domestic as well as Cadway that it can not confirm O’Donnell had a dispute.
That decision, developer Manley said, was based upon the wrong presumption that Brea had no interest in Cadway, despite the fact that Cadway is a wholly-owned subsidiary of Cal Domestic, and also they share the very same team and also board of directors.
Brea hired a law company to examine the odd plan. “While the organizational structure of CDWC and its affiliates is complicated, there is nothing concerning the details framework that is legally impermissible,” the firm ended in March.
Precise declaring of annual monetary disclosures is the responsibility of the specific worker, claimed Mayor Costs Gallardo in an emailed statement.
Others, nonetheless, are not pleased.
When the analysis was presented in April, Peter Howell, an attorney for Rutan and Tucker, claimed it didn’t explain if the city paid the suitable cost for the water rights, and also stated an extra detailed analysis was required.
Manley felt similarly, advising the city to check out each water acquisition to determine just how the value was set, where the money went, and exactly that has the household trust fund that becomes part of some transactions.
As well as Parker has filed grievances with both the L.a and Orange Region grand juries, prompting an independent probe. “Openness does not exist in the city of Brea, The golden state,” he wrote.

lowercased:
the state investigation lasted more compared to a year, prompted testy exchanges between brea city staffers as well as the fair political practices payment, and also finished not with a bang, yet a whimper.
state values police were incapable to find “adequate proof of a problem” or “intent to hide,” but did wrap up that former brea mayor tim o’donnell went against the political reform act when he cannot report $108,000 in outside settlements on his annual financial disclosure types.
o’donnell was fined $100 for every year he fell short to report 10s of thousands of dollars in revenue. he sent out a $500 cashier’s check to the general fund of the state of california, filed some amended paperwork, and also the situation was shut.
the brea citizens that were seeing closely are outraged.
“the penalty is a put on the wrist and also insulting to our area,” claimed don parker, a cpa who lives in brea and also works as the financing supervisor for close-by montclair.
“this was a takeoff and i suspect behind-the-scenes games were played,” stated brea developer dwight manley, who hired a law office to penetrate the concern of o’donnell’s outside revenue.
o’donnell did not reply to ask for remark.
the conflict stems from brea’s uncommon water supply system, whose details remained dirty even to city staffers, inning accordance with fppc documents.
instead of dipping its straw into the avenues of the large metropolitan water district of southern california, or the large groundwater basin managed by the orange county water area, brea has actually invested its water future in an exclusive water firm.
brea’s financial investments swelled from less than $400,000 to greater than $39 million over a lots years – – largely accompanying o’donnell’s period as a paid board member with the personal public utility.
the firm’s name is california domestic. it’s a “exclusive common,” indicating it’& rsquo; s owned by its – customers– and also brea as well as la habra are the largest. clients acquire shares as well as water legal rights, which entitles them to pump groundwater from the san gabriel basin forever.
as groundwater is more affordable compared to imported water, huge up-front expenses are recovered throughout the years by lower water expenses.
among the strangeness is that cal domestic, a charitable firm, has a for-profit subsidiary called cadway. cadway handles land rights, as well as it was cadway that paid o’donnell the 10s of thousands of bucks each year that he failed to report.
the plan stimulated a probe by the orange county area attorney’& rsquo; s office, which handed the issue off to the california fair political practices payment in 2015. that examination really did not complete until november.
at the heart of the probes was a straightforward question: did brea’s purchase of cal domestic stock translate into more loan in o’donnell’s pocket? that would certainly be a dispute of interest.
it took time to unwind that inquiry, as private investigators probed oriental layers of company purchases in between the city as well as the charitable; the non-profit as well as the for-profit; as well as a family members count on that holds pumping rights in the san gabriel container and one more firm that handles the “co-tenancy” of the container.
in an interview with the fppc detective, o’donnell regreted that his signature appeared on a number of team reports advising that the brea city board purchase cal residential supply and water rights, in addition to on bond disclosure documents meant to pay for them.
o’& rsquo; donnell & rsquo; s signature was electronically produced on those records, he stated, and also he was not directly entailed in preparing the product.
he did not report the income from cadway on his yearly economic disclosures since a lawyer advised him he really did not have to, inning accordance with the investigator’s notes. however in retrospect, o’donnell agreed that he should have divulged the earnings as well as wanted he had.
in the long run, the fppc decided that there sufficed separation between cal-domestic as well as cadway that it can not confirm o’donnell had a dispute.
that decision, developer manley said, was based upon the wrong presumption that brea had no interest in cadway, despite the fact that cadway is a wholly-owned subsidiary of cal domestic, and also they share the very same team and also board of directors.
brea hired a law company to examine the odd plan. “while the organizational structure of cdwc and its affiliates is complicated, there is nothing concerning the details framework that is legally impermissible,” the firm ended in march.
precise declaring of annual monetary disclosures is the responsibility of the specific worker, claimed mayor costs gallardo in an emailed statement.
others, nonetheless, are not pleased.
when the analysis was presented in april, peter howell, an attorney for rutan and tucker, claimed it didn’t explain if the city paid the suitable cost for the water rights, and also stated an extra detailed analysis was required.
manley felt similarly, advising the city to check out each water acquisition to determine just how the value was set, where the money went, and exactly that has the household trust fund that becomes part of some transactions.
as well as parker has filed grievances with both the l.a and orange region grand juries, prompting an independent probe. “openness does not exist in the city of brea, the golden state,” he wrote.


text:
KraussMaffei Berstorff, based in Hannover, offers housing liners made of a new material for its ZE BluePower twin-screw extruder series.
KraussMaffei has found that higher demands on plastics products in terms of performance, environmental compatibility and price have a decisive influence on the compounds they are made from. More and more of these compounds are fibre-reinforced, contain special additives like flame retardants, or come with high shares of fillers and reclaimed material to reduce costs. This in turn has effects on the processing machinery, so that wear protection is an issue of ever increasing importance for compounding companies.
The new 72HA material – an iron-based powder-metallurgical alloy with high shares of carbon and chrome – is manufactured using the HIP method. The chemical composition of this material ensures excellent wear protection against abrasion and corrosion and facilitates mechanical processing.
The liners made of 72HA material are through-hardened. "We have already manufactured the first liners made of 72HA for an extruder of the ZE BluePower series and tested them in practical use – with excellent results,” Madle said.
The company has introduced oval liners to provide optimised arrangement of the cooling and cartridge heater bores, which fit the ZE BluePower series using a large free volume at high torques. The slim liner shape enables an optimised arrangement of the cooling and cartridge heater bore for highly efficient temperature control of the housing elements. In addition, the special geometry of the oval liners prevents liner deformation in the intermeshing zone.
This improves the heat transfer from the external housing to the liner. A special contact collar ensures correct axial positioning of the liner inside the housing. For this reason, no leakage occurs at the housing connections of KraussMaffei Berstorff liner housings, which could be caused by different thermal expansion of liner and housing when the liners are not axially secured.

lowercased:
kraussmaffei berstorff, based in hannover, offers housing liners made of a new material for its ze bluepower twin-screw extruder series.
kraussmaffei has found that higher demands on plastics products in terms of performance, environmental compatibility and price have a decisive influence on the compounds they are made from. more and more of these compounds are fibre-reinforced, contain special additives like flame retardants, or come with high shares of fillers and reclaimed material to reduce costs. this in turn has effects on the processing machinery, so that wear protection is an issue of ever increasing importance for compounding companies.
the new 72ha material – an iron-based powder-metallurgical alloy with high shares of carbon and chrome – is manufactured using the hip method. the chemical composition of this material ensures excellent wear protection against abrasion and corrosion and facilitates mechanical processing.
the liners made of 72ha material are through-hardened. "we have already manufactured the first liners made of 72ha for an extruder of the ze bluepower series and tested them in practical use – with excellent results,” madle said.
the company has introduced oval liners to provide optimised arrangement of the cooling and cartridge heater bores, which fit the ze bluepower series using a large free volume at high torques. the slim liner shape enables an optimised arrangement of the cooling and cartridge heater bore for highly efficient temperature control of the housing elements. in addition, the special geometry of the oval liners prevents liner deformation in the intermeshing zone.
this improves the heat transfer from the external housing to the liner. a special contact collar ensures correct axial positioning of the liner inside the housing. for this reason, no leakage occurs at the housing connections of kraussmaffei berstorff liner housings, which could be caused by different thermal expansion of liner and housing when the liners are not axially secured.


text:
T: “Do you want to build a temperature logger with Prometheus and a DS18B20+?
It later turned out that that co-worker had been enlisted by yet another individual to provide a temperature logger for their project of brewing cider, to monitor the temperature during fermentation. Since I had all the hardware at hand (to wit, a Raspberry Pi 2 that I wasn’t using for anything and temperature sensors provided by the above co-worker), I threw something together. It also turned out that the deadline was quite short (brewing began just two days after this initial exchange), but I made it work in time.
The DS18B20 digital thermometer provides 9-bit to 12-bit Celsius temperature measurements … communicates over a 1-Wire bus that by definition requires only one data line (and ground) for communication with a central microprocessor. … Each DS18B20 has a unique 64-bit serial code, which allows multiple DS18B20s to function on the same 1-Wire bus. Thus, it is simple to use one microprocessor to control many DS18B20s distributed over a large area.
Indeed, this is a very easy device to interface with. But even given the svelte hardware needs (power, data and ground signals), writing some code that speaks 1-Wire is not necessarily something I’m interested in. Fortunately, these sensors are very commonly used with the Raspberry Pi, as illustrated by an Adafruit tutorial published in 2013.
With that configuration, one simply needs to wire the sensor up. The w1-gpio device tree configuration by default uses GPIO 4 on the Pi as the data line, then power and grounds need to be connected and a pull-up resistor added to the data line (since 1-Wire is an open-drain bus).
The kernel periodically scans the 1-Wire bus for slaves and creates a directory for each device it detects. In this instance, there is one slave on the bus (my temperature sensor) and it has serial number 000004b926f1. Reading its w1_slave file (provided by the w1-therm driver) returns the bytes that were read on both lines, a summary of transmission integrity derived from the message checksum on the first line, and t=x on the second line, where x is the measured temperature in milli-degrees Celsius. Thus, the measured temperature above was 25.687 degrees.
While it’s fairly easy to locate and read these files in sysfs from a program, I found a Python library that further simplifies the process: w1thermsensor provides a simple API for detecting and reading 1-wire temperature sensors, which I used when implementing the bridge for capturing temperature readings (detailed more later).
I wanted to verify for myself how the 1-wire interfacing worked so here are the details of what I’ve discovered, presented because they may be interesting or helpful to some readers. Most documentation of how to perform a given task with a Raspberry Pi is limited to comments like “just add this line to some file and do the other thing!” with no discussion of the mechanics involved, which I find very unsatisfying.
The line added to /boot/config.txt tells the Rapberry Pi’s boot loader (a version of Das U-Boot) to pass the w1-gpio.dtbo device tree overlay description to the kernel. The details of what’s in that overlay can be found in the kernel source tree at arch/arm/boot/dts/overlays/w1-gpio-overlay.dts.
This in turn pulls in the w1-gpio kernel module, which is part of the upstream kernel distribution- it’s very simple, setting or reading the value of a GPIO port as requested by the Linux 1-wire subsystem.
Confusingly, if we examine the dts file describing the device tree overlay, it can take a pullup option that controls a rpi,parasitic-power parameter. The documentation says this “enable(s) the parasitic power (2-wire, power-on-data) feature”, which is confusing. 1-Wire is inherently capable of supplying parasitic power to slaves with modest power requirements, with the slaves charging capacitors off the data line when it’s idle (and being held high, since it’s an open-collector bus). So, saying an option will enable parasitic power is confusing at best and probably flat wrong.
By also connecting the pullup GPIO to the data line (or putting a FET in there like the datasheet suggests), the w1-gpio driver will set the pullup line to logic high for a requested time, then return it to Hi-Z where it will idle. But for my needs (cobbling something together quickly), it’s much easier to not even bother with parasite power.
In conclusion for this section: I don’t know what the pullup option for the 1-Wire GPIO overlay actually does, because enabling it and removing the external pull-up resistor from my setup causes the bus to stop working. The documentation is confusingly imprecise, so I gave up on further investigation since I already had a configuration that worked.
To capture store time-series data representing the temperature, per the co-worker’s original suggestion I opted to use Prometheus. While it’s designed for monitoring the state of computer systems, it’s plenty capable of storing temperature data as well. Given I’ve used Prometheus before, it seemed like a fine option for this application though on later consideration I think a more robust (and effortful) system could be build with different technology choices (explored later in this post).
The Raspberry Pi with temperature sensor in my application is expected to stay within range of a WiFi network with internet connectivity, but this network does not permit any incoming connections, nor does it permit connections between wireless clients. Given I wanted to make the temperature data available to anybody interested in the progress of brewing, there needs to be some bridge to the outside world- thus Prometheus should run on a different machine from the Pi.
Having connected the thermometer to the Pi and set up Prometheus, we now need to glue them together such that Prometheus can read the temperature. The usual way is for Prometheus to make HTTP requests to its known data sources, where the response is formatted such that Prometheus can make sense of the metrics. There is some support for having metrics sources push their values to Prometheus through a bridge (that basically just remembers the values it’s given until they’re scraped), but that seems inelegant given it would require running another program (the bridge) and goes against the how Prometheus is designed to work.
I’ve published the source for the metrics exporter I ended up writing, and will give it a quick description in the remnants of this section.
The easiest solution to providing a service over HTTP is using the http.server module, so that’s what I chose to use. When the program starts up it scans for temperature sensors and stores them. This has a downside of never returning data if a sensor is accidentally disconnected at startup, but detection is fairly slow and only doing it at startup makes it clearer if sensors are accidentally disconnected during operation, since reading them will fail at that point.
The request handler has a method that builds the whole response at once, which is just plain text based on a simple template.
do_GET is called by BaseHTTPRequestHandler for all HTTP GET requests to the server. Since this server doesn’t really care what you want (it only exports one thing- metrics), it completely ignores the request and sends back metrics.
# We're careful to send a content-length, so keepalive is allowed.
The http.server API is somewhat cumbersome in that it doesn’t try to handle setting Content-Length on responses to allow clients to keep connections open between requests, but at least in this case it’s very easy to set the Content-Length on the response and correctly implement HTTP 1.1. The Content-Type used here is the one specified by the Prometheus documentation for exposition formats.
The rest of the program is just glue, for the most part. The console_entry_point function is the entry point for the w1therm_prometheus_exporter script specified in setup.py. The network address and port to listen on are taken from the command line, then an HTTP server is started and allowed to run forever.
As a Python program with a few non-standard dependencies, installation of this server is not particularly easy. While I could sudo pip install everything and call it sufficient, that’s liable to break unexpectedly if other parts of the system are automatically updated- in particular the Python interpreter itself (though Debian as a matter of policy doesn’t update Python to a different release except as a major update, so it shouldn’t happen without warning). What I’d really like is the ability to build a single standalone program that contains everything in a convenient single-file package, and that’s exactly what PyInstaller can do.
A little bit of wrestling with pyinstaller configuration later (included as the .spec file in the repository), I had successfully built a pretty heavy (5MB) executable containing everything the server needs to run. I placed a copy in /usr/local/bin, for easy accessibility in running it.
# a tmpfs to unpack itself in.
This unit includes rather more protection than is probably very useful, given the machine is single-purpose, but it seems like good practice to isolate the server from the rest of the system as much as possible.
DynamicUser will make it run as a system user with ID semi-randomly assigned each time it starts so it doesn’t look like anything else on the system for purposes of resource (file) ownership.
ProtectSystem makes it impossible to write to most of the filesystem, protecting against accidental or malicious changes to system files.
ProtectHome makes it impossible to read any user’s home directory, preventing information leak from other users.
PrivateTmp give the server its own private /tmp directory, so it can’t interfere with temporary files created by other things, nor can its be interfered with- preventing possible races which could be exploited.
Having built the HTTP server, I needed a way to get data from it to Prometheus. As discussed earlier, the Raspberry Pi with the sensor is on a WiFi network that doesn’t permit any incoming connections, so how can Prometheus scrape metrics if it can’t connect to the Pi?
One option is to push metrics to Prometheus, using the push gateway. However, I don’t like that option because the push gateway is intended mostly for jobs that run unpredictably, in particular where they can exit without warning. This isn’t true of my sensor server. PushProx provides a rather better solution, wherein clients connect to a proxy which forwards fetches from Prometheus to the relevant client, though I think my ultimate solution is just as effective and simpler.
Installed as /etc/systemd/system/autossh-tunnel@.service, this unit file tells systemd that we want to start autossh when the network is online and try to ensure it always stays online. I’ve increased RestartSec from the default 100 milliseconds because I found that even with the dependency on network-online.target, ssh could fail when the system was booting up with DNS lookup failures, then systemd would give up. Increasing the restart time means it takes much longer for systemd to give up, and in the meantime the network actually comes up.
scrape_interval:     15s # By default, scrape targets every 15 seconds.
That’s pretty self-explanatory; Prometheus will fetch metrics from port 9000 on the same machine (which is actually an SSH tunnel to the Raspberry Pi), and do so every 15 seconds. When the Pi gets the request for metrics, it reads the temperature sensors and returns their values.
I included InfluxDB in the setup to get arbitrary retention of temperature data- Prometheus is designed primarily for real-time monitoring of computer systems, to alert human operators when things appear to be going wrong. Consequently, in the default configuration Prometheus only retains captured data for a few weeks, and doesn’t provide a convenient way to export data for archival or analysis. While the default retention is probably sufficient for this project’s needs, I wanted better control over how long that data was kept and the ability to save it as long as I liked. So while Prometheus doesn’t offer that control itself, it does support reading and writing data to and from various other databases, including InfluxDB (which I chose only because a package for it is available in Debian without any additional work).
Unfortunately, the version of Prometheus available in Debian right now is fairly old- 1.5.2, where the latest release is 2.2. More problematic, while Prometheus now supports a generic remote read/write API, this was added in version 2.0 and is not yet available in the Debian package. Combined with the lack of documentation (as far as I could find) for the old remote write feature, I was a little bit stuck.
The first option just makes Prometheus keep its data longer than the default, whereas the others tell it how to write data to InfluxDB. I determined where InfluxDB listens for connections by looking at its configuration file /etc/influxdb/influxdb.conf and making a few guesses: a comment in the http section there noted that “these (HTTP endpoints) are the primary mechanism for getting data into and out of InfluxDB” and included the settings bind-address=":8086" and auth-enabled=false, so I guessed (correctly) that telling Prometheus to find InfluxDB at http://localhost:8086/ should be sufficient.
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
The fermentation temperature is quite stable, with daily variation of less than one degree in either direction from the baseline.
I later improved the temperature server to handle SIGHUP as a trigger to scan for sensors again, which is a slight improvement over restarting it, but not very important because the server is already so simple (and fast to restart).
On reflection, using Prometheus and scraping temperatures is a very strange way to go about solving the problem of logging the temperature (though it has the advantage of using only tools I was already familiar with so it was easy to do quickly). Pushing temperature measurements from the Pi via MQTT would be a much more sensible solution, since that’s a protocol designed specifically for small sensors to report their states. Indeed, there is no shortage of published projects that do exactly that more efficiently than my Raspberry Pi, most of them using ESP8266 microcontrollers which are much lower-power and can still connect to Wi-Fi networks.
Getting sensor readings through an MQTT broker and storing them to be able to graph them is not quite as trivial as scraping them with Prometheus, but I suspect there does exist a software package that does most of the work already. If not, I expect a quick and dirty one could be implemented with relative ease.
On the other hand, running a device like that which is internet-connected but is unlikely to ever receive anything remotely looking like a security update seems ill-advised if it’s meant to run for anything but a short amount of time. In that case having the sensor be part of a Zigbee network instead, which does not permit direct internet connectivity and thus avoids the fraught terrain of needing to protect both the device itself from attack and the data transmitted by the device from unauthorized use (eavesdropping) by taking ownership of that problem away from the sensor.
It remains possible to forward messages out to an MQTT broker on the greater internet using some kind of bridge (indeed, this is the system used by many consumer “smart device” platforms, like Philips’ Hue though I don’t think they use MQTT), where individual devices connect only to the Zigbee network, and a more capable bridge is responsible for internet connectivity. The problem of keeping the bridge secure remains, but is appreciably simpler than needing to maintain the security of each individual device in what may be a heterogeneous network.
It’s even possible to get inexpensive off-the-shelf temperature and humidity sensors that connect to Zigbee networks like some sold by Xiaomi, offering much better finish than a prototype-quality one I might be able to build myself, very good battery life, and still capable of operating in a heterogenous Zigbee network with arbitrary other devices (though you wouldn’t know it from the manufacturer’s documentation, since they want consumers to commit to their “platform” exclusively)!
So while my solution is okay in that it works fine with hardware I already had on hand, a much more robust solution is readily available with off-the-shelf hardware and only a little bit of software to glue it together. If I needed to do this again and wanted a solution that doesn’t require my expertise to maintain it, I’d reach for those instead.
Reluctantly powered by atomic badgers. Contents licensed under unless otherwise noted.

lowercased:
t: “do you want to build a temperature logger with prometheus and a ds18b20+?
it later turned out that that co-worker had been enlisted by yet another individual to provide a temperature logger for their project of brewing cider, to monitor the temperature during fermentation. since i had all the hardware at hand (to wit, a raspberry pi 2 that i wasn’t using for anything and temperature sensors provided by the above co-worker), i threw something together. it also turned out that the deadline was quite short (brewing began just two days after this initial exchange), but i made it work in time.
the ds18b20 digital thermometer provides 9-bit to 12-bit celsius temperature measurements … communicates over a 1-wire bus that by definition requires only one data line (and ground) for communication with a central microprocessor. … each ds18b20 has a unique 64-bit serial code, which allows multiple ds18b20s to function on the same 1-wire bus. thus, it is simple to use one microprocessor to control many ds18b20s distributed over a large area.
indeed, this is a very easy device to interface with. but even given the svelte hardware needs (power, data and ground signals), writing some code that speaks 1-wire is not necessarily something i’m interested in. fortunately, these sensors are very commonly used with the raspberry pi, as illustrated by an adafruit tutorial published in 2013.
with that configuration, one simply needs to wire the sensor up. the w1-gpio device tree configuration by default uses gpio 4 on the pi as the data line, then power and grounds need to be connected and a pull-up resistor added to the data line (since 1-wire is an open-drain bus).
the kernel periodically scans the 1-wire bus for slaves and creates a directory for each device it detects. in this instance, there is one slave on the bus (my temperature sensor) and it has serial number 000004b926f1. reading its w1_slave file (provided by the w1-therm driver) returns the bytes that were read on both lines, a summary of transmission integrity derived from the message checksum on the first line, and t=x on the second line, where x is the measured temperature in milli-degrees celsius. thus, the measured temperature above was 25.687 degrees.
while it’s fairly easy to locate and read these files in sysfs from a program, i found a python library that further simplifies the process: w1thermsensor provides a simple api for detecting and reading 1-wire temperature sensors, which i used when implementing the bridge for capturing temperature readings (detailed more later).
i wanted to verify for myself how the 1-wire interfacing worked so here are the details of what i’ve discovered, presented because they may be interesting or helpful to some readers. most documentation of how to perform a given task with a raspberry pi is limited to comments like “just add this line to some file and do the other thing!” with no discussion of the mechanics involved, which i find very unsatisfying.
the line added to /boot/config.txt tells the rapberry pi’s boot loader (a version of das u-boot) to pass the w1-gpio.dtbo device tree overlay description to the kernel. the details of what’s in that overlay can be found in the kernel source tree at arch/arm/boot/dts/overlays/w1-gpio-overlay.dts.
this in turn pulls in the w1-gpio kernel module, which is part of the upstream kernel distribution- it’s very simple, setting or reading the value of a gpio port as requested by the linux 1-wire subsystem.
confusingly, if we examine the dts file describing the device tree overlay, it can take a pullup option that controls a rpi,parasitic-power parameter. the documentation says this “enable(s) the parasitic power (2-wire, power-on-data) feature”, which is confusing. 1-wire is inherently capable of supplying parasitic power to slaves with modest power requirements, with the slaves charging capacitors off the data line when it’s idle (and being held high, since it’s an open-collector bus). so, saying an option will enable parasitic power is confusing at best and probably flat wrong.
by also connecting the pullup gpio to the data line (or putting a fet in there like the datasheet suggests), the w1-gpio driver will set the pullup line to logic high for a requested time, then return it to hi-z where it will idle. but for my needs (cobbling something together quickly), it’s much easier to not even bother with parasite power.
in conclusion for this section: i don’t know what the pullup option for the 1-wire gpio overlay actually does, because enabling it and removing the external pull-up resistor from my setup causes the bus to stop working. the documentation is confusingly imprecise, so i gave up on further investigation since i already had a configuration that worked.
to capture store time-series data representing the temperature, per the co-worker’s original suggestion i opted to use prometheus. while it’s designed for monitoring the state of computer systems, it’s plenty capable of storing temperature data as well. given i’ve used prometheus before, it seemed like a fine option for this application though on later consideration i think a more robust (and effortful) system could be build with different technology choices (explored later in this post).
the raspberry pi with temperature sensor in my application is expected to stay within range of a wifi network with internet connectivity, but this network does not permit any incoming connections, nor does it permit connections between wireless clients. given i wanted to make the temperature data available to anybody interested in the progress of brewing, there needs to be some bridge to the outside world- thus prometheus should run on a different machine from the pi.
having connected the thermometer to the pi and set up prometheus, we now need to glue them together such that prometheus can read the temperature. the usual way is for prometheus to make http requests to its known data sources, where the response is formatted such that prometheus can make sense of the metrics. there is some support for having metrics sources push their values to prometheus through a bridge (that basically just remembers the values it’s given until they’re scraped), but that seems inelegant given it would require running another program (the bridge) and goes against the how prometheus is designed to work.
i’ve published the source for the metrics exporter i ended up writing, and will give it a quick description in the remnants of this section.
the easiest solution to providing a service over http is using the http.server module, so that’s what i chose to use. when the program starts up it scans for temperature sensors and stores them. this has a downside of never returning data if a sensor is accidentally disconnected at startup, but detection is fairly slow and only doing it at startup makes it clearer if sensors are accidentally disconnected during operation, since reading them will fail at that point.
the request handler has a method that builds the whole response at once, which is just plain text based on a simple template.
do_get is called by basehttprequesthandler for all http get requests to the server. since this server doesn’t really care what you want (it only exports one thing- metrics), it completely ignores the request and sends back metrics.
# we're careful to send a content-length, so keepalive is allowed.
the http.server api is somewhat cumbersome in that it doesn’t try to handle setting content-length on responses to allow clients to keep connections open between requests, but at least in this case it’s very easy to set the content-length on the response and correctly implement http 1.1. the content-type used here is the one specified by the prometheus documentation for exposition formats.
the rest of the program is just glue, for the most part. the console_entry_point function is the entry point for the w1therm_prometheus_exporter script specified in setup.py. the network address and port to listen on are taken from the command line, then an http server is started and allowed to run forever.
as a python program with a few non-standard dependencies, installation of this server is not particularly easy. while i could sudo pip install everything and call it sufficient, that’s liable to break unexpectedly if other parts of the system are automatically updated- in particular the python interpreter itself (though debian as a matter of policy doesn’t update python to a different release except as a major update, so it shouldn’t happen without warning). what i’d really like is the ability to build a single standalone program that contains everything in a convenient single-file package, and that’s exactly what pyinstaller can do.
a little bit of wrestling with pyinstaller configuration later (included as the .spec file in the repository), i had successfully built a pretty heavy (5mb) executable containing everything the server needs to run. i placed a copy in /usr/local/bin, for easy accessibility in running it.
# a tmpfs to unpack itself in.
this unit includes rather more protection than is probably very useful, given the machine is single-purpose, but it seems like good practice to isolate the server from the rest of the system as much as possible.
dynamicuser will make it run as a system user with id semi-randomly assigned each time it starts so it doesn’t look like anything else on the system for purposes of resource (file) ownership.
protectsystem makes it impossible to write to most of the filesystem, protecting against accidental or malicious changes to system files.
protecthome makes it impossible to read any user’s home directory, preventing information leak from other users.
privatetmp give the server its own private /tmp directory, so it can’t interfere with temporary files created by other things, nor can its be interfered with- preventing possible races which could be exploited.
having built the http server, i needed a way to get data from it to prometheus. as discussed earlier, the raspberry pi with the sensor is on a wifi network that doesn’t permit any incoming connections, so how can prometheus scrape metrics if it can’t connect to the pi?
one option is to push metrics to prometheus, using the push gateway. however, i don’t like that option because the push gateway is intended mostly for jobs that run unpredictably, in particular where they can exit without warning. this isn’t true of my sensor server. pushprox provides a rather better solution, wherein clients connect to a proxy which forwards fetches from prometheus to the relevant client, though i think my ultimate solution is just as effective and simpler.
installed as /etc/systemd/system/autossh-tunnel@.service, this unit file tells systemd that we want to start autossh when the network is online and try to ensure it always stays online. i’ve increased restartsec from the default 100 milliseconds because i found that even with the dependency on network-online.target, ssh could fail when the system was booting up with dns lookup failures, then systemd would give up. increasing the restart time means it takes much longer for systemd to give up, and in the meantime the network actually comes up.
scrape_interval:     15s # by default, scrape targets every 15 seconds.
that’s pretty self-explanatory; prometheus will fetch metrics from port 9000 on the same machine (which is actually an ssh tunnel to the raspberry pi), and do so every 15 seconds. when the pi gets the request for metrics, it reads the temperature sensors and returns their values.
i included influxdb in the setup to get arbitrary retention of temperature data- prometheus is designed primarily for real-time monitoring of computer systems, to alert human operators when things appear to be going wrong. consequently, in the default configuration prometheus only retains captured data for a few weeks, and doesn’t provide a convenient way to export data for archival or analysis. while the default retention is probably sufficient for this project’s needs, i wanted better control over how long that data was kept and the ability to save it as long as i liked. so while prometheus doesn’t offer that control itself, it does support reading and writing data to and from various other databases, including influxdb (which i chose only because a package for it is available in debian without any additional work).
unfortunately, the version of prometheus available in debian right now is fairly old- 1.5.2, where the latest release is 2.2. more problematic, while prometheus now supports a generic remote read/write api, this was added in version 2.0 and is not yet available in the debian package. combined with the lack of documentation (as far as i could find) for the old remote write feature, i was a little bit stuck.
the first option just makes prometheus keep its data longer than the default, whereas the others tell it how to write data to influxdb. i determined where influxdb listens for connections by looking at its configuration file /etc/influxdb/influxdb.conf and making a few guesses: a comment in the http section there noted that “these (http endpoints) are the primary mechanism for getting data into and out of influxdb” and included the settings bind-address=":8086" and auth-enabled=false, so i guessed (correctly) that telling prometheus to find influxdb at http://localhost:8086/ should be sufficient.
visit https://enterprise.influxdata.com to register for updates, influxdb server management, and monitoring.
the fermentation temperature is quite stable, with daily variation of less than one degree in either direction from the baseline.
i later improved the temperature server to handle sighup as a trigger to scan for sensors again, which is a slight improvement over restarting it, but not very important because the server is already so simple (and fast to restart).
on reflection, using prometheus and scraping temperatures is a very strange way to go about solving the problem of logging the temperature (though it has the advantage of using only tools i was already familiar with so it was easy to do quickly). pushing temperature measurements from the pi via mqtt would be a much more sensible solution, since that’s a protocol designed specifically for small sensors to report their states. indeed, there is no shortage of published projects that do exactly that more efficiently than my raspberry pi, most of them using esp8266 microcontrollers which are much lower-power and can still connect to wi-fi networks.
getting sensor readings through an mqtt broker and storing them to be able to graph them is not quite as trivial as scraping them with prometheus, but i suspect there does exist a software package that does most of the work already. if not, i expect a quick and dirty one could be implemented with relative ease.
on the other hand, running a device like that which is internet-connected but is unlikely to ever receive anything remotely looking like a security update seems ill-advised if it’s meant to run for anything but a short amount of time. in that case having the sensor be part of a zigbee network instead, which does not permit direct internet connectivity and thus avoids the fraught terrain of needing to protect both the device itself from attack and the data transmitted by the device from unauthorized use (eavesdropping) by taking ownership of that problem away from the sensor.
it remains possible to forward messages out to an mqtt broker on the greater internet using some kind of bridge (indeed, this is the system used by many consumer “smart device” platforms, like philips’ hue though i don’t think they use mqtt), where individual devices connect only to the zigbee network, and a more capable bridge is responsible for internet connectivity. the problem of keeping the bridge secure remains, but is appreciably simpler than needing to maintain the security of each individual device in what may be a heterogeneous network.
it’s even possible to get inexpensive off-the-shelf temperature and humidity sensors that connect to zigbee networks like some sold by xiaomi, offering much better finish than a prototype-quality one i might be able to build myself, very good battery life, and still capable of operating in a heterogenous zigbee network with arbitrary other devices (though you wouldn’t know it from the manufacturer’s documentation, since they want consumers to commit to their “platform” exclusively)!
so while my solution is okay in that it works fine with hardware i already had on hand, a much more robust solution is readily available with off-the-shelf hardware and only a little bit of software to glue it together. if i needed to do this again and wanted a solution that doesn’t require my expertise to maintain it, i’d reach for those instead.
reluctantly powered by atomic badgers. contents licensed under unless otherwise noted.


text:
Kestell Boarding House for Retief Scholars and surrounding schools. Daily meals are provided and supervised study time. Contact Thembi Moloi for additional information. We also offer affordable accommodation for tourists during our local school holidays.
For good quality meat & dairy products, we are open on Sundays from 9h00 to 12h00.
An old fashioned and comfortable country hotel comprising a pub, lady's lounge, restaurant, outdoor dining & braai areas and twelve rooms - eight are en-suite with a choice of double or 2 x 3/4 beds - four are partialy en-suite with a shower and wahbasin in the room and toilet and bathroom in the passageway. Our hotel is pet friendly (animals must be house trained and sociable). Special rates for block bookings and extended stays. We look forward to seeing you in Kestell.
Lede kom bymekaar elke 3rde Woensdag om 2 uur by die Boere Vereeniging Saal. Kontak Riania Marx of besoek www.vvlu.co.za vir meer inligting oor die Vroue Landbou Unie. Nuwe lede altyd welkom.
We currently have 6 beds available. Contact Annamie Nel for an appointment - weekdays 8am to 5pm.
Suppliers of Mealie meal, bird seed, dog food.
Building Materials, tiles, hardware etc.
For property enquiries in the Kestell area, contact local agent, Gail Foster-Myburgh, on 082 661 1168.
For property sales and rentals, contact local agent Hennie Storm.
Koerante, boeke en ander intersante goeters is te vinde by hierdie boekwinkel.
General electrical work, COCs and general electrical work.
We primarily sell quality second hand clothes at affordable prices to the local community.
I also specialize in made-to-measure (bespoke) fashion or traditional Shweshwe garments and accessories, special occasion dresses i.e. matric, evening or wedding wear and promotional, fancy dress and theatrical costumes of all description, for adults and children. I recently designed the embroidered shweshwe uniform for the staff of the Basotho Cultural Village in Golden Gate. I have experience working as a costumier for: The State Theatre, Gold Reef City, Southern Sun Hotels, Troubadour Productions (including work for the Durban Municipality, various shopping centres and the old Dolphinarium) and House of Siren in Hong Kong. We would be excited that you visit us at Olivier Street (opposite the Standard Bank) or 60 van Rensburg Street where patterns are cut and the garments are constructed. I am also on face book @ Kerrylee Maier. Looking forward to your visit!
Sissi is a fledgling fairtrade venture, working out of the small town of Kestell, in the Eastern Free State. Sissi is working to empower a group of unemployed ladies, living in the legacy black township of Thlolong, by teaching them sewing and embroidery skills, which they use to produce beautiful smocked children’s sun dresses each one unique, out of “three cats shwe-shwe material”. The dresses come in three sizes and fit little girls from 1 - 6 years.
Shwe-shwe material has a long history in South Africa. First introduced by German missionaries in 1858, it soon became the national dress of the Xhosa women. It has evolved into a very popular material with over 100 designs in three colours - blue, red, brown. Shwe- shwe is produced exclusively in South Africa by Da Gama Textiles in East London, in the Eastern Cape.
The past 6 months have seen Sissi move from strengh to strength. We sell our dresses in Clarens, Harrismith and London and this has allowed for more ladies to be employed and for the project to expand.
Stockists of locally produced arts and crafts, Christian books, Gospel CDs and DVDs. Browse our shelves while enjoying a cup of coffee and a light meal.
Aan almal wie gesondheid soek Get your fix!

lowercased:
kestell boarding house for retief scholars and surrounding schools. daily meals are provided and supervised study time. contact thembi moloi for additional information. we also offer affordable accommodation for tourists during our local school holidays.
for good quality meat & dairy products, we are open on sundays from 9h00 to 12h00.
an old fashioned and comfortable country hotel comprising a pub, lady's lounge, restaurant, outdoor dining & braai areas and twelve rooms - eight are en-suite with a choice of double or 2 x 3/4 beds - four are partialy en-suite with a shower and wahbasin in the room and toilet and bathroom in the passageway. our hotel is pet friendly (animals must be house trained and sociable). special rates for block bookings and extended stays. we look forward to seeing you in kestell.
lede kom bymekaar elke 3rde woensdag om 2 uur by die boere vereeniging saal. kontak riania marx of besoek www.vvlu.co.za vir meer inligting oor die vroue landbou unie. nuwe lede altyd welkom.
we currently have 6 beds available. contact annamie nel for an appointment - weekdays 8am to 5pm.
suppliers of mealie meal, bird seed, dog food.
building materials, tiles, hardware etc.
for property enquiries in the kestell area, contact local agent, gail foster-myburgh, on 082 661 1168.
for property sales and rentals, contact local agent hennie storm.
koerante, boeke en ander intersante goeters is te vinde by hierdie boekwinkel.
general electrical work, cocs and general electrical work.
we primarily sell quality second hand clothes at affordable prices to the local community.
i also specialize in made-to-measure (bespoke) fashion or traditional shweshwe garments and accessories, special occasion dresses i.e. matric, evening or wedding wear and promotional, fancy dress and theatrical costumes of all description, for adults and children. i recently designed the embroidered shweshwe uniform for the staff of the basotho cultural village in golden gate. i have experience working as a costumier for: the state theatre, gold reef city, southern sun hotels, troubadour productions (including work for the durban municipality, various shopping centres and the old dolphinarium) and house of siren in hong kong. we would be excited that you visit us at olivier street (opposite the standard bank) or 60 van rensburg street where patterns are cut and the garments are constructed. i am also on face book @ kerrylee maier. looking forward to your visit!
sissi is a fledgling fairtrade venture, working out of the small town of kestell, in the eastern free state. sissi is working to empower a group of unemployed ladies, living in the legacy black township of thlolong, by teaching them sewing and embroidery skills, which they use to produce beautiful smocked children’s sun dresses each one unique, out of “three cats shwe-shwe material”. the dresses come in three sizes and fit little girls from 1 - 6 years.
shwe-shwe material has a long history in south africa. first introduced by german missionaries in 1858, it soon became the national dress of the xhosa women. it has evolved into a very popular material with over 100 designs in three colours - blue, red, brown. shwe- shwe is produced exclusively in south africa by da gama textiles in east london, in the eastern cape.
the past 6 months have seen sissi move from strengh to strength. we sell our dresses in clarens, harrismith and london and this has allowed for more ladies to be employed and for the project to expand.
stockists of locally produced arts and crafts, christian books, gospel cds and dvds. browse our shelves while enjoying a cup of coffee and a light meal.
aan almal wie gesondheid soek get your fix!


text:
We greatly value the indication of origin on our wines. So we naturally also value knowing the origin of our cannabis. Quality is key.
And that is why we are in constant close contact with our outdoor cultivators. They grow their crops ecologically and in the most shadow-free plots in the region, which makes them perfect as a basis for pure cannabis oil.
A growing number of people is experiencing the benefits of cannabis oil. In order to keep the price of cannabis oil controllable, it is important to scale up its production.
The Weed Beer Foundation helps.
For reasons that are beyond us, Dutch health insurers do not reimburse the costs of medicinal cannabis products. Not every patient is in a position to grow their own.
And that is why our motto is: “If you don’t grow for your own use, grow for someone else’s.” A beautiful gesture!
Would you like to join? That would be great! We will supply premium seeds and professional advice on site. Your plants will enable us to supply premium quality cannabis oil to a greater number of people. As a welcome gift, you will receive a bottle of craft brewed weed beer.
Curious? For more information, send an email to info@sensunique.nu or complete the form below.

lowercased:
we greatly value the indication of origin on our wines. so we naturally also value knowing the origin of our cannabis. quality is key.
and that is why we are in constant close contact with our outdoor cultivators. they grow their crops ecologically and in the most shadow-free plots in the region, which makes them perfect as a basis for pure cannabis oil.
a growing number of people is experiencing the benefits of cannabis oil. in order to keep the price of cannabis oil controllable, it is important to scale up its production.
the weed beer foundation helps.
for reasons that are beyond us, dutch health insurers do not reimburse the costs of medicinal cannabis products. not every patient is in a position to grow their own.
and that is why our motto is: “if you don’t grow for your own use, grow for someone else’s.” a beautiful gesture!
would you like to join? that would be great! we will supply premium seeds and professional advice on site. your plants will enable us to supply premium quality cannabis oil to a greater number of people. as a welcome gift, you will receive a bottle of craft brewed weed beer.
curious? for more information, send an email to info@sensunique.nu or complete the form below.


text:
Is it just me or is anyone else having problems watching today? I can’t seem to watch through the app or my browser on my phone. It starts but freezes after 30 seconds or so.
I rarely get to watch because of interruption and sometimes download interviews that interest me for later. I appreciate how David Knight is having a lot of people on who have been abused by feminist witches, CPS, etc. He is exposing the politically motivated attacks against Christians in this country.
I’m not sure if the issue is a bandwidth one or the reality of targeted interference by those who hate InfoWars and do not believe in FREE access to INFO for ALL!
The Jones show had been taken over by the Democrats!

lowercased:
is it just me or is anyone else having problems watching today? i can’t seem to watch through the app or my browser on my phone. it starts but freezes after 30 seconds or so.
i rarely get to watch because of interruption and sometimes download interviews that interest me for later. i appreciate how david knight is having a lot of people on who have been abused by feminist witches, cps, etc. he is exposing the politically motivated attacks against christians in this country.
i’m not sure if the issue is a bandwidth one or the reality of targeted interference by those who hate infowars and do not believe in free access to info for all!
the jones show had been taken over by the democrats!


text:
This is a fantastic quote from my mentor Boris. Boris is an inspiration to so many and I am honored to share his knowledge. The road to recovery is paved with many choices. Often we don’t even think about fitness as a path, but it really is. Once we can get your body functioning again it will begin to heal and work optimally. Whether you have never exercised before or have just put the gym aside, I can help you.
People in addiction recovery or mental health recovery need tools that are based on a spiritual foundation. It should not matter who is watching or what others think of you and when one is able to make this connection, there is a spiritual foundation to fitness. There is no physical recovery without proper nutrition and clients who implement a routine of healthy eating habits and fitness can recover faster and with less chance of relapse. Recovery Fitness is combining nutrition and physical fitness within the scope of recovery and sobriety. As the only Nationally Certified Fitness Recovery Coach in the Valley I have a great understanding of that connection. The same principles that it takes to get sober is what it takes to get in shape. It’s a “leave your ego at the door” concept. Feeling good should be the driving force, not looking good. Having that interaction with someone is key in helping others find a purpose.
Whether you are in early recovery from drugs, alcohol, food or mental health issues or you have been on track for a while, engaging in our recovery fitness individualized program is key to maintaining a healthy life.
But for someone in early recovery, your body is still releasing toxins and regaining strength. There is still a lot of healing to do so we begin with gentle exercise that focuses on blood circulation and the release of toxins. We will focus on setting small goals, learning to breathe and how to use proper form. It doesn’t matter if you have exercised a single day in your life. I can help anyone at all levels of fitness.
There is no need to get a gym membership or go to the gym. All of the exercises can easily be done at home with only a few simple exercise tools You will need a jump rope, yoga mat, swiss ball and a simple dumbbell set or resistance bands. Don’t worry about what to do or how to do it because I will develop an individualized movement program that will allow you to heal and to gain your strength back.

lowercased:
this is a fantastic quote from my mentor boris. boris is an inspiration to so many and i am honored to share his knowledge. the road to recovery is paved with many choices. often we don’t even think about fitness as a path, but it really is. once we can get your body functioning again it will begin to heal and work optimally. whether you have never exercised before or have just put the gym aside, i can help you.
people in addiction recovery or mental health recovery need tools that are based on a spiritual foundation. it should not matter who is watching or what others think of you and when one is able to make this connection, there is a spiritual foundation to fitness. there is no physical recovery without proper nutrition and clients who implement a routine of healthy eating habits and fitness can recover faster and with less chance of relapse. recovery fitness is combining nutrition and physical fitness within the scope of recovery and sobriety. as the only nationally certified fitness recovery coach in the valley i have a great understanding of that connection. the same principles that it takes to get sober is what it takes to get in shape. it’s a “leave your ego at the door” concept. feeling good should be the driving force, not looking good. having that interaction with someone is key in helping others find a purpose.
whether you are in early recovery from drugs, alcohol, food or mental health issues or you have been on track for a while, engaging in our recovery fitness individualized program is key to maintaining a healthy life.
but for someone in early recovery, your body is still releasing toxins and regaining strength. there is still a lot of healing to do so we begin with gentle exercise that focuses on blood circulation and the release of toxins. we will focus on setting small goals, learning to breathe and how to use proper form. it doesn’t matter if you have exercised a single day in your life. i can help anyone at all levels of fitness.
there is no need to get a gym membership or go to the gym. all of the exercises can easily be done at home with only a few simple exercise tools you will need a jump rope, yoga mat, swiss ball and a simple dumbbell set or resistance bands. don’t worry about what to do or how to do it because i will develop an individualized movement program that will allow you to heal and to gain your strength back.


text:
Studies are ongoing using Universal UV lamps. They chose Solacure as being the most sun-like lamp on the market. Goal is to test the effects of UV on sorghum. Study to take play in late 2017 or early 2018.
When the University of Florida needed a UVB lamp strong enough to break down insecticides for the research and development, they chose Solacure.

lowercased:
studies are ongoing using universal uv lamps. they chose solacure as being the most sun-like lamp on the market. goal is to test the effects of uv on sorghum. study to take play in late 2017 or early 2018.
when the university of florida needed a uvb lamp strong enough to break down insecticides for the research and development, they chose solacure.


text:
Chateau De Montagne built in 1971 is centrally located in town and on the shuttle route. These developments have had renovations completed throughout the years. For an updated list of renovations contact Sierra Resort Real Estate. Chateau De Montagne offers 48 units with the following amenities which include: Pool, Jacuzzi and Sauna. Parking offered is garage and open.
Included below are condos for sale in Chateau Montagne, a condominium development in Mammoth Lakes, CA, updated every day from the Mammoth MLS. If you would like more information on any of these Chateau Montagne condos for sale, just click the "Request More Information" button when viewing the details of that property. We can provide you with disclosures, past sales history, dates and prices of condos recently sold in the same development or nearby, and more.
And, if you haven't already, be sure to register for a free account so that you can receive email alerts whenever new Chateau Montagne condos for sale come on the market in Mammoth Lakes, California.

lowercased:
chateau de montagne built in 1971 is centrally located in town and on the shuttle route. these developments have had renovations completed throughout the years. for an updated list of renovations contact sierra resort real estate. chateau de montagne offers 48 units with the following amenities which include: pool, jacuzzi and sauna. parking offered is garage and open.
included below are condos for sale in chateau montagne, a condominium development in mammoth lakes, ca, updated every day from the mammoth mls. if you would like more information on any of these chateau montagne condos for sale, just click the "request more information" button when viewing the details of that property. we can provide you with disclosures, past sales history, dates and prices of condos recently sold in the same development or nearby, and more.
and, if you haven't already, be sure to register for a free account so that you can receive email alerts whenever new chateau montagne condos for sale come on the market in mammoth lakes, california.


text:
Your job will be published immediatly after payment. Right now a posting submission costs $1 / mo.
Company Name / Your Name:* Company Mail / Your Mail:* Company Website: Example: http://www.google.com/.

lowercased:
your job will be published immediatly after payment. right now a posting submission costs $1 / mo.
company name / your name:* company mail / your mail:* company website: example: http://www.google.com/.


text:
For whatever else may pose a threat to your vehicle's road performance, our knowledgeable auto specialists provide a number of other miscellaneous auto services. And because our work is guaranteed, you can rest assured that you're receiving the best workmanship possible. Let us know how we can help you! Contact us at 281-955-1998 to set up an appointment for additional quality auto services.
Sometimes auto repair needs arise long after most auto repair shops have closed (most auto repair shops close at 6 pm). With after-hours drop off services, you leave your car at the mechanics shop for repair even if the shop has closed. You simply fill out an envelope, put in your keys, and drop it in a drop box. The auto shop will only contact you when your car is ready or when they need additional information. At Poutous Auto Repair, we value your convenience and that is why we offer after-hours drop off services. A completed Drop-Off Form will help the mechanic diagnose any problems. Even if we have closed, you just drop-off your vehicle at our shop and our mechanics will work on it and contact you when it is ready.
As a fleet owner, you have to do all it takes to keep the fleet on the road. When any vehicle is out of service, both revenue and your reputation as a reliable business are at risk. To make sure your fleet of trucks/vehicles is always on the road, partner with a professional auto shop. At Poutous Auto Repair, we can manage your fleet repairs and maintenance. We make sure servicing is up to date and up to standards. We handle all aspects of fleet repairs and maintenance.
A wheel hub motor, also referred to as a wheel motor, is an electric motor incorporated into the wheel hub and drives it directly. You can have a safer and smoother ride today by replacing your warped and worn out wheel hubs. Let Poutous Auto Repair replace your worn out hubs today.
Properly working seals provide oil and grease sealing - offering enhanced performance in a wide range of temperatures and environments. Worn out or warped seals allow external contaminants to enter the bearing unit or let lubricant escape from the unit. This ultimately leads to premature failure of the bearing unit. To keep out contamination and retain lubricant in the bearings, have the seals replaced with new ones. To have the seals replaced by experts, contact or visit Poutous Auto Repair today.
Studs are the threaded fasteners that hold on the wheels of your truck. The wheel studs are permanently mounted on the wheel hub through the brake disk or brake drum. To secure the wheel, nuts (lug nuts) are fastened over the stud. Stripped wheel studs can be quite dangerous. Damaged wheel studs should be replaced with new ones immediately. To have your truck's wheel studs replaced with high quality ones, call 281-955-1998 or visit Poutous Auto Repair today.
A wheel nut or lug nut is a fastener for securing a wheel on the hub. A set of lug nuts are used to secure a wheel to the threaded wheel studs (which are fixed to a wheel hub). Worn out nuts means one thing - the wheel is not fixed securely on the vehicle which puts the vehicle at the risk of rolling over. To have your truck's wheels securely fastened to the hub, contact or visit Poutous Auto Repair in Houston, TX 77064 today.
An extended warranty (also known as a service contract) can provide peace of mind to most car buyers. The warranty (or service contract) kicks in after the usual manufacturer warranty has expired. An extended warranty covers major breakdowns and evens out the cost of repairs. Unfortunately, not all auto repair shops accept extended warranties. At Poutous Auto Repair in Houston, TX 77064, we accept most extended warranties. We let you use the service contract to save on auto repair costs.
Welding is the fabrication and sculptural process that joins metal parts. At Poutous Auto Repair, we offer various welding services. Simply give us a call at 281-955-1998 or visit our shop in Houston, TX.
Do you have a passion for speed and performance? Performance modifications on your car let you attain high levels of speed and performance. This type of modification involves changing or completely replacing some of your vehicle's parts with high performance ones to boost its performance and speed. Mechanics at Poutous Auto Repair have a passion for performance too. The mechanics will make all the necessary performance modifications to ensure you get the best performance from your drive. For all your performance modification needs, contact us at 281-955-1998 or visit Poutous Auto Repair today.
Are you planning to buy a new car? Don't take chances. Be confident about the car you are buying. Have pre-purchase inspections performed on the vehicle. Pre-purchase inspections involve examining the car's condition to ensure it is worth buying. At Poutous Auto Repair, we have pre-purchase inspection experts - mechanics who will scrutinize any car, make, and model and allow you to make an informed decision. Pre-purchase inspections will definitely give you peace of mind when you buy your next used car.
A pre-trip check up can make the difference between a safe trip and one that ends in a tragedy. The inspection aims at looking for possible defects and potential mechanical problems that could cause disaster. Before embarking on a trip you should make sure your car is fully inspected for safety. You can rely on the experts at Poutous Auto Repair. We have pre-trip inspection experts who are able to conduct safety inspections on any car, make, and model. Our experts are dedicated to ensuring you have a safe trip. Simply drop by or give us a call at 281-955-1998.
Although a trailer does not have an engine of its own, it does require some maintenance. The trailer needs wires to move current to the brake lights and other lights at the back. Poutous Auto Repair has qualified and experienced electricians who will handle your trailer maintenance. Call us at 281-955-1998 to schedule an appointment.
Wheel bearings are found inside of wheels, allowing the wheels to spin freely, and are connected to the brake system. They can become worn over time, causing a vibrating suspension and noisy rubbing as the car is driven. If they break completely, the vehicle will become very difficult to control and unsafe to drive. Replacement interval for wheel bearings varies greatly, but they should be checked for leaks and wear periodically. Poutous Auto Repair can make sure that your bearings are in good shape and let you know if they need replacement.

lowercased:
for whatever else may pose a threat to your vehicle's road performance, our knowledgeable auto specialists provide a number of other miscellaneous auto services. and because our work is guaranteed, you can rest assured that you're receiving the best workmanship possible. let us know how we can help you! contact us at 281-955-1998 to set up an appointment for additional quality auto services.
sometimes auto repair needs arise long after most auto repair shops have closed (most auto repair shops close at 6 pm). with after-hours drop off services, you leave your car at the mechanics shop for repair even if the shop has closed. you simply fill out an envelope, put in your keys, and drop it in a drop box. the auto shop will only contact you when your car is ready or when they need additional information. at poutous auto repair, we value your convenience and that is why we offer after-hours drop off services. a completed drop-off form will help the mechanic diagnose any problems. even if we have closed, you just drop-off your vehicle at our shop and our mechanics will work on it and contact you when it is ready.
as a fleet owner, you have to do all it takes to keep the fleet on the road. when any vehicle is out of service, both revenue and your reputation as a reliable business are at risk. to make sure your fleet of trucks/vehicles is always on the road, partner with a professional auto shop. at poutous auto repair, we can manage your fleet repairs and maintenance. we make sure servicing is up to date and up to standards. we handle all aspects of fleet repairs and maintenance.
a wheel hub motor, also referred to as a wheel motor, is an electric motor incorporated into the wheel hub and drives it directly. you can have a safer and smoother ride today by replacing your warped and worn out wheel hubs. let poutous auto repair replace your worn out hubs today.
properly working seals provide oil and grease sealing - offering enhanced performance in a wide range of temperatures and environments. worn out or warped seals allow external contaminants to enter the bearing unit or let lubricant escape from the unit. this ultimately leads to premature failure of the bearing unit. to keep out contamination and retain lubricant in the bearings, have the seals replaced with new ones. to have the seals replaced by experts, contact or visit poutous auto repair today.
studs are the threaded fasteners that hold on the wheels of your truck. the wheel studs are permanently mounted on the wheel hub through the brake disk or brake drum. to secure the wheel, nuts (lug nuts) are fastened over the stud. stripped wheel studs can be quite dangerous. damaged wheel studs should be replaced with new ones immediately. to have your truck's wheel studs replaced with high quality ones, call 281-955-1998 or visit poutous auto repair today.
a wheel nut or lug nut is a fastener for securing a wheel on the hub. a set of lug nuts are used to secure a wheel to the threaded wheel studs (which are fixed to a wheel hub). worn out nuts means one thing - the wheel is not fixed securely on the vehicle which puts the vehicle at the risk of rolling over. to have your truck's wheels securely fastened to the hub, contact or visit poutous auto repair in houston, tx 77064 today.
an extended warranty (also known as a service contract) can provide peace of mind to most car buyers. the warranty (or service contract) kicks in after the usual manufacturer warranty has expired. an extended warranty covers major breakdowns and evens out the cost of repairs. unfortunately, not all auto repair shops accept extended warranties. at poutous auto repair in houston, tx 77064, we accept most extended warranties. we let you use the service contract to save on auto repair costs.
welding is the fabrication and sculptural process that joins metal parts. at poutous auto repair, we offer various welding services. simply give us a call at 281-955-1998 or visit our shop in houston, tx.
do you have a passion for speed and performance? performance modifications on your car let you attain high levels of speed and performance. this type of modification involves changing or completely replacing some of your vehicle's parts with high performance ones to boost its performance and speed. mechanics at poutous auto repair have a passion for performance too. the mechanics will make all the necessary performance modifications to ensure you get the best performance from your drive. for all your performance modification needs, contact us at 281-955-1998 or visit poutous auto repair today.
are you planning to buy a new car? don't take chances. be confident about the car you are buying. have pre-purchase inspections performed on the vehicle. pre-purchase inspections involve examining the car's condition to ensure it is worth buying. at poutous auto repair, we have pre-purchase inspection experts - mechanics who will scrutinize any car, make, and model and allow you to make an informed decision. pre-purchase inspections will definitely give you peace of mind when you buy your next used car.
a pre-trip check up can make the difference between a safe trip and one that ends in a tragedy. the inspection aims at looking for possible defects and potential mechanical problems that could cause disaster. before embarking on a trip you should make sure your car is fully inspected for safety. you can rely on the experts at poutous auto repair. we have pre-trip inspection experts who are able to conduct safety inspections on any car, make, and model. our experts are dedicated to ensuring you have a safe trip. simply drop by or give us a call at 281-955-1998.
although a trailer does not have an engine of its own, it does require some maintenance. the trailer needs wires to move current to the brake lights and other lights at the back. poutous auto repair has qualified and experienced electricians who will handle your trailer maintenance. call us at 281-955-1998 to schedule an appointment.
wheel bearings are found inside of wheels, allowing the wheels to spin freely, and are connected to the brake system. they can become worn over time, causing a vibrating suspension and noisy rubbing as the car is driven. if they break completely, the vehicle will become very difficult to control and unsafe to drive. replacement interval for wheel bearings varies greatly, but they should be checked for leaks and wear periodically. poutous auto repair can make sure that your bearings are in good shape and let you know if they need replacement.


text:
My husband bought a new bicycle so that he can ride it to the office. He always wanted to buy one, because it takes about 45 mins to the office by foot, and also, it could be save money and time. Even when he goes to the office by car, often he is caught by the traffic jam an wasting time and petrol.
Anyway, my husband's coworker told us that more and more people start riding bicycles because of economic crisis and high price of petrol.
I've heard that price of a bicycle is doubled or even more in the last 3 years here in Zagreb. It might increases the number of stolen bicycles in Zagreb. I think it is not only the problem in Zagreb, but all European countries share it, but bicycles thefts are very serious problem. I've even heard about a story that a person locked his bike between the main frame and wheel and went to ATM, and in a few minutes when he looked away, someone took his bicycle. The photo above is the bicycle I found in Paris.
So, to avoid our bicycle be stolen, we keep the new bicycle inside our apartment.
The situation is very different from Japan, well, at least from my town and around. There are of course bike thefts. But, most cases, a thief steel a bike which is not locked, and the purpose of steeling is not to sell it but to get a quick ride to his destination and then just leave the bike there. So, when a bicycle is stolen, we usually report it to a local police and they will find it in a month with high chances.
I think compared to Holland and Denmark or other European countries, Zagreb needs to improve the bicycle roads a bit more. Well, compared to Japan, Zagreb is better, because in my town and around, we don't have it yet (I think we still don't...). Anyway, when you ride a bicycle in Zagreb, watch cars around you carefully. I found out that many Croatian drivers turns without turning the indicator or turns the indicator the moment when they turn. Which actually surprised me because the driving habits are bit different from Japan.

lowercased:
my husband bought a new bicycle so that he can ride it to the office. he always wanted to buy one, because it takes about 45 mins to the office by foot, and also, it could be save money and time. even when he goes to the office by car, often he is caught by the traffic jam an wasting time and petrol.
anyway, my husband's coworker told us that more and more people start riding bicycles because of economic crisis and high price of petrol.
i've heard that price of a bicycle is doubled or even more in the last 3 years here in zagreb. it might increases the number of stolen bicycles in zagreb. i think it is not only the problem in zagreb, but all european countries share it, but bicycles thefts are very serious problem. i've even heard about a story that a person locked his bike between the main frame and wheel and went to atm, and in a few minutes when he looked away, someone took his bicycle. the photo above is the bicycle i found in paris.
so, to avoid our bicycle be stolen, we keep the new bicycle inside our apartment.
the situation is very different from japan, well, at least from my town and around. there are of course bike thefts. but, most cases, a thief steel a bike which is not locked, and the purpose of steeling is not to sell it but to get a quick ride to his destination and then just leave the bike there. so, when a bicycle is stolen, we usually report it to a local police and they will find it in a month with high chances.
i think compared to holland and denmark or other european countries, zagreb needs to improve the bicycle roads a bit more. well, compared to japan, zagreb is better, because in my town and around, we don't have it yet (i think we still don't...). anyway, when you ride a bicycle in zagreb, watch cars around you carefully. i found out that many croatian drivers turns without turning the indicator or turns the indicator the moment when they turn. which actually surprised me because the driving habits are bit different from japan.


text:
A connection refers to any system that you want to integrate to or from. It may be a 365 Sales/CRM organization, a Dynamics NAV/GP on-premise solution, Salesforce instance or any of our available connectors. When you create that “connection” you are then able to use it in a data source or as a destination.
Generic data sources such as Excel, Text or XML files do not require a separate connection to be setup. These do not count towards your connection limit.
If you run two separate CRM instances for your organization then each one of these would be a connection.
Test environments and development environments will require their own connections and will count towards your limit. You can upgrade during implementation and then downgrade when these connections are no longer required.

lowercased:
a connection refers to any system that you want to integrate to or from. it may be a 365 sales/crm organization, a dynamics nav/gp on-premise solution, salesforce instance or any of our available connectors. when you create that “connection” you are then able to use it in a data source or as a destination.
generic data sources such as excel, text or xml files do not require a separate connection to be setup. these do not count towards your connection limit.
if you run two separate crm instances for your organization then each one of these would be a connection.
test environments and development environments will require their own connections and will count towards your limit. you can upgrade during implementation and then downgrade when these connections are no longer required.


text:
We all appreciate a good deal and some of us will go to the end of the earth trying to find that once in a lifetime purchase. Now it is a totally different topic wondering how much time spent is to much time and what your time is actually worth. However, when making any big purchase you need to steer far away from this instinctual behavior. It may be the easiest way to differentiate different quotes but trust me here it is not a good way to decide who you are going to use to complete the project. The best way to explain this is with a simple analogy. Most of us love a good meal and we will use surf and turf here since it is an American favorite. You cant make up where to have your birthday dinner party and are shopping around at several different restaurants to pick the best one. Low and behold you find a place where you can buy your favorite meal for only $6.99. What a deal! Would you feel comfortable having your family and friends dine at a place like this when everyone else was priced at $20+ per plate?
Use the same logic outlined above when purchasing a new roof or similar project. When buying a new house or used card we have all been conditioned to follow this train of thought, it is time to apply it to the construction industry as well. If an estimate comes in way lower then the rest it is usually for one of a several reasons. First, they may be using inferior materials or cutting corners wherever possible. If you plan on keeping your property for any length of time the short term savings may not be worth the long term potential for major issues. Something as common as a little roof leak can cause wood rotting, structural issues, and mold growth all of which can be huge expenses to fix. Secondly, you may be dealing with amateurs that either don’t have much experience bidding jobs or are so desperate for work they will do anything. In this instance you are likely to be used for a training ground so that these newbies can hone their craft and pray for a good outcome. That or they may need to use the money from your down payment to purchase materials for another project they are building. It is typically a bad sign when they ask for a large amount of money up front and wont tell you when they will be able to start the work. Lastly, it is a common trick of the trade to throw out a low ball estimate to win the job and then try to up charge once firmly into the demolition. Roofing contractors often figure it is a lot easier to negotiate for more money from the customers when their roof is laying in the front yard.
You want to make sure to focus on important aspects that often get overlooked. One of such things are company reviews. Do they have a good rating at the BBB? Are they listed on a site such as Angie’s List and do people have good things to say about them? Can they provide any personal references of local customers that are satisfied with the work completed? Some times it makes sense to pay a little bit more for work that you know is going to be done quickly and professionally. Make sure that the person you are going to hire is fully licensed and insured. Check the states website, such as this one for the state of Michigan, to make sure they do not have any outstanding violations. Most cities now require the contractor to provide all of this information before pulling a permit to protect the consumer so absolutely never agree to do this yourself for anyone. If they cant pull a permit themselves there is a reason for it and it isn’t good! Many contractors can no longer afford insurance as it is quite expensive and instead carry fake policies. Before signing a contract ask for a copy of their insurance policy and call the provider yourself to ensure it isn’t fraudulent. All it takes is one accident to occur on your property for you to lose everything to some low life that lied to you. It is not worth the risk and many people out there are just waiting to prey on unsuspecting victims in this manner.
How much is to much for a down payment?
I cant say that you should never give a contractor any money up front but I can say that it is the best way to protect yourself. Smaller companies or independent contractors wont strip a shingle off your roof without 50% or more down. Bigger companies are capable of paying for their own materials upfront and want to make sure you are completely satisfied before getting paid. This alone is worth a substantial amount as it gives you peace of mind that the work will be done in a timely fashion and up to your personal standards. It allows for you to keep your money in investments or savings accounts or stashed under the bed. Either way it is a much better feeling to have a little control of the project. There is nothing worse then handing several thousands dollars over to a stranger and then to have to constantly call them trying to figure out where they are and when they are going to start working.
Again, this is not the deciding factor here but should be weighted heavily. Financing can be great for a number of reasons but that all depends on personal circumstances. When financing a new roof in Michigan for instance the rates are so competitive that it makes the most sense to take advantage of these programs while they are available. Michigan roofing loans are also available unsecured which means that the lender does not even place a lien on your property. This is a huge benefit that is even more important than interest rate because god forbid you have a lien placed it can be very difficult to get it removed if there are any disputes. More importantly, lenders are very careful which contractors they conduct business with. They do a thorough background check and even perform a financial audit in order to make sure everything is above board. That means you can typically feel confident in the company you have hire if they are able to provide you with a loan for that home improvement project.
Have you ever taken out a loan for something like a new roof?

lowercased:
we all appreciate a good deal and some of us will go to the end of the earth trying to find that once in a lifetime purchase. now it is a totally different topic wondering how much time spent is to much time and what your time is actually worth. however, when making any big purchase you need to steer far away from this instinctual behavior. it may be the easiest way to differentiate different quotes but trust me here it is not a good way to decide who you are going to use to complete the project. the best way to explain this is with a simple analogy. most of us love a good meal and we will use surf and turf here since it is an american favorite. you cant make up where to have your birthday dinner party and are shopping around at several different restaurants to pick the best one. low and behold you find a place where you can buy your favorite meal for only $6.99. what a deal! would you feel comfortable having your family and friends dine at a place like this when everyone else was priced at $20+ per plate?
use the same logic outlined above when purchasing a new roof or similar project. when buying a new house or used card we have all been conditioned to follow this train of thought, it is time to apply it to the construction industry as well. if an estimate comes in way lower then the rest it is usually for one of a several reasons. first, they may be using inferior materials or cutting corners wherever possible. if you plan on keeping your property for any length of time the short term savings may not be worth the long term potential for major issues. something as common as a little roof leak can cause wood rotting, structural issues, and mold growth all of which can be huge expenses to fix. secondly, you may be dealing with amateurs that either don’t have much experience bidding jobs or are so desperate for work they will do anything. in this instance you are likely to be used for a training ground so that these newbies can hone their craft and pray for a good outcome. that or they may need to use the money from your down payment to purchase materials for another project they are building. it is typically a bad sign when they ask for a large amount of money up front and wont tell you when they will be able to start the work. lastly, it is a common trick of the trade to throw out a low ball estimate to win the job and then try to up charge once firmly into the demolition. roofing contractors often figure it is a lot easier to negotiate for more money from the customers when their roof is laying in the front yard.
you want to make sure to focus on important aspects that often get overlooked. one of such things are company reviews. do they have a good rating at the bbb? are they listed on a site such as angie’s list and do people have good things to say about them? can they provide any personal references of local customers that are satisfied with the work completed? some times it makes sense to pay a little bit more for work that you know is going to be done quickly and professionally. make sure that the person you are going to hire is fully licensed and insured. check the states website, such as this one for the state of michigan, to make sure they do not have any outstanding violations. most cities now require the contractor to provide all of this information before pulling a permit to protect the consumer so absolutely never agree to do this yourself for anyone. if they cant pull a permit themselves there is a reason for it and it isn’t good! many contractors can no longer afford insurance as it is quite expensive and instead carry fake policies. before signing a contract ask for a copy of their insurance policy and call the provider yourself to ensure it isn’t fraudulent. all it takes is one accident to occur on your property for you to lose everything to some low life that lied to you. it is not worth the risk and many people out there are just waiting to prey on unsuspecting victims in this manner.
how much is to much for a down payment?
i cant say that you should never give a contractor any money up front but i can say that it is the best way to protect yourself. smaller companies or independent contractors wont strip a shingle off your roof without 50% or more down. bigger companies are capable of paying for their own materials upfront and want to make sure you are completely satisfied before getting paid. this alone is worth a substantial amount as it gives you peace of mind that the work will be done in a timely fashion and up to your personal standards. it allows for you to keep your money in investments or savings accounts or stashed under the bed. either way it is a much better feeling to have a little control of the project. there is nothing worse then handing several thousands dollars over to a stranger and then to have to constantly call them trying to figure out where they are and when they are going to start working.
again, this is not the deciding factor here but should be weighted heavily. financing can be great for a number of reasons but that all depends on personal circumstances. when financing a new roof in michigan for instance the rates are so competitive that it makes the most sense to take advantage of these programs while they are available. michigan roofing loans are also available unsecured which means that the lender does not even place a lien on your property. this is a huge benefit that is even more important than interest rate because god forbid you have a lien placed it can be very difficult to get it removed if there are any disputes. more importantly, lenders are very careful which contractors they conduct business with. they do a thorough background check and even perform a financial audit in order to make sure everything is above board. that means you can typically feel confident in the company you have hire if they are able to provide you with a loan for that home improvement project.
have you ever taken out a loan for something like a new roof?


text:
miniOrange provides a ready to use solution for Gartner. This solution ensures that you are ready to roll out secure access to Gartner to your employees within minutes.
miniOrange SSO (Single Sign-on) provides secure autologin to all your apps in cloud or on-premise, from any mobile platform including iPhone, Android.It quickly increases security of information and resources for your Gartner app without worrying about time for initial set up or future upgrades.

lowercased:
miniorange provides a ready to use solution for gartner. this solution ensures that you are ready to roll out secure access to gartner to your employees within minutes.
miniorange sso (single sign-on) provides secure autologin to all your apps in cloud or on-premise, from any mobile platform including iphone, android.it quickly increases security of information and resources for your gartner app without worrying about time for initial set up or future upgrades.