Note
Click here to download the full example code
Hammersley 2D-plane¶
Hammersley points are a series of pseudo random points with a low discrepancy that are suitable for use in solid state NMR simulations where powder averaging is performed.
References¶
Hammersley, J. M.; Handscomb, D. C. (1964). Monte Carlo Methods. doi:10.1007/978-94-009-5819-7
Tien-Tsin Wong, Wai-Shing Luk & Pheng-Ann Heng (1997) Sampling with Hammersley and Halton Points, Journal of Graphics Tools, 2:2, 9-24, doi: 10.1080/10867651.1997.10487471
Examples of Hammersley points for tiling a 2-D plane¶
Out:
C:\Users\ERIC\Documents\pygamma_gallery\docsource\sphinx\examples\hammersleypoints\plot_hammersley_points.py:82: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
plt.show()
import numpy as np
from matplotlib import pyplot as plt
def return_point(m, n, p):
"""
m is the index number of the Hammersley point to calculate
n is the maximun number of points
p is the order of the Hammersley point, 1,2,3,4,... etc
l is the power of x to go out to and is hard coded to 10 in this example
:return type double
"""
if p == 1:
return m / n
v = 0.0
for j in range(10, -1, -1):
num = m // p ** j
if num > 0:
m -= num * p ** j
v += num / (p ** (j + 1))
return (v)
if __name__ == "__main__":
npts = 500
h_1 = np.zeros(npts)
h_2 = np.zeros(npts)
h_3 = np.zeros(npts)
h_4 = np.zeros(npts)
h_5 = np.zeros(npts)
h_7 = np.zeros(npts)
for m in range(npts):
h_1[m] = return_point(m, npts, 1)
h_2[m] = return_point(m, npts, 2)
h_3[m] = return_point(m, npts, 3)
h_4[m] = return_point(m, npts, 4)
h_5[m] = return_point(m, npts, 5)
h_7[m] = return_point(m, npts, 7)
fig, axs = plt.subplots(2, 2, figsize=(10, 10), sharey=True)
ax =axs.flatten()
ax[0].plot(h_1, h_2, '.')
ax[1].plot(h_1, h_2, '.')
ax[2].plot(h_1, h_4, '.')
ax[3].plot(h_1, h_5, '.')
ax[0].set_xlabel("p=1", fontsize=14)
ax[0].set_ylabel("p=2", fontsize=14)
ax[1].set_xlabel("p=1", fontsize=14)
ax[1].set_ylabel("p=3", fontsize=14)
ax[2].set_xlabel("p=1", fontsize=14)
ax[2].set_ylabel("p=4", fontsize=14);
ax[3].set_xlabel("p=1", fontsize=14)
ax[3].set_ylabel("p=5", fontsize=14);
plt.show()
Total running time of the script: ( 0 minutes 0.174 seconds)


Gigantron: Processor of Data
Get Version
0.1.3→ ‘gigantron’
What
Gigantron is a simple framework for the creation and organization of data processing projects. Data-processing transforms are created as Rake tasks and data is handled through ActiveRecord models. (DataMapper was the original plan, but it has problems playing nicely with JRuby for now).
Ruby is great for exploratory data processing. Data processing projects tend to grow up and encompass large numbers of random scripts and input files. It is easy to get lost in coding and lose organization. Gigantron is an attempt to use code generation and random magic to make maintaining organized DP projects simple. Code is separated into data (models) and operations on the data (tasks). Code generators stub out these files and the associated tests for the user.
Gigantron was written for my own needs working with atmospheric data and will evolve through use to reduce the trivialities that can sometimes dominate the work of developers.
Installing
sudo gem install gigantron
This should handle the major dependencies automatically except for your
database adapter. If you are on JRuby the gem is
activerecord-jdbcsqlite3-adapter
for sqlite3 and
activerecord-jdbcmysql-adapter
for mysql. On MRI be sure to install
sqlite3-ruby
if you are using sqlite.
Note: JDBCSqlite3 is still a work in progress and migrations are basically broken for it.
The basics
# Generate new project shell> $ gigantron project create create tasks create db create models create lib create test create Rakefile create database.yml create initialize.rb create tasks/import.rake create test/test_helper.rb create test/models create test/tasks create test/tasks/test_import.rb dependency install_rubigen_scripts create script create script/generate create script/destroy shell> $ cd project # Create new model shell> $ script/generate model modis exists models/ create models/modis.rb exists test/ exists test/models/ create test/models/test_modis.rb shell> $ script/generate task modis_to_kml exists tasks/ create tasks/modis_to_kml.rake exists test/ exists test/tasks/ create test/tasks/test_modis_to_kml.rb
One can edit these files to add functionality. Gigantron by default includes ActiveSupport for convenience.
Hacking
Gigantron is super minimal now, so modifying it is pretty easy. The gigantron
application generator (that which is invoked by the gigantron
command) lives
in app_generators/gigantron/
. The template files and the template dir
structure are in app_generators/gigantron/templates/
. When adding new
templates, directories, or files, add the names first to the tests in
test/test_gigantron_generator.rb
, then the stubs to
app_generators/gigantron/templates
, and then finally describe them in the
manifest section of app_generators/gigantron/gigantron_generator.rb
. It
should look something like
def manifest record do |m| ... m.file "new_file", "new_file" #straight file copy m.directory "my_new_dir" #create directory m.template "new_thing", "new_thing" #runs file through ERB when copying end end
It might be handy to know that in gigantron_generator.rb
the name provided to the generator can be referenced as @name
. This can be used like
record do |m| m.file "renamed_file", "#{@name}_file" end
The same value is available to your templates as just name
. You can template
a file like
class Test<%= name.camelcase %> < Test::Unit::TestCase ... end
The same process applies to the model and task generator for gigantron
projects. These generators live in gigantron_generators/
. Modifying them
is exactly the same as modifying the application generator.
All of this is pretty vanilla RubiGen, so if in doubt, check out the docos on that fine piece of work.
The only other place for code in Gigantron is is lib/gigantron/tasks/
where a few boilerplate test and db tasks live. I think I ripped the test tasks off of rails.
If you have any questions, do contact me.
How to submit patches
git clone git://github.com/schleyfox/gigantron.git
Build and test instructions
cd gigantron cp test/template_database.yml.example test/template_database.yml vim test/template_database.yml rake test rake install_gem
License
This code is free to use under the terms of the MIT license.
Contact
Comments are welcome. Send an email to Ben Hughes
Ben Hughes, 24th June 2008
Theme extended from Paul Battley


Gitlab Plugin
This plugin is a build trigger that allows GitLab to trigger Jenkins builds when code is pushed or a merge request is created. Configuration done on a per-job basis.Plugin Information |
|---|
View GitLab on the plugin site for more information. |
Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:
Configuration
See the GitHub page for instructions.
https://github.com/jenkinsci/gitlab-plugin
See also:
- Violation Comments to GitLab Plugin for pipeline and job DSL examples.
Compatibility
Version 1.2.1 of the plugin introduces a backwards-incompatible change for Pipeline jobs. They will need to be manually reconfigured when you upgrade to this version. Freestyle jobs are not impacted. Please see the README for details.
Changelog
See https://github.com/jenkinsci/gitlab-plugin/blob/master/CHANGELOG.md


Eurojackpot results for Friday 1st February 2019
The winning numbers for the 5th Eurojackpot draw in 2019 that took place on Friday 1st February at 21:00 CEST (20:00 GMT) were:
Winners
Winners
Amount
Slovenian Prize Breakdown
View prize breakdowns for other countries| Numbers Matched | Prize Per Winner | Winners from Slovenia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 1 | €352,721.90 | 6 |
|
Match 5 |
€106,705.80 | 0 | €0 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | 1 | €4,368 | 57 |
|
Match 4 and 1 Euro Number |
€248.70 | 12 | €2,984.40 | 901 |
|
Match 4 |
€123.30 | 20 | €2,466 | 1,413 |
|
Match 3 and 2 Euro Numbers |
€79.80 | 26 | €2,074.80 | 1,872 |
|
Match 2 and 2 Euro Numbers |
€26.70 | 335 | €8,944.50 | 28,873 |
|
Match 3 and 1 Euro Number |
€18.70 | 509 | €9,518.30 | 39,807 |
|
Match 3 |
€17 | 793 | €13,481 | 62,643 |
|
Match 1 and 2 Euro Numbers |
€11.90 | 2,029 | €24,145.10 | 162,991 |
|
Match 2 and 1 Euro Number |
€7.90 | 7,639 | €60,348.10 | 594,589 |
|
Total |
- | 11,365 | €481,052.10 | 893,159 |
Eurojackpot prizes in Slovenia must be claimed within 90 days of the draw date, so tickets purchased for this draw were valid until Thursday 2nd May 2019.
Additional Draw Information
In total there were 24,898,020 entries into this draw from all participating countries.
Draw Number: 5
European Prize Breakdown
| Numbers Matched | Prize Per Winner | Winners from Croatia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kn364,000,000 | 0 | kn0 | 0 |
|
Match 5 and 1 Euro Number |
kn2,617,780.96 | 1 | kn2,617,780.96 | 6 |
|
Match 5 |
kn791,933.85 | 0 | kn0 | 7 |
|
Match 4 and 2 Euro Numbers |
kn32,417.80 | 0 | kn0 | 57 |
|
Match 4 and 1 Euro Number |
kn1,845.77 | 8 | kn14,766.16 | 901 |
|
Match 4 |
kn915.09 | 24 | kn21,962.16 | 1,413 |
|
Match 3 and 2 Euro Numbers |
kn592.25 | 21 | kn12,437.25 | 1,872 |
|
Match 2 and 2 Euro Numbers |
kn198.16 | 305 | kn60,438.80 | 28,873 |
|
Match 3 and 1 Euro Number |
kn138.78 | 628 | kn87,153.84 | 39,807 |
|
Match 3 |
kn126.17 | 915 | kn115,445.55 | 62,643 |
|
Match 1 and 2 Euro Numbers |
kn88.32 | 2,084 | kn184,058.88 | 162,991 |
|
Match 2 and 1 Euro Number |
kn58.63 | 9,668 | kn566,834.84 | 594,589 |
|
Total |
- | 13,654 | kn3,680,878.44 | 893,159 |
Eurojackpot prizes in Croatia must be claimed within 60 days of the draw date, so tickets purchased for this draw were valid until Tuesday 2nd April 2019.
The estimated jackpot advertised in Croatia prior to the draw was kn364,000,000.
| Numbers Matched | Prize Per Winner | Winners from Czech Republic | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
Kc1,288,000,000 | 0 | Kc0 | 0 |
|
Match 5 and 1 Euro Number |
Kc9,063,189 | 0 | Kc0 | 6 |
|
Match 5 |
Kc2,741,805 | 1 | Kc2,741,805 | 7 |
|
Match 4 and 2 Euro Numbers |
Kc112,235 | 2 | Kc224,470 | 57 |
|
Match 4 and 1 Euro Number |
Kc6,390 | 19 | Kc121,410 | 901 |
|
Match 4 |
Kc3,168 | 31 | Kc98,208 | 1,413 |
|
Match 3 and 2 Euro Numbers |
Kc2,050 | 55 | Kc112,750 | 1,872 |
|
Match 2 and 2 Euro Numbers |
Kc686 | 645 | Kc442,470 | 28,873 |
|
Match 3 and 1 Euro Number |
Kc480 | 831 | Kc398,880 | 39,807 |
|
Match 3 |
Kc436 | 1,378 | Kc600,808 | 62,643 |
|
Match 1 and 2 Euro Numbers |
Kc305 | 3,712 | Kc1,132,160 | 162,991 |
|
Match 2 and 1 Euro Number |
Kc202 | 12,740 | Kc2,573,480 | 594,589 |
|
Total |
- | 19,414 | Kc8,446,441 | 893,159 |
Eurojackpot prizes in Czech Republic must be claimed within 35 days of the draw date, so tickets purchased for this draw were valid until Friday 8th March 2019.
The estimated jackpot advertised in Czech Republic prior to the draw was Kc0.
| Numbers Matched | Prize Per Winner | Winners from Denmark | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.310,000,000 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.2,248,632 | 1 | kr.2,248,632 | 6 |
|
Match 5 |
kr.680,279 | 1 | kr.680,279 | 7 |
|
Match 4 and 2 Euro Numbers |
kr.27,876 | 3 | kr.83,628 | 57 |
|
Match 4 and 1 Euro Number |
kr.1,615 | 86 | kr.138,890 | 901 |
|
Match 4 |
kr.816 | 132 | kr.107,712 | 1,413 |
|
Match 3 and 2 Euro Numbers |
kr.538 | 196 | kr.105,448 | 1,872 |
|
Match 2 and 2 Euro Numbers |
kr.200 | 3,006 | kr.601,200 | 28,873 |
|
Match 3 and 1 Euro Number |
kr.140 | 3,664 | kr.512,960 | 39,807 |
|
Match 3 |
kr.127 | 6,045 | kr.767,715 | 62,643 |
|
Match 1 and 2 Euro Numbers |
kr.89 | 16,580 | kr.1,475,620 | 162,991 |
|
Match 2 and 1 Euro Number |
kr.59 | 50,742 | kr.2,993,778 | 594,589 |
|
Total |
- | 80,456 | kr.9,715,862 | 893,159 |
Eurojackpot prizes in Denmark must be claimed within a set period of time depending on how much you have won. Visit the How to Claim page to find specific claim periods, with some prizes needing to be claimed within 90 days of the draw (valid until Thursday 2nd May 2019).
The estimated jackpot advertised in Denmark prior to the draw was kr.241,000,000.
| Numbers Matched | Prize Per Winner | Winners from Estonia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 0 | €0 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | 1 | €4,368 | 57 |
|
Match 4 and 1 Euro Number |
€248.70 | 9 | €2,238.30 | 901 |
|
Match 4 |
€123.30 | 13 | €1,602.90 | 1,413 |
|
Match 3 and 2 Euro Numbers |
€79.80 | 7 | €558.60 | 1,872 |
|
Match 2 and 2 Euro Numbers |
€26.70 | 207 | €5,526.90 | 28,873 |
|
Match 3 and 1 Euro Number |
€18.70 | 269 | €5,030.30 | 39,807 |
|
Match 3 |
€17 | 428 | €7,276 | 62,643 |
|
Match 1 and 2 Euro Numbers |
€11.90 | 1,129 | €13,435.10 | 162,991 |
|
Match 2 and 1 Euro Number |
€7.90 | 3,623 | €28,621.70 | 594,589 |
|
Total |
- | 5,686 | €68,657.80 | 893,159 |
Eurojackpot prizes in Estonia must be claimed within 90 days of the draw date, so tickets purchased for this draw were valid until Thursday 2nd May 2019.
The estimated jackpot advertised in Estonia prior to the draw was €0.
| Numbers Matched | Prize Per Winner | Winners from Finland | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 1 | €106,705.80 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | At present this information is not released by the lottery operator of Finland | 57 | |
|
Match 4 and 1 Euro Number |
€248.70 | 901 | ||
|
Match 4 |
€123.30 | 1,413 | ||
|
Match 3 and 2 Euro Numbers |
€79.80 | 1,872 | ||
|
Match 2 and 2 Euro Numbers |
€26.70 | 28,873 | ||
|
Match 3 and 1 Euro Number |
€18.70 | 39,807 | ||
|
Match 3 |
€17 | 62,643 | ||
|
Match 1 and 2 Euro Numbers |
€11.90 | 162,991 | ||
|
Match 2 and 1 Euro Number |
€7.90 | 594,589 | ||
|
Total |
- | 893,159 |
Eurojackpot prizes in Finland must be claimed within 365 days of the draw date, so tickets purchased for this draw are valid until Saturday 1st February 2020.
The estimated jackpot advertised in Finland prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Germany | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 2 | €705,443.80 | 6 |
|
Match 5 |
€106,705.80 | 2 | €213,411.60 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | At present this information is not released by the lottery operator of Germany | 57 | |
|
Match 4 and 1 Euro Number |
€248.70 | 901 | ||
|
Match 4 |
€123.30 | 1,413 | ||
|
Match 3 and 2 Euro Numbers |
€79.80 | 1,872 | ||
|
Match 2 and 2 Euro Numbers |
€26.70 | 28,873 | ||
|
Match 3 and 1 Euro Number |
€18.70 | 39,807 | ||
|
Match 3 |
€17 | 62,643 | ||
|
Match 1 and 2 Euro Numbers |
€11.90 | 162,991 | ||
|
Match 2 and 1 Euro Number |
€7.90 | 594,589 | ||
|
Total |
- | 893,159 |
Eurojackpot prizes in Germany must be claimed within 3 years of the draw date, so tickets purchased for this draw are valid until Tuesday 1st February 2022.
The estimated jackpot advertised in Germany prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Hungary | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
Ft30,837,975 | 0 | Ft0 | 7 |
|
Match 4 and 2 Euro Numbers |
Ft1,262,350 | 5 | Ft6,311,750 | 57 |
|
Match 4 and 1 Euro Number |
Ft71,875 | 24 | Ft1,725,000 | 901 |
|
Match 4 |
Ft35,635 | 33 | Ft1,175,955 | 1,413 |
|
Match 3 and 2 Euro Numbers |
Ft23,060 | 39 | Ft899,340 | 1,872 |
|
Match 2 and 2 Euro Numbers |
Ft7,715 | 609 | Ft4,698,435 | 28,873 |
|
Match 3 and 1 Euro Number |
Ft5,405 | 965 | Ft5,215,825 | 39,807 |
|
Match 3 |
Ft4,915 | 1,378 | Ft6,772,870 | 62,643 |
|
Match 1 and 2 Euro Numbers |
Ft3,440 | 3,464 | Ft11,916,160 | 162,991 |
|
Match 2 and 1 Euro Number |
Ft2,285 | 15,124 | Ft34,558,340 | 594,589 |
|
Total |
- | 21,641 | Ft73,273,675 | 893,159 |
Eurojackpot prizes in Hungary must be claimed within 180 days of the draw date, so tickets purchased for this draw were valid until Wednesday 31st July 2019.
The estimated jackpot advertised in Hungary prior to the draw was €15,500,000.
| Numbers Matched | Prize Per Winner | Winners from Iceland | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.6,865,699,700 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.48,248,820 | 0 | kr.0 | 6 |
|
Match 5 |
kr.14,596,280 | 0 | kr.0 | 7 |
|
Match 4 and 2 Euro Numbers |
kr.597,490 | At present this information is not released by the lottery operator of Iceland | 57 | |
|
Match 4 and 1 Euro Number |
kr.34,010 | 901 | ||
|
Match 4 |
kr.16,860 | 1,413 | ||
|
Match 3 and 2 Euro Numbers |
kr.10,910 | 1,872 | ||
|
Match 2 and 2 Euro Numbers |
kr.3,650 | 28,873 | ||
|
Match 3 and 1 Euro Number |
kr.2,550 | 39,807 | ||
|
Match 3 |
kr.2,320 | 62,643 | ||
|
Match 1 and 2 Euro Numbers |
kr.1,620 | 162,991 | ||
|
Match 2 and 1 Euro Number |
kr.1,080 | 594,589 | ||
|
Total |
- | 893,159 |
Eurojackpot prizes in Iceland must be claimed within 1 year of the draw date, so tickets purchased for this draw are valid until Saturday 1st February 2020.
The estimated jackpot advertised in Iceland prior to the draw was kr.0.
| Numbers Matched | Prize Per Winner | Winners from Italy | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 0 | €0 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | 0 | €0 | 57 |
|
Match 4 and 1 Euro Number |
€248.70 | 17 | €4,227.90 | 901 |
|
Match 4 |
€123.30 | 15 | €1,849.50 | 1,413 |
|
Match 3 and 2 Euro Numbers |
€79.80 | 27 | €2,154.60 | 1,872 |
|
Match 2 and 2 Euro Numbers |
€26.70 | 494 | €13,189.80 | 28,873 |
|
Match 3 and 1 Euro Number |
€18.70 | 771 | €14,417.70 | 39,807 |
|
Match 3 |
€17 | 1,163 | €19,771 | 62,643 |
|
Match 1 and 2 Euro Numbers |
€11.90 | 3,111 | €37,020.90 | 162,991 |
|
Match 2 and 1 Euro Number |
€7.90 | 11,393 | €90,004.70 | 594,589 |
|
Total |
- | 16,991 | €182,636.10 | 893,159 |
Eurojackpot prizes in Italy must be claimed within a set period of time depending on how much you have won. Visit the How to Claim page to find specific claim periods, with some prizes needing to be claimed within 30 days of the draw (valid until Sunday 3rd March 2019).
The estimated jackpot advertised in Italy prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Latvia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 0 | €0 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | At present this information is not released by the lottery operator of Latvia | 57 | |
|
Match 4 and 1 Euro Number |
€248.70 | 901 | ||
|
Match 4 |
€123.30 | 1,413 | ||
|
Match 3 and 2 Euro Numbers |
€79.80 | 1,872 | ||
|
Match 2 and 2 Euro Numbers |
€26.70 | 28,873 | ||
|
Match 3 and 1 Euro Number |
€18.70 | 39,807 | ||
|
Match 3 |
€17 | 62,643 | ||
|
Match 1 and 2 Euro Numbers |
€11.90 | 162,991 | ||
|
Match 2 and 1 Euro Number |
€7.90 | 594,589 | ||
|
Total |
- | 893,159 |
Eurojackpot prizes in Latvia must be claimed within 30 days of the draw date, so tickets purchased for this draw were valid until Sunday 3rd March 2019.
The estimated jackpot advertised in Latvia prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Lithuania | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 0 | €0 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | 1 | €4,368 | 57 |
|
Match 4 and 1 Euro Number |
€248.70 | 1 | €248.70 | 901 |
|
Match 4 |
€123.30 | 2 | €246.60 | 1,413 |
|
Match 3 and 2 Euro Numbers |
€79.80 | 2 | €159.60 | 1,872 |
|
Match 2 and 2 Euro Numbers |
€26.70 | 74 | €1,975.80 | 28,873 |
|
Match 3 and 1 Euro Number |
€18.70 | 83 | €1,552.10 | 39,807 |
|
Match 3 |
€17 | 159 | €2,703 | 62,643 |
|
Match 1 and 2 Euro Numbers |
€11.90 | 408 | €4,855.20 | 162,991 |
|
Match 2 and 1 Euro Number |
€7.90 | 1,455 | €11,494.50 | 594,589 |
|
Total |
- | 2,185 | €27,603.50 | 893,159 |
Eurojackpot prizes in Lithuania must be claimed within 60 days of the draw date, so tickets purchased for this draw were valid until Tuesday 2nd April 2019.
The estimated jackpot advertised in Lithuania prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Netherlands | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 0 | €0 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | At present this information is not released by the lottery operator of Netherlands | 57 | |
|
Match 4 and 1 Euro Number |
€248.70 | 901 | ||
|
Match 4 |
€123.30 | 1,413 | ||
|
Match 3 and 2 Euro Numbers |
€79.80 | 1,872 | ||
|
Match 2 and 2 Euro Numbers |
€26.70 | 28,873 | ||
|
Match 3 and 1 Euro Number |
€18.70 | 39,807 | ||
|
Match 3 |
€17 | 62,643 | ||
|
Match 1 and 2 Euro Numbers |
€11.90 | 162,991 | ||
|
Match 2 and 1 Euro Number |
€7.90 | 594,589 | ||
|
Total |
- | 893,159 |
Eurojackpot prizes in Netherlands must be claimed within 365 days of the draw date, so tickets purchased for this draw are valid until Saturday 1st February 2020.
The estimated jackpot advertised in Netherlands prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Norway | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.477,000,000 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.3,410,290 | 0 | kr.0 | 6 |
|
Match 5 |
kr.1,031,685 | 0 | kr.0 | 7 |
|
Match 4 and 2 Euro Numbers |
kr.42,230 | At present this information is not released by the lottery operator of Norway | 57 | |
|
Match 4 and 1 Euro Number |
kr.2,400 | 901 | ||
|
Match 4 |
kr.1,190 | 1,413 | ||
|
Match 3 and 2 Euro Numbers |
kr.770 | 1,872 | ||
|
Match 2 and 2 Euro Numbers |
kr.255 | 28,873 | ||
|
Match 3 and 1 Euro Number |
kr.180 | 39,807 | ||
|
Match 3 |
kr.160 | 62,643 | ||
|
Match 1 and 2 Euro Numbers |
kr.115 | 162,991 | ||
|
Match 2 and 1 Euro Number |
kr.75 | 594,589 | ||
|
Total |
- | 893,159 |
Eurojackpot prizes in Norway must be claimed within 3 months of the draw date, so tickets purchased for this draw were valid until Wednesday 1st May 2019.
The estimated jackpot advertised in Norway prior to the draw was kr.477,000,000.
| Numbers Matched | Prize Per Winner | Winners from Poland | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
zł210,000,000 | 0 | zł0 | 0 |
|
Match 5 and 1 Euro Number |
zł0 | 0 | zł0 | 6 |
|
Match 5 |
zł0 | 0 | zł0 | 7 |
|
Match 4 and 2 Euro Numbers |
zł176,218.50 | 4 | zł704,874 | 57 |
|
Match 4 and 1 Euro Number |
zł1,064.50 | 33 | zł35,128.50 | 901 |
|
Match 4 |
zł527.80 | 50 | zł26,390 | 1,413 |
|
Match 3 and 2 Euro Numbers |
zł341.60 | 54 | zł18,446.40 | 1,872 |
|
Match 2 and 2 Euro Numbers |
zł114.30 | 1,043 | zł119,214.90 | 28,873 |
|
Match 3 and 1 Euro Number |
zł80.10 | 1,456 | zł116,625.60 | 39,807 |
|
Match 3 |
zł72.80 | 2,319 | zł168,823.20 | 62,643 |
|
Match 1 and 2 Euro Numbers |
zł51 | 5,621 | zł286,671 | 162,991 |
|
Match 2 and 1 Euro Number |
zł33.90 | 21,898 | zł742,342.20 | 594,589 |
|
Total |
- | 32,478 | zł2,218,515.80 | 893,159 |
Eurojackpot prizes in Poland must be claimed within 3 years of the draw date, so tickets purchased for this draw are valid until Tuesday 1st February 2022.
The estimated jackpot advertised in Poland prior to the draw was zł170,000,000.
| Numbers Matched | Prize Per Winner | Winners from Slovakia | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 0 | €0 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | 0 | €0 | 57 |
|
Match 4 and 1 Euro Number |
€248.70 | 9 | €2,238.30 | 901 |
|
Match 4 |
€123.30 | 18 | €2,219.40 | 1,413 |
|
Match 3 and 2 Euro Numbers |
€79.80 | 29 | €2,314.20 | 1,872 |
|
Match 2 and 2 Euro Numbers |
€26.70 | 446 | €11,908.20 | 28,873 |
|
Match 3 and 1 Euro Number |
€18.70 | 605 | €11,313.50 | 39,807 |
|
Match 3 |
€17 | 924 | €15,708 | 62,643 |
|
Match 1 and 2 Euro Numbers |
€11.90 | 2,509 | €29,857.10 | 162,991 |
|
Match 2 and 1 Euro Number |
€7.90 | 9,096 | €71,858.40 | 594,589 |
|
Total |
- | 13,636 | €147,417.10 | 893,159 |
Eurojackpot prizes in Slovakia must be claimed within 35 days of the draw date, so tickets purchased for this draw were valid until Friday 8th March 2019.
The estimated jackpot advertised in Slovakia prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Spain | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
€50,191,532.30 | 0 | €0 | 0 |
|
Match 5 and 1 Euro Number |
€352,721.90 | 0 | €0 | 6 |
|
Match 5 |
€106,705.80 | 1 | €106,705.80 | 7 |
|
Match 4 and 2 Euro Numbers |
€4,368 | 2 | €8,736 | 57 |
|
Match 4 and 1 Euro Number |
€248.70 | 27 | €6,714.90 | 901 |
|
Match 4 |
€123.30 | 48 | €5,918.40 | 1,413 |
|
Match 3 and 2 Euro Numbers |
€79.80 | 63 | €5,027.40 | 1,872 |
|
Match 2 and 2 Euro Numbers |
€26.70 | 1,010 | €26,967 | 28,873 |
|
Match 3 and 1 Euro Number |
€18.70 | 1,194 | €22,327.80 | 39,807 |
|
Match 3 |
€17 | 1,995 | €33,915 | 62,643 |
|
Match 1 and 2 Euro Numbers |
€11.90 | 5,540 | €65,926 | 162,991 |
|
Match 2 and 1 Euro Number |
€7.90 | 17,565 | €138,763.50 | 594,589 |
|
Total |
- | 27,445 | €421,001.80 | 893,159 |
Eurojackpot prizes in Spain must be claimed within 30 days of the draw date, so tickets purchased for this draw were valid until Sunday 3rd March 2019.
The estimated jackpot advertised in Spain prior to the draw was €49,000,000.
| Numbers Matched | Prize Per Winner | Winners from Sweden | Prize Fund Amount | Total Winners |
|---|---|---|---|---|
|
Match 5 and 2 Euro Numbers |
kr.505,000,000 | 0 | kr.0 | 0 |
|
Match 5 and 1 Euro Number |
kr.12,685,032 | 1 | kr.12,685,032 | 6 |
|
Match 5 |
kr.1,515,364 | 1 | kr.1,515,364 | 7 |
|
Match 4 and 2 Euro Numbers |
kr.270,213 | 1 | kr.270,213 | 57 |
|
Match 4 and 1 Euro Number |
kr.12,316 | 42 | kr.517,272 | 901 |
|
Match 4 |
kr.7,735 | 57 | kr.440,895 | 1,413 |
|
Match 3 and 2 Euro Numbers |
kr.4,087 | 69 | kr.282,003 | 1,872 |
|
Match 2 and 2 Euro Numbers |
kr.277 | 1,178 | kr.326,306 | 28,873 |
|
Match 3 and 1 Euro Number |
kr.194 | 1,447 | kr.280,718 | 39,807 |
|
Match 3 |
kr.176 | 2,427 | kr.427,152 | 62,643 |
|
Match 1 and 2 Euro Numbers |
kr.123 | 6,456 | kr.794,088 | 162,991 |
|
Match 2 and 1 Euro Number |
kr.82 | 22,540 | kr.1,848,280 | 594,589 |
|
Total |
- | 34,219 | kr.19,387,323 | 893,159 |
Eurojackpot prizes in Sweden must be claimed within 3 months of the draw date, so tickets purchased for this draw were valid until Wednesday 1st May 2019.
The estimated jackpot advertised in Sweden prior to the draw was kr.505,000,000.
Associated Draw Results
- 7
- 9
- 8
- 1
- 4
- 7
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 6 in Exact Order | €50,000 | 0 |
| Match Last 5 in Exact Order | €5,000 | 1 |
| Match Last 4 in Exact Order | €500 | 13 |
| Match Last 3 in Exact Order | €50 | 79 |
| Match Last 2 in Exact Order | €5 | 968 |
| Match Last 1 in Exact Order | €3 | 9,478 |
- 5
- 6
- 5
- 6
- 4
- 9
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 6 | CZK0 | 0 |
| Match 5 | CZK0 | 0 |
| Match 4 | CZK20,000 | 10 |
| Match 3 | CZK2,000 | 96 |
| Match 2 | CZK200 | 944 |
| Match 1 | CZK120 | 9,432 |
- 1
- 8
- 3
- 9
- 8
- 2
- 6
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 7 in Exact Order | €1,000,000 | 0 |
| Match Any 6 in the Right Spot | €20,000 | 1 |
| Match Any 5 in the Right Spot | €500 | 31 |
| Match Any 4 in the Right Spot | €50 | 471 |
| Match Any 3 in the Right Spot | €6 | 4,306 |
| Match Any 2 in the Right Spot | €3 | 24,037 |
- Nizza
- 26
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| City and Number | €1,000 | 13 |
| City | €5 | 1,216 |
- 5
- 5
- 2
- 3
- 3
| Numbers Matched | Prize Per Winner | Total Winners |
|---|---|---|
| Match 5 in Exact Order | kr2,000,000 | 0 |
| Match First/Last 4 in Exact Order | kr100,000 | 1 |
| Match First/Last 3 in Exact Order | kr10,000 | 13 |
| Match First/Last 2 in Exact Order | kr2,000 | 188 |
- Rygge
Related Eurojackpot Results Links
- Automatically check your Eurojackpot ticket
- View average prizes and winners for each prize tiers
- View the largest jackpot winners and total winners from each country
- View previous Eurojackpot results by year
Buy Eurojackpot Tickets Online
By buying your Eurojackpot tickets online you don’t have to worry about ever losing your Eurojackpot lottery tickets. When you play the Eurojackpot online all your lottery tickets purchased on the internet are stored in your personal account, meaning that you can view them anytime you wish.


| < Day Day Up > |
10.8 Hypertext Caching ProtocolHTCP and ICP have many common characteristics, although HTCP is broader in scope and generally more complex. Both use UDP for transport, and both are per-request protocols. However, HTCP addresses a number of problems with ICP, namely:
HTCP supports four basic opcodes:
In Squid, only the TST opcode is currently implemented. This book won't cover the others. The primary advantage of using HTCP over ICP is fewer false hits. HTCP has fewer false hits because the query messages include full HTTP request headers, including any Cache-Control requirements from the client. The primary disadvantages are that HTCP queries are larger, and they require additional CPU processing to generate and parse. Measurements indicate that HTCP queries are about six times larger than ICP queries, due to the presence of HTTP request headers. However, Squid's HTCP replies are typically smaller than ICP replies. HTCP is documented as an experimental protocol in RFC 2756. For more information about the message format, see the RFC at http://www.htcp.org or my O'Reilly book, WebCaching. 10.8.1 Configuring Squid for HTCPTo use HTCP, you must configure Squid with the —enable-htcp option. With this option enabled, Squid becomes an HTCP server by default. The htcp_port specifies the HTCP port number, which defaults to 4827. Setting the port to 0 disables the HTCP server mode. To become an HTCP client, you need to add the htcp option to a cache_peer line. When you add this option, Squid always sends HTCP messages, instead of ICP, to the neighbor. You can't use both HTCP and ICP with a single neighbor. The ICP port number field actually becomes an HTCP port number, so you need to change that as well. For example, let's say you want to convert an ICP neighbor to HTCP. Here's the neighbor configured for ICP: cache_peer neighbor.host.name parent 3128 3130 To switch over to HTCP, the line becomes: cache_peer neighbor.host.name parent 3128 4827 htcp Sometimes people forget to change the port number, and they end up sending HTCP messages to the ICP port. When this happens, Squid writes warnings to cache.log: 2003/09/29 02:28:55| WARNING: Unused ICP version 23 received from <IP_ADDRESS>:4827 Squid doesn't currently log HTCP queries as it does for ICP queries. HTCP queries aren't tracked in the client_list page either. However, when you enable HTCP for a peer, the cache manager server_list page (see Section <IP_ADDRESS>) shows the count and percentage of HTCP replies that were hits and misses: Histogram of PINGS ACKED: Misses 5085 98% Hits 92 2% Note that none of the current Squid versions support HTCP authentication yet. |
| < Day Day Up > |


to support distributed, fault-tolerant, soft-real-time, non-stop applications.
to store in-memory data structures.
to produce numerical hashes of geolocation data.
reasonable design out of the box.
familiar presentation of geolocation data.
expose user identity with location.


cdemi's
06 October 2020 |
Infrastructure #sysadmin |
Speeding up HTTPS and HTTP/3 negotiation with... DNS (blog.cloudflare.com) HTTPS HTTP3 Security Performance |
| A look at a new DNS resource record intended to speed-up negotiation of HTTP security and performance features and how it will help make the web faster.... Read more |
Internet of Things #IoT |
cdemi/ESP8266-Gate-Opener (github.com) |
| A simple ESP8266 WiFi Web Server that opens a garage door... Read more |
Security #InfoSec |
Know When You’ve Been DDoS’d (blog.cloudflare.com) DDoS Product News PagerDuty Attacks |
| Today we’re announcing the availability of DDoS attack alerts. The alerts are available for free for all Cloudflare’s customers on paid plans. Learn how to create an alert.... Read more |
Open Source #OSS #FOSS |
Repo experience survey results (devblogs.microsoft.com) |
| A couple of months ago we ran a survey of our github community to understand our users satisfaction and experience with the mechanics of how the projects are open-sourced with the community. This post shares the results.... Read more |
General Tech #Tech |
Say goodbye to hold music (blog.google) |
| Hold for Me helps you take your time on hold back, starting with an early preview on Pixel 5 and Pixel 4a (5G) in the U.S.... Read more |
Random |
You Can Install And Run Crysis From An RTX 3090's VRAM (kotaku.com) nvidia gtx 3090 graphics cards crysis crysis 3 pc kotaku core Kotaku |
| The new RTX 3090 graphics card has 24GB of virtual memory, which is a lot. Enough to be able to install Crysis 3 on it, and then run it, all off the card.... Read more |
|
This newsletter is made with 💖 by cdemi and sponsored by moo Research. You can find this MIT Licensed open-source project on GitHub cdemi/NewsletterCurator. You can also find an archive of all sent newsletters on GitHub at https://newsletters.cdemi.io/. If you want to unsubscribe from this newsletter, please click here. If you're new and you want to subscribe to this newsletter, please click here. |


designGNV Beta Email us with feedback.
Teal and navy blue are primary colors. Purple, blue and red are secondary. Please refer to Digital Colors for accessible color palette.
The Digital Color palette is slightly different than the City of Gainesville official brand colors and the Department of Doing brand colors. We have migrated the official colors to similar colors in the USWDS2.0 color system token chart. Each color now has a number associated to it. These numbers will help you attain proper contrast ratios for accessibility and ADA compliance. Please read about the USWDS2.0 Magic Number below for more information.
Always use the USWDS2.0 color equivalent of a brand color to ensure appropriate contrast ratios. Link for more information.
We call the difference in grade between any two colors the magic number. Magic numbers have important contrast implications:
Use USWDS magic numbers to choose accessible color combinations from any palette and color family.
Here is an example of how to use it:
Our primary brand color is teal. The USWDS2.0 name for that color is: "mint-cool-30v"
The City of Gainesville digital brand aesthetic is focused on minimalism and accessibility. Visual design should support communication and usability. If you have any questions about visual design, please reach out to Jacqueline Stetson.
Use teal, navy, and cool grays as your starting point for visual designs.
#1DC2AE
29, 194, 174
$java
#0F191C
15, 25, 28
$blue-dianne
Use secondary colors sparingly for call-to-actions, status, segmentation, borders, etc. Right now, we have a large secondary palette because it is merged City of Gainesville, Department of Doing, and UI needs. This section will be refined based on needs, but for now, you have a HEX value for each color of the rainbow. Contact Jacqueline for guidance on what colors to use when.
#B51D09
181, 29, 9
$milano-red
#E52207
229, 34, 7
$scarlet
#FF580A
255, 88, 10
$international-orange
#FACE00
250, 206, 0
$gold
#7E9C1D
126, 156, 29
$trendy-green
#59B9DE
89, 185, 222
$shakespeare
#074B69
7, 75, 105
$teal-blue
#676CC8
103, 108, 200
$moody-blue
#8B1303
139, 19, 3
$kenyan-copper
Use lighter hues as needed for rollovers, gradients, segmentation, etc. These are lighter shades of the secondary colors. Don't mix and match or use a tertiary color instead of our primary brand colors (teal and navy).
#8B1303
139, 19, 3
$kenyan-copper
#B51D09
181, 29, 9
$milano-red
#E52207
229, 34, 7
$scarlet
#FDB8AE
253, 184, 174
$melon
#FDE0DB
253, 224, 219
$cinderella
#FF580A
255, 88, 10
$international-orange
#FBBAA7
251, 186, 167
$rose-bud
#FBE0D0
251, 224, 208
$apricot-peach
#FAEEE5
250, 238, 229
$linen
#FACE00
250, 206, 0
$gold
#FEE685
254, 230, 133
$kournikova
#7E9C1D
126, 156, 29
$forest-green
#E7EAB7
231, 234, 183
$madang
#F1F4D7
241, 244, 215
$peppermint
#F1F4D7
241, 244, 215
$peppermint
#6FBAB3
111, 186, 179
$tradewind
#98D4CF
155, 212, 207
$sinbad
#C4EEEB
196, 238, 235
$iceberg
#E0F7F6
224, 247, 246
$polar
#59B9DE
89, 185, 222
$shakespeare
#97D4EA
151, 212, 234
$cornflower
#E1F3F8
225, 243, 248
$blizzard-blue
#676CC8
103, 108, 200
$moody-blue
#C5C5F3
197, 197, 243
$moon-raker
#E5E4FA
229, 228, 250
$moon-raker-1
#EFEFF8
239, 239, 248
$white-lilac
Use cool grays for backgrounds, borders, etc.
#FBFCFD
251, 252, 253
$athens-gray
#F7F9FA
247, 249, 250
$porcelain
#F5F6F7
245, 246, 247
$athens-gray-1
#F1F3F6
241, 243, 246
$athens-gray-2
#EDEFF0
237, 239, 240
$porcelain-1
#DCDEE0
220, 222, 224
$iron
#C6CACE
198, 202, 206
$iron-1
#A9AEB1
169, 174, 177
$hit-gray
#8D9297
141, 146, 151
$oslo-gray
#71767A
113, 118, 122
$rolling-stone
#565C65
86, 92, 101
$shuttle-gray
#3D4551
61, 69, 81
$river-bed
#2D2E2F
45, 46, 47
$shark
#1C1D1F
28, 29, 31
$shark-1
Make sure that you are following the Magic Number rule for contrast ratios. Colors with 40 and below, use Black font (#000000). Colors with 50 and above, use White font (#FFFFFF). Goal is to have a Magic Number of 70 or above.
#000000
0, 0, 0
$black
#FFFFFF
255, 255, 255
$white


Back
Histogram of RNA Pol-II coding genes
across four gene categories as described in the Yeast Epigenome Project.
Method
Data for 392 protein targets were retrieved from
yeastepigenome.org
Each target had zero or more replicates and consists of only YPD/Normal (growth condition) samples.
The gene counts per gene category was calculated. For targets which had replicates, gene counts were merged and duplicates were removed.
Then, the genecounts data was binned using
d3.bin()
for each gene category to generate the histogram.
How to read
Each bar represents a bin.
No.of targets in each bin is given by the bar height.
For example, the RP genes histogram shows that there are about 188 targets that bind to less than 10 RP genes.


Due to Covid-19, most conferences that would have been in 2020 have been cancelled or postponed; among those who miss out the most are early career researchers: undergraduates, graduates, and postdoctoral fellows who now do not get the opportunity to present their research in a scientifically and socially enriching environment.
To remedy this, we—the organizers—decided to host our own virtual meeting to help early career researchers meet other likeminded people, and have the opportunity to present their work in a professional setting. The Not Intentional Seminars of Molecular Spectroscopy (NISMS) serves to try and connect chemists, spectroscopists, and physicists from many timezones, in a celebration of all things of frequency and intensity.
There is no registration fee, but we encourage you to sign up by subscribing to our mailing list 🔔 where we will be communicating the Zoom details The schedule can be found in the table below. There will be six sessions spread out over the week, with four talks over an hour each session. The format of talks will be 12 minutes + 3 minutes of questions.
The organizing commitee,
Stephen Kocheril (Brown University)
Kelvin Lee (Center for Astrophysics)
Marie-Aline Martin-Drumel (University of Paris-Saclay/CNRS)
We now have 24 confirmed speakers from three continents!
Please click on speaker names for abstract listings.


Additional binding variables are provided for the following builders. The instances named below are available for use in all scripts. Builders use a special syntax to create a structured tree of data (in this case, content in the JCR).
- nodeBuilder - Each "node" in the syntax tree corresponds to a Node in the repository. A new Node is created only if there is no existing node for the current name.
nodeBuilder.etc {
satirists("sling:Folder") {
bierce(firstName: "Ambrose", lastName: "Bierce", birthDate: Calendar.instance.updated(year: 1842, month: 5, date: 24))
mencken(firstName: "H.L.", lastName: "Mencken", birthDate: Calendar.instance.updated(year: 1880, month: 8, date: 12))
other("sling:Folder", "jcr:title": "Other")
}
}
- A single string argument represents the node type name for the node ("satirists").
- A map argument uses the provided key:value pairs to set property values on the node ("bierce" and "mencken").
- Both string and map arguments will set the node type and property value(s) for the node ("other").
- pageBuilder - Each "node" in the syntax tree corresponds to a cq:Page node, unless the node is a descendant of a "jcr:content" node, in which case nodes are treated in the same manner as described for the Node builder above.
pageBuilder.content {
beer {
styles("Styles") {
"jcr:content"("jcr:lastModifiedBy": "me", "jcr:lastModified": Calendar.instance) {
data("sling:Folder")
}
dubbel("Dubbel")
tripel("Tripel")
saison("Saison")
}
breweries("Breweries", "jcr:lastModifiedBy": "me", "jcr:lastModified": Calendar.instance)
}
}
- A single string argument is used to set the page title rather than the node type ("styles").
- Descendants of "jcr:content" nodes are not created with the cq:Page type by default and can have their own node type specified as described for the Node builder ("data").
- Page properties can be passed directly as arguments on the page node without explicitly creating a jcr:content node first ("breweries").


These pictures include my brother & my dogs. because I can't find mine and 'pictures' is different than 'pictures of yourself'... 7nbsp:I don't have any birthday pictures that I can find because there aren't any or something happened


| PostgreSQL 9.0.10 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Chapter 56. How the Planner Uses Statistics | Next |
The examples shown below use tables in the PostgreSQL regression test database. The outputs shown are taken from version 8.3. The behavior of earlier (or later) versions might vary. Note also that since ANALYZE uses random sampling while producing statistics, the results will change slightly after any new ANALYZE.
Let's start with a very simple query:
EXPLAIN SELECT * FROM tenk1; QUERY PLAN ------------------------------------------------------------- Seq Scan on tenk1 (cost=0.00..458.00 rows=10000 width=244)
How the planner determines the cardinality of tenk1 is covered in Section 14.2, but is repeated here for completeness. The number of pages and rows is looked up in pg_class:
SELECT relpages, reltuples FROM pg_class WHERE relname = 'tenk1'; relpages | reltuples ----------+----------- 358 | 10000
These numbers are current as of the last VACUUM or ANALYZE on the table. The planner then fetches the actual current number of pages in the table (this is a cheap operation, not requiring a table scan). If that is different from relpages then reltuples is scaled accordingly to arrive at a current number-of-rows estimate. In this case the values are correct so the rows estimate is the same as reltuples.
Let's move on to an example with a range condition in its WHERE clause:
EXPLAIN SELECT * FROM tenk1 WHERE unique1 < 1000; QUERY PLAN -------------------------------------------------------------------------------- Bitmap Heap Scan on tenk1 (cost=24.06..394.64 rows=1007 width=244) Recheck Cond: (unique1 < 1000) -> Bitmap Index Scan on tenk1_unique1 (cost=0.00..23.80 rows=1007 width=0) Index Cond: (unique1 < 1000)
The planner examines the WHERE clause condition
and looks up the selectivity function for the operator
< in pg_operator.
This is held in the column oprrest,
and the entry in this case is scalarltsel
.
The scalarltsel
function retrieves the histogram for
unique1 from
pg_statistics. For manual queries it is more
convenient to look in the simpler pg_stats
view:
SELECT histogram_bounds FROM pg_stats WHERE tablename='tenk1' AND attname='unique1'; histogram_bounds ------------------------------------------------------ {0,993,1997,3050,4040,5036,5957,7057,8029,9016,9995}
Next the fraction of the histogram occupied by "< 1000" is worked out. This is the selectivity. The histogram divides the range into equal frequency buckets, so all we have to do is locate the bucket that our value is in and count part of it and all of the ones before. The value 1000 is clearly in the second bucket (993-1997). Assuming a linear distribution of values inside each bucket, we can calculate the selectivity as:
selectivity = (1 + (1000 - bucket[2].min)/(bucket[2].max - bucket[2].min))/num_buckets = (1 + (1000 - 993)/(1997 - 993))/10 = 0.100697
that is, one whole bucket plus a linear fraction of the second, divided by the number of buckets. The estimated number of rows can now be calculated as the product of the selectivity and the cardinality of tenk1:
rows = rel_cardinality * selectivity = 10000 * 0.100697 = 1007 (rounding off)
Next let's consider an example with an equality condition in its WHERE clause:
EXPLAIN SELECT * FROM tenk1 WHERE stringu1 = 'CRAAAA'; QUERY PLAN ---------------------------------------------------------- Seq Scan on tenk1 (cost=0.00..483.00 rows=30 width=244) Filter: (stringu1 = 'CRAAAA'::name)
Again the planner examines the WHERE clause condition
and looks up the selectivity function for =, which is
eqsel
. For equality estimation the histogram is
not useful; instead the list of most
common values (MCVs) is used to determine the
selectivity. Let's have a look at the MCVs, with some additional columns
that will be useful later:
SELECT null_frac, n_distinct, most_common_vals, most_common_freqs FROM pg_stats WHERE tablename='tenk1' AND attname='stringu1'; null_frac | 0 n_distinct | 676 most_common_vals | {EJAAAA,BBAAAA,CRAAAA,FCAAAA,FEAAAA,GSAAAA,JOAAAA,MCAAAA,NAAAAA,WGAAAA} most_common_freqs | {0.00333333,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003}
Since CRAAAA appears in the list of MCVs, the selectivity is merely the corresponding entry in the list of most common frequencies (MCFs):
selectivity = mcf[3] = 0.003
As before, the estimated number of rows is just the product of this with the cardinality of tenk1:
rows = 10000 * 0.003 = 30
Now consider the same query, but with a constant that is not in the MCV list:
EXPLAIN SELECT * FROM tenk1 WHERE stringu1 = 'xxx'; QUERY PLAN ---------------------------------------------------------- Seq Scan on tenk1 (cost=0.00..483.00 rows=15 width=244) Filter: (stringu1 = 'xxx'::name)
This is quite a different problem: how to estimate the selectivity when the value is not in the MCV list. The approach is to use the fact that the value is not in the list, combined with the knowledge of the frequencies for all of the MCVs:
selectivity = (1 - sum(mvf))/(num_distinct - num_mcv) = (1 - (0.00333333 + 0.003 + 0.003 + 0.003 + 0.003 + 0.003 + 0.003 + 0.003 + 0.003 + 0.003))/(676 - 10) = 0.0014559
That is, add up all the frequencies for the MCVs and subtract them from one, then divide by the number of other distinct values. This amounts to assuming that the fraction of the column that is not any of the MCVs is evenly distributed among all the other distinct values. Notice that there are no null values so we don't have to worry about those (otherwise we'd subtract the null fraction from the numerator as well). The estimated number of rows is then calculated as usual:
rows = 10000 * 0.0014559 = 15 (rounding off)
The previous example with unique1 < 1000 was an
oversimplification of what scalarltsel
really does;
now that we have seen an example of the use of MCVs, we can fill in some
more detail. The example was correct as far as it went, because since
unique1 is a unique column it has no MCVs (obviously, no
value is any more common than any other value). For a non-unique
column, there will normally be both a histogram and an MCV list, and
the histogram does not include the portion of the column
population represented by the MCVs. We do things this way because
it allows more precise estimation. In this situation
scalarltsel
directly applies the condition (e.g.,
"< 1000") to each value of the MCV list, and adds up the
frequencies of the MCVs for which the condition is true. This gives
an exact estimate of the selectivity within the portion of the table
that is MCVs. The histogram is then used in the same way as above
to estimate the selectivity in the portion of the table that is not
MCVs, and then the two numbers are combined to estimate the overall
selectivity. For example, consider
EXPLAIN SELECT * FROM tenk1 WHERE stringu1 < 'IAAAAA'; QUERY PLAN ------------------------------------------------------------ Seq Scan on tenk1 (cost=0.00..483.00 rows=3077 width=244) Filter: (stringu1 < 'IAAAAA'::name)
We already saw the MCV information for stringu1, and here is its histogram:
SELECT histogram_bounds FROM pg_stats WHERE tablename='tenk1' AND attname='stringu1'; histogram_bounds -------------------------------------------------------------------------------- {AAAAAA,CQAAAA,FRAAAA,IBAAAA,KRAAAA,NFAAAA,PSAAAA,SGAAAA,VAAAAA,XLAAAA,ZZAAAA}
Checking the MCV list, we find that the condition stringu1 < 'IAAAAA' is satisfied by the first six entries and not the last four, so the selectivity within the MCV part of the population is
selectivity = sum(relevant mvfs) = 0.00333333 + 0.003 + 0.003 + 0.003 + 0.003 + 0.003 = 0.01833333
Summing all the MCFs also tells us that the total fraction of the population represented by MCVs is 0.03033333, and therefore the fraction represented by the histogram is 0.96966667 (again, there are no nulls, else we'd have to exclude them here). We can see that the value IAAAAA falls nearly at the end of the third histogram bucket. Using some rather cheesy assumptions about the frequency of different characters, the planner arrives at the estimate 0.298387 for the portion of the histogram population that is less than IAAAAA. We then combine the estimates for the MCV and non-MCV populations:
selectivity = mcv_selectivity + histogram_selectivity * histogram_fraction = 0.01833333 + 0.298387 * 0.96966667 = 0.307669 rows = 10000 * 0.307669 = 3077 (rounding off)
In this particular example, the correction from the MCV list is fairly small, because the column distribution is actually quite flat (the statistics showing these particular values as being more common than others are mostly due to sampling error). In a more typical case where some values are significantly more common than others, this complicated process gives a useful improvement in accuracy because the selectivity for the most common values is found exactly.
Now let's consider a case with more than one condition in the WHERE clause:
EXPLAIN SELECT * FROM tenk1 WHERE unique1 < 1000 AND stringu1 = 'xxx'; QUERY PLAN -------------------------------------------------------------------------------- Bitmap Heap Scan on tenk1 (cost=23.80..396.91 rows=1 width=244) Recheck Cond: (unique1 < 1000) Filter: (stringu1 = 'xxx'::name) -> Bitmap Index Scan on tenk1_unique1 (cost=0.00..23.80 rows=1007 width=0) Index Cond: (unique1 < 1000)
The planner assumes that the two conditions are independent, so that the individual selectivities of the clauses can be multiplied together:
selectivity = selectivity(unique1 < 1000) * selectivity(stringu1 = 'xxx') = 0.100697 * 0.0014559 = 0.0001466 rows = 10000 * 0.0001466 = 1 (rounding off)
Notice that the number of rows estimated to be returned from the bitmap index scan reflects only the condition used with the index; this is important since it affects the cost estimate for the subsequent heap fetches.
Finally we will examine a query that involves a join:
EXPLAIN SELECT * FROM tenk1 t1, tenk2 t2 WHERE t1.unique1 < 50 AND t1.unique2 = t2.unique2; QUERY PLAN -------------------------------------------------------------------------------------- Nested Loop (cost=4.64..456.23 rows=50 width=488) -> Bitmap Heap Scan on tenk1 t1 (cost=4.64..142.17 rows=50 width=244) Recheck Cond: (unique1 < 50) -> Bitmap Index Scan on tenk1_unique1 (cost=0.00..4.63 rows=50 width=0) Index Cond: (unique1 < 50) -> Index Scan using tenk2_unique2 on tenk2 t2 (cost=0.00..6.27 rows=1 width=244) Index Cond: (t2.unique2 = t1.unique2)
The restriction on tenk1, unique1 < 50, is evaluated before the nested-loop join. This is handled analogously to the previous range example. This time the value 50 falls into the first bucket of the unique1 histogram:
selectivity = (0 + (50 - bucket[1].min)/(bucket[1].max - bucket[1].min))/num_buckets = (0 + (50 - 0)/(993 - 0))/10 = 0.005035 rows = 10000 * 0.005035 = 50 (rounding off)
The restriction for the join is t2.unique2 = t1.unique2.
The operator is just
our familiar =, however the selectivity function is
obtained from the oprjoin column of
pg_operator, and is eqjoinsel
.
eqjoinsel
looks up the statistical information for both
tenk2 and tenk1:
SELECT tablename, null_frac,n_distinct, most_common_vals FROM pg_stats WHERE tablename IN ('tenk1', 'tenk2') AND attname='unique2'; tablename | null_frac | n_distinct | most_common_vals -----------+-----------+------------+------------------ tenk1 | 0 | -1 | tenk2 | 0 | -1 |
In this case there is no MCV information for unique2 because all the values appear to be unique, so we use an algorithm that relies only on the number of distinct values for both relations together with their null fractions:
selectivity = (1 - null_frac1) * (1 - null_frac2) * min(1/num_distinct1, 1/num_distinct2) = (1 - 0) * (1 - 0) / max(10000, 10000) = 0.0001
This is, subtract the null fraction from one for each of the relations, and divide by the maximum of the numbers of distinct values. The number of rows that the join is likely to emit is calculated as the cardinality of the Cartesian product of the two inputs, multiplied by the selectivity:
rows = (outer_cardinality * inner_cardinality) * selectivity = (50 * 10000) * 0.0001 = 50
Had there been MCV lists for the two columns,
eqjoinsel
would have used direct comparison of the MCV
lists to determine the join selectivity within the part of the column
populations represented by the MCVs. The estimate for the remainder of the
populations follows the same approach shown here.
Notice that we showed inner_cardinality as 10000, that is, the unmodified size of tenk2. It might appear from inspection of the EXPLAIN output that the estimate of join rows comes from 50 * 1, that is, the number of outer rows times the estimated number of rows obtained by each inner index scan on tenk2. But this is not the case: the join relation size is estimated before any particular join plan has been considered. If everything is working well then the two ways of estimating the join size will produce about the same answer, but due to roundoff error and other factors they sometimes diverge significantly.
For those interested in further details, estimation of the size of a table (before any WHERE clauses) is done in src/backend/optimizer/util/plancat.c. The generic logic for clause selectivities is in src/backend/optimizer/path/clausesel.c. The operator-specific selectivity functions are mostly found in src/backend/utils/adt/selfuncs.c.


This vignette demonstrates how to use the raml
package to solve a simple scheduling problem: twelve representatives attend a conference, and each representative needs to meet every other representative one on one. How can we most efficiently schedule this conference?
To begin, we define the model object:
library(raml)
## Loading required package: ROI
## ROI.plugin.glpk: R Optimization Infrastructure
## Registered solver plugins: nlminb, glpk.
## Default solver: auto.
m <- Model()
m$sense <- "min"
Now, we define our decision variables: should representative i
meet with representative j
during time period k
?
m$var(x[1:12, 1:12, 1:20], "Binary")
We know that if i
is meeting with j
, then j
must also be meeting with i
:
for (k in 1:20) {
for (i in 1:12) {
for (j in 1:i) {
m$constraint(x[i, j, k] == x[j, i, k])
}
}
}
Furthermore, each representative can only meet with one other representative during a given time frame:
for (k in 1:20) {
for (i in 1:12) {
m$constraint(rsum(x[i,j_i,k], j_i = 1:12) <= 1)
}
}
Now, we require every representative meet with every other representative:
for (i in 1:12) {
for (j in 1:12) {
if (i != j) {
m$constraint(rsum(x[i,j,k_i], k_i = 1:20) >= 1)
}
}
}
We define our objective function to minimize the amount of time everyone has to spend at the conference:
gamma <- 1.1
m$objective(rsum(gamma^k_i * x[i_i, j_i, k_i], i_i = 1:12, j_i = 1:12, k_i = 1:20))
Finally, we can solve the model:
m$solve()
## Optimal solution found.
## The objective value is:<PHONE_NUMBER>0652
Now, we can visualize the meetings:
df <- data.frame(i = numeric(), j = numeric(), k = numeric())
for (i in 1:12) {
for (j in 1:12) {
for (k in 1:20) {
if (value(x[i,j,k]) > 0) {
df <- rbind(df, data.frame(i = i, j = j, k = k))
}
}
}
}
library(ggplot2)
ggplot(df, aes(i,j, label = k)) +
geom_text() +
scale_x_continuous("Rep i", breaks = 1:12) +
scale_y_continuous("Rep j", breaks = 1:12) +
ggtitle("When should Rep i meet with Rep j?") +
theme_minimal()


I tried Apple’s new AirPods Pro and Sony’s popular ‘AirPods killer’ earbuds, and if you care about sound quality, the winner is clear
by Antonio Villas-Boas, Business Insider US- Apple’s latest AirPods Pro work for both iOS and Android devices, giving everyone a new option for wireless noise-cancelling earbuds on top of the incumbent Sony WF-1000XM3.
- The AirPods Pro give iPhone users some extra features that Android users don’t have access to. They also have a smaller case, wireless charging, and are sweat- and water-resistant.
- But the Sony WF-1000XM3 sound better, and have better noise-cancelling and battery life.
- Here’s how to decide which earbuds are best for you.
- Visit Business Insider’s homepage for more stories.
Wireless noise-cancelling earbuds are few and far between. In fact, there are only two that I know of: Apple’s AirPods Pro and the Sony’s WF-1000XM3.
What’s more, both sets of earbuds will work on both iOS and Android devices. At the end of the day, these things are Bluetooth earphones.
But as you’d expect, AirPods Pro offer you a few more features for iOS users that Android users don’t get access to. Still, AirPods Pro offer a totally wireless, noise-cancelling proposition, even to Android users. So which should you buy?
Well, that depends on a few things. I’ve listed a bunch of the most important aspects and features of these wireless earbuds and declared a winner in each category.
The best sound quality: Sony WF-1000XM3.
The AirPods Pro are good, but the Sonys sound richer, have more bass, more clarity, and are more impressive overall.
The best noise-cancelling: Sony WF-1000XM3.
The AirPods Pro have surprisingly good noise-cancelling that should sufficiently hush the world around you. If you should go for the AirPods Pro, you won’t be unhappy.
But earbud to earbud, the Sonys do a slightly better job at silencing certain noises. They have an earplug design that helps dull unwanted sound.
The best battery life: Sony WF-1000XM3.
The Sony earbuds have about six hours of battery life with noise-cancelling versus the 4.5 hours on the AirPods Pro (also with noise-cancelling).
The most secure fit: Sony WF-1000XM3.
The AirPods Pro with an in-ear design are the first Apple earphones that actually fit my ear, but the Sony’s ear plug design makes for a more secure fit.
The most comfortable fit: Apple AirPods Pro.
They’re so light and comfortable you can easily forget they’re there.
The best for working out: Apple AirPods Pro.
The AirPods Pro are sweat- and water-resistant, while the Sonys are not, despite their more secure fit. Based on that feature alone, the AirPods Pro are better for working out.
Charging case: Apple AirPods Pro.
The Sony charging case is significantly larger than the AirPods Pro case, and more difficult to slip into your pocket.
The AirPods Pro charging case also supports wireless charging, while the Sony’s chunky charging case doesn’t.
Ease of use for iPhone users: Apple AirPods Pro.
All the controls and customization features for the AirPods Pro are built into iOS, and they’re not available to Android users, as there’s no official AirPods Pro app that Android users can download.
The AirPods Pro also have some extra features like “Find AirPods” that let you track a misplaced AirPods. They’re compatible with Siri, if you use Apple’s smart voice assistant. And AirPods Pro only show their battery life on iOS devices, not on Android devices.
Ease of use for Android users: Tied.
The Sonys have the best overall compatibility with both iOS and Android devices. They work like most Bluetooth earphones, and they also show you the battery life on Android devices. The Sony Headphones app gives you a wide variety of controls and customization for functions on the Sony earbuds on both ecosystems.
With that said, there are some third-party apps that supposedly offer some Apple-like settings for Android devices.
Otherwise, while AirPods pair more seamlessly with iPhones, both pairs can work like regular Bluetooth earphones.
The best design: Up to you.
Unlike other aspects like sound quality and noise-cancelling, design is subjective, and I’m not going to tell you what design you like.
With that said, I can tell you that both earbuds are incredibly small, but the AirPods Pro design is iconic and more noticeable, and the buds’ white color theme tells everyone around you that you spent around $250. The Sonys are more subtle.
The best price: Tied.
At MSRP, Apple’s AirPods Pro go for $250, but you can find them for less. They’re $235 on Amazon at the time of writing, for example.
As for the Sonys, the MSRP is $230, and you don’t often see them discounted.
So, one could argue that both earbuds have pretty similar price tags.
The final verdict: Anyone who values sound quality, whether they’re on iPhone or Android, should choose the Sonys.
The AirPods Pro definitively give iPhones users a better overall experience. The sound is good enough, the noise cancelling is great, the design is iconic, and the features are plentiful and unique to Apple’s ecosystem.
And for fitness people, whether they’re on Android or iOS, the best bet are Apple’s AirPods Pro. That’s because the AirPods Pro are sweat- and water-resistant, while the Sonys aren’t.
But iPhone users who want the best sound quality should decidedly opt for the Sony WF-1000XM3 ear buds. The sound quality is that good. The AirPods Pro sound better than regular AirPods, but I enjoyed my music more with the Sonys.
iPhone users who go for the Sonys may miss out on some features like easier pairing, Find AirPods, and other little tidbits that makes the Apple ecosystem great. But at the end of the day, the Sonys are still Bluetooth headphones that connect to iPhones, and they offer significantly better sound quality.
As for Android users looking for an excellent pair of wireless noise-cancelling earbuds, the Sony are in a league of their own. That’s partly because there aren’t many other wireless noise-cancelling earbuds out there to chose from, but also because the Sonys are so good.


|
libwifi 0.0.3
An 802.11 Frame Parsing and Generation library in C
|
Files | |
| file | action.c [code] |
| file | action.h [code] |
| file | assoc_request.c [code] |
| file | assoc_request.h [code] |
| file | assoc_response.c [code] |
| file | assoc_response.h [code] |
| file | atim.c [code] |
| file | atim.h [code] |
| file | authentication.c [code] |
| file | authentication.h [code] |
| file | beacon.c [code] |
| file | beacon.h [code] |
| file | common.h [code] |
| file | deauthentication.c [code] |
| file | deauthentication.h [code] |
| file | disassociation.c [code] |
| file | disassociation.h [code] |
| file | probe_request.c [code] |
| file | probe_request.h [code] |
| file | probe_response.c [code] |
| file | probe_response.h [code] |
| file | reassoc_request.c [code] |
| file | reassoc_request.h [code] |
| file | reassoc_response.c [code] |
| file | reassoc_response.h [code] |
| file | timing_ad.c [code] |
| file | timing_ad.h [code] |


| 1 |
compounds |
virus |
chinese |
pharmacological |
genes |
chromatography |
GA |
antioxidant |
oxidative |
sars-cov |
L. |
alkaloids |
essential |
shrimp |
cordyceps |
| 2 |
plant |
extract |
herbal |
constituents |
biosynthesis |
mass |
glycyrrhizin |
scavenging |
mice |
intestinal |
OS |
J. |
oil |
WSSV |
tea |
| 3 |
plants |
antiviral |
TCM |
emodin |
japonica |
liquid |
hairy |
tinctoria |
oxidative stress |
3clpro |
prices |
indole |
essential oil |
M. |
fungus |
| 4 |
natural |
cells |
herbs |
genus |
gene |
method |
licorice |
± |
da |
wound |
species |
apoptosis |
h. cordata |
tuberculosis |
tfs |
| 5 |
marine |
viral |
medicine |
bupleuri |
unigenes |
samples |
G. |
antioxidant activity |
stress |
baicalensis |
plants |
3 |
H. |
YHV |
fungi |
| 6 |
properties |
activity |
traditional |
science |
tissues |
spectrometry |
root |
phenolic |
reduced |
phenolic acids |
RS |
TSL-EO |
essential oils |
hesperetin |
sweet |
| 7 |
potential |
μg/ml |
treatment |
scientific |
expression |
separation |
glycyrrhiza |
content |
cold |
EF |
ethnoveterinary |
cell |
oils |
white |
c. sinensis |
| 8 |
biological |
extracts |
ingredients |
phytochemistry |
indigotica |
plasma |
uralensis |
radical |
nf-κb |
UA |
price |
c-geranylated |
cordata |
cd |
TF3 |
| 9 |
health |
antiviral activity |
diseases |
coumarins |
involved |
HPLC |
glabra |
DPPH |
glutathione |
IC50 |
farmers |
alkaloid |
eos |
mjltl2 |
sinensis |
| 10 |
products |
effect |
clinical |
betula |
lonicera |
column |
production |
extracts |
necrosis |
TCLL |
tomato |
isolated |
bacterial |
japonicus |
green |
| 11 |
applications |
infection |
chinese medicine |
radix bupleuri |
tobacco |
quality |
cultures |
DW |
si-ni-san |
inhibitors |
medicinal plants |
cells |
mg/ml |
protα |
black |
| 12 |
chapter |
replication |
formulae |
activities |
l. japonica |
detection |
roots |
flavonoid |
MC |
anticomplementary |
gaertn |
2 |
streptococcus |
melatonin |
fish |
| 13 |
recent |
assay |
medicines |
pharmacological activities |
i. indigotica |
rat |
g. glabra |
lycorine |
oxide |
COS |
officinalis |
cancer cells |
MIC |
immune |
ibmads1 |
| 14 |
research |
influenza |
targets |
polygonum |
transcriptome |
analysis |
liquorice |
ithrcs |
nitric oxide |
flos |
veterinary |
lines |
minimum |
indigo |
EGCG |
| 15 |
activities |
inhibition |
guidelines |
web |
nitrogen |
% |
UV-B |
free |
mg/kg |
acids |
lychee |
isoquinoline |
EA |
shrimps |
potato |
| 16 |
food |
showed |
herbal formulae |
multiflorum |
pathways |
quantification |
g. uralensis |
24 |
model |
lonicerae |
l. houdyshelii |
narcissus |
bacteria |
NOS |
3cl(pro |
| 17 |
review |
fraction |
efficacy |
phytochemical |
stages |
m/z |
glycyrrhizic |
photosynthetic |
inflammatory |
SARS |
l. aurea |
litwinowii |
monoterpenes |
hainan |
catechins |
| 18 |
species |
inhibit |
components |
triterpenoid |
biosynthetic |
quantitative |
ergosterol |
capacity |
dismutase |
gel |
houdyshelii |
MGC-803 |
cinnamon |
polysaccharide |
sweet potato |
| 19 |
polysaccharides |
% |
bear |
chemical constituents |
I. |
sensitive |
glycyrrhizic acid |
rate |
models |
tomentosa |
aurea |
isoquinoline alkaloids |
eucalyptus |
li |
mycelia |
| 20 |
natural products |
evaluated |
studies |
glycosides |
transformation |
developed |
spaceflight |
anti-inflammatory activities |
nitric |
mag |
horses |
fortumei |
MHV |
challenge |
teas |
| 21 |
diseases |
aqueous |
herbal medicine |
hepatoprotective |
glycosyltransferases |
YPFS |
drought |
μg/mg |
cough |
wound healing |
influenced |
5 |
thyme |
miao |
C. |
| 22 |
bioactive |
inhibitory |
SST |
ginseng |
accumulation |
acid |
pastoris |
water |
icariin |
sars-cov-2 |
scarcity |
cancer |
camaldulensis |
NFP-1 |
green tea |
| 23 |
biological activities |
cell |
chinese herbal medicines |
chrysophanol |
cytochrome |
QC |
culture |
potassium |
induced |
flora |
BC |
death |
mediterranean |
mortality |
inophyllum |
| 24 |
drugs |
significantly |
drug |
cimicifuga |
t. sinensis |
pharmacokinetic |
glycyrrhiza glabra |
rutin |
attenuated |
FTA |
fluctuations |
smith |
niclosamide |
m. japonicus |
sterols |
| 25 |
source |
glycyrrhizae |
results |
review |
macranthoides |
rats |
GL |
I. |
arbidol |
hct |
french |
indole alkaloids |
2-undecanone |
dyers |
hepiali |
| 26 |
range |
IC(50 |
liver |
saponins |
CGA |
applied |
fisch |
contents |
tf-ee |
ulcers |
trinidad |
miscellaneous |
antibacterial activity |
azedarach |
pepper |
| 27 |
important |
PEP |
safety |
pubmed |
expressed |
spectroscopy |
glycyrrhetinic |
reducing |
p-icariin |
caffeic |
symphytum |
dai |
rice |
crayfish |
carp |
| 28 |
metabolites |
45 |
active components |
CR |
metabolism |
accurate |
hairy roots |
oxalate |
marama |
protease |
albiflora |
qing |
b[a]p-induced |
vp28-sirna |
spices |
| 29 |
antimicrobial |
reduction |
pis |
serrata |
LTB |
high-performance |
glycyrrhiza uralensis fisch |
muticum |
TSL-1 |
caffeic acid |
UR |
12 |
e. camaldulensis |
CBP1S |
anti‐saprolegnia |
| 30 |
include |
potent |
bile |
toxicity |
pathway |
qualitative |
p. pastoris |
asiaticum |
common |
pomegranate |
symphytum officinale |
targets |
mutans |
lectins |
oolong |
| 31 |
molecules |
attachment |
experimental |
P. |
RNA |
linearity |
radiation |
% |
damage |
hon |
l. albiflora |
cluster |
cinnamon bark |
m. azedarach |
theaflavins |
| 32 |
diverse |
nakai |
infections |
effects |
encoding |
gas |
secondary metabolites |
quercetin |
signaling |
p. tomentosa |
linearis |
aureus |
steviol |
nitrite/nitrate |
black tea |
| 33 |
sources |
herpes |
role |
information |
integration |
ionization |
transgenic |
flavonoids |
superoxide dismutase |
s. baicalensis |
aspalathus |
cyrtomium fortumei |
chemical composition |
DHI |
phenol-rich |
| 34 |
therapeutic |
cytotoxicity |
data |
polygoneae |
annotated |
CMM |
glycyrrhiza uralensis |
total |
LPS |
cell-based |
harvest |
keiskei |
haemophilus |
HCP-2 |
TF1 |
| 35 |
structural |
results |
traditional chinese medicine |
c. serrata |
assembly |
rigida |
gusqs1 |
PRRSV |
factor-α |
intestinal bacteria |
aspalathus linearis |
caspase-3 |
DENV-2 |
molecular weight |
ipomoea |
| 36 |
medicinal |
plaque |
interaction |
autophagy |
mosaic |
high-performance liquid chromatography |
elicitation |
i. tinctoria hairy root cultures |
QGG |
hcov-nl63 |
calanthe |
m. cordata |
grandisol |
l. chinensis |
theaflavin |
| 37 |
microorganisms |
respiratory |
sidoides |
saikosaponins |
leaves |
isatidis |
hairy root cultures |
dry |
ROS |
rabbit |
high |
staphylococcus |
α‐pinene |
phosphor |
anti-hiv |
| 38 |
numerous |
vero |
COVID-19 |
chaihu |
identified |
FCE |
HMGR |
c. asiaticum |
nrf2 |
aggregation |
r.dahlgren |
cyrtomium |
perennial |
CPP-2 |
‘ |
| 39 |
human |
epigoitrin |
pelargonium sidoides |
polygonum multiflorum |
genomics |
chrysoeriol |
anti‐hcv |
UMAE |
ducklings |
complement |
switzerland |
IL-17A |
sempervirens |
CPP-1 |
gibelio |
| 40 |
attention |
in vitro |
pelargonium |
web of science |
stems |
isatidis radix |
secondary |
C. |
QGR |
flos lonicerae extract |
traders |
1 |
oxycedrus |
m. tuberculosis |
bloch |
| 41 |
interest |
study |
disease |
rheum |
plastid |
precision |
β-glucuronidase |
SFE |
anti-inflammatory |
sambucus |
homemade |
10 |
μg/mouse |
indigo-yielding |
TF2A |
| 42 |
activity |
virucidal |
effects |
scholar |
lonicera japonica |
PAP-1 |
copy |
sappan |
inflammation |
G-90 |
adulteration |
13 |
sea |
postchallenge |
epicatechin |
| 43 |
great |
radix glycyrrhizae |
prescriptions |
studies |
genomic |
analytes |
stress |
mg/100 |
acute |
anticomplement |
interviews |
protect |
pyogenes |
fructan |
mads-box |
| 44 |
algae |
EV71 |
regulation |
traditional |
l. macranthoides |
radix |
GAMG |
chlorophyll |
assessed |
metabolized |
mutant |
26 |
antimicrobial activity |
anti-m. |
1782 |
| 45 |
phenolics |
treatment |
methods |
clinical |
L. |
components |
isoliquiritigenin |
leaf area |
spleen |
gluconolactone |
nelumbo |
hela |
antibacterial |
main-group |
ophiocordyceps |
| 46 |
potentially |
CVA16 |
related |
pharmacological studies |
iipals |
tandem |
ugats |
2,2-diphenyl-1-picrylhydrazyl |
7630 |
tender |
salix |
short |
S. |
l-citrulline |
anamorphic |
| 47 |
published |
effects |
widely |
google scholar |
hbsag |
s-goitrin |
gucyb5 |
antioxidant capacity |
HCI |
AP |
influence |
MCF-7 |
lung |
chinensis |
text |
| 48 |
biological activity |
acetone |
barley |
bupleurum |
leadzyme |
LA |
IAN |
i. tinctoria |
chickens |
WESB |
wild |
apoptotic |
strains |
hemocytes |
SC |
| 49 |
anti-viral |
methanol extract |
prescription |
cassiae |
P450 |
electrospray |
glucuronosylation |
viscozyme |
pathological |
HNEI |
factors |
TS |
composition |
system |
fruiting |
| 50 |
endophytes |
HCV |
formula |
cassiae semen |
iiplr1 |
progoitrin |
chalcone |
deficit |
ear |
inhibitory activity |
cultivation |
SGC7901 |
activity |
egg |
peaks |


SOURCE
or CLASS
retention policy that are supposed to be used by JUnit 5.
Such annotations are not available at runtime and most probably their retention policy should be fixed to be accessible through reflection.
Note that if the retention policy is not specified, then the default retention policy CLASS
is used.
Example:
@Testable
public @interface UnitTest {}
After the quick-fix is applied:
@Retention(RetentionPolicy.RUNTIME)
@Testable
public @interface UnitTest {}


A conference on R and its applications
Coming soon!
Gain knowledge from your peers and experienced professionals
Community organised, community focussed
Low cost and accessible
We’re organising a conference!
satRday is dedicated to providing a harassment-free and inclusive conference experience for all in attendance regardless of, but not limited to, gender, sexual orientation, disabilities, physical attributes, age, ethnicity, social standing, religion or political affiliation. We do not tolerate harassment of participants (including organisers and vendors) in any form. Sexual innuendos and imagery are not appropriate for any conference venue, including presentations. Anyone violating these rules may be given warning or expelled from the conference (without a refund) at the discretion of the conference organisers. Our code of conduct/anti-harassment policy can be found here.


John Tromp
01101000100000001000000000000000100000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
01101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011001101001100101101001011001101001100101100110100101101001100101100110100110010110100101100110100101101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011001101001100101101001011001101001011010011001011010010110011010011001011001101001011010011001011001101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011001101001100101101001011001101001
01101110010111011110001001101010111100110111101111100001000110010100111010010101101101011111000110011101011011111001110111110111111000001000011000101000111001001001011001101001111010001010011010101010111011001011011011101011111100001100011100101100111101001101011101101101111110001110011110101110111111001111011111101111111000000100000110000101000011100010010001011000110100011110010001001001100101010010111001100100110110011101001111101000010100011010010101001110101001010101101011010101111011000101100110110101
11001001000011111101101010100010001000010110100011000010001101001100010011000110011000101000101110000000110111000001110011010001001010010000001001001110000010001000101001100111110011000111010000000010000010111011111010100110001110110001001110011011001000100101000101001010000010000111100110001110001101000000010011011101111011111001010100011001101100111100110100111010010000110001101100110000001010110000101001101101111100100101111100010100001101110100111111100001001101010110110101101101010100011100001001000101The 512 bit lengths avoid mistakes made by articles such as this that claim
To illustrate, a sequence such as<PHONE_NUMBER>0000000000000000000000000000000000000000000000000000000000000000000000 can be described by a computer program much shorter than itself, namely: print 80 zeros
Just how much shorter? 14 bytes = 112 bits (or 98 bits of 7-bit ASCII).
We must avoid such bit vs byte confusion. Not engrave them in gold...
November 1960 "A preliminary report on a general theory of inductive inference"
Technical Report ZTB-138, Zator Company, Cambridge, Massachusetts
1965 "Three approaches to the definition of the quantity of information"
Problems of Information Transmission (1): 3–11.
1966 "On the Length of Programs for Computing Finite Binary Sequences"
Journal of the Association for Computing Machinery. 13 (4): 547–569.
KM(x) = min {|p|: M(p) = x}
Objects can be binary strings, or natural numbers in a 1-1 correspondence:
0 1 2 3 4 5 6 7 8 9 10 11 ... | | | | | | | | | | | | "" 0 1 00 01 10 11 000 001 010 011 100 ...(bitstring n is n+1 written in binary without its leading 1)
So we can take the length of a number, and consider that length as a binary string.
How do we avoid the description method parameter?
KU(x) ≤ KM(x) + O(1)
Invariance Theorem There is a universal description method U. Define K(x) = KU(x)
Theorem K(x) is uncomputable
Theorem For strings of length n, K(x) ≤ n + O(1)
Theorem Fraction of { |x|= n, K(x) < n - c } is less than 2-c
Chaitin's Incompleteness Theorem It's impossible to prove in general that a program p is elegant, i.e. of minimal length.
What to make of K(<x,y>) ≤ K(x) + K(y) + ???
How to define a random infinite string x in terms of complexity of its prefixes x1..n?
How to define an algorithmic probability P(x) ?
Restrict programs to a prefix-free set, i.e. when p and q are different programs, then neither is a prefix of the other.

Call x random if KP(x) ≥ |x|.
Chaitin has a rather strong view on plain complexity:
"Anyway, in my opinion AIT really begins with my 1975 ACM Journal paper ``A theory of program size formally identical to information theory;'' the rest was the pre-history of the field!" Think of a computer as decoding equipment at the receiving end of a noiseless binary communications channel. Think of its programs as code words, and of the result of the computation as the decoded message. Then it is natural to require that the programs/code words form what is called a “prefix-free set,” so that successive messages sent across the channel (e.g. subroutines) can be separated.
KP(<x,y>) = KP(y) + KP(x|y*) + O(1)
KP(x) = KP(n) + KP(x|n*) + O(1), with n = |x|
An infinite binary string x is random if all but finitely many of its prefixes x1..n are.
With probability 1, a randomly chosen infinite binary string is random.
This definition is equivalent to one by Per Martin-Löf from 1966 in terms of so-called constructive null-sets.
Define P(x) as the probability that the universal prefix machine outputs x.
Then P(x) = Θ(2-KP(x))
So algorithmic probability is concentrated on the shortest program.
What is Ω = ∑x P(x) ?
Ω is the halting probability of UP on a random input. Ω is enumerable / semi-computable.
Theorem Ω is random
Many mathematical questions can (in theory) be settled by knowledge of the first few thousand bits of Ω.
Sketch: Ω1..n, dovetail all programs contributing to Ω until their sum contribution exceeds Ω1..n. At that point all unfinished programs up to length n are known not to halt.
Chaitin showed that proving the value of any k bits of Ω requires a formal theory of complexity at least k+O(1).
Goals for universal machine
DMTCS’96 Proceedings, Springer Verlag, Singapore, 1997, pp. 1–23,
Gregory Chaitin paraphrases John McCarthy about his invention of LISP, as "This is a better universal Turing machine. Let’s do recursive function theory that way!" Chaitin continues:
And the funny thing is that nobody except me has really I think taken that seriously. And the reason of course is that theoreticians didn't really much care about programming, about really playing with the computer. So the thing I've added is I think nowadays you have no excuse! If a theory has to do with the size of computer programs, you want to damn well see the programs, you want to be able to run them, it ought to be a programming language that is easy to use.
So I’ve done that using LISP because LISP is simple enough, LISP is in the intersection between theoretical and practical programming. Lambda calculus is even simpler and more elegant than LISP, but it’s unusable. Pure lambda calculus with combinators S and K, 11 it’s beautifully elegant, but you can’t really run programs that way, they’re too slow.
Turns out, neither is too slow to run programs. And while SK combinators are slightly simpler than lambda calculus, the latter is significantly more expressive, bit-for-bit. So that's what we're going with.
Functional bits
Unlike LISP, neither cons nor car/cdr/nil/null are primitives
bool foo bar
if not null L then foo (car L) (cdr L) else barwe can write
L (λh λt λ_. foo h t) barOr if L is known to be non-empty, simply
L foo
cons b0 (cons b1 (cons ... (cons bn-1 T)...)A Lambda machine is a lambda calculus term M applied to a binary input stream that may or may not be terminated. The normalized result of this application is the output of the machine.
Example with identity machine ID = λx. x and input string 10
(λx. x) (cons 1 (cons 0 nil)) ->* cons 1 (cons 0 nil)showing ID (10:T) = (10:T). What does this say about KID(10) ?
We'd now like to do the inverse: translate a lambda term M into a bitstring code(M). Then a Universal machine can operate as
U(code(M) : T} = M(T)
We thus need to encode
λx λy λz. z x yis written
λ λ λ . 1 3 2in De Bruijn notation (also known for his De Bruijn sequences).
λ λ λ @ @ 1 3 2Now encode
λ asFor example, code(λxλyλz. z x y) =00 @ as01 n as1n0
code(λ λ λ @ @ 1 3 2) =00 00 00 01 01 10 1110 110
E = (λ 1 1) (λ λ λ 1 (λ λ λ λ 3 (λ 5 (3 (λ 2 (3 (λ λ 3 (λ 1 2 3))) (4 (λ 4 (λ 3 1 (2 1)))))) (1 (2 (λ 1 2)) (λ 4 (λ 4 (λ 2 (1 4))) 5)))) (3 3) 2)
satisfying, for all closed terms M:
E C (code(M) : N) = C (λz. M) N
code(E) is 206 bits long !
For non-closed terms M, the result depends on what's passed in as z. We can pass in a term loop = (λx. x x)(λx. x x) to make the interpreter diverge in that case.
U = E (λz.z loop)satisfies
U(code(M) : T) = M(T)
code(U) =0101 00 01 1010<PHONE_NUMBER>01 10 000 00000 01 1110 00 0101 111110 01 1110 00 0101 110 01 1110 0000 01 1110 00 01 01 101101110 01 11110 00 01 11110 00 0101 111010 01 11010 0101 10 01 110 0 0 01 10110 00 0101 11110 00 01 11110 0 0 01 110 01<PHONE_NUMBER>110 01<PHONE_NUMBER>0 00 01 10 01 00 01 1010 00 01 1010
token λ @ 1 2 3 4 5 6+ freq 22 35 14 7 8 5 2 0 codeU features the above code frequencies. The code lengths closely approximate an optimal Huffman code. A high indexed variable used several times within a local scope00 01 10 110 1110 11110<PHONE_NUMBER>11*
λv. λ λ λ λ λ λ λ ( ... v ... v ...)can instead be re-bound with a single occurence to reduce code length:
λv. λ λ λ λ λ λ λ ((λv' ... v' ... v' ...)
Note that programs consist of two parts: an encoded lambda term, and the bits that it "reads".
Programs terminated by nil are delimited while those with an unread tail T are self-delimiting. The latter by necessity form a prefix-free set.
BLC is the language of programs for the universal machine U. The simplest BLC programs are those starting with code(λx.x) = 0010 that prove
Theorem For strings x of length n, K(x) ≤ n + 4
What would be a good upperbound for KP(x) for strings x of length n?
Recall that KP(x) = KP(n) + KP(x|n*) + O(1) ≤ KP(n) + n + O(1)
0 1 2 3 4 5 6 7 8 9 10 11 ... | | | | | | | | | | | | "" 0 1 00 01 10 11 000 001 010 011 100 ...Another way to relate them is in a tree...
Number String Delimited 0 0 1 0 10 2 1 110 0 3 00 110 1 4 01 1110 0 00 5 10 1110 0 01 6 11 1110 0 10 7 000 1110 0 11 8 001 1110 1 000 9 010 1110 1<PHONE_NUMBER>000 11110 0 10 111111
where 340 is the size of Levenshtein decoder
(λ 1 1) (λ λ λ 1 (λ 1 (3 (λ λ 1)) (4 4 (λ 1 (λ λ λ 1 (λ 4 (λ λ 5 2 (5 2 (3 1 (2 1)))))) 4 (λ 1))))) (λ λ λ 1 (3 ((λ 1 1) (λ λ λ λ 1 (λ 5 5 (λ λ 3 5 6 (λ 1 (λ λ 6 1 2) 3)) (λ λ 5 (λ 1 4 3))) (3 1)) (λ λ 1 (λ λ 2) 2) (λ 1)) (λ λ 1)) 2)
Most of that code is for converting from Church numeral back to bitstring.
The only nontrivial programs I hand-coded in BLC are the self interpreter and an SK interpreter.
\io.let B0 = \x0\x1. x0; -- bit 0 B1 = \x0\x1. x1; -- bit 1 cons = \x\y\z.z x y; cons0 = \y\z.z B0 y; Y = \f. (\x. x x) (\x. f (x x)); -- Sieving numerals Sn = Ssucc^n S0 S0 = \cont\x\xs. cons0 (xs cont); Ssucc = \Sn\c\x\xs. cons x (xs (Sn c)); -- (x:xs) (Ssucc Sn cont) = Ssucc Sn cont x xs = x : xs (Sn cont) -- (list (Y Sn)) sets every (n+1)'th element of list to B0 --<PHONE_NUMBER>1111111111:T) (Y S0) =<PHONE_NUMBER>0000000000:T') --<PHONE_NUMBER>1111111111:T) (Y S1) =<PHONE_NUMBER>1010101010:T') --<PHONE_NUMBER>1111111111:T) (Y S2) =<PHONE_NUMBER>1011011011:T') sieve = \Sn. cons B1 (let Ssn = Ssucc Sn in (sieve Ssn) (Y Sn)) in cons0 (cons0 (sieve S0))
$ ./blc help Usage: blc action progfile [args]... run run given program applied to standard input bits and args run8 run given program applied to standard input bytes and args print show program nf show normal form hnf show head normal form nf_size show size of normal form comb_nf normal form through SK reduction comb show translation to combinatory logic bcw encode in BCW combinators bcl encode in binary combinatory logic diagram show ascii diagram Diagram show alternative ascii diagram boxchar show boxdrawing character diagram Boxchar show boxdrawing character alternative diagram pbm show diagram in portable bitmap format Pbm show alternative diagram in portable bitmap format tex show program as TeX html show program as html printlc show lambda calculus program with de Bruijn indices blc encode as binary lambda calculus bits Blc encode as Binary lambda calculus bytes size show size in bits help show this text
$ ../blc blc primes.lam<PHONE_NUMBER>0110010100011010000000010110000010010001010111110111101001000110100001110011010000000000101101110011100111111101111000000001111100110111000000101100000110110$Checking code size
$ ../blc size primes.lam 167Running the prime sieve
$ ../blc run primes.lam | head -c 64<PHONE_NUMBER>010100010100010000010100000100010100010000010000010100$
$ ../blc Boxchar primes.lam ───────────────────────────────────────────────── ┬─┬───────────────────────────────────┬──── ────┬ │ │ ┬─┬ ────┬─┬────────────────────── ┼───┬ ┬───┼ │ │ └─┤ ────┼─┼───────────────────┬── ┼───┼ │ ┬ │ │ │ │ ┬───┼─┼───────────────────┼── ┼─┬─┼ │ ┼ │ │ │ │ │ ─ ┼─┼─┬─────┬──── ──────┼─┬ │ ├─┘ └─┤ │ │ │ │ │ ┬ └─┤ │ ┬─┬ ┼─┬─┬ ──┬───┼─┼ ├─┘ ├─┘ │ │ │ └─┤ └─┤ └─┤ │ ├─┘ ──┼─┬─┼─┼ │ │ │ │ │ │ │ │ ├─┘ ┬─┼─┼─┼─┼ │ │ │ │ │ │ │ ├─┘ └─┤ │ ├─┘ │ │ │ │ │ │ └───┤ │ ├─┘ │ │ │ │ │ │ │ ├─┘ │ │ │ │ │ │ ├─────────┘ │ │ │ │ │ ├─────────┘ │ │ │ │ └───┤ │ │ │ │ ├───────────────────────────┘ │ │ ├───────┘ │ └─┤ │ └───────────────────────────────────────────┘produces nice diagrams
(λ 1 (λ λ 2) (λ 1 (λ λ 1)) (λ λ λ (λ 1 (3 2) (λ λ 3 1 (6 1 1 (4 ((λ 1 1) (λ λ λ λ λ 1 2 (λ 1 (λ λ 1) (λ λ λ 8 2) (λ λ 1) (4 (6 6) (λ 4 (λ 1 7 2)))))) 5) (λ λ 1) (λ λ λ λ 1) (λ λ 2) (λ λ 1)) (λ λ λ 1 (λ 1 6 4) 2))) (4 (λ 1) (λ 1) (λ 1) 1)) (λ 1)) (λ λ (λ 1 1) (λ λ λ λ 1 (λ (λ λ λ λ 3 (λ 6 (3 (λ 2 (3 (λ 14 (λ 3 (λ 1 2 3)))) (4 (λ 4 (λ 14 (3 1) (2 1)))))) (1 (2 (λ 1 2)) (λ λ 5 (λ 5 (λ 2 (1 5))) 7 6)) (λ 6 (λ 1 3 2)))) (λ 4 (λ 1 3 2))) (4 4) 3))
proves KP(x,y) ≤ KP(x)+KP(y|x*)+657, the easy side of the Theorem. Chaitin's version of the theorem has a constant of 2872, as the size of his LISP program
((’ (lambda (loop) ((’ (lambda (x*) ((’ (lambda (x) ((’ (lambda (y) (cons x (cons y nil)))) (eval (cons (’ (read-exp)) (cons (cons ’ (cons x* nil)) nil)))))) (car (cdr (try no-time-limit (’ (eval (read-exp))) x*)))))) (loop nil)))) (’ (lambda (p) (if(= success (car (try no-time-limit (’ (eval (read-exp))) p))) p (loop (append p (cons (read-bit) nil)))))))
using a resource bounded eval primitive "try".
Ωλ = ∑ { 2−|p| : U(p:T)=cons x T, x ∈ NF }
With some effort, we can determine the first 4 bits of this particular number of wisdom:
Ωλ = .0001...
where probability .0001 = 2−4 is already contributed by programs 00100 and 00101 for terms True and False.
If you see papers proclaiming to have computed many dozens of Omega bits, then their universal machine is very wasteful with bits. Or not even universal, such as in this paper, where each data bit is counted as contributing 7 or 8 bits to the program length!
BLC8 requires a more complicated universal machine:
U8 = λ 1 ((λ 1 1) (λ (λ λ λ 1 (λ λ λ 2 (λ λ λ (λ 7 (10 (λ 5 (2 (λ λ 3 (λ 1 2 3))) (11 (λ 3 (λ 3 1 (2 1))))) 3) (4 (1 (λ 1 5) 3) (10 (λ 2 (λ 2 (1 6))) 6))) 8) (λ 1 (λ 8 7 (λ 1 6 2)))) (λ 1 (4 3))) (1 1)) (λ λ 2 ((λ 1 1) (λ 1 1))))
The parser in U8 keeps track of both remaining bytes, and remaining bits in the current byte, discarding the latter when parsing is completed.
The size of U8, which is 355 bits as a BLC program, is 45 bytes in BLC8.
and won in the category of Most functional.
-- 1 1 1 * 2 1 * 2 * 3 1 * 2 * 3 * 4 -- pi/2 = - + - + ----- + --------- + ------------- + ... -- 1 3 3 * 5 3 * 5 * 7 3 * 5 * 7 * 9 -- sum first n terms < pi/2 < sum first n terms + n'th term -- a/c is 2^j times the sum of the first n terms minus the value of the j bits already output -- b/c is 2^j times the n-th term product [1..n] / product [1,3..2*n+1] halfpi = go 1 1 1 1 where go b a c = if a >= c then \n. 1 : go (2*b) (2*(a-c) ) c n else if a + b < c then \n. 0 : go (2*b) (2* a ) c n else \n -> let n21 = 2*n + 1 bn = b*n in go bn (a*n21+bn) (c*n21) (n+1)How to do addition, subtraction, multiplication, comparison in BLC concisely?
\io. let id = \x. x; bit0 = \x0\x1. x0; bit1 = \x0\x1. x1; cons = \a\b\p. p a b; C1 = id; Csucc = \n\f\x. f (n f x); Cadd = \a\b\f\x. a f (b f x); -- Tm x (Tn y) = if n < m then y (Tm-1-n x) else x (Tn-m y) T1 = \x\f. f x; Tadd = \tm\tn\x. tm (tn x); Tsub = \tm\tn\x. tm id (tn x); CTmul = \c\t. c t; go = \Tb\Ta\Tc. let prod = \bit\Ta'\Cn. cons bit (go (Tadd Tb Tb) (Tadd Ta' Ta') Tc Cn) in (Tc (\_. prod bit1 (Tsub Tc Ta))) -- case Ta >= Tc (Ta (\_. -- case Ta < Tc (Tc (\_\Cn. let -- case Ta+Tb >= Tc x2np1 = CTmul (Csucc (Cadd Cn Cn)); CnxTb = CTmul Cn Tb in go CnxTb (Tadd (x2np1 Ta) CnxTb) (x2np1 Tc) (Csucc Cn))) (Ta (Tb (\_. prod bit0 Ta))) -- case Ta+Tb < Tc )); in go T1 T1 T1 C1;
Enjoy your 401 bits of dessert!


Class to handle connections to remote web services. This class is used by ActiveResource::Base to interface with REST services.
| HTTP_FORMAT_HEADER_NAMES | = | { :get => 'Accept', :put => 'Content-Type', :post => 'Content-Type', :delete => 'Accept' |
| [RW] | format | |
| [R] | password | |
| [R] | site | |
| [R] | timeout | |
| [R] | user |
The site parameter is required and will set the site attribute to the URI for the remote resource service.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 84 84: def initialize(site, format = ActiveResource::Formats[:xml]) 85: raise ArgumentError, 'Missing site URI' unless site 86: @user = @password = nil 87: self.site = site 88: self.format = format 89: end
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 77 77: def requests 78: @@requests ||= [] 79: end
Execute a DELETE request (see HTTP protocol documentation if unfamiliar). Used to delete resources.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 121 121: def delete(path, headers = {}) 122: request(:delete, path, build_request_headers(headers, :delete)) 123: end
Execute a GET request. Used to get (find) resources.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 115 115: def get(path, headers = {}) 116: format.decode(request(:get, path, build_request_headers(headers, :get)).body) 117: end
Execute a HEAD request. Used to obtain meta-information about resources, such as whether they exist and their size (via response headers).
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 139 139: def head(path, headers = {}) 140: request(:head, path, build_request_headers(headers)) 141: end
Set password for remote service.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 104 104: def password=(password) 105: @password = password 106: end
Execute a POST request. Used to create new resources.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 133 133: def post(path, body = '', headers = {}) 134: request(:post, path, body.to_s, build_request_headers(headers, :post)) 135: end
Execute a PUT request (see HTTP protocol documentation if unfamiliar). Used to update resources.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 127 127: def put(path, body = '', headers = {}) 128: request(:put, path, body.to_s, build_request_headers(headers, :put)) 129: end
Set URI for remote service.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 92 92: def site=(site) 93: @site = site.is_a?(URI) ? site : URI.parse(site) 94: @user =<EMAIL_ADDRESS>if @site.user 95: @password =<EMAIL_ADDRESS>if @site.password 96: end
Set the number of seconds after which HTTP requests to the remote service should time out.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 109 109: def timeout=(timeout) 110: @timeout = timeout 111: end
Set user for remote service.
[ show source ]
# File vendor/rails/activeresource/lib/active_resource/connection.rb, line 99 99: def user=(user) 100: @user = user 101: end


Clane students raise funds for school at car wash day
Pop up cafe
by Henry BauressFifth and sixth class students hope to to finish updating all their interactive boards in place for Christmas with funds raised from a car wash event at the school in October.
The students at Hewetson primary school, had the idea of a car wash as a school fundraiser after the idea for the Junior Entrepreneur three years ago that went so well.
According to their report of the school activity, the kids of fifth and sixth class love getting the opportunity to be responsible and raise a bit of money for the school.
The children got to bake some homemade yummies for the pop up café.
In a report to the Leinster Leader about the event on Wednesday, October 16, the sixth class students said that some of them brought in hoovers for part of the job.
The classroom split into three different groups to rotate during the day.
Customers got more than a car wash.
The kids on the pop up café would take the money at the door and make a tea or coffee with a tray bake for the customers. Those washing the cars would wait for cars. “We used sponges, brushes and a hose to make the car squeaky clean,” they said.
Once the car was washed, the people operating on the hoovering end of the operation would hoover out the car and, not forgetting something quite important, put the rubbish in the bin.
When the person’s car was finished the driver would drive away with a nice clean car and a tea/coffee to go with it, said our Hewetson correspondent.
With the funds raised, the students hope to finish updating all their interactive boards in place for Christmas.


Need Support →
Insurance Agency HTML Landing Page Template
HTML Demo ↓
Stunning Homepages Design
Home Style 01
Home Style 01
Home Style 01
Thank You for Purchasing The Pora Template


--- layout: post title: Virtual pet craze moves to mobile date: 2006-09-27 00:00:00 categories: digital-media interfaces-&-interaction mobile play social ---
Virtual pet craze moves to mobile: "It's easy to mock such pointless silliness, but Nintendogs has sold over 2.5m copies in Europe, so there is money in creating responsibility-driven cuteness, and in many ways looking after a virtual dog has got to be better than slaying hordes of laser-toting aliens."


This page contains options that don't really fit in any other category.
Most useful is the table in the second section that allows you to set
the nice level (process priority) for FTP sessions by class. A negative
nice level gives the session a higher CPU priority, while a positive
nice level gives a lower priority. On most operating systems, the allowable
nice levels range from -20 to 20.
The bottom table sets the file permissions mask for new files and directories
by class. For example, a umask of 0700 would give newly uploaded
files permissions of 077 (---rw-rw-).