1. (50 min) What's new in ClickHouse 22.11.
2. (10 min) Q&A.
ClickHouse November release.
— 15 new features
— 5 performance optimizations
— 32 bug fixes 🔥
Examples:
SELECT now() + INTERVAL 1 MONTH;
SELECT now() + INTERVAL '1 MONTH';
SELECT now() + INTERVAL 1 MONTH - INTERVAL 2 DAY;
SELECT now() + INTERVAL '1 MONTH -2 DAY';
SELECT now() + (INTERVAL 1 MONTH - INTERVAL 2 DAY);
SELECT INTERVAL '1 MONTH -2 DAY';
SELECT (INTERVAL 1 MONTH - INTERVAL 2 DAY);
SELECT INTERVAL '1 MONTH 1 MONTH';
Developer: Nikolai Degterinsky.
Recursive directory traversal:
SELECT * FROM
s3('https://mybucket.s3.amazonaws.com/**/*.tsv')
Now we support: *, **, ?, {abc,def}, {1..10}, {01..10}.
Demo
Developer: Smita Kulkarni.
— pmod (positiveModulo);
— ascii;
— randCanonical;
SELECT modulo(-3, 10), -3 % 10;
-3, -3
SELECT pmod(-3, 10), positiveModulo(-3, 10);
7, 7
Developer: TaiYang Li.
SELECT filesystemCapacity() AS size,
formatReadableSize(size) AS bin,
formatReadableDecimalSize(size) AS dec
size:<PHONE_NUMBER>056
bin: 1.79 TiB
dec: 1.97 TB
Developer: Alejandro.
milovidov-desktop :) SELECT displayName()
┌─displayName()─────┐
│ milovidov-desktop │
└───────────────────┘
Developer: HongBin.
Session expired. Table is in readonly mode 😠
Never again:
SET insert_keeper_max_retries = 10;
INSERT will survive restarts of ClickHouse Keeper or ZooKeeper
and reconnections.
Developer: Igor Nikonov.
And reconnections performed as quickly as possible, thanks to Raul Marin, see 22.10.
ClickHouse can work as a server (clickhouse-server)
or as a tool without installation (clickhouse-local).
ClickHouse can store the data
or process externally stored data on the fly.
External data:
— remote databases: MySQL, PostgreSQL, MongoDB, ODBC, JDBC...
— object storages: S3, HDFS, Azure, COSN, OSS...
— from URL and local files;
All possible data formats:
— text: CSV, TSV, JSON, Values, MySQLDump, Regexp...
— binary: Parquet, Arrow, ORC, Avro, Protobuf, MsgPack...
— schemaful and schemaless;
SELECT count() AS c FROM s3(
'https://clickhouse-public-datasets.s3.amazonaws.com/hits/native/*.native.zst')
WHERE URL LIKE '%google%';
-- 5.924 sec.
SELECT count() AS c FROM s3Cluster('default',
'https://clickhouse-public-datasets.s3.amazonaws.com/hits/native/*.native.zst')
WHERE URL LIKE '%google%';
-- 2.560 sec.
SELECT count() AS c FROM s3(
'https://clickhouse-public-datasets.s3.amazonaws.com/hits_compatible/athena_partitioned/hits_*.parquet')
WHERE URL LIKE '%google%';
-- 5.887 sec.
SELECT count() AS c FROM s3Cluster('default',
'https://clickhouse-public-datasets.s3.amazonaws.com/hits_compatible/athena_partitioned/hits_*.parquet')
WHERE URL LIKE '%google%'
-- 2.935 sec.
SELECT count() AS c FROM hits WHERE URL LIKE '%google%';
-- 0.913 sec.
Now ClickHouse supports Apache Hudi and Delta Lake
for SELECT queries.
TODO: Apache Iceberg.
Advantages:
— these formats are somewhat resembling MergeTree
allowing incremental data insertion,
approaching to ClickHouse data formats;
Disadvantages:
— alien data formats from Apache/Hadoop/Java world;
— nothing works out of the box
unless you really know how to deal with it;
How to prepare data for Delta Lake?
wget https://dlcdn.apache.org/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz
mkdir -p ~/hadoop/spark-3.3.1/
tar -xzf spark-3.3.1-bin-hadoop3.tgz -C ~/hadoop/spark-3.3.1/ --strip 1
export SPARK_HOME=~/hadoop/spark-3.3.1
echo "spark.driver.host localhost" > $SPARK_HOME/conf/spark-defaults.conf
cd $SPARK_HOME
bin/spark-shell \
--packages io.delta:delta-core_2.12:2.1.1,org.apache.hadoop:hadoop-aws:3.3.1
spark.read.load("/var/lib/clickhouse/user_files/hits.parquet").write.format("delta")
.mode("overwrite").save("file:///home/ubuntu/spark_result_hits")
22/11/17 00:25:07 ERROR SparkUncaughtExceptionHandler: [Container in shutdown]
Uncaught exception in thread Thread[Executor task launch worker for task 32.0 in stage 2.0 (TID 34),5,main]
java.lang.OutOfMemoryError: Java heap space
22/11/17 00:25:07 ERROR Utils: Aborting task
Hint: specify --driver-memory 100g for spark-shell.
Now ClickHouse supports Apache Hudi and Delta Lake
for SELECT queries.
SELECT count() FROM deltaLake(
'https://clickhouse-public-datasets.s3.amazonaws.com/delta_lake/hits/')
WHERE URL LIKE '%google%'
-- 4.396 sec.
Developers: Daniil Rubin, Ksenia Sumarokova, Flynn ucasfl.
Attach tables directly from s3. No local state.
A new disk type — s3_plain.
$ cat /etc/clickhouse-server/config.d/s3_plain.yaml
storage_configuration:
disks:
s3_plain:
type: s3_plain
endpoint: 'http://clickhouse-public-datasets.s3.amazonaws.com/s3_plain/'
policies:
s3_plain:
volumes:
main:
disk: s3_plain
Developers: Azat Khuzhin.

Now: Elapsed: 0.019 sec. Processed 303.10 thousand rows, 8.07 MB
(15.70 million rows/s., 418.05 MB/s.)
Developer: Clark CaoLiu.
Allow subset of table functions in readonly mode:
:) SELECT name FROM system.table_functions
WHERE allow_readonly ORDER BY name
┌─name───────────────┐
│ cluster │
│ clusterAllReplicas │
│ generateRandom │
│ null │
│ numbers │
│ numbers_mt │
│ values │
│ view │
│ viewIfPermitted │
└────────────────────┘
Developer: Smita Kulkarni.
Query parameters for INSERT VALUES:
INSERT INTO test VALUES (123, {name:String})
Developer: Nikolai Degterinsky.
Documentation for system.asynchronous_metrics:
SELECT * FROM system.asynchronous_metrics WHERE metric = 'Jitter'
metric: Jitter
value: 0.000084
description: The difference in time the thread for calculation of the asynchronous metrics was scheduled to wake up and the time it was in fact, woken up. A proxy-indicator of overall system latency and responsiveness.
Developer: Alexey Milovidov.
dbt-clickhouse: supports for DBT v1.3;
Python client:
— python v3.11 support;
— improved insert performance;
— better Pandas dataframe compatibility
and performance for date, time, null types;
— extended Numpy with big int support;
clickhouse-go: fix DateTime and Int64 support;
clickhouse-js: supports mutual SSL authentication;
clickhouse-kafka-connect: support for Array and Map types;
— available since Oct 4th;
— free 14-day trial up to 10 TB of data;
Try it! https://clickhouse.cloud/.


SSE Airtricity League Premier Division
Perth labels Dundalk FC transfer speculation 'nonsense'
SSE Airtricity League Premier Division
by Caoimhín ReillyVinny Perth has rejected claims that three of his main men are set to depart Dundalk FC.
Captain Brian Gartland, Robbie Benson and Jamie McGrath have each been linked with ending their long-term ties with the Oriel Park club.
St. Patrick’s Athletic, under the tutelage of Dundalk legend Stephen O’Donnell, are understood to be in contention to sign both Gartland and Benson, while McGrath’s future is up in the air.
The latter has confirmed that talks will take place over a new deal, but that he is “50/50” on whether he will remain with The Lilywhites.
Uncertainty over the trio comes amid news of Dundalk’s first close-season signing, midfielder Greg Sloggett’s expected transfer having been announced on Friday afternoon.
Perth said: “We have got a couple of players out of contract. First of all, the world’s gone crazy. The story about Brian Gartland is just people guessing. Robbie and Jamie are both out of contract and these things take time; both could be at the club or both could be gone.
“The difference with Dundalk now is we’re actually very well prepared if both decide the time is up. If both decide to stay, we’re ready. But Brian Gartland being linked away from the club is just nonsense.”


Trace the Spiral, then click done to download CSV
Spiral Analysis will not work with this browser.
Done


Convenient
Find a bike in many of our convenient locations all over the city. These locations are navigated easily using our app.
Cities like Bombay, Delhi, Bangalore have a lot of congestion and generally alot of pollution. With EcoBike we plan to reduce the congestion by revolutionizing the premium mode of transport to electronic bikes, which would be ecofriendly.
Bring in electric powered bikes in several convenient locations in these cities. These bikes would simply be accessed by an app on your mobile device and can be returned. Pricing will be conducted on an hourly or daily basis for now.
We would be providing several services to make the process of hiring and returning bikes more easy, to find out more click the button bellow.


Though you can have access to many of the internals of the aut-table
plugin through data binding, there are some
instances when it is not enough. For those instances we are exposing an Api that will give you access to extra functionality.
To get a hold of the api you need to bind the api
property, the aut-table
will set its api into it.
Right now the api contains:
revealItem(item):boolean
: When pagination is enabled, this function will allow you to reveal the page where the
provided item
is.true
indicates the item was
revealed correctly and false
indicates one of three things:
| Name | Age | Active | |
|---|---|---|---|
| ${user.name} | ${user.age} | ${user.email} | ${user.isActive} |
<template>

Name
Age
E-mail
Active

${open}user.name}
${open}user.age}
${open}user.email}
${open}user.isActive}

<aut-pagination current-page.bind="currentPage" page-size.bind="pageSize" total-items.bind="totalItems"></aut-pagination>

<button class="btn btn-default" click.delegate="selectLast()">Select Last</button>

</template>
import {HttpClient} from "aurelia-fetch-client";
export class Example {
users = [];
pageSize = 10;
bind(){
let client = new HttpClient();
return client.fetch('data.json')
.then(response => response.json())
.then(users => this.users = users);
}
selectLast(){
let last = this.users[this.users.length - 1];
last.$isSelected = true;
this.tableApi.revealItem(last);
}
}


This is
some long text that will not fit in the box
This is
some
long text that will not fit in the box
some long text that will not fit in the box
This is
long text that will not fit in the box
some
This is


We are passionate about beauty, glamour, makeup and everything in between.
You could be having your big day just around the corner, Mawia offers makeup tryouts.
Our team keeps updated on the latest trends and techniques in the makeup industry.
We've got 3+ years doing makeup.
The feedback so far has been amazing to say the least.
Need help? Mawia's gotchu. ;)
What We Have Previously Done
Global Grand Event on Digital Design
Portrait
Facial
Makeup for Dates & Weddings
Photoshoot Makeup
Questions and Advice
Would you like to say something, comment or complaint? Feel free to do so below.
Designed by Simplatech Consulting ©


Public inquest to be held into mysterious death of Fraser Valley man
2011 death of Corey Scherbey ruled an overdose by the RCMP while parents insist he was murdered
by Paul HendersonFor more than eight years, Gladys and Ed Scherbey have agonized over the unusual circumstances surrounding the death of their son Corey.
The 38-year-old was found on August 22, 2011 in his Chilliwack house on his knees, face down on the cushion of his couch, surrounded by blood.
Now, maybe the Scherbeys will get some answers as a long-demanded public inquest has been scheduled by the BC Coroners Service for spring 2020.
The official finding at the time was that Scherbey died of “acute combined cocaine and ethanol intoxication.”
The Scherbeys insist that their son’s death was a homicide.
“I think it’s murder and that’s it,” Ed said back in 2013, something he has maintained steadfastly.
• READ MORE: OPINION: Homicide or overdose? The curious case of Corey Scherbey continues
• READ MORE: Cryptic note may hold clue to Scherbey death
Despite there being no findings by RCMP investigators of trauma, a struggle, or forced entry, many odd details caused uncertainty about the case, and the ongoing angst for Ed and Gladys.
In late 2018, RCMP Commissioner Brenda Lucki reviewed the case and determined the investigation was not “reasonably through.” One BC Supreme Court Justice called for a review, and another suggested the Minister of Public Safety should consider an inquest.
Earlier this year, Mike Farnworth, Minister of Public Safety and Solicitor General directed that it is “necessary or desirable in the public interest that an inquest be held.” On Nov. 18, the BC Coroners Services announced the inquiry to begin on April 14, 2020, at 9:30 a.m., at the Burnaby Coroners’ Court.
• READ MORE: Minister of Public Safety calls for coroner’s inquest into mysterious death of Chilliwack man
Presiding coroner Margaret Janzen and a jury will hear evidence from witnesses under oath to determine the facts surrounding this death. The jury will have the opportunity to make recommendations aimed at preventing deaths under similar circumstances. A jury must not make any finding of legal responsibility or express any conclusion of law.
“An inquest is a formal process that allows for public presentation of evidence relating to a death. The jury will certify the identity of the deceased and how, where, when and by what means death occurred,” according to the BC Coroners service, which added that the agency looks to gather the facts surrounding why a death took place.
“It is not a fault-finding agency. It provides an independent service to the family, community, government agencies and other organizations.”


--- ---
|
TGUI
0.8-dev
|
Public Member Functions | |
| Texture () | |
| Default constructor. | |
| Texture (const char *id, const sf::IntRect &partRect=sf::IntRect(0, 0, 0, 0), const sf::IntRect &middlePart=sf::IntRect(0, 0, 0, 0), bool smooth=false) | |
| Constructor that created the texture. More... | |
| Texture (const std::string &id, const sf::IntRect &partRect=sf::IntRect(0, 0, 0, 0), const sf::IntRect &middlePart=sf::IntRect(0, 0, 0, 0), bool smooth=false) | |
| Constructor that created the texture. More... | |
| Texture (const sf::String &id, const sf::IntRect &partRect=sf::IntRect(0, 0, 0, 0), const sf::IntRect &middlePart=sf::IntRect(0, 0, 0, 0), bool smooth=false) | |
| Constructor that created the texture. More... | |
| Texture (const sf::Texture &texture, const sf::IntRect &partRect=sf::IntRect(0, 0, 0, 0), const sf::IntRect &middlePart=sf::IntRect(0, 0, 0, 0)) | |
| Constructor that created the texture from an existing sf::Texture. More... | |
| Texture (const Texture &) | |
| Copy constructor. | |
| Texture (Texture &&) | |
| Move constructor. | |
| ~Texture () | |
| Destructor. | |
| Texture & | operator= (const Texture &) |
| Overload of copy assignment operator. | |
| Texture & | operator= (Texture &&) |
| Move assignment. | |
| void | load (const sf::String &id, const sf::IntRect &partRect={}, const sf::IntRect &middleRect={}, bool smooth=false) |
| Creates the texture. More... | |
| void | load (const sf::Texture &texture, const sf::IntRect &partRect={}, const sf::IntRect &middleRect={}) |
| Creates the texture from an existing sf::Texture. More... | |
| const sf::String & | getId () const |
| Returns the id that was used to load the texture (for the default loader, the id is the filename) More... | |
| std::shared_ptr< TextureData > | getData () const |
| Returns the texture data. More... | |
| Vector2f | getImageSize () const |
| Returns the size that the loaded image. More... | |
| void | setSmooth (bool smooth) |
| Enables or disable the smooth filter. More... | |
| bool | isSmooth () const |
| Tells whether the smooth filter is enabled or not. More... | |
| void | setColor (const Color &color) |
| Sets the global color of the texture. More... | |
| const Color & | getColor () const |
| Returns the global color of the texture. More... | |
| void | setShader (sf::Shader *shader) |
| Sets the shader used to draw the texture. More... | |
| sf::Shader * | getShader () const |
| Returns the shader used to draw the texture. More... | |
| sf::IntRect | getMiddleRect () const |
| Returns the middle rect of the texture which is used for 9-slice scaling. More... | |
| bool | isTransparentPixel (sf::Vector2u pos) const |
| Checks if a certain pixel is transparent. More... | |
| void | setCopyCallback (const CallbackFunc &func) |
| Sets a callback function for when this texture is copied. More... | |
| void | setDestructCallback (const CallbackFunc &func) |
| Sets a callback function for when this texture is destroyed. More... | |
| bool | operator== (const Texture &right) const |
| Compares the texture with another one. | |
| bool | operator!= (const Texture &right) const |
| Compares the texture with another one. | |
Static Public Member Functions | |
| static void | setImageLoader (const ImageLoaderFunc &func) |
| Sets a different image loader. More... | |
| static const ImageLoaderFunc & | getImageLoader () |
| Returns the used image loader. More... | |
| static void | setTextureLoader (const TextureLoaderFunc &func) |
| Sets a different texture loader. More... | |
| static const TextureLoaderFunc & | getTextureLoader () |
| Returns the used texture loader. More... | |
|
inline |
Constructor that created the texture.
| id | Id for the the image to load (for the default loader, the id is the filename) |
| partRect | Load only part of the image. Pass an empty rectangle if you want to load the full image |
| middlePart | Choose the middle part of the image for 9-slice scaling (relative to the part defined by partRect) |
| smooth | Enable smoothing on the texture |
|
inline |
Constructor that created the texture.
| id | Id for the the image to load (for the default loader, the id is the filename) |
| partRect | Load only part of the image. Pass an empty rectangle if you want to load the full image |
| middlePart | Choose the middle part of the image for 9-slice scaling (relative to the part defined by partRect) |
| smooth | Enable smoothing on the texture |
This constructor just calls the corresponding load function.
| tgui::Texture::Texture | ( | const sf::String & | id, |
| const sf::IntRect & | partRect = sf::IntRect(0, 0, 0, 0) , |
||
| const sf::IntRect & | middlePart = sf::IntRect(0, 0, 0, 0) , |
||
| bool | smooth = false |
||
| ) |
Constructor that created the texture.
| id | Id for the the image to load (for the default loader, the id is the filename) |
| partRect | Load only part of the image. Pass an empty rectangle if you want to load the full image |
| middlePart | Choose the middle part of the image for 9-slice scaling (relative to the part defined by partRect) |
| smooth | Enable smoothing on the texture |
This constructor just calls the corresponding load function.
| tgui::Texture::Texture | ( | const sf::Texture & | texture, |
| const sf::IntRect & | partRect = sf::IntRect(0, 0, 0, 0) , |
||
| const sf::IntRect & | middlePart = sf::IntRect(0, 0, 0, 0) |
||
| ) |
Constructor that created the texture from an existing sf::Texture.
| texture | Existing texture to copy |
| partRect | Load only part of the image. Pass an empty rectangle if you want to load the full image |
| middlePart | Choose the middle part of the image for 9-slice scaling (relative to the part defined by partRect) |
The texture will be copied, you do not have to keep the sf::Texture alive after calling this function.
This constructor just calls the corresponding load function.
| const Color& tgui::Texture::getColor | ( | ) | const |
Returns the global color of the texture.
This color is modulated (multiplied) with the pixel color. It can be used to colorize the texture, or change its global opacity. Note that the alpha component is multiplied with the opacity of the widget.
By default, the texture's color is opaque white.
| std::shared_ptr<TextureData> tgui::Texture::getData | ( | ) | const |
Returns the texture data.
| const sf::String& tgui::Texture::getId | ( | ) | const |
Returns the id that was used to load the texture (for the default loader, the id is the filename)
|
static |
Returns the used image loader.
| Vector2f tgui::Texture::getImageSize | ( | ) | const |
Returns the size that the loaded image.
| sf::IntRect tgui::Texture::getMiddleRect | ( | ) | const |
Returns the middle rect of the texture which is used for 9-slice scaling.
| sf::Shader* tgui::Texture::getShader | ( | ) | const |
Returns the shader used to draw the texture.
|
static |
Returns the used texture loader.
| bool tgui::Texture::isSmooth | ( | ) | const |
Tells whether the smooth filter is enabled or not.
| bool tgui::Texture::isTransparentPixel | ( | sf::Vector2u | pos | ) | const |
Checks if a certain pixel is transparent.
| pos | Coordinate of the pixel |
| void tgui::Texture::load | ( | const sf::String & | id, |
| const sf::IntRect & | partRect = {} , |
||
| const sf::IntRect & | middleRect = {} , |
||
| bool | smooth = false |
||
| ) |
Creates the texture.
| id | Id for the the image to load (for the default loader, the id is the filename) |
| partRect | Load only part of the image. Don't pass this parameter if you want to load the full image |
| middleRect | Choose the middle part of the image for 9-slice scaling (relative to the part defined by partRect) |
| smooth | Enable smoothing on the texture |
| void tgui::Texture::load | ( | const sf::Texture & | texture, |
| const sf::IntRect & | partRect = {} , |
||
| const sf::IntRect & | middleRect = {} |
||
| ) |
Creates the texture from an existing sf::Texture.
| texture | Existing texture to copy |
| partRect | Load only part of the texture. Don't pass this parameter if you want to load the full image |
| middleRect | Choose the middle part of the image for 9-slice scaling (relative to the part defined by partRect) |
The texture will be copied, you do not have to keep the sf::Texture alive after calling this function.
| void tgui::Texture::setColor | ( | const Color & | color | ) |
Sets the global color of the texture.
This color is modulated (multiplied) with the pixel color. It can be used to colorize the texture, or change its global opacity. Note that the alpha component is multiplied with the opacity of the widget.
By default, the texture's color is opaque white.
| color | New color of the texture |
| void tgui::Texture::setCopyCallback | ( | const CallbackFunc & | func | ) |
Sets a callback function for when this texture is copied.
| func | Function that will be called when this texture is copied |
This function can be useful when implementing a resource manager.
| void tgui::Texture::setDestructCallback | ( | const CallbackFunc & | func | ) |
Sets a callback function for when this texture is destroyed.
| func | Function that will be called when this texture is destroyed |
This function can be useful when implementing a resource manager.
|
static |
Sets a different image loader.
| func | New image loader function |
The image loader will be called inside the texture loader to create the sf::Image.
The default loader will simply load the image from a file.
| void tgui::Texture::setShader | ( | sf::Shader * | shader | ) |
Sets the shader used to draw the texture.
| shader | New shader to use |
| void tgui::Texture::setSmooth | ( | bool | smooth | ) |
Enables or disable the smooth filter.
When the filter is activated, the texture appears smoother so that pixels are less noticeable. However if you want the texture to look exactly the same as its source file, you should leave it disabled. The smooth filter is disabled by default.
| smooth | True to enable smoothing, false to disable it |
|
static |
Sets a different texture loader.
| func | New texture loader function |
The texture loader will initialize this Texture object.
The default loader will use an internal texture manager to prevent the same thing from being loaded twice.


|
Perl Weekly
Issue #179 - 2014-12-29 - Getting ready for New Year's resolution
latest | archive | by Gabor Szabo
|
|
Hi,
It is really strange. Now that both Yanick Champoux and Neil Bowers edit the Perl Weekly my appearances here got quite rare. I guess for the better. So let's thank them for this great year! Please, flood their inboxes with good wishes!
I am really looking for the start of the next year. I have a lot of plans with my web sites and with my open source applications. Actually I could not wait and have already started to publish on the Perl 6 Maven site. (See below.)
Now I don't know what about you, but if you are looking for something that will put you in some kind of a rhythm, you could join the CPAN Challenge Neil announced. It is both a great way to contribute back to the open source code pool of Perl and a great way to improve yourself. (see below).
See you on the other side of New Year's Eve!
|
|
|
Articles
|
|
|
Testing
|
|
|
Web
|
|
|
|
|
You have nothing to lose but your chains!
by Joel Berger (JBERGER)
Joel explains that there are two different method chaining styles. In one case methods return the objects they acted upon allowing the user to call another method of the same class. The other one is when a method returns an object of some different type so that you can chain a method of that object after the first call. I don't see a huge difference, but he gives an example for the latter in the Mojolicious world.
|
|
|
CPAN
|
|
|
Speaker for the dead
by Aristotle Pagaltzis (ARISTOTLE)
In contrast to the Challenge above, Aristotle shows how he wrapped up and deleted a CPAN module that is probably not going to be useful for anyone anymore. But maybe...
|
|
The camel replicates!
by Gianluca Casati (FIBO)
What do you do if the server you need to install CPAN modules to does not have Internet access? You create a Mini-CPAN on another machine and then somehow transfer it to the server without Internet access.
|
|
|
Fun
|
Newwwwwww QuadCopter!
by Timm Murray (TMURRAY)
No Perl code here, but now that the Wumpus Cave received a new QuadCopter, I am expecting lots of new Perl code and articles flying above our heads.
|
|
|
Grants
|
|
|
Perl 6
|
Rakudo Star Release 2014.12
by Moritz Lenz (MORITZ)
New release of Rakudo Start - the package that contains the most recent version of the Perl 6 compiler, documentation and some extra modules. And then a quick update with 2014.12.1
|
|
|
Installing Rakudo Perl 6
by Gabor Szabo (SZABGAB)
After another long break, I have updated the code behind the Perl 6 Maven site and started to update the tutorial as well. This is the first page showing how to install the newly release Rakudo Star on OSX and Linux.
|
|
|
Other
|
|
|
Advent Calendars
|
|
|
|
|
|
|
|
|
|
|
Weekly collections
|
|
|
Perl Maven Tutorials
|
How to grep a file using Perl
by Gabor Szabo (SZABGAB)
Writing a Perl replacement of the Unix grep command does not have much value, unless you do something much better, or if you want to reimplement the Unix commands in Perl. Nevertheless it can be a good exercise, and it can be a learning or teaching aid.
|
|
|
Events
|
|
|
You know, you could get the Perl Weekly right in your mailbox. Every Week. Free of charge!
|


Token Swap
Below, you can initiate the process of swapping your LOCK for UNT tokens. This swap supports the rebranding of Meridian Network to Unity Network, which you can read about here: Detailed Medium Announcement.
Instructions
- Log into the Metamask account in which your LOCK is stored
- Select "Connect" below and follow the directions within the Metamask pop-up window to connect your wallet to our swap portal.
- Once connected, please select "Transfer" below and follow the directions within Metamask to finalize your token swap. Your LOCK will be transferred to the swap address and you will later receive an equivalent amount of UNT tokens.
On MM/DD/YEAR, you will receive a number of UNT tokens equal to the number of LOCK tokens you've transferred today. UNT tokens will be delivered to the ERC20 wallet address from which your LOCK originated.
If you have sent your LOCK to the swap address you can confirm the amount of UNT you’ll be receiving by inserting your address in the box below.


Tutorials
Quick Start
Build
cd $GOPATH/src
mkdir -p github.com/Terry-Mao/
cd github.com/Terry-Mao/
git clone https://github.com/Terry-Mao/goim.git
cd goim
make build
Run
make run
make stop
// Or use
target/logic -conf=target/logic.toml -region=sh -zone=sh001 -deploy.env=dev -weight=10
target/comet -conf=target/comet.toml -region=sh -zone=sh001 -deploy.env=dev -weight=10 addrs=<IP_ADDRESS>
target/job -conf=target/job.toml -region=sh -zone=sh001 -deploy.env=dev
// View the running process
// If no process is running, please check the logs for debugging.
ps -ef|grep target
Configuration
You can view the comments in target/comet.toml,logic.toml,job.toml to understand the meaning of the config.
Environment
env:
export REGION=sh
export ZONE=sh001
export DEPLOY_ENV=dev
supervisor:
environment=REGION=sh,ZONE=sh001,DEPLOY_ENV=dev
go flag:
-region=sh -zone=sh001 deploy.env=dev
-region=sh (Configure to comet,logic,job)
avaliable region. or use REGION env variable, value: sh etc.
-zone=sh001 (Configure to comet,logic,job)
avaliable zone. or use ZONE env variable, value: sh001/sh002 etc.
-deploy.env (Configure to comet,logic,job)
deploy env. or use DEPLOY_ENV env variable, value: dev/fat1/uat/pre/prod etc.
-weight (Configure to comet,logic)
load balancing weight, or use WEIGHT env variable, value: 10 etc.
-addrs (Configure to comet)
public network IP address, or use ADDRS env variable, value: <IP_ADDRESS> etc.
Log (github.com/golang/glog)
-logtostderr=false
Logs are written to standard error instead of to files.
-alsologtostderr=false
Logs are written to standard error as well as to files.
-stderrthreshold=ERROR
Log events at or above this severity are logged to standard
error as well as to files.
-log_dir=""
Log files will be written to this directory instead of the
default temporary directory.
Dependencies
Please follow the official quick start.
Deployments
Install comet/logic/job modules and use Supervisor management (You might need to change the configuration files based on your servers).
download goim
mkdir -p /data/app/goim/
cp -f target/* /data/app/goim/
install supervisor
apt-get install supervisor
mkdir -p /etc/supervisor/conf.d
cd /etc/supervisor/conf.d
# add supervisor config(comet.conf,logic.conf,job.conf)
supervisorctl update
comet.conf
[program:comet]
name = comet
command= /data/app/goim/comet -conf /data/app/goim/comet.toml
autostart = true
autorestart = true
priority = 2
startsecs = 1
startretries = 3
exitcodes = 0,2
stopsignal = QUIT
stopwaitsecs = 10
user = root
stdout_logfile = /data/log/goim/comet_stdout.log
stdout_logfile_backups = 10
stderr_logfile = /data/log/goim/comet_stderr.log
stderr_logfile_backups = 10
logic.conf
[program:logic]
name = logic
command= /data/app/goim/logic -conf /data/app/goim/logic.toml
autostart = true
autorestart = true
priority = 1
startsecs = 1
startretries = 3
exitcodes = 0,2
stopsignal = QUIT
stopwaitsecs = 10
user = root
stdout_logfile = /data/log/goim/logic_stdout.log
stdout_logfile_backups = 10
stderr_logfile = /data/log/goim/logic_stderr.log
stderr_logfile_backups = 10
job.conf
[program:job]
name = job
command= /data/app/goim/job -conf /data/app/goim/job.toml
autostart = true
autorestart = true
priority = 2
startsecs = 1
startretries = 3
exitcodes = 0,2
stopsignal = QUIT
stopwaitsecs = 10
user = root
stdout_logfile = /data/log/goim/job_stdout.log
stdout_logfile_backups = 10
stderr_logfile = /data/log/goim/job_stderr.log
stderr_logfile_backups = 10
Documents
Examples
- Online Example: Online Example
- Websocket: Websocket Client
- Android: Android Client
- iOS: iOS Client


About
Projects
Contact
Hello, I am Tim.
I develop webpages for individuals and small businesses.
My GitHub Profile
My pens on CodePen
My Personal Homepage
Customer Survey Form Example
Tribute Page Example
Technical Documentation Example
Find me on FaceBook


Iptables-1.4.21
Introduction to Iptables
The next part of this chapter deals with firewalls. The principal
firewall tool for Linux is Iptables. You will need to install
Iptables if you intend on using
any form of a firewall.
This package is known to build and work properly using an LFS-7.8
platform.
Package Information
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/iptables
Kernel
Configuration
A firewall in Linux is accomplished through a portion of the kernel
called netfilter. The interface to netfilter is Iptables. To use it, the appropriate kernel
configuration parameters are found in:
[*] Networking support ---> [CONFIG_NET]
Networking Options --->
[*] Network packet filtering framework (Netfilter) ---> [CONFIG_NETFILTER]
Installation of Iptables
Note
The installation below does not include building some specialized
extension libraries which require the raw headers in the
Linux source code. If you wish
to build the additional extensions (if you aren't sure, then you
probably don't), you can look at the INSTALL
file to see an example of how to change
the KERNEL_DIR=
parameter
to point at the Linux source
code. Note that if you upgrade the kernel version, you may also
need to recompile Iptables and
that the BLFS team has not tested using the raw kernel headers.
For some non-x86 architectures, the raw kernel headers may be
required. In that case, modify the KERNEL_DIR=
parameter to point at
the Linux source code.
Install Iptables by running the
following commands:
./configure --prefix=/usr \
--sbindir=/sbin \
--enable-libipq \
--with-xtlibdir=/lib/xtables &&
make
This package does not come with a test suite.
Now, as the root
user:
make install &&
ln -sfv ../../sbin/xtables-multi /usr/bin/iptables-xml &&
for file in ip4tc ip6tc ipq iptc xtables
do
mv -v /usr/lib/lib${file}.so.* /lib &&
ln -sfv ../../lib/$(readlink /usr/lib/lib${file}.so) /usr/lib/lib${file}.so
done
Command Explanations
--with-xtlibdir=/lib/xtables
: Ensure
all Iptables modules are installed
in the /lib/xtables
directory.
--enable-libipq
: This switch enables
building of libipq.so
which can be
used by some packages outside of BLFS.
--enable-nfsynproxy
: This switch
enables installation of nfsynproxy
SYNPROXY configuration tool.
ln -sfv ../../sbin/xtables-multi
/usr/bin/iptables-xml: Ensure the symbolic link for
iptables-xml is
relative.
Configuring Iptables
Introductory instructions for configuring your firewall are
presented in the next section: Firewalling
Boot Script
To set up the iptables firewall at boot, install the /etc/rc.d/init.d/iptables
init script included
in the blfs-bootscripts-20150924 package.
make install-iptables
Contents
Installed Programs:
ip6tables, ip6tables-restore,
ip6tables-save, iptables, iptables-restore, iptables-save,
iptables-xml, nfsynproxy (optional) and xtables-multi
Installed Libraries:
libip4tc.so, libip6tc.so, libipq.so,
libiptc.so, and libxtables.so
Installed Directories:
/lib/xtables and
/usr/include/libiptc
Short Descriptions
|
iptables
|
is used to set up, maintain, and inspect the tables of IP
packet filter rules in the Linux kernel.
|
|
iptables-restore
|
is used to restore IP Tables from data specified on
STDIN. Use I/O redirection provided by your shell to read
from a file.
|
|
iptables-save
|
is used to dump the contents of an IP Table in easily
parseable format to STDOUT. Use I/O-redirection provided
by your shell to write to a file.
|
|
iptables-xml
|
is used to convert the output of iptables-save to an XML
format. Using the iptables.xslt stylesheet converts the
XML back to the format of iptables-restore.
|
|
ip6tables*
|
are a set of commands for IPV6 that parallel the iptables
commands above.
|
|
nfsynproxy
|
(optional) configuration tool. SYNPROXY target makes
handling of large SYN floods possible without the large
performance penalties imposed by the connection tracking
in such cases.
|
|
xtables-multi
|
is a binary that behaves according to the name it is
called by.
|
Last updated on 2015-09-09 21:58:46 -0700


PsExec needs Admin privs to launch the service
Registry:
FilterAdministratorToken (when enabled)
LocalAccountTokenFilterPolicy (when not exist or not set to 1)
Can cause issues by forcing UAC control on the RID 500 account


Zvia Bird
Democrat
Creative Producer, Self Employed, ZBird Creative LLC since 2007 however have done other part time work including US Census 2010 for El Paso and Teller Counties, and also trained disabled people to ride our Mountain Metro Transit
B. Science, Physics, McGill University MFA, Film & Video Production, York University AAS, Multimedia Graphic Design, Pikes Peak Community College
80829
I am a visual communicator who speaks some Spanish, and has excellent interpersonal skills. I enjoy working on projects that make a difference. I understand the importance of doing a job thoroughly, professionally and in this case impartially as the ramifications will be with us as Coloradans for years to come. I have advocated for nonprofit groups my entire life. I get results, as proven when assigned to difficult sections to enumerate for the 3rd and final wave of Teller County in Census 2010. I had been the Recruiting Manager for Census 2000 in the Hollywood/MidWilshire Census District that had 26 distinct linguistic populations. My background in the film industry makes me an ideal candidate, as I am experienced at covering all sorts of terrain and solving many logistics that one encounters on location. I am a confident, educated individual who has a friendly approach and can establish rapport with anyone from all walks of life.
Biden Harris donation October 2020
Board of Advisors, C.S. Bird, Jr. Foundation (Boston, MA) since 2010 Unity Spiritual Center in the Rockies (Colorado Springs, CO) since 2007 Weer Africa (Harrisburg, PA and Dakar, Senegal) since 2010 Pikes Peak Permaculture movement Manitou Art Center
I understand thoroughly the importance of this job to redefine the Congressional and Legislative Districts of the State of Colorado, from my prior work with the US Census Bureau over the years. Public Service lights me up, and this has been a family tradition that my grandfather trained me for with his endless questioning. "What good deed have you done today?" Working for the greater good is my lifelong passion in my own small, humble way. Therefore in a job like this, I am prepared to go above and beyond in every way I possibly can, in order to create the best result possible for the People of Colorado.
Creating consensus is a key skill when working on any project, especially in Government. I have advocated for the citizens of Manitou Springs by attending numerous City Council meetings as a private citizen. This gave me the opportunity to make statements to our City Councilors in a respectful and concise way as Government officials have a very limited time to be briefed on the circumstances, review the information before making a decision. Further I am not intimidated by their status as a professional, an attorney, or whatever background they may come from, as I have worked with people from all walks of life including many celebrities. I am not swayed by anyone's position or power they yield, and I have excellent manners. I promote a win/win scenario in any transaction if possible, and will always keep in mind whom I would truly be serving, namely the people of Colorado in all its wonderful diversity. Therefore it is important that any personal political bias be left at home, no matter how passionate I might be about any party. We must work together as the American people. Being fair and impartial is a must in this type of work.
I have an unusual background, being a Creative with a degree in Physics. I have had a lifelong interest in metaphysics and the global study of consciousness. I have a highly logical and creative mindset, and I am great at math. Being a practical, down-to-earth woman who grew up farming, I know that there is a solution to every problem. It is just a matter of being persistent, and having the right resources to get through any challenge that we may be confronted with. I completely cultivate an attitude of positivity, as that is my personal commitment. (Note: for References please see my LinkedIn profile under linkedin.com/in/zviabird. Some are attached to my resume yet they may not be current phone numbers. )
Female


Select a JSON file to import the contents into your favorites. A maximum of 100 favorites can be imported at one time.


Raymond Roussel
The Word Dreamer
- 1897 Mon âme, a poem – published on July 12, 1897 in Le Gaulois (revision of 1894 work)
- 1897 La Doublure, a novel in verse
- 1900 La Seine, a novel in verse
- 1900 Chiquenaude, a novel
- 1904 La vue, Le concert and La source, poems
- 1910 Impressions d'Afrique (Impressions of Africa), a novel, later turned into a play
- 1914 Locus Solus, a novel
- 1925 L'étoile au front, a play
- 1926 La Poussière de soleil, a play
- 1932 Nouvelles Impressions d'Afrique (New Impressions of Africa), a poem of four cantos with 59 drawings >
- 1935 Comment j'ai écrit certains de mes livres (How I Wrote Certain of my Books, 1995, ISBN 1-878972-14-6), translated by Trevor Winkfield, contains a cross-section of his major writings, including Roussel's essay on how he composed his books, the first chapter of each of Impressions d'Afrique and Locus Solus, the fifth act of a play, the third canto of New Impressions of Africa and all 59 of its drawings, and the outline for a novel Roussel apparently never wrote.
- 1935 Parmi les noirs (Among the Blacks), a story first published in Comment j'ai écrit certains de mes livres, has been republished (Among the Blacks: Two Works (1988, ISBN 0-939691-02-7) with an essay by Ron Padgett.
Published Works:
"This bro was v chill"
-- Indian Prime Minister Manmohan Singh


The Register Covers The Revolv DB Migration
The Register's Jack Clark wrote a short piece on Revolv's database migration based on my blog post from last week and an interview we did on Friday. I found the conclusion to the article to be a fairly phrased and well-put summary of the NoSQL/SQL issue:
We here on El Reg's database cluster are...
NoSQL No More
I work at Revolv, and right now we're just about finished with a major migration off of a NoSQL database. We're moving onto a traditional RDBMS (PostgreSQL, to be precise). Many people seem surprised that we, a tech-savvy startup, would be moving to an "old" technology. But in fact our reasoning is...
A Quick Theory of Moral Obligation
I recently made a distinction between moral laudability and moral permissibility. I feel as though I did not explain well why moral obligation is not entailed by the fact that a given action is or would be moral.
Briefly, to say someone is morally obligated to do action A is to say that if they
Go's Handy ioutils Package
One thing I find myself often doing in just about any programming language I use is reading and writing small text files. We're talking text files that are only a few dozen lines long. Go provides the io/ioutils
package for quickly reading and writing files.
The two frequent use cases I have are...
Good Guys Don't (Always) Give Away the Code
Sometimes proponents of Free Software make it sound as if you must give away all of your code as Free or Open Source Software (FOSS) if you want to be an honest and moral software developer. This is not the case. Morally motivated developers don't always have to give away their software. In fact,...
SSL And Password Protection for Kibana
Kibana is a front-end to Logstash, a log collection server. By default, Kibana is configured without support for logins and without support for SSL. This is a fast-paced explanation of how I tried to get Kibana reasonably secure.
To begin, I have a Logstash server up and running on an Ubuntu 13.10...
Generating Stack Traces in Go
The ability to generate a stack trace can prove to be very useful, especially when writing log files. The Go language's runtime
package provides a helper for generating a stack trace. Here's how to use it.
 Import the...
A Simple UDP Server in Go
Creating Go network clients and servers is simple, supported as it is by the excellent built-in net
package. But when I wanted to create a UDP server instead of a TCP or UNIX socket server, the API through me for a loop. I assumed that the same net.Listen()
function I used for other server types would...
Importing Python Docs into Dash
Dash is a cool little multi-language API documentation manager for OS X. While it's free (as in beer) with some limits, it is one of the few programs I don't mind paying for.
Dash makes it easy to install the core library references for a variety of languages and tools. Mine, for example, has Go...
Goose for Database Migrations
I've been hunting for good database tools to perform that class of tasks that we all need, but that we end up re-implementing over and over again. One such task is database migrations. I've been experimenting with Goose to provide general-purpose database migration support.
What Is Goose?
Goose...


{% extends "docs/base.html" %} {% block title %}Airkit2 - ModalButtonComponent{% endblock %} {% block styles %} {{macros.style_tag('modal/modal.example.min.css')}} {% endblock %} {% block head_scripts %} {{macros.script_tag('modal/modal.example.min.js')}} {% endblock %} {% block main %}
ModalButtonComponent can be attached to a button-like element to open a modal dialog box.
| Option | Type | Description | Default |
|---|---|---|---|
| modalOpenAttr | {string} | Attr name used on the button to determine which modal to open. | data-modal-open |
| modalIdAttr | {string} | Attr name used to identify which element to grab the modal contents from. The first child element of that parent element that matches the modal id will be placed into the modal of the modal when opened. | data-modal-id |
| enableHashHistory | {boolean} | If enabled, opening a modal dialog will push a hash url to html5 history. When opening a new page with a #hash in the url, the modal will automatically open. | false |
| onOpen | {function} | A callback function that's called when the modal is opened. | false |
| onClose | {function} | A callback function that's called when the modal is closed. | false |
Press the button below to open the "foo" modal dialog.
{% set example %}{{example.trim()}}


Project Timeline - January 2019 to June 2021
Roles - Web Developer, AWS Infrastructures Developer
Tech Stacks - JavaScript, HTML/CSS, React, NodeJS, DynamoDB, Git, GitHub Action, AWS
Links - here. The repository was set private by our client.
We are planning to build a mobile friendly website where organizations can share the resources to caregivers of kids with physical and intellectual disabilities or anyone who needs the help. In this special period of COVID, most parents with children with special needs have a very tough time finding resources or supports that fits the specific needs for their children. Our platform encourages organizations or anyone who is willing to provide resources, lessons or events to post the activity. Once the post is approved, any caregivers who find it useful can register to attend it. Caregivers can also search with keywords on our website and any relevant event that is not expired will show up. Meanwhile, we are going to ensure the information security of our website since information like age, location, type of disability are sensitive to the caregivers. In short, our website aims at building the connection between the kids and the resources.
Our website will mainly have two types of target users:
- The first type is consists of organizations or individuals who are willing to arrange events or to give out some resources.
- The second type is consists of parents or caregivers of children who are looking for resources and help.
- The frontend technology that we will use would be ReactJS and Material UI. The backend technology we will use would be express framework with dynamodb as our database. Infrastructure we choose AWS from amazon, we will use EC2 for our server, and S3 as our frontend storage. Also we will utilize elastic search to implement our search engine as well as other functionalities.
- All the code are first commit to github repo and after being checked and built it would be deployed on to Elastic Beanstalk by a CI/CD pipeline.
- Imporvemnets on searching service including UI upgrade and Elasticsearch implementation.
- Re-classify the database with password encryption, and implement password auto-expiration and reset logic.
- Set up HTTPS protocol for the website with SSL certificate, set up auto-scaling and metrics to monitor the traffics.
Here is a demonstration of the implementation of various functions described above.


We enhance cats!
- facilitate web-enabled supply-chains
- integrate collaborative portals
- leverage rich networks
- repurpose magnetic convergence
- engage 24/7 models
- implement distributed content
- utilize strategic action-items
- deliver compelling convergence
- maximize one-to-one functionalities


| knit2pandoc {knitr} | R Documentation |
knit()
and
PandocKnits the input file and compiles to an output format using Pandoc.
knit2pandoc( input, output = NULL, tangle = FALSE, text = NULL, quiet = FALSE, envir = parent.frame(), to = "html", pandoc_wrapper = NULL, ..., encoding = "UTF-8" )
input |
Path to the input file. |
output |
Path to the output file for |
tangle |
Boolean; whether to tangle the R code from the input file (like
|
text |
A character vector. This is an alternative way to provide the input file. |
quiet |
Boolean; suppress the progress bar and messages? |
envir |
Environment in which code chunks are to be evaluated, for
example, |
to |
Character string giving the Pandoc output format to use. |
pandoc_wrapper |
An R function used to call Pandoc. If |
... |
Options to be passed to the |
encoding |
Ignored (always assumes UTF-8). |
Returns the output of the pandoc_wrapper
function.
Trevor L. Davis


LATENCYTOP
Section: Maintenance Commands (8)Updated: November 9, 2008
Index Return to Main Contents
NAME
latencytop - a tool for developers to visualize system latenciesSYNOPSIS
latencytop [--unknown] [processes...]DESCRIPTION
This manual page documents briefly the latencytop command.latencytop is a Linux* tool for software developers (both kernel and userspace), aimed at identifying where in the system latency is happening, and what kind of operation/action is causing the latency to happen so that the code can be changed to avoid the worst latency hiccups.
LatencyTOP focuses on the cases where the applications want to run and execute useful code, but there's some resource that's not currently available (and the kernel then blocks the process). This is done both on a system level and on a per process level, so that you can see what's happening to the system, and which process is suffering and/or causing the delays.
You can walk the processes by using the cursor keys. If you press s followed by a letter, then only active processes starting with that lettter are displayed and walked. If you press s followed by 0 then that filter is reset.
SEE ALSO
powertop(1)The program is more fully described at http://www.latencytop.org
AUTHOR
latencytop was written by Arjan van de Ven<EMAIL_ADDRESS>manual page was written by Giacomo Catenazzi<EMAIL_ADDRESS>for the Debian project (but may be used by others).
Index
This document was created by man2html, using the manual pages.
Time: 05:34:26 GMT, December 24, 2015


Repayment History
Loan Ref: #767817 | Loan Value: ₦5,000 | Issued on: 31/12/2018 | Tenor: 3 months | Interest rate: 5% | Status: not fully paid | Due Date: 01/04/2019
| Ref Number | Outstanding (₦) | Paid (₦) | Due (₦) | Payed On |
|---|---|---|---|---|
| #5638 | 2,750 | 1,000 | 1,750 | 01/03/2019 |
| #7777 | 4,250 | 1,500 | 2,750 | 01/02/2019 |
| #9866 | 5,250 | 1,000 | 4,250 | 01/01/2019 |


| DOSE: |
|
inhaled |
Ether |
(liquid) |
[Erowid Warning: Our understanding of the literature is that there is no such thing as safe use of volatile solvents, aerosols and other street inhalants : their psychoactive effects are inseparable from nerve and organ damage. We have chosen to include these reports to help document the real world use of inhalants, but their inclusion is not intended to imply that they are anything but dangerous.]
I have done ether a lot over the past year or so. But these last 3 days I have done ether from 11:00pm to 3:00am every night.  My ether trip tonight was soooo unbelievably terrible.
Tonight while I was doing ether it started off even a little weird. Instead of having minor visualizations there were streams. I kept on doing more ether. Eventually I noticed a whole bunch of shapes. These shapes quickly turned into a full sized human in a suit. (Blue semi see through man) He was real enough that I was able to feel some type of matter when I touched him.
 To make matters worse he was holding some type of gun, He aimed the gun at my head and started firing. I heard the noise of the gun firing and I even felt a tapping on my head/shoulders where he shot me. Every where I moved to try to evade his bullets he aimed at me and shot me some more.  Let me remind you that the definition of reality is being able to hear, feel, and see something. It was real to me, TOO REAL.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Disaster Management Intelligence System
Specialized in Management of Disaster

Account Creation
{% csrf_token %}
Username:
Name:
Password:
Retype-Password:
Select Category:
Select User
Volunteer
Hospital
Accommodation Place
Prone Area
Control Panel
Select Type:
Select Type
Email:
Contact No:
Location :
Find your Latitude and Longitude
Location (Latitude):
Location (Longitude):
Login (Existing User)

Register


Snorlax Evaluation
(define-by-reference, or: lazy evaluation taken to extremes)
Okay, so I've got a Bomb
entity in my game. It's already got the behavior for flying toward its destination
. What if I want to make a SmartBomb
that tracks a target even if they move? I might do it something like this:
SmartBomb.on_update = function (timestep) {
// other update behaviors go in this function as well
this.destination = target.position
}
I have to explicitly tell my engine to execute this every frame. I think in terms of this kind of thing already, because I'm a math and physics person. Why can't I define relationships like this more simply? What if, in fact, this was the default way we referred to values? It's worth noting that what I've thought of here is essentially just functional reactive programming. You can go read wikipedia if you want.
SmartBomb.destination = target.position
Any time something fetches the value of SmartBomb.destination
it'll fetch the value of target.position
. Writing it this way, instead of explicitly specifying which variables need to be kept up-to-date with other variables (and when they need to be updated!), means it's easier to give variables interesting dependencies on other values - like this shield
which should float a certain distance between the player
and the enemy
:
shield.position = player.position + shield.distance * unit_vector(enemy.position - player.position)
If and when you do need to store something's value at a specific time, you can do that if you want - for example, this code when a bomb explodes:
explosion_location = current_value(bomb.position)
// or maybe the syntax is like this:
explosion_location = bomb.position.current_value
So far, everything's time-independent. For example, the shield
object's position
depends only on the positions of other objects.
Why not include time-dependence? A bullet
has a position
and a velocity
, and these are related in a way that doesn't change at any point during gameplay. Why not codify that relationship in a similar way?
bullet.position = bullet.position + time_step * bullet.velocity
// or maybe
bullet.position = bullet.position + bullet.position.time_since_last_calculation * bullet.velocity
Okay, if this seems like impossible magic, I'm sorry. Let's walk through it:
- The global loop asks for
bullet.position
in order to know where it should be drawn. bullet.position
looks at its cached value and sees that it's out of date.bullet.position
subtracts timestamps to find the time step between now and whenever it last got calculated, and remembers this astime_step
- The time-dependence expression is now evaluated, using the last calculated value for
bullet.position
, and fetchingbullet.velocity
as normal.
Hell, why not remember the entire history of a variable's values?Performance. When I fetch the last calculated value for bullet.position
, why not go ahead and make that a graph-crawling reference-calculation just like everything else?Reactive time-dependence is something to think about for an interesting mechanic, if nothing else - keeping track of dependencies on history means you could change a value at any point throughout the game's history and see how it changes things... Just like Achron! And the flaws that make it seem infeasible here wouldn't be a problem in, say, a turn-based time game.
Performance is a legitimate worry at that point. If you include the full-on time-dependence, then depending on implementation you might end up following a reference back through every frame the game's been through. This approach would obviously fall apart because every value in your world is going to be at least O(t) to calculate, which sucks - there should be no time-dependent complexity - but there are solutions:
- Careful design can ensure that your objects aren't too densely interlinked.
- If you know you can do things more efficiently in some strenuous case, you can always hard-code it to extract current values and explicitly pass them around whenever you want.
- Variables should carry metadata about when they last changed, and when their predecessors and descendents in the graph have changed - so that, in calculating the
shield
'sposition
, you don't re-fetch theenemy.position
, if you know it hasn't changed.
Besides which, we have fast computers, and without running into hard algorithmic complexity problems (collision detection, I'm lookin' at you!) it's not that easy to overload a modern gaming machine. And hey, maybe having declarative time-dependent values is a pipe dream - I don't care. The core idea is still awesome.
Here's an example (with more attention paid to data types) of how I'd come up with a vector that always points to a set offset from the position of bullet
.
bullet.position = Wrapper(v(1,2)) offset = v(3,4) endpoint = bullet.position + offset print endpoint
--> WrapperSum(bullet.position, offset)print endpoint.current_value
--> v(4,6)bullet.position.current_value = v(-10,0) print endpoint.current_value
--> v(-7,4)
Once I've started thinking and talking about this, I start wondering how much we need imperative game loops at all, for anything other than those troublesome time dependencies and feedback loops. I wonder...
print bullet.contacts
--> Wrapper(List<Contacts>)contact_acceleration = sum(contact.force_to_resolve for contact in bullet.contacts) bullet.acceleration = contact_acceleration
Assuming that force due to contacts is the only thing present in the world, then the bullet now feels enough acceleration to resolve all the conflicts. I mean, assuming contacts are simple to work with, and they always are. Right? Right?
I'm thinking about this a lot because this kind of referencing is very natural for things like defining interlinks between components in my game engine - I've got conflicting interests:
- I want to keep my vectors and properties lightweight, so that a
bullet
's position should just be a vector, with which I should be able to do math as freely and easily as integers. - But I also want to ensure that the
collision component
's position is the same as thebullet
's position! I'd like to docollision_comp.position = bullet.position
- And then I run into the problem that since I want my vectors as primitive as possible, if I change
bullet.position
then it's not going to changecollision_comp.position
because pass-by-value is the dominant paradigm.
The solution I've been working with is wrap together sets of related data (as components). The player
object has a PositionComponent
and a CollisionComponent
, and the CollisionComponent
stores a reference to the player
's PositionComponent
so that it can access it at any time. Actually holding those references constant means that there would be problems if the player.position_component
suddenly changed to a different object - but that should never happen. I'm satisfied with this for the reasons I implemented it in the first place, but it doesn't get me the dynamic interlinking I'd like from something more like functional reactive programming.
So I don't know. I would love to have the capacity for functional reactive programming in my game engines, at the least! It's so useful for making bulletproof dynamic interactive systems.


This is ID, check it id property
fullname: {{fullname}}
showif is {{showif}}
click num: {{click_num}}


List of words or phrases you would like to be reminded that you have typed
Separate each word or phrase with a new line.
Save Words


A short description of the item. To see an example property page, see "damaged external media" or "Webrecorder capture".
Template page for items
Item
Example property
Description: Short description text of this property.
Example item
Description: Short description text of this item.
Example item
Description: Short description text of this item.
Example item
Description: Short description text of this item.


Brief description of position.
Brief description of position.
Brief description of position.
Brief description of position.
Brief description of position.
Brief description of position.
The Kappa is responsible for the education of the brotherhood as a whole. This encompasses the development of new members, continued edification of current members, and general guidance to the chapter in the subjects of Lambda Chi Alpha's morals, ideals, and values.
Brief description of position.
Brief description of position.
Brief description of position.
Brief description of position.
Brief description of position.
Brief description of position.
Standards Chair works within two areas of the fraternity, the officers and the brothers. In respect to the officers, he acts as the quality assurance for every officer, making sure each and every officer is performing his duty to the best of his abilities (and working with them to increase their abilities). In terms of the brotherhood, the Standards Chair oversees and maintains the various forms of communication (email, GroupMe, etc.).
Brief description of position.
Technology chair was created with the primary role of creating the chapter's website. Besides that, the position has also morphed to investigate other ways the fraternity can benefit from modernization and technological upgrades.
Brief description of position.
Brief description of position.


00:00
10°
Thursday
November 15
No upcoming events
Example event title
Example event location
Today: 11:00 to 15:00
2
5
1


{% extends 'base.html' %} {% block title %}{{block.super}} - Registration{% endblock %} {% block pageid %}account-create{% endblock %} {% block content %}
| Step 1 | Step 2 | Step 3 |
Your account is now activated. You may sign in and use our services.
{% else %}


Security Dashboard
$admin
Logout
Authorization Policies
Group Management
API-Key Management
Group Management
Edit Group membership of users
Name
Decription
#foreach($group in $groups)
$group.getName()
$group.getDescription()
View/Edit Members
Delete Group
#end
Add New Group


Cascading Stylesheets — or CSS — is the first technology you should start learning after HTML. While HTML is used to define the structure and semantics of your content, CSS is used to style it and lay it out. For example, you can use CSS to alter the font, color, size, and spacing of your content, split it into multiple columns, or add animations and other decorative features.
You should learn the basics of HTML before attempting any CSS. We recommend that you work through our Introduction to HTML module first. In that module, you will learn about: CSS, starting with the Introduction to CSS module More advanced HTML modules JavaScript, and how to use it to add dynamic functionality to web pages Once you understand the fundamentals of HTML, we recommend that you learn HTML and CSS at the same time, moving back and forth between the two topics. This is because HTML is far more interesting and much more fun to learn when you apply CSS, and you can't really learn CSS without knowing HTML. Before starting this topic, you should also be familiar with using computers and using the web passively (i.e., just looking at it, consuming the content). You should have a basic work environment set up as detailed in Installing basic software and understand how to create and manage files, as detailed in Dealing with files — both of which are parts of our Getting started with the web complete beginner's module. It is recommended that you work through Getting started with the web before proceeding with this topic. However, doing so isn't absolutely necessary as much of what is covered in the CSS basics article is also covered in our Introduction to CSS module, albeit in a lot more detail.
This topic contains the following modules, in a suggested order for working through them. You should definitely start with the first one. CSS first steps CSS (Cascading Style Sheets) is used to style and lay out web pages — for example, to alter the font, color, size, and spacing of your content, split it into multiple columns, or add animations and other decorative features. This module provides a gentle beginning to your path towards CSS mastery with the basics of how it works, what the syntax looks like, and how you can start using it to add styling to HTML. CSS building blocks This module carries on where CSS first steps left off — now you've gained familiarity with the language and its syntax, and got some basic experience with using it, its time to dive a bit deeper. This module looks at the cascade and inheritance, all the selector types we have available, units, sizing, styling backgrounds and borders, debugging, and lots more. The aim here is to provide you with a toolkit for writing competent CSS and help you understand all the essential theory, before moving on to more specific disciplines like text styling and CSS layout. Styling text With the basics of the CSS language covered, the next CSS topic for you to concentrate on is styling text — one of the most common things you'll do with CSS. Here we look at text styling fundamentals, including setting font, boldness, italics, line and letter spacing, drop shadows and other text features. We round off the module by looking at applying custom fonts to your page, and styling lists and links. CSS layout At this point we've already looked at CSS fundamentals, how to style text, and how to style and manipulate the boxes that your content sits inside. Now it's time to look at how to place your boxes in the right place in relation to the viewport, and one another. We have covered the necessary prerequisites so we can now dive deep into CSS layout, looking at different display settings, modern layout tools like flexbox, CSS grid, and positioning, and some of the legacy techniques you might still want to know about.
Use CSS to solve common problems provides links to sections of content explaining how to use CSS to solve very common problems when creating a web page. From the beginning, you'll primarily apply colors to HTML elements and their backgrounds; change the size, shape, and position of elements; and add and define borders on elements. But there's not much you can't do once you have a solid understanding of even the basics of CSS. One of the best things about learning CSS is that once you know the fundamentals, usually you have a pretty good feel for what can and can't be done, even if you don't actually know how to do it yet!
CSS on MDN The main entry entry point for CSS documentation on MDN, where you'll find detailed reference documentation for all features of the CSS language. Want to know all the values a property can take? This is a good place to go.


Scoring Admin - Season Points {% include 'admin_nav.html' %} {% include 'flash_message.html' %}
TODO


@Documented
@Retention(value=RUNTIME)
@Target(value=FIELD)
public @interface KeyField
Comparable
interface is not implemented. The KeyField
integer value specifies the sort order of this field within the set of
fields in the composite key.
If the field type of a PrimaryKey
or SecondaryKey
is a
composite key class containing more than one key field, then a KeyField
annotation must be present on each non-transient instance field of
the composite key class. The KeyField
value must be a number
between one and the number of non-transient instance fields declared in the
composite key class.
Note that a composite key class is a flat container for one or more
simple type fields. All non-transient instance fields in the composite key
class are key fields, and its superclass must be Object
.
For example:
@Entity class Animal { @PrimaryKey Classification classification; ...  }
This causes entities to be sorted first by kingdom
, then by
phylum
within kingdom
, and so on.
The fields in a composite key class may not be null.
To override the default sort order, a composite key class may implement
the Comparable
interface. This allows overriding the sort order and
is therefore useful even when there is only one key field in the composite
key class. For example, the following class sorts Strings using a Canadian
collator:
import java.text.Collator; import java.util.Locale; @Entity class Animal { ... @SecondaryKey(relate=ONE_TO_ONE) CollatedString canadianName; ... } @Persistent class CollatedString implements Comparable<CollatedString> { static Collator collator = Collator.getInstance(Locale.CANADA); @KeyField(1) String value; CollatedString(String value) { this.value = value; } private CollatedString() {} public int compareTo(CollatedString o) { return collator.compare(value, o.value); } }
Several important rules should be considered when implementing a custom comparison method. Failure to follow these rules may result in the primary or secondary index becoming unusable; in other words, the store will not be able to function.
Environment
constructor.| Modifier and Type | Required Element and Description |
|---|---|
int |
value |
Copyright (c) 1996, 2016 Oracle and/or its affiliates. All rights reserved.


Meeting's Agenda:
Meeting's Duration:
Confidence Score:
We've recieved your meeting's text. We'll notify you once your meeting notes are ready! Till then, Happy Meetings :)


@@include('header/_header-full-light.html', {
"title": "Whitepaper"
})
|
@@include('hero/_hero.html')
|
@@include('misc/_spacer.html')
|
@@include('one-up/_salutation.html')
@@include('one-up/_one-up.html')
@@include('one-up/_one-up-editable.html')
@@include('misc/_divider.html')
@@include('misc/_button-color.html')
@@include('one-up/_image.html')
@@include('two-up/_two-buttons.html')
@@include('one-up/_callout.html')
@@include('one-up/_closing.html')
@@include('one-up/_closing-with-headshot.html')
|
@@include('misc/_spacer.html')
@@include('footer/_footer-light.html')
|


--- layout: page title: Lean Prover Zulip Chat Archive permalink: archive/144837PRreviews/25317522enat.html ---
@Chris Hughes Could you remind us in a few short sentences why roption nat
was better than with_top nat
?
Because a lot of the algebraic structure has already been developed for with_top
, I think...
I guess enat
also has the algebraic structure...
Sure it does... but now it has to be redeveloped from scratch
Anyway, it looks good to me. I suggested to add a newline to the end of a file. Don't know what the official policy is there, but it makes Github happy (-;
it's for computation reasons
I see. So at some point in the future we will have with_rtop
and with_rbot
and with_rzero
?
It's computable when the predicate that says whether it returns some
or none
is undecidable
not likely. enat
is a bit of a special case


This should be replaced by the Javascript in scriiip.js - if you see this something has gone horribly wrong. Run for your life.


Scintillating Grid Illusion Analysis
alpha
This project draws versions of scintillating grid.
Change values and click 'draw' to update grid.
Draw
/
View on GitHub
/ Mustafa İlhan


## Segregated Content Windows are useful to segregate content into a well-defined area in the UI.
## Floating and Docking Windows usually float. That is what they're meant for: flexibly move content across the screen so that you can arrange content as you please. That is how you're accostumed to. `PacemWindowElement` can be dragged (and rescaled as well) when you put them inside a `PacemWindowAreaElement`. > But wait! **There's more**! You can even dock the window on the side of the screen and use them like full-height drawers. See the example below:
Change the second window's title:


Log In
Home
About
Education
Organization
Works
Life Verse
Contact
About me
Save
80%
70%
65%
60%
EDUCATION
+
School:
Degree:
Year Start:
Year End:
ORGANIZATION
+
Name:
Position:
Year Start:
Year End:
WORKS
+
Name:
Creator:
Year Start:
Link(URL):
“For I know the plans I have for you,” declares the Lord, “plans to prosper you and not to harm you, plans to give you hope and a future.”
Jeremiah 29:11
CONTACT ME @:
Github:
LinkedIn:
Twitter:
Facebook:


#include <lwip/sockets.h>
#define SENDER_PORT_NUM 6000
#define SENDER_IP_ADDR "<IP_ADDRESS>"
void main(void)
{
-
int socket_fd;
struct sockaddr_in sa;
/* Creates an UDP socket (SOCK_DGRAM) with Internet Protocol
Family (PF_INET).
* Protocol family and Address family related. For example PF_INET
Protocol Family and AF_INET family are coupled.
*/
socket_fd = socket(PF_INET, SOCK_DGRAM, 0);
if ( socket_fd < 0 )
{
-
printf("socket call failed");
exit(0);
}
memset(&sa, 0, sizeof(struct sockaddr_in));
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr(SENDER_IP_ADDR);
sa.sin_port = htons(SENDER_PORT_NUM);
/* Bind the UDP socket to the port SENDER_PORT_NUM and to the current
* machines IP address (Its defined by SENDER_IP_ADDR).
* Once bind is successful for UDP sockets application can operate
* on the socket descriptor for sending or receiving data.
*/
if (bind(socket_fd, (struct sockaddr *)&sa, sizeof(struct sockaddr_in)) == -1)
{
printf("Bind to Port Number %d ,IP address %s failed\n",SENDER_PORT_NUM,SENDER_IP_ADDR);
close(socket_fd);
exit(1);
}
close(socket_fd);
}
|


Etobicoke Swim Club 2020 OUAs at TPASC - 2/6/2020 to 2/8/2020 Event 33S Men 50 SC Meter Breaststroke Swim-off ========================================================================= Name Year School Finals Points ========================================================================= === - Swim-off === 1 Huang, Mark 2 Warriors 29.31 2 Korstanje, Anth 3 Brock Badgers 29.82


Advanced Drainage Systems, Inc. 2019 Q2 - Results - Earnings Call Presentation
by SA Transcripts, https://seekingalpha.com/author/sa-transcriptsThe following slide deck was published by Advanced Drainage Systems, Inc. in conjunction with their 2019 Q2 earnings call.


Netanyahu forced to give up ministerial positions
Under Israeli law, ministers must resign if charged with a crime. Netanyahu not required to resign as prime minister.
by Gary WilligPrime Minister Binyamin Netanyahu will have to give up all ministerial positions he currently holds now that Attorney General Avichai Mandelblit has decided to indict him for for bribery, fraud and breach of trust in Case 4000, and fraud and breach of trust in Cases 1000 and 2000.
Under Israeli law, sitting ministers must resign if he is charged with a crime. Netanyahu currently holds the health ministry, welfare ministry, and diaspora ministry portfolios.
The law does not require Netanyahu to resign as prime minister.


A group of team members by the names of Emily, Jason, Keagan, and Luke were wanting to find a good escape room to challenge together but soon realized the
lack of a site to find and compare escape rooms nearby for the best expierence for a good price.


| Interface | Description |
|---|---|
| FBObject.Colorbuffer |
Generic color buffer FBO attachment, either of type
FBObject.ColorAttachment or FBObject.TextureAttachment . |
| GLStateKeeper |
Interface adding a
GLEventListenerState protocol to GLAutoDrawable s
or other self-contained compound types combining GLDrawable , GLContext and GLEventListener . |
| GLStateKeeper.Listener |
Listener for preserve and restore notifications.
|
| Class | Description |
|---|---|
| FBObject |
Core utility class simplifying usage of framebuffer objects (FBO)
with all
GLProfile s. |
| FBObject.Attachment |
Common super class of all FBO attachments
|
| FBObject.ColorAttachment |
Color render buffer FBO attachment
|
| FBObject.RenderAttachment |
Other renderbuffer attachment which maybe a colorbuffer, depth or stencil.
|
| FBObject.TextureAttachment |
Texture FBO attachment
|
| GenericGLCapabilitiesChooser |
Ignores windowSystemRecommendedChoice parameter,
otherwise uses
DefaultGLCapabilitiesChooser implementation. |
| GLAutoDrawableDelegate |
Fully functional
GLAutoDrawable implementation
utilizing already created GLDrawable and GLContext instances. |
| GLEventListenerState |
GLEventListenerState is holding
GLAutoDrawable components crucial
to relocating all its GLEventListener w/ their operating GLContext , etc. |
| GLExtensions |
Class holding OpenGL extension strings, commonly used by JOGL's implementation.
|
| GLRendererQuirks |
GLRendererQuirks contains information of known bugs of various GL renderer.
|
| JoglVersion |
| Enum | Description |
|---|---|
| FBObject.Attachment.Type |
Copyright 2010 JogAmp Community.


 Three years ago you assaulted a superior officer for ordering his
soldiers to fire upon civilians.
^br
He and his body cast wew shipped to Pearl Harbor [http://www.ibm.com ibm].
Software Engineers [http://abcd.efg.org]^br
John Carmack
Artists [http://zzz.wwww.yyy Designers]^br
Adrian Carmack Kevin Cloud Sandy Petersen
^br^br


|
|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
Simon
implementations, with
the SimonManager
as the center point of the API.
See:
Description
| Interface Summary | |
|---|---|
| Counter | Counter tracks the single integer value and watches its max/min values. |
| HasAttributes | Interface that declares support for arbitrary attributes that can be attached to the object (servlet style). |
| Manager | Manager provides access to Simons and manages them in a tree structure. |
| Simon | Simon interface contains common functions related to Simon management - enable/disable and hierarchy. |
| SimonFilter | Generic filter useful whenever Simons are filtered for some operation. |
| Stopwatch | Stopwatch Simon measures time spans and holds related statistics. |
| Class Summary | |
|---|---|
| CounterSample | Object holds all relevant data from Counter Simon. |
| DisabledManager | Manager implementation that does nothing or returns null or NullSimon as expected
from manager in disabled state. |
| EnabledManager | Implements fully functional Manager in the enabled state. |
| IncrementalSimonsPurger | This class implements periodical removing of old incremental Simons for specified Manager. |
| ManagerConfiguration | Holds configuration for one Simon Manager. |
| Sample | Sample contains all relevant values of the Simon that are obtained by the
Simon.sample() and Simon.sampleIncrement(Object) methods. |
| SimonConfiguration | Stores configuration for the particular Simon or the set of Simons. |
| SimonManager | SimonManager is static utility class providing so called "default Manager . |
| SimonPattern | Matches Simon name patterns from configuration. |
| Split | Represents single time split - one Stopwatch measurement. |
| StopwatchSample | Object holds all relevant data from Stopwatch Simon. |
| SwitchingManager | Manager implementation that supports SwitchingManager.enable() and SwitchingManager.disable() and switches between
backing EnabledManager and DisabledManager accordingly. |
| UnknownSample | Sample produced by UnknownSimon s. |
| Enum Summary | |
|---|---|
| SimonState | Status of monitor. |
| Exception Summary | |
|---|---|
| SimonException | SimonException is runtime exception thrown in case something goes seriously wrong (class cast or similar). |
Core package, contains Simon
implementations, with
the SimonManager
as the center point of the API.
Core package contains all basic interfaces (Simon
, Counter
,
Stopwatch
and Manager
)
with their implementations along with SimonManager
that provides convenient access
to the default Simon Manger.
There are two basic types of Simons provided:
SimonManager.getStopwatch(String)
;
SimonManager.getCounter(String)
.
All Simons share some basic functions - these are implemented in AbstractSimon
.
Simons are organized in the tree - methods Simon.getChildren()
and
Simon.getParent()
can be used to traverse it along with
SimonManager.getRootSimon()
. This tree is also important to determine if
the Simon is enabled or disabled. Disabled Simon has minimal possible overhead - but it does not count
or measure anything. Simon's state is specified by Simon.setState(SimonState, boolean)
.
SimonState
enumeration has three values: SimonState.ENABLED
sets Simon as enabled, SimonState.DISABLED
sets Simon as disabled and
SimonState.INHERIT
lets Simon to inherit its state from the parent (recursively).
The whole SimonManager can be enabled or disabled - this is important difference from disabled Simons.
Whenever SimonManager is disabled (SimonManager.disable()
) any method returning
Simon returns NullSimon
. Null Simon is different from the disabled Simon because
it does nothing and always returns zero/empty values if value is expected. Null Simon is always disabled
and cannot be enabled. If the SimonManager is enabled again (SimonManager.enable()
)
it returns real Simons again. This leads to following recommendations:
SimonManager.getStopwatch(String)
or
SimonManager.getCounter(String)
to get the Simon because this always
reflects the status of the SimonManager.
TODO: Configuration
|
|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Replace the file "you.jpg" for a picture. Edit the file "about.html" in the dasblueblog themes directory, for your about text. To edit this theme see: http://dasblog.info/ThemesForDasBlog19Plus.aspx


Parallella for WRF CHEM
2014-08-21
###Parallella cluster for WRF CHEM### 1. WRF-CHEM is a computationally intensive model, for example, “On a typically-sized 40×40 grid with 20 horizontal layers, the meteorological part of the simulation (the WRF weather model itself) is only 160 × 106 floating point operations per time step, about 2.5% the cost of the full WRF-Chem with both chemical kinetics and aerosol”[1]. It is generally executed with parallel mode to reduce time latency of model execution time. Identically, it is followed to use computer cluster using MPICH or OpenMPI to utilize the available processing cores to execute the model. This process of coarse-grained parallelism [2] is found to have limitations in terms of budget, energy cost, and computational constraints. 2. The alternative followed is to use fine-grained parallelism using coprocessors such as of GPUs. The GPUs are programmed by languages like CUDA based Fortran, OPEN MP etc, to convert the particular portions of code or modules in the whole model to utilize the GPUs. But in the long run for a project like real-time air pollution modeling for Coimbatore city, the GPU based solution is costly. 3. The solution in this situation is to use AWS based cluster service or custom build cluster using ARM-based single board computers. As a service, AWS is having a secondary preference for a funded project. In the case of ARM cluster, boards like raspberry pi, Beagle bone black, RADXA can consider as an option for the cluster in terms of cost and energy budget. But these boards have limitations in terms of lacking of processing power extension (limits to 3-4 GFLOPS per core of ARM processor) and 1 GB Ethernet connectivity(instead enabled with 100MB Ethernet) which can significantly hamper the efficiency of the cluster. 4. The single board computer named Parallella is potential to extents with 20-25 GFLOPS EPIPHENY 3 coprocessor and 1GB Ethernet connectivity. Moreover, the board built for fine-grained parallel computing and hardware components tuned for server operations.
####About Parallella board and its cluster#### 1. Parallella is a kick starter project of Adapteva intending to produce low cost, single board supercomputer as similar to the raspberry pi. As an extension to single board computer with ARM architecture and dual-core zynq processor it has EPIPHENY coprocessor with claimed 25 GFLOPS. Its architecture is as . 2. It is available in three versions for different uses such as from headless microserver, desktop and embedded system[3]. For the creation of a cluster, there is the availability of a cluster tool kit for the board[4] and implementation of resource management tool for cluster computing is also available [4a]. 3. The epipheny is a simple MIMD computer core with ram of 32 KB with computation functionality of single floating point(32bit) addition, subtraction, and multiplication. It can’t do operations such as divide and square root[5]. 4. This processor can are programmable with openCL, and it has a use case to execute R in parallel mode[6] or simulate Quantum Simulation[7]. There is an active step taken towards implementing openMP for EPIPHENY, it was a kick starter deliverables of the project[8]. OpenCl implementation for EPIPHENY 3 can be carried out using eclipse [9].
####Suitability and limitations of Parallella for WRF CHEM#### 1. The wrf is developed for the parallel programming on the go with complex computing infrastructures [10]. It has on the go support for OpenMP and not for OpenCL as currently supported by Parallella. Using openMP (shared memory parallel for the case EPIPHENY 3) or MPICH (Distributed memory parallel), WRF can compiled in Parallella. 2. WRF is programmed with single precision 10 and wrf chem is having double precision floating point operation along with singlefloating point operations as reported in this presentation and note[11,11a]. The kinetic preprocessor is to be the single most computationally intensive FP in wrf chem, it is having 110,514 FP operation compared to WRF model main components micro physics (2702 FPO) and advocation/Diffusion(301 FOP) [11]. 3. There is a project parallelizing this by KPPA [12], there is a review[13] and WRF chem implementation study is carried out on this aspect. The code for KPPA is available here [14] with publication details. 4. WRF is ported to run with Parallella main architecure ARM [15]. There is no single study directly related with WRF is carried out for running with OpenCL instead of OpenMP.
####Reference#### 1. Linford, J. C., Michalakes, J., Vachharajani, M., & Sandu, A. Automatic Generation of Multi-Core Accelerated Chemical Kinetics for Simulation and Prediction. 2. Michalakes, J., & Vachharajani, M. (2008). GPU acceleration of numerical weather prediction. Parallel Processing Letters, 18(04), 531-548. 3. http://www.rs-online.com/designspark/electronics/eng/blog/picking-the-right-parallella-board 4. http://groundelectronics.com/products/parallella-cluster-kit 4.a http://forums.parallella.org/viewtopic.php?f=32&t=1632#p10145 5. http://www.adapteva.com/wp-content/uploads/2011/06/adapteva_mpr.pdf 6. http://forums.parallella.org/viewtopic.php?f=39&t=391 7. http://www.eetimes.com/author.asp?section_id=36&doc_id=1322907 8. http://www.parallella.org/forums/viewtopic.php?f=19&t=142 9. http://nicksparallellaideas.blogspot.com.au/2014/08/opencl-on-parallella-using-eclipse.html 10. Michalakes, J. G., McAtee, M., & Wegiel, J. (2002). Software Infrastructure for the Weather Research and Forecast Model. Proceedings of UGC 2002. 11. http://www.arsc.edu/files/arsc/science/acceleration2010/attendees/presentations/michalakes-wrf-whpcaa.pdf 11a. Linford, J. C., Michalakes, J., Vachharajani, M., & Sandu, A. (2009, November). Multi-core acceleration of chemical kinetics for simulation and prediction. In Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis (p. 7). ACM. 12. J.C. Linford, J. Michalakes, M. Vachharijani, and A. Sandu, “Multi-core acceleration of chemical kinetics for modeling and simulation”, SC’09. Portland, OR. Nov 14-20, 2009. 13. H. Zhang, J.C. Linford, A. Sandu, and R. Sander. Chemical Mechanism Solvers in Air Quality Models. Atmosphere. 2011; 2(3):510-532. 14. http://www.paratools.com/Kppa 15. http://www.supersmith.com/site/ARM_files/wrf_on_arm.pdf
#####Notes##### a. Accelerating Kernels from WRF on GPUs, http://vecpar.fe.up.pt/2010/workshops-PE_abs/Michalakes-slides.pdf b. http://www.academia.edu/1469359/Porting_the_WRF_Model_to_EumedGrid_and_Simulation_of_Air_Quality_in_Urban_Zones c. precompiled wrf virtual box, http://ronin.dgeo.udec.cl/LiveWRF/ d. https://wiki.canterbury.ac.nz/display/BlueFern/Using+OpenMP+threads,+with+or+without+MPI


ISAE MEIDAEN (PATER NOSTER) A film review by Andreas Kutschera Copyright 1994 Andreas Kutschera
Finland 1993 Written & Directed By Veikko Aaltonen With Hannu Kivioja, Martti Katajisto, Elina Hurme Camera: Olavi Tuomi Music by Mauri Sumen B/W, 88 mins
Plot synopsis: PATER NOSTER is a film about a father/son relationship. Johani returns to his childhood home afters years spent "sailing the seven seas." It is a desolate house somewhere in the Finnish countryside. Johani's father lives in a hospital for the elderly, where he is tied to a wheelchair and generally seems to be unable to understand what is going on around him. Soon after Johani starts cleaning up the house, he takes his father home. Throughout the whole film, Johani tries to "come to peace" with his father.
speed rating: *** (recommended, comparable to NAKED)
This is a very slow-moving film, no action, no car chases, very few jokes, if any. So what makes it interesting? The story flows very nicely, each tension block is built up slowly (though some are pretty obvious) and a lot of times it is *after* you watched a certain scene that you realize the impact it has. Aaltonen manages to put a lot of characters on the screen who seem one-dimensional at first but show more and more diversity throughout the film. He uses dialog very consciously and often lets the pictures speak for themselves, which works due to his good cameraman. This film is a good example of a picture being worth a thousand words. Very often you see something and you do not need the dialog to grasp what's going on (though reading the sub-titles does help at times :-). In fact, just by listening to the dialog you will miss some major parts of the story. The movie sets a depressing tone but also, at the same time, there is always reasonable hope that things will get better. And, yes, there are love scenes in the movie.
All in all, if you want a movie for a first date, I suggest you try something else, but if you want something you can still talk about after you left the theater, something that grabs you somewhere other movies don't reach, this might be the one. But since it is a Finnish movie and it is black and white, I doubt it will even make the video stores, so look for it at a film festival near you.
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews