ResourceHttpRequestHandlerTests
Tests
| Test |
Duration |
Result |
| directory() |
0s |
passed |
| directoryInJarFile() |
0.002s |
passed |
| doOverwriteExistingCacheControlHeaders() |
0.001s |
passed |
| getMediaTypeWithFavorPathExtensionOff() |
0.001s |
passed |
| getResource() |
0.002s |
passed |
| getResourceFromAlternatePath() |
0.002s |
passed |
| getResourceFromSubDirectory() |
0.001s |
passed |
| getResourceFromSubDirectoryOfAlternatePath() |
0.002s |
passed |
| getResourceHttp10BehaviorCache() |
0.002s |
passed |
| getResourceHttp10BehaviorNoCache() |
0.002s |
passed |
| getResourceHttpHeader() |
0.001s |
passed |
| getResourceHttpOptions() |
0s |
passed |
| getResourceNoCache() |
0.001s |
passed |
| getResourceWithHtmlMediaType() |
0.002s |
passed |
| getResourceWithMediaTypeResolvedThroughServletContext() |
0.002s |
passed |
| getResourceWithRegisteredMediaType() |
0.002s |
passed |
| getVersionedResource() |
0.002s |
passed |
| ignoreInvalidEscapeSequence() |
0.002s |
passed |
| initAllowedLocations() |
0s |
passed |
| initAllowedLocationsWithExplicitConfiguration() |
0.001s |
passed |
| missingResourcePath() |
0s |
passed |
| modified() |
0.001s |
passed |
| noPathWithinHandlerMappingAttribute() |
0.001s |
passed |
| notModified() |
0.001s |
passed |
| partialContentByteRange() |
0.001s |
passed |
| partialContentByteRangeLargeEnd() |
0.002s |
passed |
| partialContentByteRangeNoEnd() |
0.002s |
passed |
| partialContentByteRangeWithEncodedResource(GzippedFiles) |
0.002s |
passed |
| partialContentInvalidRangeHeader() |
0.001s |
passed |
| partialContentMultipleByteRanges() |
0.004s |
passed |
| partialContentSuffixRange() |
0.001s |
passed |
| partialContentSuffixRangeLargeSuffix() |
0.001s |
passed |
| partialContentWithHttpHead() |
0.002s |
passed |
| processPath() |
0s |
passed |
| resolvePathWithTraversal() |
0.019s |
passed |
| resourceNotFound() |
0.006s |
passed |
| testInvalidPath() |
0.004s |
passed |
| unsupportedHttpMethod() |
0.001s |
passed |
Standard output
16:13:57.122 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.122 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.122 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.122 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.123 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.123 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.123 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.123 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.123 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.123 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.124 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.150 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.150 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.151 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.151 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.151 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.152 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.152 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.152 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.152 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.153 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.153 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.153 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.153 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.153 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.154 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.154 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.154 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.154 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.154 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.154 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.155 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.155 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.155 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.155 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.155 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.155 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.155 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.156 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.156 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.156 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.156 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.156 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.156 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.157 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.157 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.157 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.157 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.158 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.158 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.158 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.159 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.159 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.159 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.159 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.159 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.159 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.160 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.160 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.160 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.160 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.160 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.160 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.161 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.161 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.161 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.161 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.161 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.163 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.163 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.163 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.164 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.164 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.164 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.165 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.165 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.165 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.165 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.166 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.166 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.166 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.166 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [../testsecret/secret.txt]
16:13:57.167 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [test/../../testsecret/secret.txt]
16:13:57.167 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [:/../../testsecret/secret.txt]
16:13:57.167 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.168 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/file:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.168 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.168 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path represents URL or has "url:" prefix: [/url:/Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.168 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../../Users/gankang/spring-framework-learn/spring-webmvc/build/resources/test/org/springframework/web/servlet/resource/testsecret/secret.txt]
16:13:57.168 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]
16:13:57.169 [Test worker] WARN o.s.w.s.r.ResourceHttpRequestHandler - Path contains "../" after call to StringUtils#cleanPath: [/../testsecret/secret.txt]


Thank you ! Your account has been created:
- Log in clicking on the link (top right corner)
- You will receive an e-mail shortly, please confirm your registration
- Request your serial number and add your device on your profile page
- Hosting is not free, please support us by donating to our paypal acccount


Sydney Has Its Worst Air Pollution Day On Record
by Sarah BasfordThe bushfires have been ravaging much of Australia's east coast for weeks and while Sydney has been mostly spared, its air quality has not.
There have already been a number of days that the NSW capital has been shrouded in bushfire smoke but the air quality index (AQI) rating, provided by the NSW Department of Planning, Industry and Environment, for November 22 marks the worst in the city's recorded history.
"The impacts of the ongoing drought and recent bushfires have led to some of the highest levels of air pollutants recorded in NSW since air quality monitoring began during the millennium drought," a department spokesperson confirmed to Gizmodo Australia.
"Smoke from the current bushfire emergency is having widespread impacts across northern NSW, the North Coast, Northern Tablelands and into the Hunter and Sydney regions. Air quality is expected to be poor in areas in close proximity to the bushfires."
For air quality pollution levels to be deemed 'hazardous' — the most severe category — they need to hit 200 or more. The AQI index ratings show Richmond, the city's far north-west region is experiencing a rating of 640, Macquarie Park, a suburb in northern Sydney, reached 239 while Bargo in the south-west toward Wollongong, experienced levels at 319. All those ratings marked the highest in the region on record.
Because of all these ratings, Sydney has an overall AQI rating of 'poor' while parts of NSW, including the Central Coast have a 'very poor' rating — the category before the ominous-sounding 'hazardous'.
"Everyone, especially people with heart or lung disease, should avoid outdoor exertion and stay inside as much as possible," the department's warning read for regions experiencing hazardous levels.
The department explains "pollutants arise from natural processes like bushfires and from human activities, such as industrial and transport processes. Some, called 'secondary pollutants', form in the air when directly emitted (or primary) pollutants react with other substances or each other."
The specific pollutant causing Sydney and NSW's smoky skies in this instance is particulate matter (PM) and they're split into two categories. Acccording to the NSW Department of Health, PM10, particles measuring 10 micrometres or less in diameter, are small enough to enter through the nose and mouth and enter the lungs. There are also PM2.5, 2.5 micrometres or less in diameter, can also enter the lungs during cavities but it's small enough to enter your bloodstream.
The Health Department outlines the following symptoms can occur from short or long-term exposure to the pollution:
Short-term exposure (hours to days):
- Irritated eyes, nose and throat
- Worsening asthma and lung diseases such as chronic bronchitis (also called chronic obstructive pulmonary disease or COPD)
- Heart attacks and arrhythmias (irregular heart beat) in people with heart disease
- Increases in hospital admissions and premature death due to diseases of the respiratory and cardiovascular systems
Long-term exposure (many years):
- Reduced lung function
- Development of cardiovascular and respiratory diseases
- Increased rate of disease progression
- Reduction in life expectancy
In order to keep yourself safe during days with poor air pollution, the NSW Health Department recommends avoiding physical exercise or any vigorous activity as well as staying indoors where possible.


The Development Package is a zip file called tri-devp-pkg.zip
that once unzipped and installed provides a working Triangular environment to which new Applications can be added.
This provides both the GAE Variant and the Node.js Variant support.
An alternative Development Package is a zip file called tri-devp-pkg-node.zip
that once unzipped and installed provides a working Triangular environment
to which new Applications can be added. This alternative supports only the Node.js Variant.
The detailed steps for downloading and preparing the development environment are found at 01 Prepare Environment
Both variants can be be downloaded from Zip Files.
Unzip the file tri-devp-pkg.zip
or tri-devp-pkg-node.zip
into a directory of your choice making sure the internal directory structure is maintained. We will refer to it as X:\tri-devp
This description is relevant for Windows systems. For alternate platforms the .bat
will have to be ported to that platforms equivalent script.
Position a command window at X:\tri-devp\bats
and enter run-ws
This should start the webserver on port 8882.
Start the Chrome browser and goto URL http://localhost:8882
The port can be changed by changing run-ws.bat
. Adjust other references to port 8882 in the Chrome browser URL and in the
WAKS Utility
Position a command window at X:\tri-devp\bats
and enter run-tri
This should start the webserver on port 8888.
Start the Chrome browser and goto URL http://localhost:8888
The port can be changed by changing run-tri.bat
. Adjust other references to port 8888 in the Chrome browser URL and in the
WAKS Utility
The window
should appear
The testing of the Development Package is covered in greater detail in 02 Validate Environment
The bats
folder contains utility programs used in the development system.
They will have to be adjusted in a non-windows platform. As other platform versions are contributed they will be added to this folder.
Until the contribution happens it will be necessary at their usage points to adjust them to your platform.
waks.bat
- See WAKS Utilityrun-ws.bat
- see Starting the Local WebServerappcfg.bat
- see 08 Upload to GAE Siterun-tri.bat
- see Starting the Local WebServerDirectory X:\tri-devp\data
contains the raw data used to demo the apps. It is included here to allow for learning through inspection
and also to allow for re-uploads should it be necessary to reset the application data. It is used with the WAKS Utility.
Directory X:\tri-devp\icons
contains the raw data used to build some of the icons used in Triangular


FIRST round is on HTML5
SECOND round is on RUBY
THIRD round is on PHP
The Final round is on JS
NEWS
03/15/2018
Introducing the Season Pass, Weekday Packages, and more.
The Dev Olympic teams are permanent franchises representing major cities across the globe.
Selected carefully during the Dev Olympic preseason, our players earn guaranteed salaries and compete for millions of dollars in team bonuses on the biggest stages in esports history.
International city-based teams recruit top Overwatch players to compete in a five-month season, followed by championship playoffs with a $1 million bonus for first place.
BUY TICKETS FOR THE NEXT TOURNAMENT
Introducing the Season Pass, Weekday Packages, and more.


In case you're not all up to speed on the theory, here's a quick recap of the most important bits.
Phong Lighting approximates the color intensity of a point in space based on multiple parameters allowing for shiny and matte surface materials to be displayed.
It can be implemented in the vertex shader to be calculated per vertex or in the fragment shader to be calculated per fragment to avoid visual artifacts.
The following vectors are relevant for the calculation:
It is important to note the direction of the vectors and they must all be normalized and be transformed into the same coordinate system/space.
The lighting model uses the following equation:
The sum can be implemented by looping over the light sources and adding up the diffuse and specular parts for each.


Why Aegis?
We are the very best in the industry, and we have a proven track record with over a hundred clients from leading organizations all over the world. Come see why so many choose to work with us!
Talented and Dedicated Team
Our talented team consists of highly experienced data scientists, researchers, business consultants and much more! Many of our employees sport doctorates from world renowned universities like MIT and Harvard, and they work around the clock to ensure that our A.I. systems maintain their edge. When you work with us, you'll get the assistance of talented individuals from diverse backgrounds, who will go above and beyond to help your organization succeed.
Cutting Edge A.I. Systems
Aegis.ai pushes the boundary of A.I. research. With over $50 million dollars invested into A.I. Research and Development, Aegis has pioneered some of the most advanced A.I. systems in the world. When you work with us, you can rest assured that your organization is using some of the best technology around!
Easy Integration
With the help of our experienced tech consultants, the integration of our A.I. systems into your organization will be as smooth as butter. No matter your business, we guarantee fast results!
Quality Training
Aegis' training certificates are highly valued in the tech industry. Our courses are taught by experienced and professional trainers and teach highly relevant skills that are in demand in the industry.


{% blocktrans trimmed %}
You can take your event offline. Nobody except your team will be able to see or access it any more.
{% endblocktrans %}
{% trans "Cancel event" %}
{% blocktrans trimmed %}
If you need to call off your event you want to cancel and refund all tickets, you can do so through
this option.
{% endblocktrans %}
{% blocktrans trimmed %}
You can remove personal data such as names and email addresses from your event and only retain the
finanical information such as the number and type of ticekts sold.
{% endblocktrans %}
{% blocktrans trimmed %}
You can delete your event completely only as long as it does not contain any undeletable data, such as
orders not performed in test mode.
{% endblocktrans %}


tools - javascript linters
definition
Lint (software) : en.wikipedia.org
In computer programming, lint is a Unix utility that flags some suspicious and non-portable constructs (likely to be bugs) in C language source code; generically, lint or a linter is any tool that flags suspicious usage in software written in any computer language. The term lint-like behavior is sometimes applied to the process of flagging suspicious language usage. Lint-like tools generally perform static analysis of source code.
Lint as a term can also refer more broadly to syntactic discrepancies in general, especially in interpreted languages like JavaScript and Python. For example, modern lint checkers are often used to find code that doesn’t correspond to certain style guidelines. Because these languages lack a compiling phase that shows a list of errors prior to execution, they can also be used as simple debuggers for common errors (showing syntactic discrepancies as errors) or hard to find errors such as heisenbugs (drawing attention on suspicious code as “possible errors”).
TLDR
A linter performs static analysis of source code to find :
- undected errors on interpreted languages (they have no compiling phase) (ex : accessing an undefined var)
- styleguide issues (tab length, naming, etc …)
javascript linters
Linting JavaScript in 2015 : tech.lauritz.me
A Comparison of JavaScript Linting Tools : www.sitepoint.com 20150305
- a set of rules which they use to analyze and report problems in JavaScript files
- installed via npm
- available as plugins for tools like Grunt or Gulp (also throught EDI)
- support using comments for configuration
JSLint
The older one. Created by Douglas Crockford in 2002. Have strongly inspired his books, “Javascript: The Good Parts (2008)”.
Still maintained : douglascrockford/JSLint.
Not configurable or extensible.
JSHint
JSHint is a program that flags suspicious usage in programs written in JavaScript.
JSHint is a 2010 fork of JSLint.
Still maintained : jshint/jshint.
Configurable but no custom rule support.
links
JSCS
Unmaintained and merged with eslint in 2016. See this.
Style checker only.
ESLint
Created in 2013.
Still maintained : eslint/eslint
TLDR : It is JSHint + plugin system.
Usually 2-3x slower then JSHint on a single file (src).
Support JSX (React) and ES6.
Lots of pluggins ( babel-eslint, eslint-plugin-angular )
linters style guide superset
5 JavaScript Style Guides — Including AirBnB, GitHub, & Google - 20171105
The idea is to build a preconfired linter with no config available regarding to code style to avoid wasting time on useless debate like spaces or tabs.
github collections/clean-code-linters
airbnb
Provide npm packages for easy ESLint config :
npx install-peerdeps --dev eslint-config-airbnb-base
npx install-peerdeps --dev eslint-config-airbnb
stantardjs
Provide his own package to encapsulate and hide ESLint.
Used by thousands of companies including big ones like NPM, GitHub, mongoDB, ZenDesk, …
jQuery
jQuery foundation JavaScript Style Guide
prettiers
They limit to the formatting rules and don’t deal with code quality.
Comparison to ESLint/TSLint/stylelint


Episode seven in our daily serialisation of The Immense Duckpond Pamphlet
The Blodgett figure on the second and third floors of the House was known as Gabbitas, although this was not the name he had been born with. Like Blodgett, he had been in place for as long as anyone could remember. His nose ran. He was clumsy. His disposition was as bleak and unforgiving as Blodgett's. Gabbitas was astonishingly tall—almost seven and a half feet—and his eyes were permanently bloodshot. We shall meet with him again, you can count on it.


Please use the second field above for multiple queries separated by commas. Returns 2 definitions for each word.


{{batch.name}}
×
Attendance of Class {{batch.name}} is
marked
for {{day.date | amDateFormat: 'dddd, MMMM Do YYYY'}}
×
Attendance of Class {{batch.name}} is
NOT marked
for {{day.date | amDateFormat: 'dddd, MMMM Do YYYY'}}, mark now!
Present: {{ getTotal() }} Absent: {{ batch.students.length - getTotal() }}
{{fetchDate | date}} is a holiday!
{{$index + 1}}
{{student.basic.firstName}} {{student.basic.middleName}} {{student.basic.lastName}}
{{student.dayattendance ? 'Present' : 'Absent'}}
Mark Attendance


Suffolk Libraries are getting behind Mental Health Awareness Week next week with full force, hosting several different events across the county and celebrating a relaunch of their Mental Health and Wellbeing Information Service.
The newly named ‘New Chapters’ service can help residents of Suffolk find out about mental health and wellbeing organisations, services, local projects, events and specialist books to help support a whole range of mental health and wellbeing issues.
Coordinator, Sarah Lungley, says:
We want to raise awareness of our Mental Health and Wellbeing Service and there’s already been a significant increase in it, so we’re hoping relaunching the service will help that to continue. We’re really pleased to be able to get behind Mental Health Awareness Week, as it’s a great way to raise awareness of what support and advice is out there whilst helping to reduce stigma at the same time.
Several events will be running in libraries, one of which will be a tour of the Suffolk Family Carers bus on Thursday 19 May. It will visit Great Cornard Library from 9.30am-10.30am, Haverhill Library from 11.30am-1pm and Hadleigh Library at 2.30pm-3.30pm, to provide information about Suffolk Family Carers and other support which is available.
Ashley Bartlett, a Community Adviser & Support and Advocacy worker for Suffolk Family Carers Mental Health Team explains:
I am very pleased to be able to bring the bus to the libraries. The aim of the SFC Bus is to reach out to unpaid and unidentified family carers living throughout Suffolk and they can come onto our bus and register with us for support if they want to or I can advise them on various assessments. There is also information, respite, fun and friendship support for young carers aged 9 to 15, which we can refer young carers to.
The Open Space group in Ipswich Library (Wednesday 1-3pm), will be joined by Oz Osbourne from The Outsiders talking about his 12th Man project supporting men’s mental health. The Time To Change Reginal Coordinator, Maddi Cassell, will also be visiting the library and the Open Space group and will be available to chat to customers.
Maddi says:
Time to Change is a national lived-experience led campaign challenging mental health stigma and discrimination. We want to get the nation talking to each other about mental health, and what better place to do this than our amazing libraries? I will be available for tea and a chat if you want to find out more about how to get involved, how to run Time to Change events in your libraries and communities, or even become one of our lived-experience Champions.
Ipswich County Library will also be holding a wellbeing event on Friday 20 May from 10am-2pm, which will have stallholders from various organisations giving information on mental health and wellbeing, with free refreshments. Several other libraries are also displaying books around mental health and the Books on Prescription scheme.
Suffolk Libraries are also supporting Dementia Awareness Week, which coincides with Mental Health Awareness Week, with dedicated displays and an event at Broomhill Library in Ipswich on Thursday 19 May at 2pm. The event will consist of Sherrington House Care Home giving a talk about dementia, with crafts, cakes and books for sale. As part of the relaunch, New Chapters is also developing several new projects across Suffolk to support mental health and wellbeing:
- The Open Space group in Ipswich library, with Julian Support and NSFT, is to be rolled out into at least three other libraries
- Working with Ipswich hospital to pilot eReader devices in their psychiatric intensive care unit, to increase patient’s access to books as a relaxing and therapeutic tool
- Supporting local Dementia Action Alliance groups and providing Dementia Friends training to library staff
- Providing a network group for women who are survivors of Female Genital Mutilation, working with Suffolk Refugee Support
- Piloting Mental Health First Aid training for library staff
- Working with health providers to increase awareness and use of the Books on Prescription scheme, both for adults and young people.
Sarah Lungley added:
We’re really lucky to be able to offer such a diverse variety of activities and projects that stem from great partnerships in the community. Libraries are important for so many people for different reasons, and one of those is often somewhere safe and welcoming to be. One in four of us will experience a mental health problem each year and it’s really important we get people talking about it – We all have mental health, the same way we all have physical health and we all need to do our bit to support others and be kinder to ourselves.
If you would like further information on any of the projects or events mentioned, or are looking for advice on mental health and wellbeing, please contact New Chapters at<EMAIL_ADDRESS>or visit their website, www.suffolklibraries.co.uk/newchapters.


My Top 9 is a trip down memory lane. We offer that sense of nostalgia from the glorious Myspace days.
Remember my top 8 from MySpcae? This app is the same thing but instead of choosing 8 best friends, you choose 9! There was nothing more exciting back in the day when someone added you to their top 8. Relive that now! Just click the button below!
Choosing your top 9 is so much fun! Connect with frieds who have similar interests based on several topics and categories. You never know who you may have things in common with. This app gives you the chance to connect with people on a new level.
Other social media platforms can be intemidating for some. There are so many features and it is easy to get lost on their sites. With our app, we have made sure that the design is user friendly and simple. No more advanced searches, just let us do the work for you.


{% extends "layout.html" %} {% block title %}LostTime - Join{% endblock %} {% block pagetitle %}
Enter the email address you used to register. If there is a match, you'll receive a message with a link to reset your password. The password reset link is valid for 15 minutes after it is requested here.


This utility will convert all the tables in your community database to UTF-8 without deleting or overwriting your existing data.
Simply upload the directory utf8convert
to your community root directory.
The converter will create new tables with the prefix "x_utf_". The converter will read your existing data, convert it to UTF-8 and then save it into the "x_utf_" prefixed tables.
Once the data conversion has taken place, you can test the conversion by editing your conf_global.php
file to alter the sql_prefix
and to make sure that the sql_charset
is set to utf8
. The exact instructions for this
are shown when the conversion has finished.
Once you are happy that the conversion is correct, you are prompted to finish the conversion. This will rename your existing database tables with the prefix "orig_" and the UTF-8 tables
will be renamed to your existing prefix. You are then prompted again to edit your conf_global.php
file to alter the sql_prefix
.
You can then delete the "orig_" prefixed tables when you are happy that the conversion is complete and the original unconverted data is no longer required.
This converter is available with two interfaces. There is a web version that you can launch using the button below.
The preferred method is to use the command line version. If you have shell access with your hosting account, then please launch the shell converter interface by using cd
to navigate to
your community root and then run php cli.php
and follow the onscreen prompts. If you are running from the Windows command prompt or your shell client does not support colors, then run php cli.php --basic
.
If you encounter any issues while using this conveter, please report the issue to our bug tracker. When creating a new
bug report please copy and paste the "info" from the converter output.
Active IP.Board license holders can also request support via the client center.
If you're using the command line version, please run php cli.php --info
. If you're using the web version, please click on the "Tools" button at the top. This information
will help us debug the issue. No sensitive data is ever revealed with this tool.


{{+bindTo:partials.standard_nacl_article}}
NOTE:
Deprecation of the technologies described here has been announced
for platforms other than ChromeOS.
Please visit our
migration guide
for details.
This section of the Developer’s Guide describes important concepts that would be useful to understand in order to code your application—e.g., how an application is structured, and how to use the Pepper APIs.


Unique peptides per species
Number of unique peptides sequences per top species
Clusters per species
Number of high quality clusters per top species
Shared distinct peptides
Unique peptide sequences shared among the top species


An almost direct port of the 'python' 'humanize' package <https://github.com/jmoiron/humanize>. This package contains utilities to convert values into human readable forms.
| Version: | 0.2.0 |
| Imports: | lubridate, assertthat, glue |
| Suggests: | testthat, purrr |
| Published: | 2018-04-04 |
| Author: | Gerry Manoim [aut, cre] |
| Maintainer: | Gerry Manoim <gerrymanoim at gmail.com> |
| BugReports: | https://github.com/newtux/humanize/issues |
| License: | MIT + file LICENSE |
| URL: | https://newtux.github.io/humanize/index.html, https://github.com/newtux/humanize |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | humanize results |
| Reference manual: | humanize.pdf |
| Package source: | humanize_0.2.0.tar.gz |
| Windows binaries: | r-devel: humanize_0.2.0.zip, r-release: humanize_0.2.0.zip, r-oldrel: humanize_0.2.0.zip |
| OS X binaries: | r-release: humanize_0.2.0.tgz, r-oldrel: humanize_0.2.0.tgz |
| Old sources: | humanize archive |
Please use the canonical form https://CRAN.R-project.org/package=humanize to link to this page.


In this presentation, I will walk you through my own implementation of the Azure Go SDK that does the following:
I do make a few assumptions about your previous knowledge and level of motivation:
Course GitHub Repo
Course Transcript
SDK Docs
SDK Reference
If you execute the code from this presentation, there is the possibility that you may incur some costs from the Azure services you create.
The actual cost is largely dependent on how long you leave the services running, so make sure to keep a close eye on the bill for your subscription and delete any resources that you create as soon as you are done using them.
The Azure SDK for Go provides several libraries to communicate with and programmatically manage Azure services.
The SDK is built on top of the Azure REST API. This hierarchy allows you to access the functionality of the Azure REST API directly from your Go programs.

Before I actually get into showing off the code to the SDK program, I want to mention some alternatives to using the Go SDK and provide general guidance for setting up a local development environment.
The Azure Resource Manager is an Azure service which receives all requests for managing a resource: these can be requests to read, create, delete, or update a resource.
When I send a request through my Go SDK program, the resource manager receives, authenticates and authorizes that request before forwarding it to the appropriate Azure service.
Because all requests are handled through the same Resource Manager API, the results and capabilities are consistent throughout all the available resource management tools, or interfaces as they are sometimes referred to in the docs.
While I have chosen to use the Go SDK as my tool for working with the Azure Resource Manager, I want to mention the alternative tools you could choose to use in place of the Go SDK:
Each of these interfaces merit a bit of research to understand their advantages and disadvantages, but I will not talk more about them here. Just know that you could essentially use any of them in-place of the Go SDK.
Running this project on one of the three major operating systems (that is, Mac, Windows, or Linux) requires the following:
Click on your operating system below for basic setup links to help you get setup on your system.
Informational links for Mac
Terminal | Text Editor | Go Language | Azure AccountInformational links for Windows
Terminal | Text Editor | Go Language | Azure AccountInformational links for Linux
Terminal | Text Editor | Go Language | Azure AccountAs a developer working in a development only environment, authenticating through the CLI is the quickest way to get started.
To interactively authenticate with the CLI, complete the following steps:
These steps sign-in my user principle and provide a token that the NewAzureCLICredential function will use across the Go SDK.
package main
import (
// import standard library packages
"context"
"encoding/json"
"fmt"
"log"
"os"
// import Azure SDK packages
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
)
// declare the main function
func main() {
cred, err := azidentity.NewAzureCLICredential(nil)
if err != nil {
log.Fatalf("failed to obtain CLI credential: %v", err)
}
ctx := context.Background()
subscriptionID := os.Getenv("AZURE_SUBSCRIPTION_ID")
resourceGroupName := "Go-SDK-VM"
resourceGroupLocation := "eastus2"
err = createResourceGroup(ctx, cred, subscriptionID, resourceGroupName, resourceGroupLocation)
if err != nil {
log.Fatalf("failed at createResourceGroup: %v", err)
}
deploymentName := "deployVirtualMachine"
err = deployTemplate(ctx, cred, subscriptionID, resourceGroupName, deploymentName)
if err != nil {
log.Fatalf("failed at deployTemplate: %v", err)
}
}
func createResourceGroup(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
resourceGroupLocation string,
) error {
resourceGroupClient, err := armresources.NewResourceGroupsClient(subscriptionId, cred, nil)
if err != nil {
return fmt.Errorf("failed to create resource group client instance: %v", err)
}
boolResp, err := resourceGroupClient.CheckExistence(ctx, resourceGroupName, nil)
if err != nil {
return fmt.Errorf("error while checking if resource group already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested resource group already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested resource group does not yet exist and will been created: %v", resourceGroupName)
}
resourceGroupResponse, err := resourceGroupClient.CreateOrUpdate(
ctx,
resourceGroupName,
armresources.ResourceGroup{
Location: to.Ptr(resourceGroupLocation),
},
nil,
)
if err != nil {
return fmt.Errorf("error while creating a new resource group: %v", err)
}
log.Printf("resource group has been created: %v", *resourceGroupResponse.ResourceGroup.Name)
return nil
}
func deployTemplate(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
deploymentName string,
) error {
deploymentsClient, err := armresources.NewDeploymentsClient(subscriptionId, cred, nil)
if err != nil {
log.Fatalf("failed to create deployment client: %v", err)
}
boolResp, err := deploymentsClient.CheckExistence(ctx, resourceGroupName, deploymentName, nil)
if err != nil {
return fmt.Errorf("error while checking if deployment already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested deployment already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested deployment does not yet exist and will been created: %v", resourceGroupName)
}
parameters, err := readJSON("parameters.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
template, err := readJSON("template.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
poller, err := deploymentsClient.BeginCreateOrUpdate(
ctx,
resourceGroupName,
deploymentName,
armresources.Deployment{
Properties: &armresources.DeploymentProperties{
Mode: to.Ptr(armresources.DeploymentModeIncremental),
Parameters: parameters,
Template: template,
},
},
nil,
)
if err != nil {
log.Fatalf("failed to deploy template: %v", err)
}
deploymentResponse, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
log.Printf("deployment %v was successful", *deploymentResponse.Name)
return nil
}
func readJSON(path string) (map[string]interface{}, error) {
localFile, err := os.ReadFile(path)
if err != nil {
return nil, err
}
// Blog post about the Map type
// https://go.dev/blog/maps
mappedJSON := make(map[string]interface{})
// Blog post about the unmarshal function
// https://golang.co/how-to-unmarshal-json-in-go/
err = json.Unmarshal(localFile, &mappedJSON)
if err != nil {
return nil, err
}
return mappedJSON, nil
}
After obtaining an authentication token, the next step will be to create a resource group for the deployment. A resource group is a container that holds related resources that you want to manage as a group. That means that all the resources in your resource group should share the same lifecycle: being deployed, updated, and deleted together. When you create a resource group, you need to provide a location where that resource group’s metadata will be stored.
package main
import (
// import standard library packages
"context"
"encoding/json"
"fmt"
"log"
"os"
// import Azure SDK packages
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
)
// declare the main function
func main() {
cred, err := azidentity.NewAzureCLICredential(nil)
if err != nil {
log.Fatalf("failed to obtain CLI credential: %v", err)
}
ctx := context.Background()
subscriptionID := os.Getenv("AZURE_SUBSCRIPTION_ID")
resourceGroupName := "Go-SDK-VM"
resourceGroupLocation := "eastus2"
err = createResourceGroup(ctx, cred, subscriptionID, resourceGroupName, resourceGroupLocation)
if err != nil {
log.Fatalf("failed at createResourceGroup: %v", err)
}
deploymentName := "deployVirtualMachine"
err = deployTemplate(ctx, cred, subscriptionID, resourceGroupName, deploymentName)
if err != nil {
log.Fatalf("failed at deployTemplate: %v", err)
}
}
func createResourceGroup(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
resourceGroupLocation string,
) error {
resourceGroupClient, err := armresources.NewResourceGroupsClient(subscriptionId, cred, nil)
if err != nil {
return fmt.Errorf("failed to create resource group client instance: %v", err)
}
boolResp, err := resourceGroupClient.CheckExistence(ctx, resourceGroupName, nil)
if err != nil {
return fmt.Errorf("error while checking if resource group already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested resource group already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested resource group does not yet exist and will been created: %v", resourceGroupName)
}
resourceGroupResponse, err := resourceGroupClient.CreateOrUpdate(
ctx,
resourceGroupName,
armresources.ResourceGroup{
Location: to.Ptr(resourceGroupLocation),
},
nil,
)
if err != nil {
return fmt.Errorf("error while creating a new resource group: %v", err)
}
log.Printf("resource group has been created: %v", *resourceGroupResponse.ResourceGroup.Name)
return nil
}
func deployTemplate(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
deploymentName string,
) error {
deploymentsClient, err := armresources.NewDeploymentsClient(subscriptionId, cred, nil)
if err != nil {
log.Fatalf("failed to create deployment client: %v", err)
}
boolResp, err := deploymentsClient.CheckExistence(ctx, resourceGroupName, deploymentName, nil)
if err != nil {
return fmt.Errorf("error while checking if deployment already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested deployment already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested deployment does not yet exist and will been created: %v", resourceGroupName)
}
parameters, err := readJSON("parameters.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
template, err := readJSON("template.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
poller, err := deploymentsClient.BeginCreateOrUpdate(
ctx,
resourceGroupName,
deploymentName,
armresources.Deployment{
Properties: &armresources.DeploymentProperties{
Mode: to.Ptr(armresources.DeploymentModeIncremental),
Parameters: parameters,
Template: template,
},
},
nil,
)
if err != nil {
log.Fatalf("failed to deploy template: %v", err)
}
deploymentResponse, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
log.Printf("deployment %v was successful", *deploymentResponse.Name)
return nil
}
func readJSON(path string) (map[string]interface{}, error) {
localFile, err := os.ReadFile(path)
if err != nil {
return nil, err
}
// Blog post about the Map type
// https://go.dev/blog/maps
mappedJSON := make(map[string]interface{})
// Blog post about the unmarshal function
// https://golang.co/how-to-unmarshal-json-in-go/
err = json.Unmarshal(localFile, &mappedJSON)
if err != nil {
return nil, err
}
return mappedJSON, nil
}
package main
import (
// import standard library packages
"context"
"encoding/json"
"fmt"
"log"
"os"
// import Azure SDK packages
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
)
// declare the main function
func main() {
cred, err := azidentity.NewAzureCLICredential(nil)
if err != nil {
log.Fatalf("failed to obtain CLI credential: %v", err)
}
ctx := context.Background()
subscriptionID := os.Getenv("AZURE_SUBSCRIPTION_ID")
resourceGroupName := "Go-SDK-VM"
resourceGroupLocation := "eastus2"
err = createResourceGroup(ctx, cred, subscriptionID, resourceGroupName, resourceGroupLocation)
if err != nil {
log.Fatalf("failed at createResourceGroup: %v", err)
}
deploymentName := "deployVirtualMachine"
err = deployTemplate(ctx, cred, subscriptionID, resourceGroupName, deploymentName)
if err != nil {
log.Fatalf("failed at deployTemplate: %v", err)
}
}
func createResourceGroup(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
resourceGroupLocation string,
) error {
resourceGroupClient, err := armresources.NewResourceGroupsClient(subscriptionId, cred, nil)
if err != nil {
return fmt.Errorf("failed to create resource group client instance: %v", err)
}
boolResp, err := resourceGroupClient.CheckExistence(ctx, resourceGroupName, nil)
if err != nil {
return fmt.Errorf("error while checking if resource group already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested resource group already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested resource group does not yet exist and will been created: %v", resourceGroupName)
}
resourceGroupResponse, err := resourceGroupClient.CreateOrUpdate(
ctx,
resourceGroupName,
armresources.ResourceGroup{
Location: to.Ptr(resourceGroupLocation),
},
nil,
)
if err != nil {
return fmt.Errorf("error while creating a new resource group: %v", err)
}
log.Printf("resource group has been created: %v", *resourceGroupResponse.ResourceGroup.Name)
return nil
}
func deployTemplate(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
deploymentName string,
) error {
deploymentsClient, err := armresources.NewDeploymentsClient(subscriptionId, cred, nil)
if err != nil {
log.Fatalf("failed to create deployment client: %v", err)
}
boolResp, err := deploymentsClient.CheckExistence(ctx, resourceGroupName, deploymentName, nil)
if err != nil {
return fmt.Errorf("error while checking if deployment already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested deployment already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested deployment does not yet exist and will been created: %v", resourceGroupName)
}
parameters, err := readJSON("parameters.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
template, err := readJSON("template.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
poller, err := deploymentsClient.BeginCreateOrUpdate(
ctx,
resourceGroupName,
deploymentName,
armresources.Deployment{
Properties: &armresources.DeploymentProperties{
Mode: to.Ptr(armresources.DeploymentModeIncremental),
Parameters: parameters,
Template: template,
},
},
nil,
)
if err != nil {
log.Fatalf("failed to deploy template: %v", err)
}
deploymentResponse, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
log.Printf("deployment %v was successful", *deploymentResponse.Name)
return nil
}
func readJSON(path string) (map[string]interface{}, error) {
localFile, err := os.ReadFile(path)
if err != nil {
return nil, err
}
// Blog post about the Map type
// https://go.dev/blog/maps
mappedJSON := make(map[string]interface{})
// Blog post about the unmarshal function
// https://golang.co/how-to-unmarshal-json-in-go/
err = json.Unmarshal(localFile, &mappedJSON)
if err != nil {
return nil, err
}
return mappedJSON, nil
}
package main
import (
// import standard library packages
"context"
"encoding/json"
"fmt"
"log"
"os"
// import Azure SDK packages
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
)
// declare the main function
func main() {
cred, err := azidentity.NewAzureCLICredential(nil)
if err != nil {
log.Fatalf("failed to obtain CLI credential: %v", err)
}
ctx := context.Background()
subscriptionID := os.Getenv("AZURE_SUBSCRIPTION_ID")
resourceGroupName := "Go-SDK-VM"
resourceGroupLocation := "eastus2"
err = createResourceGroup(ctx, cred, subscriptionID, resourceGroupName, resourceGroupLocation)
if err != nil {
log.Fatalf("failed at createResourceGroup: %v", err)
}
deploymentName := "deployVirtualMachine"
err = deployTemplate(ctx, cred, subscriptionID, resourceGroupName, deploymentName)
if err != nil {
log.Fatalf("failed at deployTemplate: %v", err)
}
}
func createResourceGroup(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
resourceGroupLocation string,
) error {
resourceGroupClient, err := armresources.NewResourceGroupsClient(subscriptionId, cred, nil)
if err != nil {
return fmt.Errorf("failed to create resource group client instance: %v", err)
}
boolResp, err := resourceGroupClient.CheckExistence(ctx, resourceGroupName, nil)
if err != nil {
return fmt.Errorf("error while checking if resource group already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested resource group already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested resource group does not yet exist and will been created: %v", resourceGroupName)
}
resourceGroupResponse, err := resourceGroupClient.CreateOrUpdate(
ctx,
resourceGroupName,
armresources.ResourceGroup{
Location: to.Ptr(resourceGroupLocation),
},
nil,
)
if err != nil {
return fmt.Errorf("error while creating a new resource group: %v", err)
}
log.Printf("resource group has been created: %v", *resourceGroupResponse.ResourceGroup.Name)
return nil
}
func deployTemplate(
ctx context.Context,
cred azcore.TokenCredential,
subscriptionId string,
resourceGroupName string,
deploymentName string,
) error {
deploymentsClient, err := armresources.NewDeploymentsClient(subscriptionId, cred, nil)
if err != nil {
log.Fatalf("failed to create deployment client: %v", err)
}
boolResp, err := deploymentsClient.CheckExistence(ctx, resourceGroupName, deploymentName, nil)
if err != nil {
return fmt.Errorf("error while checking if deployment already exists: %v", err)
} else if boolResp.Success {
log.Printf("requested deployment already exists and will not be created: %v", resourceGroupName)
return nil
} else {
log.Printf("requested deployment does not yet exist and will been created: %v", resourceGroupName)
}
parameters, err := readJSON("parameters.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
template, err := readJSON("template.json")
if err != nil {
log.Fatalf("read template JSON file: %v", err)
}
poller, err := deploymentsClient.BeginCreateOrUpdate(
ctx,
resourceGroupName,
deploymentName,
armresources.Deployment{
Properties: &armresources.DeploymentProperties{
Mode: to.Ptr(armresources.DeploymentModeIncremental),
Parameters: parameters,
Template: template,
},
},
nil,
)
if err != nil {
log.Fatalf("failed to deploy template: %v", err)
}
deploymentResponse, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
log.Printf("deployment %v was successful", *deploymentResponse.Name)
return nil
}
func readJSON(path string) (map[string]interface{}, error) {
localFile, err := os.ReadFile(path)
if err != nil {
return nil, err
}
// Blog post about the Map type
// https://go.dev/blog/maps
mappedJSON := make(map[string]interface{})
// Blog post about the unmarshal function
// https://golang.co/how-to-unmarshal-json-in-go/
err = json.Unmarshal(localFile, &mappedJSON)
if err != nil {
return nil, err
}
return mappedJSON, nil
}
If you have followed along with me, you should be able to login to your Azure portal and see that the resource group and resources from the template have been created in your subscription. If something did not work correctly, check and debug your code carefully. If all your troubleshooting attempts do not yield very good results, you can get a working example running by executing the code I used (after changing the subscriptionID value).
Finally, if you have successfully created any Azure resources throughout this presentation, make sure to delete the entire resource group to avoid incurring any undesired costs in your subscription.


ColdFunctional is a core language extension for Railo, inspired by Underscore, Ruby,
Scala, and Clojure. It adds more functional programming language support to the
coldfusion language, by providing more built-in, higher-order functions.
It is a buffet-style extension, meaning, you don't have to install every new function.
NOTE: Railo is a great CFML engine (best out there, IMO).
Unfortunately there is an issue
where Railo built-in functions override user-defined functions.
That means that if you have any user-defined functions with the same name as a function provided by Coldfunctional, whether authored by you or used
in a framework that your app depends on, this extension may break it.
Fortunately, this extension allows you to rename functions on install, to help you avoid conflicts.
For example, If you are using Wirebox, you may want to rename the map method to something else (like _map) during Coldfunctional installation, in order to avoid this conflict.
Collection Functions
...ya know, for arrays, structs, and even queries.
Each of these collection functions belongs to a function family.
All functions in a family has essentially the same functionality, but it may
have a more expressive name or different semantics. It may operate on
different data structures (array, structs, queries). Some
functions in a function family are already built into Railo.
This extension tries to fill in the gaps.
Each function family
each applies a function to each element in a collection.
NOTE: query.reduce was not implemented, because it did not seem very useful
to reduce a query to a single row. If you do think this would be useful, let me know.
Any function family
any returns true if any element in the collection passes the test
Functions that operate on other functions to produce new functions.
Each function belongs in a family similar to the collection functions,
though these families are smaller, consisting of a vanilla explicit function and
a member function. NOTE: the member functions will not work until
this feature
is implemented in the Railo core. Until then, you can use
still use the explicit functions.
Once function family
once returns a function that will only be called once.
In other words, the result is cached.
Member Functions
function.once()
Explicit Functions
functionOnce( function )
Once is moderately useful for a component as well. Railo has built-in function caching.
For most, if not all, use cases function caching may be the more logical choice over using once
Here is how you do it anyways, in case you crave the more expressive nature of
higher-order functions.
(since v0.2.0)
The partial function, when provided a function and some arguments, will return a function that has the arguments already applied.
If the resulting function is called, it will only need the remaining arguments, if any.
Partial application of arguments can be done via named or unnamed arguments, by passing an array or struct.
Member Functions
function.partial( [] )
function.partial( {} )
Explicit Functions
functionPartial( function, [] )
functionPartial( function, {} )
Here are a few examples of how to use partial
function add(x,y) {
return x + y;
}
function power(x,y) {
return x^y;
}
addOne = functionPartial( add, [1] );
five = addOne( 4 );
square = functionPartial( power, {y: 2} );
twentyfive = square( 5 );
constantly function
(since v0.2.2)
The constantly function, takes one and only one argument and returns a function that returns
that value regardless of what arguments are provided to it.


Use parameterized stored procedures when interacting with a database if other parameterized APIs are not available. This increases performance and reduces the risk of a successful SQL injection attack.
Attackers can use a SQL Injection to execute arbitrary queries with the privileges of the application. Under certain conditions SQL Injection can also lead to remote code execution.
To use a parameterized stored procedure:
Create the stored procedure on the database. Since stored procedures reside on the database server, you need to create the appropriate stored procedures on your application's database server. Make sure not to concatenate untrusted data into SQL syntax, but to use parameters and let the database engine substitute data into them. The following example creates a parameterized stored procedure:
CREATE OR REPLACE PROCEDURE PlaceOrder(custID INT, itemID INT, qty INT) AS
INSERT INTO PendingPurchases (customer, item, quantity)
VALUES (custID, itemID, qty);
END PlaceOrder;
Assign the appropriate permissions. Once you have created the stored procedure, assign the appropriate permissions on the database server. Using the example above, allow your application to execute PlaceOrder and deny it access to PendingPurchases.  This can be done using the following Java code:
Connection cn = MyApp.getDBConnection();
PreparedStatement st = cn.prepareStatement("exec PlaceOrder(?, ?, ?);");
st.setInt(1, custID);
st.setInt(2, itemID);
st.setInt(3, qty);
ResultSet rs = st.executeQuery();


Pantomime is a library for the Rust programming language that empowers you to build concurrent, stateful, and stream-oriented programs with ease.
To get started, add the following to your Cargo.toml file:
\[dependencies]
pantomime = "0.0.1"
Now that you've setup the dependency, be sure to review the Actor documentation for for next steps.
[set title Overview / Pantomime / Pantomime] [set doc-section pantomime-overview] [stash doc-content][require raw ../_layout.html]


Ah the perils of pills, the temptation of tablets. It was morning, and I before going to college, decided to partake in 10mg of Methadone, 2mg of Dilaudid, and a booster of 700mg Soma.
Act 2: ALPHA, the beginning. - I sat as I do, before a computer, researching a supposed 'quaalude' analog, only to find that it had much less to do with a quaalude than suspected. Awash in the world of the internet, a warm sense of well-being crept first from the back of my neck, in all directions, a warm ecstasy. I felt my senses race to pleasure, the dull day had become an orgy of endorphins in my mind. The wonderful thing about opiates is the calming effect, mixed with a noble euphoria only morpheus can bring. A noble warmth swells withen me and for the moment all is right with the world. You become the sole god in a domain of delight. The Soma (carisprodol) really helps bring out the best of the opiates, but posesses a sedating quality prehaps because a small portion becomes the famous meprobamate of 'Miltown'.
Act 3: In the valley of the shadow of sweat - I begin to feel a little ill, not of the mind but of the body, it has been about 2 hours since I consumed my powdered pleasure, my mouth is noticably dry, and my skin remains cold and clammy a bit, although I am noticably sweating a bit, in my mind an apathy for danger and the focus is on the feeling, a still powerful warm 'wellness' covers me like body armor. My muscles are relaxed, my mind wanders, the world is within my grasp. Opiates can make me VERY queezy. Promethazine as a preloader helped, in 25mg, and pretentiated the opiate effects.
Act 4: This is the end Ė Itís been about 4 hours of relaxing, reading, etc. A bit of dehydration has been dealt with with crisp ice water, especially pleasant if I had a little cocaine. My queezy tummy has calmed, the warmth of the opiates are slowly melting away, I am no longer sweating and I feel more alert, although regretfully more aware. All in all this opiate experience was wonderful, and I think opiates indeed bring upon me a state of passive activity in our own internal worlds. A good tool for relaxing and just appreciating pleasure.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


---
layout: post
title: a giant light installation illuminates the north
date: '2012-01-02T15:41:07+00:00'
tags: []
tumblr_url: http://backlog.robbevan.com/post/15184750498/a-giant-light-installation-illuminates-the-north
---
A Giant Light Installation Illuminates the North Face of the Jungfrau Mountain


Comments
-
Greg Hurrell
Interesting, didn't know about that one. I've actually never used the official scrobbler (nor any other); I just implemented the scrobbling support by sitting down with the official scrobbling protocol documentation and making Synergy conform to it exactly.
The original version of the protocol I developed against was 1.1 (http://www.audioscrobbler.net/wiki/Protocol1.1.merged). Of interest here, it says:
- Each song should be posted to the server when it is 50% or 240 seconds complete, whichever comes first.
- If a user seeks (i.e. manually changes position) within a song before the song is due to be submitted, do not submit that song.
So at least according to that version of the protocol it says to submit at 50%, not at or after 50%. The wording seems quite clear that there is no leeway for submitting the information at any other time.
The next version of the protocol is version 1.2 (http://www.audioscrobbler.net/development/protocol/) and it has the following modification:
- "No skipping" rule removed (50%/240 seconds must still be played).
Digging a little deeper it says:
- The track must be submitted once it has finished playing. Whether it has finished playing naturally or has been manually stopped by the user is irrelevant.
- The track must have been played for a duration of at least 240 seconds or half the track's total length, whichever comes first. Skipping or pausing the track is irrelevant as long as the appropriate amount has been played.
So my understanding of this is that the exact moment for submission is once again strictly determined, but this time rather than at the 50% point it is at the end of the song. It would appear that if the official client is allowing the user to determine the moment at which stuff gets submitted then it isn't actually adhering to the official 1.2 protocol.
Apparently, the very latest version of the protocol is version 1.2.1 (http://www.lastfm.es/api/submissions). As far as I can tell, it includes the exact same rules about when to submit, and the only modifications are described as:
The only change is an additional, optional, handshake mechanism to allow third-parties to use Last.fm web services authentication to create new scrobbling sessions.
So on the protocol front, I'm inclined to reject this feature request. At least until we get official clarification from last.fm that the protocol is incorrect or ambiguous and will be updated in a future revision.
On the technical front, I don't see any real technical obstacle to implementing it, as it just means that the places where the 50% point is hard-coded into the algorithm would just need to be replaced with a user-controllable variable ranging between 50% and 100%, and of course the accompanying UI for actually manipulating that setting.
-
anonymous
And about the now playing part? The official scrobbler shows when a track is playing (not necessarily scrobbled), could this be implemented as well?
-
Greg Hurrell
Hm, I'm not sure. The protocol says nothing about "now playing" notifications, it only talks about scrobbling. Perhaps it is being scrobbled early (as you say, as early as 50% through the track) and the website shows that as "now playing"?
-
anonymous
No, the official scrobbler really display "now playing" for the hole time the track plays. If you stop it before 50% it is removed from the list, if it plays passed 50% then it is scrobbled and remain on the list when the track change.
So it's basically: Track start to play -> set status to now playing on that track -> track is marked as scrobbled, still showing now playing -> next track -> track remain on the list -> next track start to play Or : Track start to play -> set status to now playing on that track -> next track -> track is removed from the list -> next track start to play
-
Greg Hurrell
Interesting. So they must be using some as-yet-unpublished API because the behavior you're describing doesn't conform even remotely to what's required by the protocol.
-
Greg Hurrell
Changes are in the wind:
- http://www.lastfm.es/forum/21716/_/611779: "Request for feedback on the next version of the Scrobble API"
- http://blog.last.fm/2010/03/19/but-does-it-scrobble: "But does it scrobble?"
Add a comment
Comments are now closed for this issue.


Ported by Yeo Quan Yang. Credits to the original author William Entriken @https://github.com/fulldecent
Project site at https://github.com/fulldecent/system-bus-radio
List of computers that work and what frequency to try at https://github.com/fulldecent/system-bus-radio/blob/master/TEST-DATA.tsv


Anambra Police burst kidnap syndicate, arrest two kingpins
by https://www.facebook.com/CheerfulpraiseThe Anambra State Police Command says it has smashed a kidnapping syndicate terrorising the state, and arrested two suspected top members.
The Command’s Public Relations Officer (PRO), Haruna Mohammed, a superintendent of police (SP) said Saturday that the arrest followed a fierce gun battle with the criminals.
Mohammed said that police also recovered one revolver pistol, four live ammunition, and a victim’s body.
He said the gun battle between the police and the syndicate took place on Friday, at Owerrinta, Abia State.
According to him, the shootout took place when the abductors came to collect N3 million ransom from the victim’s family.
“Following actionable intelligence, Puff-Adder operatives, in conjunction with the Command’s Special Anti robbery Squad (SARS), tracked and arrested at Aro Ngwa, Owerrinta in Abia State, one Anthony Robbert ‘m’ 25 years.
“Robert was arrested alongside one Udoka Nwoko ‘m’ 27 years, after a fierce gun battle.
“The two suspects were fatally wounded during the encounter,’’ it said.
The command’s spokesman said the encounter followed the kidnap of one Amaechi Ike ‘m’, at Awada in Onitsha, Anambra.
Read Also: Two nabbed in Police, kidnappers’ gun duel
“The suspects later collected N3 million ransom from his family, and still went ahead to kill the victim (Ike),” he said.
Mohammed stated that the suspects voluntarily confessed to the crime and immediately took Police detectives to a shallow grave, where they buried the victim.
He said that the corpse was exhumed and recovered as exhibit and later deposited at a morgue.
The PPRO said that police recovered one locally-made revolver pistol and four live ammunition from the suspects.
He said the suspects had since been taken to the hospital for medical attention; and they would be charged to court after investigation.
The PRO used the medium to re-assure the public of Anambra Commissioner of Police, Mr John Abang’s readiness to combat crime in the state.
He appealed to residents to always provide useful information that would assist the Police in protecting lives and property of all citizens.


One of the most tedious task in Text Analytics is cleaning raw text. Fortunately NLTK has a lot of tools to help you in this task. One of the most important is nltk.corpus.stopwords which contains stopwords for 11 languages.
Let's start coding:
import nltk
nltk.download()
First step is to install the stopwords so we run nltk.download().
Then we choose Corpora -> Stopwords -> Download
Back to coding!
from nltk.corpus import stopwords
stop = stopwords.words('english')
print(stop[0:5])
# ['i', 'me', 'my', 'myself', 'we']
print(type(stop))
# <class 'list'>
The first line imports the corpus.reader, then we store into a variable the words contained in "English Stopwords". The words are returned as a list, so we can easily navigate them.
But how do we use them?
sentence = 'NLTK is a leading platform for building Python programs to work with human language data.'
# With Generator
keywords = [w for w in sentence.split() if w.lower() not in stop]
print(keywords)
# ['NLTK', 'leading', 'platform', 'building', 'Python', 'programs', 'work', 'human', 'language', 'data.']
# Without Generator
keywords = []
for word in sentence.split():
if word.lower() not in stop:
keywords.append(word)
print(keywords)
# ['NLTK', 'leading', 'platform', 'building', 'Python', 'programs', 'work', 'human', 'language', 'data.']
We use a simple sentence as input. Then we use a generator or a "for loop" to create a list of keywords, by ignoring all the words that are not in our stopwords list. We use word.lower() because all the words in the stopwords list are lowercase.
That's it, this is the fastest way to implement stopwords using NLTK. Have fun


--- layout: post title: Outputting queries with CFScript tags: [] status: publish type: post published: true meta: {} ---
Over the past few months I have using more and more of CFScript to do my development. One of the things that still bothered me though was that I had not figured out how to loop over a result set. That no longer is the case... by using a combination of a CFC to execute the query and storing the result in a variable I was able to loop over this result set and grab the records and values in question.
As a base I used a CFC that executed the query and made a note of the column names that I wanted to work with. The format for accessing a record when using CFScript is: queryName['column name'][record]. A thing ot note is you can still access to the default variables that the query object generated.
For starters I made use of the recordcount variable to determine the number of loops that need to be executed. The loop takes the shape of a for loop.
<cfscript>
//invoke the object
yourCFC = CreateObject("pathToCfc/cfcName");
// execute the query by calling the method that holds the query
myQuery = yourCFC.fnYourMethod();
attributes.totalRecord = myQuery.recordcount;
if (attributes.totalRecord neq 0) { // check that a result was returned
// loop over the query
for (i=1; i lte attributes.totalRecord; i=i+1) {
// output the value for column: columnName
writeoutput(myQuery.currentrow & ". Column name has a value of: " & myQuery['columnName'][i] & "
");
}
} else {
writeoutput("
Sorry no result.
");
}
</cfscript>
It is pretty straight forward you just have to know how. Since you also have access to the query object variables columnList, I suppose you could stores these in a list and loop over that for each value of i as well.


SparkFi
Channels
Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
Ignition Duration
Duration
Spark
Igniting channels


Hi, I'm Alan Matias ( and this is my portfolio )
I am a designer
and film enthusiast
studying CS at Georgia Tech
Look at my projects or Learn more about meLeave a comment!
Click below to find out what some of my favorite movies are:
I am a designer
and film enthusiast
studying CS at Georgia Tech
Look at my projects or Learn more about meLeave a comment!
Click below to find out what some of my favorite movies are:


PDredesign is a digital toolkit and community of practice dedicated to improving professional development for educators. The PDredesign tools were collaboratively designed with school districts who wanted to support their teachers through more relevant, flexible, timely and interactive professional development opportunities. These tools are freely available on PDredesign.org and can be used by any school district to transform existing professional development systems to better support teachers in the classroom.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.tomcat.util.net.ServerSocketFactory
This class creates server sockets. It may be subclassed by other factories, which create particular types of server sockets. This provides a general framework for the addition of public socket-level functionality. It it is the server side analogue of a socket factory, and similarly provides a way to capture a variety of policies related to the sockets being constructed.
Like socket factories, Server Socket factory instances have two categories of methods. First are methods used to create sockets. Second are methods which set properties used in the production of sockets, such as networking options. There is also an environment specific default server socket factory; frameworks will often use their own customized factory.
| Field Summary | |
protected java.util.Hashtable |
attributes
|
| Constructor Summary | |
protected |
ServerSocketFactory()
Constructor is used only by subclasses. |
| Method Summary | |
abstract java.net.Socket |
acceptSocket(java.net.ServerSocket socket)
Wrapper function for accept(). |
abstract java.net.ServerSocket |
createSocket(int port)
Returns a server socket which uses all network interfaces on the host, and is bound to a the specified port. |
abstract java.net.ServerSocket |
createSocket(int port,
int backlog)
Returns a server socket which uses all network interfaces on the host, is bound to a the specified port, and uses the specified connection backlog. |
abstract java.net.ServerSocket |
createSocket(int port,
int backlog,
java.net.InetAddress ifAddress)
Returns a server socket which uses only the specified network interface on the local host, is bound to a the specified port, and uses the specified connection backlog. |
static ServerSocketFactory |
getDefault()
Returns a copy of the environment's default socket factory. |
abstract void |
handshake(java.net.Socket sock)
Extra function to initiate the handshake. |
void |
initSocket(java.net.Socket s)
|
void |
setAttribute(java.lang.String name,
java.lang.Object value)
General mechanism to pass attributes from the ServerConnector to the socket factory. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected java.util.Hashtable attributes
| Constructor Detail |
protected ServerSocketFactory()
| Method Detail |
public void setAttribute(java.lang.String name, java.lang.Object value)
public static ServerSocketFactory getDefault()
public abstract java.net.ServerSocket createSocket(int port) throws java.io.IOException, java.lang.InstantiationException
port
- the port to listen to
java.io.IOException
- for networking errors
java.lang.InstantiationException
- for construction errorspublic abstract java.net.ServerSocket createSocket(int port, int backlog) throws java.io.IOException, java.lang.InstantiationException
port
- the port to listen tobacklog
- how many connections are queued
java.io.IOException
- for networking errors
java.lang.InstantiationException
- for construction errorspublic abstract java.net.ServerSocket createSocket(int port, int backlog, java.net.InetAddress ifAddress) throws java.io.IOException, java.lang.InstantiationException
port
- the port to listen tobacklog
- how many connections are queuedifAddress
- the network interface address to use
java.io.IOException
- for networking errors
java.lang.InstantiationException
- for construction errorspublic void initSocket(java.net.Socket s)
public abstract java.net.Socket acceptSocket(java.net.ServerSocket socket) throws java.io.IOException
IOException;
java.io.IOException
public abstract void handshake(java.net.Socket sock) throws java.io.IOException
IOException;
java.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


In Earth's future, a global crop blight and second Dust Bowl are slowly rendering the planet uninhabitable. Professor Brand (Michael Caine), a brilliant NASA physicist, is working on plans to save mankind by transporting Earth's population to a new home via a wormhole. But first, Brand must send former NASA pilot Cooper (Matthew McConaughey) and a team of researchers through the wormhole and across the galaxy to find out which of three planets could be mankind's new home.
The Endurance is the interplanetary spacecraft built by NASA as part of Project Endurance. It is the ship that carries Cooper, Amelia, Doyle, Romilly, CASE, and TARS on their voyage through the wormhole to a place ten-billion light-years from Earth, near the black hole Gargantua, located in a distant galaxy. The primary mission of the Endurance is to find, rescue, and resupply the few marooned scientists of the previous Lazarus missions in addition to establishing a base on a suitable planet for sustaining human life.


This inspection reports on uses of instanceof where the type checked for is a concrete class,
rather than an interface. Such uses often indicate excessive coupling to concrete implementations, rather
than abstractions. instanceof expressions whose classes come from system or third-party libraries will not be reported by this inspection.
Powered by InspectionGadgets


We've grabbed the following image from the gravatar image associated with your registered e-mail address.
Is it okay to use this photo?
Your inbox is getting full, would you like us to enable automatic archiving of old messages?
This is an example of expanded content that will cause the modal's dimmer to scroll


|
SnuPL Compiler
0.1
|
Go to the source code of this file.
Classes | |
| class | CSymbol |
| SnuPL symbol. More... | |
| class | CSymGlobal |
| global variable More... | |
| class | CSymLocal |
| local variable More... | |
| class | CSymParam |
| procedure parameter More... | |
| class | CSymProc |
| procedure symbol More... | |
| class | CSymtab |
| SnuPL symbol table. More... | |
Enumerations | |
| enum | ESymbolType { stGlobal, stLocal, stParam, stProcedure } |
| SnuPL symbol types. More... | |
| enum | EScope { sLocal, sGlobal } |
| search scope enumeration More... | |
Functions | |
CSymbol output operators | |
| ostream & | operator<< (ostream &out, const CSymbol &s) |
| CSymbol output operator. More... | |
| ostream & | operator<< (ostream &out, const CSymbol *s) |
| CSymbol output operator. More... | |
CSymtab output operators | |
| ostream & | operator<< (ostream &out, const CSymtab &t) |
| CSymtab output operator. More... | |
| ostream & | operator<< (ostream &out, const CSymtab *t) |
| CSymtab output operator. More... | |
| enum EScope |
| enum ESymbolType |
| ostream& operator<< | ( | ostream & | out, |
| const CSymbol & | s | ||
| ) |
CSymbol output operator.
| out | output stream |
| s | reference to CSymbol |
| output | stream |
Definition at line 126 of file symtab.cpp.
| ostream& operator<< | ( | ostream & | out, |
| const CSymbol * | s | ||
| ) |
CSymbol output operator.
| out | output stream |
| s | reference to CSymbol |
| output | stream |
Definition at line 131 of file symtab.cpp.
| ostream& operator<< | ( | ostream & | out, |
| const CSymtab & | t | ||
| ) |
CSymtab output operator.
| out | output stream |
| d | reference to CSymtab |
| output | stream |
Definition at line 340 of file symtab.cpp.
| ostream& operator<< | ( | ostream & | out, |
| const CSymtab * | t | ||
| ) |
CSymtab output operator.
| out | output stream |
| d | reference to CSymtab |
| output | stream |
Definition at line 345 of file symtab.cpp.


Floor 10 Image Credits
Circle #109 _fire +
- backfire
- By PDPhotos / CC0 / Pixabay
- bonfire
- By 12019 / CC0 / Pixabay
- ceasefire
- By skeeze / CC0 / Pixabay
- crossfire
- CC BY-SA 2.5 / Wikipedia
- foxfire
- Public domain / Wikipedia
- gunfire
- By satellitov / CC0 / Pixabay
- hellfire
- By Hans / CC0 / Pixabay
- misfire
- By ThomasWolter / CC0 / Pixabay
- surefire
- By QuinceMedia / CC0 / Pixabay
- wildfire
- By skeeze / CC0 / Pixabay
Circle #110 _fly +
- barfly
- By Vitabello / CC0 / Pixabay
- briefly
- By JESHOOTS-com / CC0 / Pixabay
- chiefly
- By Irasutoya / License
- dragonfly
- By Hans / CC0 / Pixabay
- firefly
- By Irasutoya / License
- gadfly
- By Irasutoya / License
- gruffly
- By Free-Photos / CC0 / Pixabay
Circle #111 _fold +
- billfold
- By stevepb / CC0 / Pixabay
- blindfold
- By Ben_Kerckx / CC0 / Pixabay
- centerfold
- By kconcha / CC0 / Pixabay
- enfold
- By Ebowalker / CC0 / Pixabay
- gatefold
- By Irasutoya / License
- manifold
- By Ralphs_Fotos / CC0 / Pixabay
- scaffold
- By 422737 / CC0 / Pixabay
- sheepfold
- By marybettiniblank / CC0 / Pixabay
- thousandfold
- By vineszoocontact / CC0 / Pixabay
- twofold
- By Nikolay999 / CC0 / Pixabay
- unfold
- By vargazs / CC0 / Pixabay
Circle #112 _gal +
- algal
- By djedj / CC0 / Pixabay
- antifungal
- By Irasutoya / License
- centrifugal
- By MoreLight / CC0 / Pixabay
- conjugal
- By Pexels / CC0 / Pixabay
- fungal
- By Irasutoya / License
- illegal
- By RenoBeranger / CC0 / Pixabay
- madrigal
- Public domain / Wikipedia
- paralegal
- By advogadoaguilar / CC0 / Pixabay
- prodigal
- Public domain / Wikipedia
- regal
- By IanZA / CC0 / Pixabay
Circle #113 _gan +
- brogan
- CC-BY-SA-3.0 / Wikipedia
- cardigan
- By Marisa_Sias / CC0 / Pixabay
- hogan
- CC BY-SA 4.0 / Wikipedia
- hooligan
- By Irasutoya / License
- organ
- By Irasutoya / License
- ptarmigan
- CC BY-SA 3.0 / Wikipedia
- shenanigan
- By Irasutoya / License
- slogan
- Public domain / Wikipedia
- suffragan
- CC-BY-SA-3.0 / Wikipedia
- toboggan
- Public domain / Wikipedia
Circle #114 _ggle +
- boggle
- By Irasutoya / License
- gaggle
- By MonikaP / CC0 / Pixabay
- giggle
- By Irasutoya / License
- goggle
- By rainbac / CC0 / Pixabay
- haggle
- By pasja1000 / CC0 / Pixabay
- juggle
- CC BY 2.0 / Wikipedia
- muggle
- By jasper-m / CC0 / Pixabay
- smuggle
- Public domain / Wikipedia
- snuggle
- By pisauikan / CC0 / Pixabay
- straggle
- By Simon / CC0 / Pixabay
- struggle
- By Lindasay / CC0 / Pixabay
- toggle
- CC BY 2.0 / Wikipedia
- wiggle
- By Pexels / CC0 / Pixabay
- wriggle
- By angelazeta / CC0 / Pixabay
Circle #115 _ggy +
- craggy
- By sarangib / CC0 / Pixabay
- doggy
- CC BY-SA 3.0 / Wikipedia
- groggy
- CC BY-SA 4.0 / Wikipedia
- leggy
- By Irasutoya / License
- moggy
- CC BY-SA 4.0 / Wikipedia
- muggy
- CC BY-SA 4.0 / Wikipedia
- piggy
- CC-BY-SA-3.0 / Wikipedia
- saggy
- By Irasutoya / License
- scraggy
- By Irasutoya / License
- twiggy
- By pasja1000 / CC0 / Pixabay
Circle #116 _gn +
- benign
- By Irasutoya / License
- campaign
- By fancycrave1 / CC0 / Pixabay
- champaign
- By Kanenori / CC0 / Pixabay
- consign
- By congerdesign / CC0 / Pixabay
- deign
- CC BY-SA 1.0 / Wikipedia
- ensign
- CC BY 3.0 / Wikipedia
- malign
- By 10634669 / CC0 / Pixabay
- resign
- By Irasutoya / License
- sovereign
- By Irasutoya / License
Circle #117 _hal +
- apocryphal
- By blende12 / CC0 / Pixabay
- betrothal
- By marla66 / CC0 / Pixabay
- lethal
- By qimono / CC0 / Pixabay
- matriarchal
- By cocoparisienne / CC0 / Pixabay
- narwhal
- CC BY-SA 4.0 / Wikipedia
- Neanderthal
- CC BY-SA 4.0 / Wikipedia
- paschal
- Public domain / Wikipedia
- patriarchal
- Public domain / Wikipedia
- triumphal
- CC BY-SA 3.0 / Wikipedia
- wherewithal
- By JHertle / CC0 / Pixabay
Circle #118 _hen +
- burthen
- By 46173 / CC0 / Pixabay
- earthen
- By benibeny / CC0 / Pixabay
- freshen
- By Larsgustav / CC0 / Pixabay
- heathen
- By MonikaP / CC0 / Pixabay
- lengthen
- By Alexas_Fotos / CC0 / Pixabay
- lichen
- Public domain / Wikipedia
- moorhen
- CC BY 4.0 / Wikipedia
- peahen
- CC BY 2.0 / Wikipedia
- strengthen
- By Pexels / CC0 / Pixabay
- toughen
- By ptdh / CC0 / Pixabay
Circle #119 _hery +
- butchery
- CC BY-SA 3.0 / Wikipedia
- debauchery
- Public domain / Wikipedia
- feathery
- CC BY-SA 3.0 / Wikipedia
- fishery
- By Nico_Boersen / CC0 / Pixabay
- haberdashery
- CC0 / Wikipedia
- hatchery
- Public domain / Wikipedia
- leathery
- By cocoparisienne / CC0 / Pixabay
- lechery
- By Irasutoya / License
- periphery
- By Wounds_and_Cracks / CC0 / Pixabay
- stitchery
- By Irasutoya / License
- treachery
- By un-perfekt / CC0 / Pixabay
- witchery
- CC BY-SA 4.0 / Wikipedia
Circle #120 _hful +
- bashful
- By Irasutoya / License
- faithful
- By Godsgirl_madi / CC0 / Pixabay
- healthful
- By silviarita / CC0 / Pixabay
- mirthful
- By Pexels / CC0 / Pixabay
- mouthful
- By klimkin / CC0 / Pixabay
- slothful
- CC BY-SA 4.0 / Wikipedia
- truthful
- CC BY 2.0 / Wikipedia
- unfaithful
- By Irasutoya / License
- watchful
- By manfredrichter / CC0 / Pixabay
- wishful
- By Irasutoya / License
- wrathful
- By Irasutoya / License
- youthful
- By Dimhou / CC0 / Pixabay


{% set UxGoodColorAdmin = 'uxgoodcoloradmin' %}
| Buttons | class="" | Color Code |
|---|---|---|
| Sign in with App.net | btn btn-social btn-adn |
#D87A68 |
| Sign in with Bitbucket | btn btn-social btn-bitbucket |
#205081 |
| Sign in with Dropbox | btn btn-social btn-dropbox |
#1087DD |
| Sign in with Facebook | btn btn-social btn-facebook |
#3B5998 |
| Sign in with Flickr | btn btn-social btn-flickr |
#2BA9E1 |
| Sign in with Foursquare | btn btn-social btn-foursquare |
#f94877 |
| Sign in with GitHub | btn btn-social btn-github |
#444444 |
| Sign in with Google | btn btn-social btn-google |
#DD4B39 |
| Sign in with Instagram | btn btn-social btn-instagram |
#3F729B |
| Sign in with LinkedIn | btn btn-social btn-linkedin |
#007BB6 |
| Sign in with Microsoft | btn btn-social btn-microsoft |
#2672EC |
| Sign in with Odnoklassniki | btn btn-social btn-odnoklassniki |
#F4731C |
| Sign in with OpenID | btn btn-social btn-openid |
#F7931E |
| Sign in with Pinterest | btn btn-social btn-pinterest |
#CB2027 |
| Sign in with Reddit | btn btn-social btn-reddit |
#EFF7FF |
| Sign in with SoundCloud | btn btn-social btn-soundcloud |
#FF5500 |
| Sign in with Tumblr | btn btn-social btn-tumblr |
#CB2027 |
| Sign in with Twitter | btn btn-social btn-twitter |
#55ACEE |
| Sign in with Vimeo | btn btn-social btn-vimeo |
#1AB7EA |
| Sign in with VK | btn btn-social btn-vk |
#587EA3 |
| Sign in with Yahoo! | btn btn-social btn-yahoo |
#720E9E |
Social Sign-In Buttons made in pure CSS based on Bootstrap and Font Awesome!
View Official Website


NHS.UK uses cookies to make the site simpler. Find out more about cookies
This page doesn't exist in the front-end library.
Please return to the main page.