Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Inuktun Services Ltd.
Mailing Address:
C-2569 Kenworth RdNANAIMO, British Columbia
V9T 3M4
Location Address:
C-2569 Kenworth RdNANAIMO, British Columbia
V9T 3M4
Tel.:<PHONE_NUMBER>
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
Inuktun Services Ltd. is a world leading designer and manufacturer of Modular Mobile Robotic Crawler Vehicles and Industrial Waterproof Video Cameras used for remote inspection of confined spaces and hazardous environments. Since 1989, Inuktun has built a reputation as the expert in remote controlled robotic transport, visual inspection equipment and instrumentation tooling. Reliability, efficiency, quality, and cost-effectiveness are emphasized in the design of all Inuktun products.
Full profile
Full profile
Contact information
Company description
333990 - All Other General-Purpose Machinery Manufacturing
541330 - Engineering Services
541710 - Research and Development in the Physical, Engineering and Life Sciences
Product / Service / Licensing
The VT450 showcases a variety of IM3 technologies in the flexible system. The Minitracs™ allow maneuverability in confined spaces and over obstacles; the Spectrum 90™ camera can be collapsed to navigate through tight spaces and lifted for a 360 degree view from an intuitive position; the four-function manipulator unfolds from the crawler for remote handling of articles and debris, and includes a second integrated camera allowing the user to closely monitor items during handling; forward and rear-facing LED auxiliary lights allow for high visibility in low light situations.
--
http://www.inuktun.com/crawler-vehicles/versatrax-450.html
Versatile and customizable, the Versatrax 300™ can deploy sensors and tooling in even the most remote and unaccommodating environments and locations. All units are configurable for round pipe or flat surface operation, and adjustable for a range of diameters.
Whatever your remote testing, assessment or construction needs — from video and sonar, to lasers and multi-sensor inspection — the VT300 delivers, with ultra long-range capability, extra payload capacity and friendly, intuitive control systems.
--
http://www.inuktun.com/crawler-vehicles/versatrax-300.html
This low maintenance crawler is simple to deploy and can be used both underwater and in dry applications making it ideal for
in-service conditional assessments of sewers and storm drains, hydroelectric penstocks, and a range of other pipework found in the oil and gas, nuclear, petrochemical, and mining sectors. Ease of use, operational power and unmatched reliability make the Versatrax 150™ an ideal tool for your unique inspection requirements.
--
http://www.inuktun.com/crawler-vehicles/versatrax-150.html
With options that include multiple cameras, magnetic attachments, sunlight readable monitors and image enhancement systems, the possibilities are endless. Like all Inuktun crawlers, it is simple to use and quick to deploy making it ideal for scheduled or emergency inspections in petrochemical plants, nuclear generating stations, hydro-electric facilities, refineries and more. Best of all, the VT100 is compliant with Inuktun’s Multi-Mission Modular (IM3) technology so you can scale up your capability as your project needs evolve.
--
http://www.inuktun.com/crawler-vehicles/versatrax-100.html
(RVI) of storage tanks, rail cars, pressure vessels, piping systems, nuclear power installations, ship hulls, offshore facilities, and more. Operable above, below or at the waterline, this remotely controlled robotic system offers unparalleled performance in the most challenging environments. And, because it is just one configuration of the Versatrax 100™ crawler, the MicroMag™ is easily adaptable for a range of applications. Multiple vehicle chassis, pan and tilt cameras, long cable lengths and ultrasonic testing (UT) probes are all optional as standard equipment. Or, when something more specific is required,
we can integrate client supplied sensors or tools quickly and economically. Easy to deploy and simple to operate, the MicroMag™ system gets you where you need to go... even in the splash zone.
--
http://www.inuktun.com/crawler-vehicles/versatrax-100-micromag.html
camera and a rear facing fixed camera, the vehicle itself is still small enough to enter extremely confined spaces like pipes, pressure vessels and HVAC ductwork. The integrated rare-earth magnets and lightweight construction allow it to operate horizontally, vertically, or even upside down on most ferrous metal surfaces.
And, with the built-in variable intensity lighting and remote focus capability, the NanoMag™ is effective for evaluating the
smallest details and features, like hairline cracks or corrosion pitting. Truly portable, the entire system is packaged in two
Pelican® cases making it easy to transport and quick to deploy in almost any environment.
--
http://www.inuktun.com/crawler-vehicles/nanomag.html
When ordered with the optional equipment installed, the camera head offers an internal continuous tilting mechanism with the HD camera module, laser lines and high intensity LED lighting (both spot and flood lamps), all in a rugged waterproof housing. Best of all – it is truly modular. The camera head can be easily removed from the vehicle and attached to a telescoping carbon fibre pole for quick viewing in tanks, pressure vessels, manholes or almost any confined space.
--
http://www.inuktun.com/crawler-vehicles/vgtv.html
camera delivers true High Definition (HD) video with advanced imaging options including defog, stabilization and color
enhancement. Designed with a wide range of industry requirements in mind, this camera incorporates proprietary Inuktun technology in order to transmit HD video signals reliably over copper conductors up to 300 metres long.
And, with available options that include 10x or 30x zoom capability, built-in laser lines, deep water pressure ratings, spot
LED lights, interlocking deployment poles, and extended distance with fiber optic cables, the Spectrum 120HD™ is
unmatched in almost every application. When utilized as a standalone tool or part of a remote crawler system, the
SP120HD is perfect for detailed remote visual inspection of storage tanks, pressure vessels, mine shafts, nuclear power
installations, pipelines, or any industrial structure with limited or unsafe access.
--
http://www.inuktun.com/camera-systems/spectrum-120-hd.html
resolution available in a standard definition amphibious PTZ camera. With an incredible 480x zoom and four built-in high
intensity LED lights, the SP120 provides superior quality images over extremely long distances. Whether inspecting storage tanks and large pressure vessels, monitoring open areas and underwater structures, or reading and cataloging serial numbers in nuclear fuel pools, the Spectrum 120™ offers unparalleled imaging capabilities.
Available options include portable or PC based control systems, extended length umbilical cables, interlocking deployment poles, parallel laser lines and deep water pressure ratings. And, just like all of the Spectrum™ cameras, the SP120 is available as a complete turn key inspection package, integrated in Inuktun crawlers or combined with third party design.
--
http://www.inuktun.com/camera-systems/spectrum-120.html
remarkably small package. Incorporating a range of options and extended capabilities, the SP90 is ideal for the remote
visual inspection of subsea structures, nuclear power installations, pressure vessels, storage tanks, pipelines, or any
industrial structure that precludes manned entry. And, because of its unique spherical head design, all of the functions can be utilized without ever changing the working envelope of the camera – meaning it won’t get stuck, even in the tightest spaces.
Available as an OEM product for integration into third party designs, a full turn-key inspection package or as part of a
complete crawler system, the standard Spectrum 90™ camera includes variable intensity LED lighting, optical and digital
zoom, automatic or manual focus and exposure control inclinometer, and accurate position feedback. With available
options including embedded parallel laser lines, stainless steel construction and deep-water certification the potential applications are almost limitless.
--
http://www.inuktun.com/camera-systems/spectrum-90.html
package. Easy to deploy and operate, the system incorporates controls for remote focus and built-in LED lighting allowing
maximum visibility in low light conditions and confined spaces. And, with long cable deployment options and the ability to function effectively in air or underwater, it can be used almost anywhere.
One of the smallest cameras in its class, the Spectrum 45™ is available as a stand-alone system for visual examination inside of caissons, wells, and pressure vessels. When integrated with the Inuktun Versatrax 100™, MicroMag™ or NanoMag™ crawlers, it is ideal for inspecting a wide range of infrastructure including piping, storage tanks and nuclear reactors. And, because the Spectrum 45™ adheres to our Multi-Mission Modular (IM3) design philosophy, it can be easily integrated into third party designs including Remotely Operated Vehicles (ROVs), manipulators or pipe inspection systems.
--
http://www.inuktun.com/camera-systems/spectrum-45.html
sensors, cameras or tooling packages everywhere you need to go.
Precision machined and assembled with only the highest quality components, these compact tractor modules can be purchased as part of a complete system including power supply, controller and tether cable, or as individual OEM assemblies for integration into third party designs.
--
http://www.inuktun.com/crawler-tracks/minitracs.html
As one of the building blocks of Inuktun’s Multi-Mission Modular (IM3) technology, Microtracs™ are included in many of our standard and customized Versatrax™ crawler systems. They are easily combined with Inuktun’s Spectrum™ cameras, third party components or NDT probes to build fully functional and precise inspection tools. Or, for OEM clients with precise integration and operational requirements, the tracks can be purchased separately with specific options for interface technologies, travel speed and depth rating.
--
http://www.inuktun.com/crawler-tracks/microtracs.html
Spectrum 45™ camera with a remotely operated cleaning brush system and options for other cameras and inspection
technologies, like ultrasonic thickness probes or other NDT sensors. Articulated track mounts allow the vehicle to maintain
its hold on flat or curved surfaces, even while steering and cleaning – so you can get where you need to go.
And, just like all of our OnDemand Specialty Systems, the options to customize are almost endless. Whatever your application – from waterjet tools and manipulator arms, to laser profiling sensors and CP probes – most equipment can be easily integrated onto the vehicle quickly and economically.
--
http://inuktun.com/crawler-vehicles/
measurements on ship hulls, pressure vessels, large diameter pipes or almost any steel infrastructure. Portable and powerful,
the MUM incorporates a Crystal Cam® camera and an ultrasonic testing (UT) transducer from Cygnus Instruments – a world
leader in diver held NDT systems; their integrated technology allows inspectors to employ different echo features for error
checking measurements through thick coatings, uncoated surfaces with heavy back-wall corrosion or pitting, or on painted surfaces with heavy back-wall corrosion.
Easy to operate, quick to deploy, and surprisingly affordable, the MaggUT™-Marine includes a PC based control system that records both the live video and the thickness readings automatically. And, Inuktun’s Multi-Mission Modular (IM3) technology makes it easy to swap in dual or single mode UT probes, a Spectrum 45™ pan and tilt camera or a longer tether cable whenever the need arises.
--
http://inuktun.com/crawler-vehicles/
And, because it is designed to work with industry standard UT probes and thickness gauges like those from Olympus or GE, most technicians won’t even need training. Providing both RVI and UT in a single affordable package makes the MaggUT™ a must-have for any inspection professional.
--
http://inuktun.com/crawler-vehicles/
diameter. Based on the Picotrac™ transporter modules and the Crystal Cam® Onyx camera, the Versatrax 50™ raises the
bar for confined space entry and inspection. The standard crawler vehicle comes with a simple camera and LED lighting, but it can easily be outfitted with other sensors for specific client needs.
A first for the industry, the Versatrax 50™ provides real-time colour video in small pipelines, ducts, channels and other tight
spaces. But don't let its small size fool you — the Versatrax 50™ features a 4.5 kilogram (10 pound) pull rating with an
option for higher torque versions. Capable of operating in air or underwater, and with cables as long as 100 metres (330 feet), the VT50 can get to areas that are simply inaccessible with other technologies.
--
http://inuktun.com/crawler-vehicles/
Independent control of each track allows the vehicle to easily navigate multiple bends and vertical pipe segments over
distances up to 180m / 600ft. Auxiliary LED lighting compliments the high quality video captured by the onboard cameras, while real-time sensors indicate pipe size and expansion force.
Constructed out of marine grade anodized aluminum and stainless steel, the VT100VC is extremely durable and fully submersible for underwater applications.
--
http://inuktun.com/crawler-vehicles/versatrax-vertical-crawler.html
copper tether cable, with options for longer lengths using fibre optics. In its in-line configuration, operators can examine pipes
from 150 to 300 millimetres (6 to 12 inches) in diameter. For bigger pipes, the vehicle is reconfigured with a parallel chassis, incorporating a remotely motorized camera raise and two high intensity LED lights.
The Versatrax 150™ Mark II is well suited to a variety of inspection applications including sewers, storm drains,
hydroelectric penstocks and fish bypass lines, petrochemical and power plant intake pipelines, and difficult to access pipes in
the oil and gas industry. And, like all of our OnDemand Specialty Systems, it is easily customized with an array of optional
equipment including high definition pan-tilt-zoom cameras, retrieval tools, laser measurement and profiling systems, sonar
and other Non-Destructive Testing (NDT) sensors.
--
http://inuktun.com/crawler-vehicles/
Minitracs™ and a Spectrum 90™ pan, tilt and zoom camera. The vehicle operates in pipe ranges from 457 to 914 millimetres (18 to 36 inches), easily adapting to its environment with a remote pipe adjusting chassis. Basic functions for control and
maneuverability allows operators to quickly learn and navigate the flexible system.
Support for nondestructive testing sensors and tooling is readily available to capture specific data requirements for custom
projects. Ideal for flexible risers, vertical and inclinded pipework and caissons, steam headers, vertical air and seawater intakes, oil and gas refineries, water and sewer pipelines, the VT150VC is the trusted solution for asset integrity condition assessments of those seemingly inaccessible industrial locations.
--
http://inuktun.com/crawler-vehicles/
Technology profile
To ensure and maintain the companys high standard of quality, systems integration and testing are completed with in-house electronic and machine assembly staff. In addition, Inuktun regularly develops formal partnerships with other businesses and consultants to provide specialty engineering in accordance with design criteria. As a result, Inuktun is able to provide customers with innovative, high-quality equipment that is functionally reliable, easily operated, and cost-effective.
Market profile
Alliances:
- Sales/Marketing
Strategic alliances:
Inuktun Services Ltd. wishes to expand its current global agent network in the European Economic Community, South East Asia and the Middle East. Inuktun invites contact from qualified companies interested in joint marketing, licensing and technology transfer. Please email<EMAIL_ADDRESS>for more information.Industry sector market interests:
- Agriculture
- Construction
- Environment
- Fishery
- Information Technology and Telecommunications
- Manufacturing
- Mining/Petroleum/Gas
- Service Industry
- Transportation
- Aerospace
- Defence
- Pulp and Paper
Geographic markets:
Export experience:
- Argentina
- Australia
- Brazil
- Chile
- China
- France
- Japan
- Korea, Democratic People's Republic of
- Malaysia
- New Zealand
- Norway
- Peru
- Singapore
- Spain
- Taiwan
- United Kingdom
- United States
- Viet Nam
Actively pursuing:
- Egypt
- Germany
- India
- Indonesia
- Italy
- Korea, Republic of
- Netherlands
- Sweden
Sector information
Classification codes
Unique applications:
All of Inuktuns systems are built on the foundation of modular design. Clients can select from a range of standard camera, crawler and modular controllers to create their own off-the-shelf, yet 'customized' solution.Inuktuns systems can be used as a platform for the addition of manipulators, sensors, sonars, and any other desired products.
Not only are the product components modular, but the chassis have also been designed with flexible configurations allowing them to be used in multiple applications. All of the Versatrax systems can be easily converted from parallel to in-line configuration to fit within a variety of pipe sizes.
Key / Major clients:
Inuktun has an excellent track record in providing complex, custom, mobile robotic systems to clients such as NASA, the US Army Corps of Engineers, Ontario Power Generation (OPG), BC Hydro, GE Nuclear Energy, Hitachi, Beijing Municipal, Idaho National Laboratory (US Department of Energy), Atomic Energy Corporation of Canada, US Naval Research Lab, and many others.Success stories:
INUTKUN SYSTEM GOES TO TURKEYMahmut Altinbas, owner of Turkey-based Altinbas Insaat, spent three months researching equipment to help him with the construction of utility services before purchasing a VersaTrax 150 and a Crystal Cam® Push Camera from Inuktun. Read More at the link below.
--
http://www.inuktun.com/whats-new/inuktun-system-goes-to-turkey.html
--
INUKTUN AT WORLD'S BIGGEST OIL REFINERY
When Tecni-A-Bordo has a dangerous job to do, they need reliable equipment. The pipe inspection company, based in Venezuela, was recently awarded a preventative maintenance contract at the biggest oil refinery in the world. They are the only company in the country with the right certification to do the job. Read More at the link below.
--
http://www.inuktun.com/whats-new/tecni-a-bordo-relies-on-inuktun.html
--
COPPER GIANT TAKES INUKTUN FURTHER THAN EVER
For the world's largest single mine copper producer, extreme conditions call for exceptional equipment. Mining in breathtakingly large open pits at 11,000ft / 3,300m presents specific challenges which Minera Escondida, who produces 6% of the world's copper, must overcome daily. Read More at the link below.
--
http://www.inuktun.com/whats-new/copper-giant-escondida-takes-vt150-crawler-further-than-ever.html
--
READ MORE COMPANY SUCCESS STORIES
http://www.inuktun.com/whats-new/news-archive.html
Testimonial:
John Chad, President | Underground Pipe Inspectors, Ltd. | Calgary, Alberta"We at Underground Pipe Inspectors are very pleased to have purchased the Versatrax 150. This little workhorse is the backbone of our company. In the time we have had it in the field, we have found that we can adjust it to any situation, quickly and it runs through the line with ease. Even when the lines have not been completely cleaned, this unit runs over the debris with relative ease."
--
Graham Holloway | Contracts Manager | M S Industrial Services Ltd. | Aberdeen, UK
"We have recently procured the Versatrax 150 and Versatrax 100 camera inspection systems from Inuktun. The inclusion of this specialist equipment in our fleet has proved to bring added value to the service we now offer our clients. We found our existing CCTV inspection systems to be limited in respect of achievable survey length and the systems only afforded us limited ability when faced with difficult applications. The Versatrax 150 & Versatrax 100 systems give us the ability to handle steep inclines/declines in piping systems as well as an increased mobility within box culverts,tank bases,etc."
--
William F. Aichele | General Manager | Inshore Divers | Pittsburg, CA, USA
"I just wanted to take a moment and tell you how pleased we are with the Versatrax unit we recently purchased. The unit arrived, was unpacked, tested, repackaged and sent out on a 60 day operation. It performed flawlessly and the job was successful. Again, thanks to Inuktun's reponse to our request and be assured that if I am ever asked for crawler ROV recommendations, your companys name will be our first."
--
Deborah Porath | Vice President | Underground Pipe Inspectors Ltd | Calgary, Alberta
"Toughness. Easy to maintain. Good service. Picture clarity Inuktun has the best!"
--
Marc Maurier | President | Cam-Trac Inspections Services Ltd | Legal, Alberta
"... whether it be the climate or the harsh pipe environment, one thing is certain when using Inuktun's equipment and Cam-Trac's expertise - the job will always get done."
--
Mike Wright | MC Wright and Associates | Nanaimo, British Columbia
"Our clients appreciate the quality of our video footage and always remark on the clarity of images we provide."
--
Shaun Rafferty | President | Dundee Marine | Hartington, Ontario
"I'm in and out of small boats everyday diving shallow water -- it's hard on cameras. I have used every camera out there ... no really, I mean every camera. None of them stand up the way yours do."
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
333990 - All Other General-Purpose Machinery Manufacturing
541330 - Engineering Services
541710 - Research and Development in the Physical, Engineering and Life Sciences
Products, services and licensing
Product / Service / Licensing
The VT450 showcases a variety of IM3 technologies in the flexible system. The Minitracs™ allow maneuverability in confined spaces and over obstacles; the Spectrum 90™ camera can be collapsed to navigate through tight spaces and lifted for a 360 degree view from an intuitive position; the four-function manipulator unfolds from the crawler for remote handling of articles and debris, and includes a second integrated camera allowing the user to closely monitor items during handling; forward and rear-facing LED auxiliary lights allow for high visibility in low light situations.
--
http://www.inuktun.com/crawler-vehicles/versatrax-450.html
Versatile and customizable, the Versatrax 300™ can deploy sensors and tooling in even the most remote and unaccommodating environments and locations. All units are configurable for round pipe or flat surface operation, and adjustable for a range of diameters.
Whatever your remote testing, assessment or construction needs — from video and sonar, to lasers and multi-sensor inspection — the VT300 delivers, with ultra long-range capability, extra payload capacity and friendly, intuitive control systems.
--
http://www.inuktun.com/crawler-vehicles/versatrax-300.html
This low maintenance crawler is simple to deploy and can be used both underwater and in dry applications making it ideal for
in-service conditional assessments of sewers and storm drains, hydroelectric penstocks, and a range of other pipework found in the oil and gas, nuclear, petrochemical, and mining sectors. Ease of use, operational power and unmatched reliability make the Versatrax 150™ an ideal tool for your unique inspection requirements.
--
http://www.inuktun.com/crawler-vehicles/versatrax-150.html
With options that include multiple cameras, magnetic attachments, sunlight readable monitors and image enhancement systems, the possibilities are endless. Like all Inuktun crawlers, it is simple to use and quick to deploy making it ideal for scheduled or emergency inspections in petrochemical plants, nuclear generating stations, hydro-electric facilities, refineries and more. Best of all, the VT100 is compliant with Inuktun’s Multi-Mission Modular (IM3) technology so you can scale up your capability as your project needs evolve.
--
http://www.inuktun.com/crawler-vehicles/versatrax-100.html
(RVI) of storage tanks, rail cars, pressure vessels, piping systems, nuclear power installations, ship hulls, offshore facilities, and more. Operable above, below or at the waterline, this remotely controlled robotic system offers unparalleled performance in the most challenging environments. And, because it is just one configuration of the Versatrax 100™ crawler, the MicroMag™ is easily adaptable for a range of applications. Multiple vehicle chassis, pan and tilt cameras, long cable lengths and ultrasonic testing (UT) probes are all optional as standard equipment. Or, when something more specific is required,
we can integrate client supplied sensors or tools quickly and economically. Easy to deploy and simple to operate, the MicroMag™ system gets you where you need to go... even in the splash zone.
--
http://www.inuktun.com/crawler-vehicles/versatrax-100-micromag.html
camera and a rear facing fixed camera, the vehicle itself is still small enough to enter extremely confined spaces like pipes, pressure vessels and HVAC ductwork. The integrated rare-earth magnets and lightweight construction allow it to operate horizontally, vertically, or even upside down on most ferrous metal surfaces.
And, with the built-in variable intensity lighting and remote focus capability, the NanoMag™ is effective for evaluating the
smallest details and features, like hairline cracks or corrosion pitting. Truly portable, the entire system is packaged in two
Pelican® cases making it easy to transport and quick to deploy in almost any environment.
--
http://www.inuktun.com/crawler-vehicles/nanomag.html
When ordered with the optional equipment installed, the camera head offers an internal continuous tilting mechanism with the HD camera module, laser lines and high intensity LED lighting (both spot and flood lamps), all in a rugged waterproof housing. Best of all – it is truly modular. The camera head can be easily removed from the vehicle and attached to a telescoping carbon fibre pole for quick viewing in tanks, pressure vessels, manholes or almost any confined space.
--
http://www.inuktun.com/crawler-vehicles/vgtv.html
camera delivers true High Definition (HD) video with advanced imaging options including defog, stabilization and color
enhancement. Designed with a wide range of industry requirements in mind, this camera incorporates proprietary Inuktun technology in order to transmit HD video signals reliably over copper conductors up to 300 metres long.
And, with available options that include 10x or 30x zoom capability, built-in laser lines, deep water pressure ratings, spot
LED lights, interlocking deployment poles, and extended distance with fiber optic cables, the Spectrum 120HD™ is
unmatched in almost every application. When utilized as a standalone tool or part of a remote crawler system, the
SP120HD is perfect for detailed remote visual inspection of storage tanks, pressure vessels, mine shafts, nuclear power
installations, pipelines, or any industrial structure with limited or unsafe access.
--
http://www.inuktun.com/camera-systems/spectrum-120-hd.html
resolution available in a standard definition amphibious PTZ camera. With an incredible 480x zoom and four built-in high
intensity LED lights, the SP120 provides superior quality images over extremely long distances. Whether inspecting storage tanks and large pressure vessels, monitoring open areas and underwater structures, or reading and cataloging serial numbers in nuclear fuel pools, the Spectrum 120™ offers unparalleled imaging capabilities.
Available options include portable or PC based control systems, extended length umbilical cables, interlocking deployment poles, parallel laser lines and deep water pressure ratings. And, just like all of the Spectrum™ cameras, the SP120 is available as a complete turn key inspection package, integrated in Inuktun crawlers or combined with third party design.
--
http://www.inuktun.com/camera-systems/spectrum-120.html
remarkably small package. Incorporating a range of options and extended capabilities, the SP90 is ideal for the remote
visual inspection of subsea structures, nuclear power installations, pressure vessels, storage tanks, pipelines, or any
industrial structure that precludes manned entry. And, because of its unique spherical head design, all of the functions can be utilized without ever changing the working envelope of the camera – meaning it won’t get stuck, even in the tightest spaces.
Available as an OEM product for integration into third party designs, a full turn-key inspection package or as part of a
complete crawler system, the standard Spectrum 90™ camera includes variable intensity LED lighting, optical and digital
zoom, automatic or manual focus and exposure control inclinometer, and accurate position feedback. With available
options including embedded parallel laser lines, stainless steel construction and deep-water certification the potential applications are almost limitless.
--
http://www.inuktun.com/camera-systems/spectrum-90.html
package. Easy to deploy and operate, the system incorporates controls for remote focus and built-in LED lighting allowing
maximum visibility in low light conditions and confined spaces. And, with long cable deployment options and the ability to function effectively in air or underwater, it can be used almost anywhere.
One of the smallest cameras in its class, the Spectrum 45™ is available as a stand-alone system for visual examination inside of caissons, wells, and pressure vessels. When integrated with the Inuktun Versatrax 100™, MicroMag™ or NanoMag™ crawlers, it is ideal for inspecting a wide range of infrastructure including piping, storage tanks and nuclear reactors. And, because the Spectrum 45™ adheres to our Multi-Mission Modular (IM3) design philosophy, it can be easily integrated into third party designs including Remotely Operated Vehicles (ROVs), manipulators or pipe inspection systems.
--
http://www.inuktun.com/camera-systems/spectrum-45.html
sensors, cameras or tooling packages everywhere you need to go.
Precision machined and assembled with only the highest quality components, these compact tractor modules can be purchased as part of a complete system including power supply, controller and tether cable, or as individual OEM assemblies for integration into third party designs.
--
http://www.inuktun.com/crawler-tracks/minitracs.html
As one of the building blocks of Inuktun’s Multi-Mission Modular (IM3) technology, Microtracs™ are included in many of our standard and customized Versatrax™ crawler systems. They are easily combined with Inuktun’s Spectrum™ cameras, third party components or NDT probes to build fully functional and precise inspection tools. Or, for OEM clients with precise integration and operational requirements, the tracks can be purchased separately with specific options for interface technologies, travel speed and depth rating.
--
http://www.inuktun.com/crawler-tracks/microtracs.html
Spectrum 45™ camera with a remotely operated cleaning brush system and options for other cameras and inspection
technologies, like ultrasonic thickness probes or other NDT sensors. Articulated track mounts allow the vehicle to maintain
its hold on flat or curved surfaces, even while steering and cleaning – so you can get where you need to go.
And, just like all of our OnDemand Specialty Systems, the options to customize are almost endless. Whatever your application – from waterjet tools and manipulator arms, to laser profiling sensors and CP probes – most equipment can be easily integrated onto the vehicle quickly and economically.
--
http://inuktun.com/crawler-vehicles/
measurements on ship hulls, pressure vessels, large diameter pipes or almost any steel infrastructure. Portable and powerful,
the MUM incorporates a Crystal Cam® camera and an ultrasonic testing (UT) transducer from Cygnus Instruments – a world
leader in diver held NDT systems; their integrated technology allows inspectors to employ different echo features for error
checking measurements through thick coatings, uncoated surfaces with heavy back-wall corrosion or pitting, or on painted surfaces with heavy back-wall corrosion.
Easy to operate, quick to deploy, and surprisingly affordable, the MaggUT™-Marine includes a PC based control system that records both the live video and the thickness readings automatically. And, Inuktun’s Multi-Mission Modular (IM3) technology makes it easy to swap in dual or single mode UT probes, a Spectrum 45™ pan and tilt camera or a longer tether cable whenever the need arises.
--
http://inuktun.com/crawler-vehicles/
And, because it is designed to work with industry standard UT probes and thickness gauges like those from Olympus or GE, most technicians won’t even need training. Providing both RVI and UT in a single affordable package makes the MaggUT™ a must-have for any inspection professional.
--
http://inuktun.com/crawler-vehicles/
diameter. Based on the Picotrac™ transporter modules and the Crystal Cam® Onyx camera, the Versatrax 50™ raises the
bar for confined space entry and inspection. The standard crawler vehicle comes with a simple camera and LED lighting, but it can easily be outfitted with other sensors for specific client needs.
A first for the industry, the Versatrax 50™ provides real-time colour video in small pipelines, ducts, channels and other tight
spaces. But don't let its small size fool you — the Versatrax 50™ features a 4.5 kilogram (10 pound) pull rating with an
option for higher torque versions. Capable of operating in air or underwater, and with cables as long as 100 metres (330 feet), the VT50 can get to areas that are simply inaccessible with other technologies.
--
http://inuktun.com/crawler-vehicles/
Independent control of each track allows the vehicle to easily navigate multiple bends and vertical pipe segments over
distances up to 180m / 600ft. Auxiliary LED lighting compliments the high quality video captured by the onboard cameras, while real-time sensors indicate pipe size and expansion force.
Constructed out of marine grade anodized aluminum and stainless steel, the VT100VC is extremely durable and fully submersible for underwater applications.
--
http://inuktun.com/crawler-vehicles/versatrax-vertical-crawler.html
copper tether cable, with options for longer lengths using fibre optics. In its in-line configuration, operators can examine pipes
from 150 to 300 millimetres (6 to 12 inches) in diameter. For bigger pipes, the vehicle is reconfigured with a parallel chassis, incorporating a remotely motorized camera raise and two high intensity LED lights.
The Versatrax 150™ Mark II is well suited to a variety of inspection applications including sewers, storm drains,
hydroelectric penstocks and fish bypass lines, petrochemical and power plant intake pipelines, and difficult to access pipes in
the oil and gas industry. And, like all of our OnDemand Specialty Systems, it is easily customized with an array of optional
equipment including high definition pan-tilt-zoom cameras, retrieval tools, laser measurement and profiling systems, sonar
and other Non-Destructive Testing (NDT) sensors.
--
http://inuktun.com/crawler-vehicles/
Minitracs™ and a Spectrum 90™ pan, tilt and zoom camera. The vehicle operates in pipe ranges from 457 to 914 millimetres (18 to 36 inches), easily adapting to its environment with a remote pipe adjusting chassis. Basic functions for control and
maneuverability allows operators to quickly learn and navigate the flexible system.
Support for nondestructive testing sensors and tooling is readily available to capture specific data requirements for custom
projects. Ideal for flexible risers, vertical and inclinded pipework and caissons, steam headers, vertical air and seawater intakes, oil and gas refineries, water and sewer pipelines, the VT150VC is the trusted solution for asset integrity condition assessments of those seemingly inaccessible industrial locations.
--
http://inuktun.com/crawler-vehicles/
Technology
Technology profile
To ensure and maintain the companys high standard of quality, systems integration and testing are completed with in-house electronic and machine assembly staff. In addition, Inuktun regularly develops formal partnerships with other businesses and consultants to provide specialty engineering in accordance with design criteria. As a result, Inuktun is able to provide customers with innovative, high-quality equipment that is functionally reliable, easily operated, and cost-effective.
Market
Market profile
Alliances:
- Sales/Marketing
Strategic alliances:
Inuktun Services Ltd. wishes to expand its current global agent network in the European Economic Community, South East Asia and the Middle East. Inuktun invites contact from qualified companies interested in joint marketing, licensing and technology transfer. Please email<EMAIL_ADDRESS>for more information.Industry sector market interests:
- Agriculture
- Construction
- Environment
- Fishery
- Information Technology and Telecommunications
- Manufacturing
- Mining/Petroleum/Gas
- Service Industry
- Transportation
- Aerospace
- Defence
- Pulp and Paper
Geographic markets:
Export experience:
- Argentina
- Australia
- Brazil
- Chile
- China
- France
- Japan
- Korea, Democratic People's Republic of
- Malaysia
- New Zealand
- Norway
- Peru
- Singapore
- Spain
- Taiwan
- United Kingdom
- United States
- Viet Nam
Actively pursuing:
- Egypt
- Germany
- India
- Indonesia
- Italy
- Korea, Republic of
- Netherlands
- Sweden
Sector
Sector information
Classification codes
Unique applications:
All of Inuktuns systems are built on the foundation of modular design. Clients can select from a range of standard camera, crawler and modular controllers to create their own off-the-shelf, yet 'customized' solution.Inuktuns systems can be used as a platform for the addition of manipulators, sensors, sonars, and any other desired products.
Not only are the product components modular, but the chassis have also been designed with flexible configurations allowing them to be used in multiple applications. All of the Versatrax systems can be easily converted from parallel to in-line configuration to fit within a variety of pipe sizes.
Key / Major clients:
Inuktun has an excellent track record in providing complex, custom, mobile robotic systems to clients such as NASA, the US Army Corps of Engineers, Ontario Power Generation (OPG), BC Hydro, GE Nuclear Energy, Hitachi, Beijing Municipal, Idaho National Laboratory (US Department of Energy), Atomic Energy Corporation of Canada, US Naval Research Lab, and many others.Success stories:
INUTKUN SYSTEM GOES TO TURKEYMahmut Altinbas, owner of Turkey-based Altinbas Insaat, spent three months researching equipment to help him with the construction of utility services before purchasing a VersaTrax 150 and a Crystal Cam® Push Camera from Inuktun. Read More at the link below.
--
http://www.inuktun.com/whats-new/inuktun-system-goes-to-turkey.html
--
INUKTUN AT WORLD'S BIGGEST OIL REFINERY
When Tecni-A-Bordo has a dangerous job to do, they need reliable equipment. The pipe inspection company, based in Venezuela, was recently awarded a preventative maintenance contract at the biggest oil refinery in the world. They are the only company in the country with the right certification to do the job. Read More at the link below.
--
http://www.inuktun.com/whats-new/tecni-a-bordo-relies-on-inuktun.html
--
COPPER GIANT TAKES INUKTUN FURTHER THAN EVER
For the world's largest single mine copper producer, extreme conditions call for exceptional equipment. Mining in breathtakingly large open pits at 11,000ft / 3,300m presents specific challenges which Minera Escondida, who produces 6% of the world's copper, must overcome daily. Read More at the link below.
--
http://www.inuktun.com/whats-new/copper-giant-escondida-takes-vt150-crawler-further-than-ever.html
--
READ MORE COMPANY SUCCESS STORIES
http://www.inuktun.com/whats-new/news-archive.html
Testimonial:
John Chad, President | Underground Pipe Inspectors, Ltd. | Calgary, Alberta"We at Underground Pipe Inspectors are very pleased to have purchased the Versatrax 150. This little workhorse is the backbone of our company. In the time we have had it in the field, we have found that we can adjust it to any situation, quickly and it runs through the line with ease. Even when the lines have not been completely cleaned, this unit runs over the debris with relative ease."
--
Graham Holloway | Contracts Manager | M S Industrial Services Ltd. | Aberdeen, UK
"We have recently procured the Versatrax 150 and Versatrax 100 camera inspection systems from Inuktun. The inclusion of this specialist equipment in our fleet has proved to bring added value to the service we now offer our clients. We found our existing CCTV inspection systems to be limited in respect of achievable survey length and the systems only afforded us limited ability when faced with difficult applications. The Versatrax 150 & Versatrax 100 systems give us the ability to handle steep inclines/declines in piping systems as well as an increased mobility within box culverts,tank bases,etc."
--
William F. Aichele | General Manager | Inshore Divers | Pittsburg, CA, USA
"I just wanted to take a moment and tell you how pleased we are with the Versatrax unit we recently purchased. The unit arrived, was unpacked, tested, repackaged and sent out on a 60 day operation. It performed flawlessly and the job was successful. Again, thanks to Inuktun's reponse to our request and be assured that if I am ever asked for crawler ROV recommendations, your companys name will be our first."
--
Deborah Porath | Vice President | Underground Pipe Inspectors Ltd | Calgary, Alberta
"Toughness. Easy to maintain. Good service. Picture clarity Inuktun has the best!"
--
Marc Maurier | President | Cam-Trac Inspections Services Ltd | Legal, Alberta
"... whether it be the climate or the harsh pipe environment, one thing is certain when using Inuktun's equipment and Cam-Trac's expertise - the job will always get done."
--
Mike Wright | MC Wright and Associates | Nanaimo, British Columbia
"Our clients appreciate the quality of our video footage and always remark on the clarity of images we provide."
--
Shaun Rafferty | President | Dundee Marine | Hartington, Ontario
"I'm in and out of small boats everyday diving shallow water -- it's hard on cameras. I have used every camera out there ... no really, I mean every camera. None of them stand up the way yours do."


Pine trees are abundant in my yard.
There are a few oak trees in my yard.
There's one elm in my yard.


Play Tic Tac Toe!
Player "X", pick a square!
Player "O", pick a square!


The credentials to authenticate against the Stash REST APIs with.
Note: the user must have read access to the repository that is configured with git-scm


The Forbes Global 2000 is an annual ranking of the top 2,000 public companies in the world based on a mix of four metrics: sales, profit, assets and market value. Methodology can be viewed here.
Python, Pandas, Numpy, and Matplotlib.
There are 5 interesting questions that I wish to explore to satisfy my curiosity:
You can download the dataset here (original or what we will be using).
I hope you are excited about this
exploration
like I do, let's begin!
Let's first import pandas and then read in the csv file
import pandas as pd
forbes = pd.read_csv("forbes2000_2018.csv")
print(forbes["country"].value_counts().head())
First, we save all the rows that have "United States" as a value in the column "country" into a variable called
"usa".
usa = forbes.loc[forbes["country"] == "United States"]
print(usa["state"].value_counts().head(10))
Let's first see how many unique industries there are in the dataset.
print(forbes["industry"].unique().count)
import matplotlib.pyplot as plt
labels = forbes["industry"].value_counts().index.tolist() # ordered from most to least frequent
sizes = forbes["industry"].value_counts().tolist() # sizes in % unit
explode = [0.1] # explode only the biggest slice, 0.1 to explode, 0 for the non-explodes
for i in range (len(labels)-1):
explode.append(0)
fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', startangle=90)
ax1.axis('equal') # ensures that pie is drawn as a circle
plt.show()
This one is also easy. Let's first define ROA.
ROA, stands for "return on assets", simply put, is a ratio that tells how well a company can generate profits
with the amount of assets it has.
To begin with, we save all the rows that represent US companies that are in the "Software & Programming"
industry into "usa_software".
usa_software = forbes.loc[ ((forbes["country"] == "United States") & (forbes["industry"] == "Software & Programming")) ]
usa_software["roa"] = forbes["profits"] / forbes["assets"]
print(usa_software.sort_values(by=["roa"], ascending=False).head())
ROA is about generating profits out of available assets.
Profitability, on the other hand, is about how efficient a company makes its money.
Having known that profits is revenue that remains after expenses...
Like in the previous exploration. We simply calculate the profitabilities, sort in descending order and take the
top 5 rows.
forbes["profitability"] = forbes["profits"] / forbes["revenue"]
print(forbes.sort_values(by=["profitability"], ascending=False).head())
The End.
I hope you enjoyed the reading. <3


hanoi university of science and technology
Rating on the following scale: A: Excellent, B: Very Good, C: Good, D: Pass, F: Fail, X: No comments


That other text? Sadly, it’s no longer a 10. It’s about making placeholder text great again. That’s what people want, they want placeholder text to be great again. Lorem Ipsum's father was with Lee Harvey Oswald prior to Oswald's being, you know, shot. When other websites give you text, they’re not sending the best. They’re not sending you, they’re sending words that have lots of problems and they’re bringing those problems with us. They’re bringing mistakes. They’re bringing misspellings. They’re typists… And some, I assume, are good words.
Events
You could see there was text coming out of her eyes, text coming out of her wherever. Lorem Ipsum is FAKE TEXT! It’s about making placeholder text great again. That’s what people want, they want placeholder text to be great again. Look at that text! Would anyone use that? Can you imagine that, the text of your next webpage?!
Ankündigungen
An ‘extremely credible source’ has called my office and told me that Barack Obama’s placeholder text is a fraud. We are going to make placeholder text great again. Greater than ever before. My text is long and beautiful, as, it has been well documented, are various other parts of my website.
Änderungen
Lorem Ipsum best not make any more threats to your website. It will be met with fire and fury like the world has never seen.
Termine
My placeholder text, I think, is going to end up being very good with women. It’s about making placeholder text great again. That’s what people want, they want placeholder text to be great again.


The ClickSensitivityControl
class helps simulate MOUSE_CLICKED events even if the mouse moves a few pixels.
By default Java only fires MOUSE_CLICKED events after receiving a MOUSE_PRESSED and a MOUSE_RELEASED at exactly the same (x,y) location.
All you need to call is: ClickSensitivityControl.install()
.
The ClickSensitivityControl
object uses a global AWTEventListener
to listen for mouse activity. After receiving a MOUSE_RELEASED event: it checks to see if the mouse stayed within a certain range of pixels, and if so it may fire its own MOUSE_CLICKED event.
At any point if the user strays outside of the allotted range: we abort the potential MOUSE_CLICKED event. Also if someday Java changes its behavior: this class should detect the other MOUSE_CLICKED event and not fire a redundant event.
Over the years we found the default Java behavior became problematic for a minority of our users.
You can think of this as an accessibility feature: if someone has minor hand tremors, then its harder for them to keep their mouse perfectly still.
Also this is useful for remote mice, or touchpads. In my opinion Java's default behavior works best with a traditional mouse, but with more abstract pointer devices: it's not always a safe bet that the mouse coordinates won't move at least a little bit when the user clicks.
It's worth noting that these concerns do not affect buttons. JButtons
do not rely on MOUSE_CLICKED events. They have their own complex interaction model involving arming buttons. The ClickSensitivityControl
only affects logic listening for MOUSE_CLICKED events, such as the BasicTreeUI
.


The Hunt For Red October (1990)
Grade: 45
This movie stars Sean Connery, as the Lithuanian-born captain of a Russian submarine who wants to defect to the U.S., bringing his prototype sub (The Red October) with him. Alec Baldwin also stars as a government analyst who is a complete expert on Connery and what he will do next.
Connery is cast, apparently, because Americans can't tell a British accent from a Eastern European one. He kills a KGB agent on his newly-launched sub in cold blood, because the agent will get in the way. While a surprise, the audience is supposed to approve of the murder because the victim is after all a KGB agent and therefore not a human being.
The Russian sub has prototype engines that are nearly silent. Yet the Americans learn how to track this submarine, while the Russians can't.
Connery sends a message to the Soviets, telling them that he is defecting. He fails to inform about the Americans that he is defecting! This leads to the entire Soviet fleet after him. The Russian ambassador to the U.S. eventually requests that the U.S. also hunt down and destroy the sub, using the pretext that Connery will fire his missiles on the U.S. The Americans are extremely rude to the Soviet ambassador, apparently for dramatic purposes.
Baldwin briefs government officials on Connery. He knows everything about him except what he had for breakfast last Wednesday. While the other officials argue stupidly, it dawns on Baldwin that Connery is going to defect. In addition to being the best-looking and most impassioned, it happens throughout the movie that Baldwin is the only one who knows exactly what Connery will do. This makes it almost believable that everyone will do, despite orders, whatever he asks, including that he be flown by helicopter to a submarine (the Dallas) in the North Atlantic ocean, since he has figured out that is where Connery will defect.
Connery fakes a nuclear accident on the sub, as a pretext to abandon the crew in rafts on the surface, so his staff can turn the sub over to the Dallas. Baldwin boards the Red October, and we are surprised to learn that he speaks fluent Russian. One of Connery's loyal staff turns out to be a pro-Soviet saboteur. Baldwin, of all people, goes after him with a handgun and gets him. Meanwhile, a Soviet sub has located the Red October and fires missiles at it. Fortunately, Connery is so clever that the missiles end up turning around and destroying the Soviet sub.
"The Hunt For Red October" is based on a Tom Clancy book. But if I did not know otherwise, I would have presumed that the plot of this movie was the winner of a contest for being most unbelievable.
http://members.tripod.com/~Brian_Koller/movies.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Features
We offer exceptional movie recommendations with complimentary hugs.
Personalized Reviews
Watch the movies with your own ratings and personalization
Machine Learning
Strong Recommender based on user data and sentiments
Enjoy Movie Shows
Book tickets at your nearest theatre
Data Analysis Dashboard
Dynamic tracking of the user sentiments and movie choices


I found Shereef's chat to be very inspiring, it confirmed my choice for choosing EDA over the many other options available to me here in the US as far a dev bootcamps. Something that really resonated with me was his kitchen vs restaurant analogy. I have worked as a band’s tour manager for the last few years and I have so many experiences of people showing up to the show expecting to be spoon fed the music and entertained rather then actually participating in the show, giving their energy and attention to co-create an experience with the band. The musicians I worked with wanted to create an experience with the audience rather then entertain them while they passively consumed the music.
I’m very excited to be able to code with a partner in order to share our knowledge. I’m hoping it might work out to spend the last month or so of phase 0 with Mischa and really stuff/prepare together.


authentication_service.backends module¶
-
class
authentication_service.backends.
GirlEffectAuthBackend
[source]¶ Bases:
django.contrib.auth.backends.ModelBackend
-
user_can_authenticate
(user)[source]¶ The default ModelBackend checks if a user is active here and returns to the authenticate() method. This however causes the authentication to fail and thus show the ‘invalid_login’ message, instead of the ‘inactive’ message that would otherwise be shown. So we override the method to always return True and allow the is_active flag to be checked on the AuthenticationForm, and to allow the AuthenticationForm to set the ‘inactive’ error message that would otherwise never be reached.
-


Individuals from the following teams will be on duty (from 8:00 a.m. until
10:00 p.m.) in Customer Services on Saturday, May 12 and Sunday, May 13, 2001:
NOMINATIONS & CONFIRMATIONS
Team 4 (Saturday 8 a.m. to 8 p.m.)<PHONE_NUMBER>
Team 2 (Saturday 10 a.m. to 10 p.m.)<PHONE_NUMBER>
Team 3 (Sunday 8 a.m. to 10 p.m.)<PHONE_NUMBER>
Individuals from Team 1 (Evening Shift) will be on duty (from 2:00 p.m. to
10:00 p.m.) next week (May 14 through May 18):
NOMINATIONS & CONFIRMATIONS
Team 1<PHONE_NUMBER>
Please note that the Columbia Navigator system is unavailable every Sunday
from
11:00 p.m. until Monday at 6:00 a.m. for routine system maintenance.
If you have any questions, please contact your Account Representative.
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


{# Nunjucks Templating! Homepage: https://mozilla.github.io/nunjucks/ Docs: https://mozilla.github.io/nunjucks/api.html #} {% extends 'layouts/application.html' %} {% block content %}
Formal demand - $250
Summary judgment application - $1,800
Order for summary judgment - $950
Bankruptcy notice - $900
Creditor’s application - $1,800
Order for adjudication - $750
Formal demand - $250
Statutory demand - $350
Liquidation application - $1,800
Order for liquidation - $750
| Disbursement | District Court | High Court |
| Filing statement of claim and summary judgment application | $450 | $1,350 |
| Service fee (approximate) – applies to service of summary judgment application, bankruptcy notice, creditor’s application for adjudication, statutory demand, liquidation application, and any other steps requiring service of documents | $150 | $150 |
| Trace fee (approximate) – for debtors whose whereabouts are unknown | $300 | $300 |
| Sealing order for summary judgment | $50 | $50 |
| Issuing certificate of judgment | $50 | N/A |
| Filing request for issue of bankruptcy notice | N/A | $200 |
| Filing creditor’s application for adjudication | N/A | $500 |
| Sealing order for bankruptcy | N/A | $50 |
| Filing application to put company into liquidation | N/A | $540 |
| Sealing order for liquidation | N/A | $50 |
- All fees exclude GST and disbursements.
- For simple debt claims over $15,000 involving a single creditor and debtor (claims up to $15,000, and $20,000 by agreement, can be heard in the Disputes Tribunal.
- Debt to be based on a standard written document or one prepared by a lawyer.
- The written document is signed by the debtor.
- Debts covered by the Construction Contracts Act 2002 are excluded.
- Debts must be due and owing, and undisputed by the debtor.
- Fees at each step assume that all prior steps (if any) have been completed.
- If any recovery step is defended by the debtor or the debtor engages counsel to act on their behalf, fees will be charged in accordance with our usual hourly rates.


Shane Lowry hopes to benefit from rest ahead of DP World Tour Championship
by Will O'CallaghanOpen winner Shane Lowry is hoping that his decision to skip last week's Nedbank Challenge in South Africa will help his bid to win the Race to Dubai title this week.
The Offaly man sits fourth on the order of merit standings heading into the season-ending DP World Tour Championship where he'll look to overtake Jon Rahm, Bernd Wiesberger and Tommy Fleetwood.
The last five weeks have been hectic with tournaments in Japan, China and Turkey playing competitive golf, all the traveling and the different time zones took its toll a little bit," Lowry wrote in his Paddy Power column this week.
"It showed in my game in Turkey as my mind and my body just weren’t in sync. It proved that I needed to take a break, so I decided to swerve South Africa last week and just concentrate on Dubai this week. I’ve been here over a week now to get ready for it, the family are here, we’ve had a bit of R&R in between, so it’s all good.
"All I need now is one last push and to go out there and to try to do my best on a course I’ve had some good results at over the years. When looked at the schedule after my Open Championship win, I knew I needed to be rested going into this week.
I finished second to Jon Rahm here in 2017, have posted a couple more Top 10s and shot a 63 in the final round a couple of years ago. It’s a course that I like and have good memories of and it’s always great to be playing big tournaments especially on the European Tour.
I’m just looking forward to putting the head down, giving it my best shot and hopefully ending what’s already been an incredible season on a high."


{# group all of the sessions into lists of lists by start time #}
{% regroup session_list by start_time as grouped_sessions %}
{# iterate over each day of the session, and print sessions into the correct tab pane #}
{% for day in days %}
{% spaceless %}
{# hidden sessions go here. sessions should be hidden if they occur today and their end time is less than now. #}
{% for sessions in grouped_sessions %}
{# only if this session block's date month and year match up with the tab's should we print #}
{% if sessions.grouper.date == day.date %}
{% if sessions.list|length != 1 %}
{% captureas sessionnum %}{% safe_cycle "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" %}{% endcaptureas %}
{% endif %}
{# put past sessions in a collapsed panel if this is today #}
{% if today == day.date %}
{# did the session block end before now? #}
{% if sessions.grouper|add:event.session_length < now %}
{% include "sked/partials/session-block.html" %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% for sessions in grouped_sessions %}
{# only if this session block's date month and year match up with the tab's should we print #}
{% if sessions.grouper.date == day.date %}
{% if sessions.list|length != 1 %}
{% captureas sessionnum %}{% safe_cycle "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" %}{% endcaptureas %}
{% endif %}
{# if this is today, we need to check to make sure this session is in the future #}
{% if today == day.date %}
{# did the session block end before now? #}
{% if sessions.grouper|add:event.session_length >= now %}
{% include "sked/partials/session-block.html" %}
{% endif %}
{# all other sessions go here too #}
{% else %}
{% include "sked/partials/session-block.html" %}
{% endif %}
{% endif %}
{% endfor %}


1)
The post office is
the station.
near
2)
The little girl is running
her mother.
to
3)
Alan’s dog is hiding
the bed.
under
4)
Our neighbour buys vegetables
The Organic Farm.
from
5)
A flock of birds flew
the lake.
over
6)
I stood
Mark in the queue.
behind
7)
Please complete your work
3 o’clock.
before
8)
Mr. and Mrs. Peterson went for a walk
supper.
after


Research Interests
***Undergraduates in Research***
Genome Size Evolution Among Species
Genome Size Evolution Within Species
While genome size has been known to vary from species to species, genome size, like any other trait, can vary within a species. In fact, there was found to be about 30,000,000 more base pairs of DNA in the Drosophila DGRP with the largest genomes than the ones with the smallest! This within species variation has been shown to be correlated to other phenotypes, such as reproductive fitness, body size, and development time. I have utilized long running phenotype selection lines to evaluate genome size change in relatively short periods of time (Hjelmen et al 2020). I am working to investigate the evolutionary advantages (or disadvantages) to having more or less DNA. Does certain types of DNA assist in adaptation to new environments? What amount of variation in genome size is expected within a species? What contributes to this variation? And at what point does it lead to divergence/speciation?
Underreplication and Heterochromatin Content of the Genome
Underreplication is a fascinating phenomenon by which DNA replication is stalled before replicating the late replicating heterochromatin. This phenomenon has been noted for decades in the polytene salivary glands of Drosophila, but only recently was documented in the thoracic tissue of D. melanogaster. Recently, we showed (with the help of some expert dissection skills from an undergrad!) what thoracic tissues underreplication is occuring in (Johnston et al 2020). I also recently demonstrated underreplication in 132 species within the Drosophila genus (Hjelmen et al. 2020)! We know variation in genome size is largely due to repetetive and noncoding DNA (largely heterochromatic), and we findthat more of this "unreplicated" DNA occurs in species with larger genomes. We therefore use Underreplication to study the dynamics of Heterochromatin and Euchromatin change throughout time. We find dramatically different patterns of change between types of chromatin. Is this dependent on what group of species we look at? What is occuring in species that have significantly more heterochromatin? Why does this partial replication occur in thoracic tissue? And why in only Drosophila? Does it have something to due with adaptation to environments? What is the physiological benefit of more DNA in the thorax? I hope to answer these questions through long read sequencing, transcriptomics, and studies of phenotypes!
Sex Chromosome Evolution
Sex chromosomes are often the first thing to which biologists attribute differences between sexes. While most of the DNA content in a genome is on the autosomes and therefore does not differ between the sexes, differences between sex chromosomes lead to highly differentiated gene expression and phenotypes between the sexes. In the an XY sex system, as the sex chromosomes differentiate, the Y chromosome becomes more and more sparse in the case of gene content and becomes highly heterochromatized and compacted. We have found that in many cases, not only does gene content decrease, but also the physical amount of DNA on the Y chromosome decreases (Hjelmen et al 2018, Hjelmen et al 2019). Hypothetically, the Y chromosome gets smaller and smaller throughout time, until it becomes so small it can be lost. Here we may see sex chromosome turnover and introduction of Neo-sex systems. So, how big can the differences between sexes become? How often are males in XY systems larger than females? Are those with larger male genomes indicative of neo-Sex chromosomes? Beyond just looking at physical size, I am interested in seeing what content is found on neo-sex chromosomes and investigating whether or not specific chromosomes are more likely to be selected to become sex chromosomes. To do this, I am sequencing males and females from species which I have identified as having prospective sex chromosome turnover events.


Employment
Project Assistant
Häme Technical Laboratory, Finland
- In depth review on P&ID drawing for the project of dispersing chemical liquids.
- Identifying task of each short circuit.
- Selecting relevant instruments.
- Supporting name plate and list of instrument.
- Technical drawing for a control cabinet and electrical connection.
- Drawing short circuit function using MetsoDNA software.
Project Researcher
Häme Technical Laboratory, Finland
- Designing miniature self-balancing robot based on Inverted Pendulum theory.
- Building robot's structure using Autodesk Inventor and 3D printing machine.
- JavaScript programming robot's function on IDE 1.8.5.
- MIT App Inventor 2 programming for wireless interface.
- Testing the balance of robot.
Technical Control Trainee
NK Engineering CO LTD, Vietnam
- Contacting and negotiating with clients for the requirement of products.
- Designing a relevant list of products following thequalification of clients.
- Prepare contracts with approved agreements.
- Reporting revenue to the business department.


class: center, middle # Pundler The virtualenv alternative for python developer --- # Past - You have to create venv for every project and for every python interpreter version - With PIP you cannot be sure that your will get some packages versions when you call `pip install` (pip-tools?) in case you have not write versions, dependencies with versions exactly and using --no-deps (you must). --- # Working with branches - You are working on branch where you have changed packages version with breaking changes in API. - When you are in situation to fix something in other branch you will need to change virtualenv. - And when work done you need to change it again. Not so with Pundler. --- # Meet Pundler It solves freezed mess - reads your requirements.txt - creates freezed.txt with exact installed versions of your requirements and their dependencies - keeps all packages installed and share them between projects - loads desired versions of packages You will always work with package version that freezed.txt points to. --- # Do not install every time Punder keeps packages per user and python version. Something like `~/.pundledir/CPython-3.4.1-default` or `~/.pundledir/PyPy-2.3.1-32f35069a16d/` Pundler installs every package in isolated dir like `django-1.7.1` or `flask-0.10.1`, so it can keep multiple packages versions installed and select required versions on load. --- # Activate vs Fixate - `. venv/bin/activate`? - than we need explicitly to deactivate - dont forget it when cd to other project - dont forget to change `venv` when change branch with breaking changes --- # usercostumize.py Pundler uses `usercostumize.py` file to provide automatic way to load your packages. This file is special for every python interpreter version, so you need to `fixate` pundler once for each one. Seems like implicit usage, but do you type all paths by hand or use autocomplete feature of your shell? Relax and use it - its part of your development environment and we does not suggest to use it on production servers where deploy tools will take care of automagic for you. --- # Afterword Want to participate and hack on project? Welcome to [GitHub repo](https://github.com/Deepwalker/pundler). Want to play with it? - install git or download pundler from github and unpack - install python (strongly recommended) - `cd; git clone --recursive https://github.com/Deepwalker/pundler.git; python ~/pundler/pundler.py fixate` - `cd project_dir` - `python -m pundler upgrade` # will create freezed.txt and install all packages - `python manage.py run`


Five charged for water theft in St Elizabeth
FIVE people have been charged for illegally taking water and trespassing on the works of the National Water Commission (NWC). The five accused, charged under Section Three of the Public Utilities Act and Section 25 of the NWC Act, are to appear before the Santa Cruz court in St Elizabeth and the Porus court in Manchester on December 4 and 16, 2019 and January 4, 2020, the NWC said yesterday.
According to the NWC, the operation in which the accused were held became necessary after it was discovered that people were illegally tapping into the commission's distribution network.
The operation, the NWC noted, comes just weeks after the official commissioning of the $630-million Essex Valley water supply scheme which serves the area. NWC regional manager Jermaine Jackson denounced the persistent practice of water theft.
“We have had several meetings in the area and have set up mobile offices to make it easier for residents to sign up for the service. We have even reduced the installation cost but some persons insist on stealing the water,” Jackson said.
“We are encouraging persons to sign up and obtain a legal connection and desist from tampering with our systems. We will continue to prosecute persons found stealing water,” said NWC receivables manager Raymond Nesbeth.


--- title: Hashapass Password Management layout: post tags: [rant, crypto] uuid: 08300b10-8d52-3006-9c9a-b88b95f2eb7b ---
The author of a tool named Hashapass contacted me some time ago to bring his tool to attention. It is a way to mitigate the problem of having to memorize and generate many different passwords.
Good security practice is for users to have a different password with each web site and system they use. Should one of them be compromised, your other accounts will still be safe. The problem is that passwords tend to both be hard to remember and difficult to generate.
Hashapass allows a user to have just one password (ideally, passphrase) that is used to generate many different passwords. Provide the master passphrase and the name of the website (parameter) needing a password and Hashapass generates an 8-character password worth 48 bits.
The website works entirely in Javascript, so you don't have to worry about transmitting your password or master passphrase. This also makes it easy to see how the hashing is done. If this was a secret, I wouldn't recommend using it.
It works by applying HMAC, with the SHA-1 hash, to the the parameter and passphrase as to stir them together into a hash. Then it outputs the 48 most significant bits in base-64 as the password.
I mentioned before that you should really use a master passphrase instead of a master password, because a compromised hash password can be brute forced to reveal the master password. Unfortunately, the Hashapass website says "password" instead of "passphrase".
I made a Hashapass password cracker to test how practical this attack would be. You can grab it with Git,
git clone git://github.com/skeeto/hashapass.git
The idea is that if a malicious website operator peeked at your password, knew you used Hashapass, and properly guessed the parameter (which isn't a secret), he could use a tool like this to brute force attack the password to retrieve the master passphrase. A short master password could easily be discovered.
Running on one machine with one instance of the program, my tool can break any password with five or less characters in a matter of hours. A 6-character password could take a month or two. A 7-character password would take a decade. Each character in the password increases the search time by a factor of 100.
If multiple computers/cores/processors are put to use on the attack, these times can be shortened: 2 computers would halve the time, for example. The attack is easy to parallelize.
My tool assumes a strong, but short, master password was chosen, as it checks against all printable ASCII characters. If a weaker password was used, and the attacker assumed this, the above time table would be much shorter.
So, for the master passphrase, use at least 8 characters generated using a strong random number generator. I recommend generating the passphrase with Diceware using 5 words.


ColorType
public enum ColorType : UInt32
Describes how pixel bits encode color. A pixel may be an alpha mask, a grayscale, Red Green and Blue (RGB), or Alpha, Red, Green and Blue (ARGB)
-
If set, encoding format and size is unknown.
Declaration
Swift
case unknown = 0
-
Stores 8-bit byte pixel encoding that represents transparency. Value of zero is completely transparent; a value of 255 is completely opaque.
Declaration
Swift
case alpha8
-
Stores 16-bit word pixel encoding that contains five bits of blue, six bits of green, and five bits of red.
Declaration
Swift
case rgb565
-
Stores 16-bit word pixel encoding that contains four bits of alpha, four bits of blue, four bits of green, and four bits of red.
Declaration
Swift
case argb4444
-
Stores 32-bit word pixel encoding that contains eight bits of red, eight bits of green, eight bits of blue, and eight bits of alpha.
Declaration
Swift
case rgba8888
-
Stores 32-bit word pixel encoding that contains eight bits of red, eight bits of green, eight bits of blue, and eight unused bits.
Declaration
Swift
case rgb888x
-
Stores 32-bit word pixel encoding that contains eight bits of blue, eight bits of green, eight bits of red, and eight bits of alpha.
Declaration
Swift
case bgra8888
-
Stores 32-bit word pixel encoding that contains ten bits of red, ten bits of green, ten bits of blue, and two bits of alpha.
Declaration
Swift
case rgba1010102
-
Stores 32-bit word pixel encoding that contains ten bits of red, ten bits of green, ten bits of blue, and two unused bits.
Declaration
Swift
case rgb101010x
-
Stores 8-bit byte pixel encoding that equivalent to equal values for red, blue, and green, representing colors from black to white.
Declaration
Swift
case gray8
-
Stores 64-bit word pixel encoding that contains 16 bits of blue, 16 bits of green, 16 bits of red, and 16 bits of alpha. Each component is encoded as a half float.
Declaration
Swift
case rgbaF16


Recipe
The Nigerian rice recipe discussed here is the classic Nigerian Jollof Rice prepared at parties. This is the most popular Nigerian rice recipe. This is why you will always see it in parties. It is quite easy to prepare if you follow the simple steps.
Perboil your rice.....


Dining
The new Pilots Cove Café is in the main terminal building right next door to the FBO, with a great patio to enjoy the flower and vegetable garden while watching airplanes.
Restaurants
{{ range .Site.Params.restaurants.list }}
{{ if .title }}
{{ end }}
{{ end }}
Catering
{{ range .Site.Params.catering.list }}
{{ if .title }}
{{ end }}
{{ end }}


Connect triggers with actions to create an interactive sound system.
Interact is an experimental feature.
The changes will be lost if they are not saved.
An interaction needs to have a trigger and at least one action before it can be saved.
This cannot be undone.
Run actions, when message...
Received message is passed to the actions when they run.
When running the action, send...
Run actions, when a POST request is received at...
http://domain/interact/trigger/???
If the request JSON body includes "data" property, the value is passed to the actions when they run.
Communicate with another device, such as an Arduino microcontroller, via a serial port.
If the selected serial port disconnects, it will be automatically reopened soon after it becomes available again.


An entirely new concept of sports car. More efficient – for example due to intelligent lightweight construction with carbon and aerodynamic design. More sustainable – with highly efficient BMW eDrive technology and recyclable materials in the interior.
Without forfeiting dynamics and its sporting appearance. No compromises, but instead the optimum combination of driving pleasure and responsibility. The BMW i8 is a plug-in-hybrid that brings together the advantages of innovate electric
motor and combustion engine technologies. The result is an extraordinary driving experience – with extremely low consumption and low emissions.


Hotel Reservation System
The best hotel and accommodations in hotel reservation systems.
Sign Up
Sign In


2015-03-07
While working on one of the last exercises in Stroustrup’s Programming –
Principles and Practice Using C++, I came across this little
problem: assume you want to sort an array of C-style strings using
qsort()
from the C standard library
(<cstdlib>
in C++ or <stdlib.h>
in
C).
An array of C-style strings looks something like
char* words[ARR_LEN]
, where ARR_LEN
is the
number of strings in your array. qsort
is declared as
follows:
void qsort(void* ptr, size_t count, size_t size,
int (*comp)(const void*, const void*));
ptr
points to your array, count
is the
number of elements in the array, size
the size of an
element and comp
a comparison function that returns
Like strcmp
, if you will.
My strings all have the same maximum length, WORD_LEN
.
Obviously, I try to call qsort like this:
(words,ctr,WORD_LEN,strcmp); qsort
where ctr
is the number of strings in
words
, and I want to use strcmp
as my
comparison function. This compiles just fine, but after the call to
qsort
, things are less fine: “stack corrupted”. Hmmm.
I realize that the size of an element in my array is not the size of
each individual string, but rather the size of a char*
,
because that’s what the array is: an array of char*
, and
not an array of actual strings. I change my call to
(words,ctr,sizeof(char*),strcmp); qsort
Still compiles without problems. Good. And doesn’t crash. Even better! However, the results are still not quite what I want. If start with
char* words[ARR_LEN] = { "bb", "cc", "aa" };
and sort that, I get cc aa bb
as the result.
I’m pretty sure I’m not the first person ever to try and sort
C-strings with qsort
, so I google. I come across this Stack Overflow
question where somebody had a very similar problem. The problem is
that the comp
argument of qsort
expects
const void*
arguments whereas strcmp
expects
const char*
. The solution is to wrap the call to
strcmp
into a function that performs the proper casts, like
so:
int cmpstr(const void* a, const void* b) {
const char* aa = (const char*)a;
const char* bb = (const char*)b;
return strcmp(aa, bb);
}
This takes const void*
, as required by
qsort
’s comp
, and casts them to
const char*
, as required by strcmp
. Neat. I
call qsort
with my new function:
(words,ctr,sizeof(char*),cmpstr); qsort
Same result! Still no proper sorting.
A closer look at the mentioned Stack Overflow question explains why:
the cmpstr
function provided is not meant for an array of
strings, char* words[]
, but for an array of arrays of
characters, char words[][]
. One less level of
indirection!
An element of my array is a char*
, and the
const void*
in cmpstr
point to my elements, so
what is actually being passed is a char**
. The proper cast
is thus *(const char**)a
: this points to my string, instead
of the pointer to it. The complete function looks like this:
int cmpstr(const void* a, const void* b)
{
const char* aa = *(const char**)a;
const char* bb = *(const char**)b;
return strcmp(aa,bb);
}
and lo and behold, it works properly!
A more elegant solution can be found on the linux man page for qsort where the casts are in the call:
return strcmp(*(char* const*) p1, *(char* const*) p2);
“Cast p1
to a pointer to a constant pointer to a
character and dereference that”. How come this wasn’t the first thing
that sprung to my mind?


I'm a recent college graduate with a minor in Computer Science beginning my foray into web development. I am skilled in the following languages:
If you would like to get in touch, my contact information is below.
757-376-2749
gphalen52@gmail.com


The statistics package provides frameworks and implementations for basic Descriptive statistics, frequency distributions, bivariate regression, and t-, chi-square and ANOVA test statistics.
Descriptive statistics
Frequency distributions
Simple Regression
Multiple Regression
Rank transformations
Covariance and correlation
Statistical Tests
The stat package includes a framework and default implementations for the following Descriptive statistics:
With the exception of percentiles and the median, all of these statistics can be computed without maintaining the full list of input data values in memory. The stat package provides interfaces and implementations that do not require value storage as well as implementations that operate on arrays of stored values.
The top level interface is UnivariateStatistic. This interface, implemented by all statistics, consists of evaluate() methods that take double[] arrays as arguments and return the value of the statistic. This interface is extended by StorelessUnivariateStatistic, which adds increment(), getResult() and associated methods to support "storageless" implementations that maintain counters, sums or other state information as values are added using the increment() method.
Abstract implementations of the top level interfaces are provided in AbstractUnivariateStatistic and AbstractStorelessUnivariateStatistic respectively.
Each statistic is implemented as a separate class, in one of the subpackages (moment, rank, summary) and each extends one of the abstract classes above (depending on whether or not value storage is required to compute the statistic). There are several ways to instantiate and use statistics. Statistics can be instantiated and used directly, but it is generally more convenient (and efficient) to access them using the provided aggregates, DescriptiveStatistics and SummaryStatistics.
DescriptiveStatistics maintains the input data in memory and has the capability of producing "rolling" statistics computed from a "window" consisting of the most recently added values.
SummaryStatistics does not store the input data values in memory, so the statistics included in this aggregate are limited to those that can be computed in one pass through the data without access to the full array of values.
| Aggregate | Statistics Included | Values stored? | "Rolling" capability? |
|---|---|---|---|
| DescriptiveStatistics | min, max, mean, geometric mean, n, sum, sum of squares, standard deviation, variance, percentiles, skewness, kurtosis, median | Yes | Yes |
| SummaryStatistics | min, max, mean, geometric mean, n, sum, sum of squares, standard deviation, variance | No | No |
SummaryStatistics can be aggregated using AggregateSummaryStatistics. This class can be used to concurrently gather statistics for multiple datasets as well as for a combined sample including all of the data.
MultivariateSummaryStatistics is similar to SummaryStatistics but handles n-tuple values instead of scalar values. It can also compute the full covariance matrix for the input data.
Neither DescriptiveStatistics nor SummaryStatistics is thread-safe. SynchronizedDescriptiveStatistics and SynchronizedSummaryStatistics, respectively, provide thread-safe versions for applications that require concurrent access to statistical aggregates by multiple threads. SynchronizedMultivariateSummaryStatistics provides thread-safe MultivariateSummaryStatistics.
There is also a utility class, StatUtils, that provides static methods for computing statistics directly from double[] arrays.
Here are some examples showing how to compute Descriptive statistics.
// Get a DescriptiveStatistics instance DescriptiveStatistics stats = new DescriptiveStatistics(); // Add the data from the array for( int i = 0; i < inputArray.length; i++) { stats.addValue(inputArray[i]); } // Compute some statistics double mean = stats.getMean(); double std = stats.getStandardDeviation(); double median = stats.getMedian();
// Get a SummaryStatistics instance SummaryStatistics stats = new SummaryStatistics(); // Read data from an input stream, // adding values and updating sums, counters, etc. while (line != null) { line = in.readLine(); stats.addValue(Double.parseDouble(line.trim())); } in.close(); // Compute the statistics double mean = stats.getMean(); double std = stats.getStandardDeviation(); //double median = stats.getMedian(); <-- NOT AVAILABLE
// Compute statistics directly from the array // assume values is a double[] array double mean = StatUtils.mean(values); double std = StatUtils.variance(values); double median = StatUtils.percentile(50); // Compute the mean of the first three values in the array mean = StatUtils.mean(values, 0, 3);
// Create a DescriptiveStats instance and set the window size to 100 DescriptiveStatistics stats = new DescriptiveStatistics(); stats.setWindowSize(100); // Read data from an input stream, // displaying the mean of the most recent 100 observations // after every 100 observations long nLines = 0; while (line != null) { line = in.readLine(); stats.addValue(Double.parseDouble(line.trim())); if (nLines == 100) { nLines = 0; System.out.println(stats.getMean()); } } in.close();
// Create a SynchronizedDescriptiveStatistics instance and // use as any other DescriptiveStatistics instance DescriptiveStatistics stats = new SynchronizedDescriptiveStatistics();
// Create a AggregateSummaryStatistics instance to accumulate the overall statistics // and AggregatingSummaryStatistics for the subsamples AggregateSummaryStatistics aggregate = new AggregateSummaryStatistics(); SummaryStatistics setOneStats = aggregate.createContributingStatistics(); SummaryStatistics setTwoStats = aggregate.createContributingStatistics(); // Add values to the subsample aggregates setOneStats.addValue(2); setOneStats.addValue(3); setTwoStats.addValue(2); setTwoStats.addValue(4); ... // Full sample data is reported by the aggregate double totalSampleSum = aggregate.getSum();
// Create SummaryStatistics instances for the subsample data SummaryStatistics setOneStats = new SummaryStatistics(); SummaryStatistics setTwoStats = new SummaryStatistics(); // Add values to the subsample SummaryStatistics instances setOneStats.addValue(2); setOneStats.addValue(3); setTwoStats.addValue(2); setTwoStats.addValue(4); ... // Aggregate the subsample statistics Collection<SummaryStatistics> aggregate = new ArrayList<SummaryStatistics>(); aggregate.add(setOneStats); aggregate.add(setTwoStats); StatisticalSummary aggregatedStats = AggregateSummaryStatistics.aggregate(aggregate); // Full sample data is reported by aggregatedStats double totalSampleSum = aggregatedStats.getSum();
Frequency provides a simple interface for maintaining counts and percentages of discrete values.
Strings, integers, longs and chars are all supported as value types, as well as instances of any class that implements Comparable. The ordering of values used in computing cumulative frequencies is by default the natural ordering, but this can be overriden by supplying a Comparator to the constructor. Adding values that are not comparable to those that have already been added results in an IllegalArgumentException.
Here are some examples.
Frequency f = new Frequency(); f.addValue(1); f.addValue(new Integer(1)); f.addValue(new Long(1)); f.addValue(2); f.addValue(new Integer(-1)); System.out.prinltn(f.getCount(1)); // displays 3 System.out.println(f.getCumPct(0)); // displays 0.2 System.out.println(f.getPct(new Integer(1))); // displays 0.6 System.out.println(f.getCumPct(-2)); // displays 0 System.out.println(f.getCumPct(10)); // displays 1
Frequency f = new Frequency(); f.addValue("one"); f.addValue("One"); f.addValue("oNe"); f.addValue("Z"); System.out.println(f.getCount("one")); // displays 1 System.out.println(f.getCumPct("Z")); // displays 0.5 System.out.println(f.getCumPct("Ot")); // displays 0.25
Frequency f = new Frequency(String.CASE_INSENSITIVE_ORDER); f.addValue("one"); f.addValue("One"); f.addValue("oNe"); f.addValue("Z"); System.out.println(f.getCount("one")); // displays 3 System.out.println(f.getCumPct("z")); // displays 1
SimpleRegression provides ordinary least squares regression with one independent variable estimating the linear model:
y = intercept + slope * x
Standard errors for intercept and slope are available as well as ANOVA, r-square and Pearson's r statistics.
Observations (x,y pairs) can be added to the model one at a time or they can be provided in a 2-dimensional array. The observations are not stored in memory, so there is no limit to the number of observations that can be added to the model.
Usage Notes:
Implementation Notes:
Here are some examples.
regression = new SimpleRegression(); regression.addData(1d, 2d); // At this point, with only one observation, // all regression statistics will return NaN regression.addData(3d, 3d); // With only two observations, // slope and intercept can be computed // but inference statistics will return NaN regression.addData(3d, 3d); // Now all statistics are defined.
System.out.println(regression.getIntercept()); // displays intercept of regression line System.out.println(regression.getSlope()); // displays slope of regression line System.out.println(regression.getSlopeStdErr()); // displays slope standard error
System.out.println(regression.predict(1.5d) // displays predicted y value for x = 1.5
double[][] data = { { 1, 3 }, {2, 5 }, {3, 7 }, {4, 14 }, {5, 11 }}; SimpleRegression regression = new SimpleRegression(); regression.addData(data);
System.out.println(regression.getIntercept()); // displays intercept of regression line System.out.println(regression.getSlope()); // displays slope of regression line System.out.println(regression.getSlopeStdErr()); // displays slope standard error
OLSMultipleLinearRegression and GLSMultipleLinearRegression provide least squares regression to fit the linear model:
Y=X*b+u
where Y is an n-vector regressand, X is a [n,k] matrix whose k columns are called regressors, b is k-vector of regression parameters and u is an n-vector of error terms or residuals.
OLSMultipleLinearRegression provides Ordinary Least Squares Regression, and GLSMultipleLinearRegression implements Generalized Least Squares. See the javadoc for these classes for details on the algorithms and forumlas used.
Data for OLS models can be loaded in a single double[] array, consisting of concatenated rows of data, each containing the regressand (Y) value, followed by regressor values; or using a double[][] array with rows corresponding to observations. GLS models also require a double[][] array representing the covariance matrix of the error terms. See AbstractMultipleLinearRegression#newSampleData(double[],int,int), OLSMultipleLinearRegression#newSampleData(double[], double[][]) and GLSMultipleLinearRegression#newSampleData(double[],double[][],double[][]) for details.
Usage Notes:
Here are some examples.
OLSMultipleLinearRegression regression = new OLSMultipleLinearRegression(); double[] y = new double[]{11.0, 12.0, 13.0, 14.0, 15.0, 16.0}; double[] x = new double[6][]; x[0] = new double[]{0, 0, 0, 0, 0}; x[1] = new double[]{2.0, 0, 0, 0, 0}; x[2] = new double[]{0, 3.0, 0, 0, 0}; x[3] = new double[]{0, 0, 4.0, 0, 0}; x[4] = new double[]{0, 0, 0, 5.0, 0}; x[5] = new double[]{0, 0, 0, 0, 6.0}; regression.newSample(y, x);
double[] beta = regression.estimateRegressionParameters(); double[] residuals = regression.estimateResiduals(); double[][] parametersVariance = regression.estimateRegressionParametersVariance(); double regressandVariance = regression.estimateRegressandVariance(); double rSquared = regression.caclulateRSquared(); double sigma = regression.estimateRegressionStandardError();
GLSMultipleLinearRegression regression = new GLSMultipleLinearRegression(); double[] y = new double[]{11.0, 12.0, 13.0, 14.0, 15.0, 16.0}; double[] x = new double[6][]; x[0] = new double[]{0, 0, 0, 0, 0}; x[1] = new double[]{2.0, 0, 0, 0, 0}; x[2] = new double[]{0, 3.0, 0, 0, 0}; x[3] = new double[]{0, 0, 4.0, 0, 0}; x[4] = new double[]{0, 0, 0, 5.0, 0}; x[5] = new double[]{0, 0, 0, 0, 6.0}; double[][] omega = new double[6][]; omega[0] = new double[]{1.1, 0, 0, 0, 0, 0}; omega[1] = new double[]{0, 2.2, 0, 0, 0, 0}; omega[2] = new double[]{0, 0, 3.3, 0, 0, 0}; omega[3] = new double[]{0, 0, 0, 4.4, 0, 0}; omega[4] = new double[]{0, 0, 0, 0, 5.5, 0}; omega[5] = new double[]{0, 0, 0, 0, 0, 6.6}; regression.newSampleData(y, x, omega);
Some statistical algorithms require that input data be replaced by ranks. The org.apache.commons.math.stat.ranking package provides rank transformation. RankingAlgorithm defines the interface for ranking. NaturalRanking provides an implementation that has two configuration options.
Examples:
NaturalRanking ranking = new NaturalRanking(NaNStrategy.MINIMAL, TiesStrategy.MAXIMUM); double[] data = { 20, 17, 30, 42.3, 17, 50, Double.NaN, Double.NEGATIVE_INFINITY, 17 }; double[] ranks = ranking.rank(exampleData);
new NaturalRanking(NaNStrategy.REMOVED,TiesStrategy.SEQUENTIAL).rank(exampleData);
The default NaNStrategy is NaNStrategy.MAXIMAL. This makes NaN values larger than any other value (including Double.POSITIVE_INFINITY). The default TiesStrategy is TiesStrategy.AVERAGE, which assigns tied values the average of the ranks applicable to the sequence of ties. See the NaturalRanking for more examples and TiesStrategy and NaNStrategy for details on these configuration options.
The org.apache.commons.math.stat.correlation package computes covariances and correlations for pairs of arrays or columns of a matrix. Covariance computes covariances, PearsonsCorrelation provides Pearson's Product-Moment correlation coefficients and SpearmansCorrelation computes Spearman's rank correlation.
Implementation Notes
Examples:
new Covariance().covariance(x, y)
covariance(x, y, false)
new Covariance().computeCovarianceMatrix(data)
computeCovarianceMatrix(data, false)
new PearsonsCorrelation().correlation(x, y)
new PearsonsCorrelation().computeCorrelationMatrix(data)
PearsonsCorrelation correlation = new PearsonsCorrelation(data);
correlation.getCorrelationStandardErrors();
correlation.getCorrelationPValues()
new PearsonsCorrelation(data).getCorrelationPValues().getEntry(0,1)
new SpearmansCorrelation().correlation(x, y)
RankingAlgorithm ranking = new NaturalRanking(); new PearsonsCorrelation().correlation(ranking.rank(x), ranking.rank(y))
The interfaces and implementations in the org.apache.commons.math.stat.inference package provide Student's t, Chi-Square and One-Way ANOVA test statistics as well as p-values associated with t-, Chi-Square and One-Way ANOVA tests. The interfaces are TTest, ChiSquareTest, and OneWayAnova with provided implementations TTestImpl, ChiSquareTestImpl and OneWayAnovaImpl, respectively. The TestUtils class provides static methods to get test instances or to compute test statistics directly. The examples below all use the static methods in TestUtils to execute tests. To get test object instances, either use e.g., TestUtils.getTTest() or use the implementation constructors directly, e.g. new TTestImpl().
Implementation Notes
Examples:
double[] observed = {1d, 2d, 3d}; double mu = 2.5d; System.out.println(TestUtils.t(mu, observed));
double[] observed ={1d, 2d, 3d}; double mu = 2.5d; SummaryStatistics sampleStats = new SummaryStatistics(); for (int i = 0; i < observed.length; i++) { sampleStats.addValue(observed[i]); } System.out.println(TestUtils.t(mu, observed));
double[] observed = {1d, 2d, 3d}; double mu = 2.5d; System.out.println(TestUtils.tTest(mu, observed));
TestUtils.tTest(mu, observed, alpha);
To compute the t-statistic:
TestUtils.pairedT(sample1, sample2);
To compute the p-value:
TestUtils.pairedTTest(sample1, sample2);
To perform a fixed significance level test with alpha = .05:
TestUtils.pairedTTest(sample1, sample2, .05);
First create the StatisticalSummary instances. Both DescriptiveStatistics and SummaryStatistics implement this interface. Assume that summary1 and summary2 are SummaryStatistics instances, each of which has had at least 2 values added to the (virtual) dataset that it describes. The sample sizes do not have to be the same -- all that is required is that both samples have at least 2 elements.
Note: The SummaryStatistics class does not store the dataset that it describes in memory, but it does compute all statistics necessary to perform t-tests, so this method can be used to conduct t-tests with very large samples. One-sample tests can also be performed this way. (See Descriptive statistics for details on the SummaryStatistics class.)
To compute the t-statistic:
TestUtils.t(summary1, summary2);
To compute the p-value:
TestUtils.tTest(sample1, sample2);
To perform a fixed significance level test with alpha = .05:
TestUtils.tTest(sample1, sample2, .05);
In each case above, the test does not assume that the subpopulation variances are equal. To perform the tests under this assumption, replace "t" at the beginning of the method name with "homoscedasticT"
long[] observed = {10, 9, 11}; double[] expected = {10.1, 9.8, 10.3}; System.out.println(TestUtils.chiSquare(expected, observed));
TestUtils.chiSquareTest(expected, observed);
TestUtils.chiSquareTest(expected, observed, alpha);
TestUtils.chiSquareTest(counts);
TestUtils.chiSquareTest(counts);
TestUtils.chiSquareTest(counts, alpha);
double[] classA = {93.0, 103.0, 95.0, 101.0, 91.0, 105.0, 96.0, 94.0, 101.0 }; double[] classB = {99.0, 92.0, 102.0, 100.0, 102.0, 89.0 }; double[] classC = {110.0, 115.0, 111.0, 117.0, 128.0, 117.0 }; List classes = new ArrayList(); classes.add(classA); classes.add(classB); classes.add(classC);
double fStatistic = TestUtils.oneWayAnovaFValue(classes); // F-value double pValue = TestUtils.oneWayAnovaPValue(classes); // P-value
TestUtils.oneWayAnovaTest(classes, 0.01); // returns a boolean // true means reject null hypothesis