Last Updated October 6, 2016
This Privacy Policy governs the manner in which Logzilla Corp collects, uses, maintains and discloses information collected from users (each, a “User”) of the www.logzilla.net website (“Site”). This privacy policy applies to the Site and all products and services offered by Logzilla Corp.
We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit our site, register on the site, place an order, subscribe to the newsletter, respond to a survey, fill out a form, and in connection with other activities, services, features or resources we make available on our Site. Users may be asked for, as appropriate, name, email address, mailing address, phone number, credit card information. Users may, however, visit our Site anonymously. We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain Site related activities.
We may collect non-personal identification information about Users whenever they interact with our Site. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection to our Site, such as the operating system and the Internet service providers utilized and other similar information.
Our Site may use “cookies” to enhance User experience. User’s web browser places cookies on their hard drive for record-keeping purposes and sometimes to track information about them. User may choose to set their web browser to refuse cookies, or to alert you when cookies are being sent. If they do so, note that some parts of the Site may not function properly.
Logzilla Corp may collect and use Users personal information for the following purposes:
To improve customer service Information you provide helps us respond to your customer service requests and support needs more efficiently.
To improve our Site We may use feedback you provide to improve our products and services.
To process payments We may use the information Users provide about themselves when placing an order only to provide service to that order. We do not share this information with outside parties except to the extent necessary to provide the service.
To run a promotion, contest, survey or other Site feature To send Users information they agreed to receive about topics we think will be of interest to them.
To send periodic emails We may use the email address to send User information and updates pertaining to their order. It may also be used to respond to their inquiries, questions, and/or other requests. If User decides to opt-in to our mailing list, they will receive emails that may include company news, updates, related product or service information, etc. If at any time the User would like to unsubscribe from receiving future emails, we include detailed unsubscribe instructions at the bottom of each email or User may contact us via our Site.
We adopt appropriate data collection, storage and processing practices and security measures to protect against unauthorized access, alteration, disclosure or destruction of your personal information, username, password, transaction information and data stored on our Site.
Sensitive and private data exchange between the Site and its Users happens over a SSL secured communication channel and is encrypted and protected with digital signatures.
We do not sell, trade, or rent Users personal identification information to others. We may share generic aggregated demographic information not linked to any personal identification information regarding visitors and users with our business partners, trusted affiliates and advertisers for the purposes outlined above.
Users may find advertising or other content on our Site that link to the sites and services of our partners, suppliers, advertisers, sponsors, licensors and other third parties. We do not control the content or links that appear on these sites and are not responsible for the practices employed by websites linked to or from our Site. In addition, these sites or services, including their content and links, may be constantly changing. These sites and services may have their own privacy policies and customer service policies. Browsing and interaction on any other website, including websites which have a link to our Site, is subject to that website’s own terms and policies.
Logzilla Corp has the discretion to update this privacy policy at any time. When we do, we will revise the updated date at the bottom of this page. We encourage Users to frequently check this page for any changes to stay informed about how we are helping to protect the personal information we collect. You acknowledge and agree that it is your responsibility to review this privacy policy periodically and become aware of modifications.
By using this Site, you signify your acceptance of this policy. If you do not agree to this policy, please do not use our Site. Your continued use of the Site following the posting of changes to this policy will be deemed your acceptance of those changes.
If you have any questions about this Privacy Policy, the practices of this site, or your dealings with this site, please contact us.
Logzilla Corporation


Flash flood hits three villages in Gua Musang
GUA MUSANG, Nov 2 ― A three-hour downpour last night since 8pm has triggered a flash flood up to waist-high in three villages here.
The flash floods that hit Kampung Tanah Puteh, Kampung Lepan Jaya and Agropolitan Rantau Manis and affected 30 houses were due to water overflowing from nearby rivers.
District Civil Defence Force (APM) officer Mohd Yusalmi Yusoff said the department received a call about 10pm and deployed 10 members to the scene.
He said the worst affected area was Kampung Tanah Puteh where water had risen to waist-high level and residents could not save their household goods.
However, no residents needed to be evacuated as the floodwaters began to recede at 3am.
Meanwhile, district police chief Supt Mohd Taufik Maidin explained that several lowland areas were prone to flash floods during heavy rains as water from nearby rivers overflowed, namely Sungai Galas, Sungai Nenggiri and Sungai Lebir.
In the meantime, floods that hit several states in the peninsula began to recede and currently, Perak is the only state that still opens its temporary relief centres (PPS).
A total of 528 victims from 140 families took shelter at four PPS in Perak following floods that hit Kerian, Hilir Perak and Manjung districts.
A spokesman from the state Fire and Rescue Department said out of the total, 149 victims from 35 families in Kerian,were evacuated at PPS Sekolah Kebangsaan (SK) Changkat Lobak while 128 from 33 families moved to SK Parit Haji Aman.
Meanwhile, in Hilir Perak, 169 victims took shelter at PPS SK Changkat Jong. The other 82 in Manjung took shelter at PPS Sekolah Agama Rakyat Padang Serai.
In Selangor, the Smart Selangor Command Centre said the last four flood victims who took shelter at Matang Pagar JKKK Hall, Gombak, were allowed to return home yesterday afternoon. ― Bernama


* The only thing you do in Captio
today’s Very Short List:
tech 22 Jul 2013
Callie Schweitzer is the Director of Marketing & Communications at Vox Media
Subscribe
* GrabBox
* Pocket
http://link.nyobserver.com/516ca68465217dc6e1b9a3a61326a.heb/UeMoKMJS6TGQQ5a9D388e
delightful e-mail that shares
cultural gems from a
different curator every day.
If you have any problems reading this e-mail, click here
http://link.nyobserver.com/516ca68465217dc6e1b9a3a61326a.heb/UeMoKMJS6TGQQ5a9F9ef5
Subscribe
Forward
My Account
Unsubscribe
food 19 Jul 2013
Wesley Verhoeve on the perfect picnic.
culture 17 Jul 2013
tech 15 Jul 2013
Sally Rumble on ways we can collaborate and improve our lives.
Editorial Policy
Privacy Policy
Contact Us
Press
Terms + Conditions
very fine print: ©2013
Observer VSL LLC.
321 West 44th Street, 6th Floor
New York, NY 10036 USA
All rights reserved.
Questions?<PHONE_NUMBER>.
This message was intended for<EMAIL_ADDRESS>If you believe this has been sent to you in error, please safely unsubscribe


Ground Control to Major Tom
This is taking longer than expected.
We apologize, something may be up. Please contact us if this continues to happen.


Good morning friends! My name is Ka. I'm going to introduce myself. I was born in Hong Kong but I have been in US for 17 years. As for my family, I have just one brother. He is older than me. My parents are retired. I am a friendly person, a good thinker, and am flexible to work in any shift. I can work for longer hours without any break, if I am interested in that. My life style is very simple.
I'm interested in many things such as music, reading novels, and watching movies. I love to read love stories and suspense thrillers.
I'm personally interested in becoming an Animator & Graphic Designer. However, there are many different career opportunities that I like. I believe that a job should be like a hobby, enjoyable.
It takes a long time to study an animation course. It is very difficult and requires a tremendous amount of patience and hard work. I hope that I'll be able to meet these challenges, and that my dream will come true.
As for now, I'm only focusing my attention on enjoyment. I'm being my true self with the values, dreams and goals that I have.


First, we would like to have some contact information
Your location will only be used to find matches close to you.


Last Release Date:
25/09/2020
DOWNLOAD v1.2
1.Tap the clock on the taskbar, tap the popout that appears, and then tap Settings.
2.Scroll down the list and tap Security, then on the right, scroll down and tap Unknown sources.
3.Tap OK on the prompt that appears.


Saw Shahid's potential when people judged him as chocolate hero: Pankaj Kapur
Shahid is a dramatic actor and as time will pass, people will see his ability as an actor, says father and veteran actor Pankaj Kapur.
NEW DELHI: It is an actor's skills and not his looks that define him, believes veteran actor Pankaj Kapur, who says he recognised his son, actor Shahid Kapoor's potential when people in the film industry only saw him as a "chocolate hero".
Shahid, who made his Bollywood debut with 2003's "Ishq Vishk", established himself as a leading man with romantic comedies and dramas like "Fida", "Chup Chup Ke", "Vivah", "Jab We Met", among others.
"Not just because he is my son, but as a colleague, as an actor, I could see the potential in him even 10 years back at the time when he was only being judged as a good-looking chocolate hero," Pankaj Kapur, told PTI in an interview.
While Shahid received mixed reviews for his latest "Kabir Singh", father Kapur was all praise for his performance and said people have now started recognising his ability to act.
ALSO READ: He is flawed, so are we all: Shahid Kapoor on 'Kabir Singh'
"I said it 10 years back that he is a dramatic actor and as time will pass, people will see his ability as an actor. And now suddenly people have started recognising ,'oh he can do this, he can do that'. When an actor gets an opportunity to do things only then can he prove his mettle," the 'Maqbool' actor said.
According to Kapur, it is the ability of a person as an actor that "sustains him rather than anything else".
ALSO READ: Shahid Kapoor comments on 'Kabir Singh' misogyny allegations
"We have had examples in our industry of people working for 30-40 years because of their ability to act. Your looks leave you after a point, you don't look the same way you did when you were in your 20s or 30s," he said.
"After that you have only your ability to show," he added.
The father-son duo have worked together in "Shaandaar" and "Mausam", which was directed by Kapur.


settings_remote
じたばた丸 操船コントローラ
perm_scan_wifi
no message
sync_disabled
---
keyboard_arrow_up
keyboard_arrow_left
keyboard_arrow_right
undo
pause
redo
keyboard_arrow_down


Fogify in Docker-compose
Execution
To ease the installation of Fogify, we created a docker-compose file that contains a dockerized version of Fogify connected with a Jupyter server, which is used as a web-based GUI. Since, the Fogify and Jupyter stack is provided as dockerized services, we only need to run the following command at the swarm master node.
sudo docker-compose -p fogemulator up
ui
service
where the system outputs the url
and the token
For instance, in previous output we can open the Jupyter interface with the following url:
http://<IP_ADDRESS>:8888/?token=1cd2e914cd03e76d551a666cb0a8dcdb6361bc29ddf54eed
If we have more nodes in the cluster, we have to execute the following command on every node.
sudo docker-compose -p fogemulator up agent cadvisor
For both modes, users should provide a set of parameters to compose file (written in .env file), specificaly:
MANAGER_NAME=.... #The name of the swarm master node
MANAGER_IP=<IP_ADDRESS> #The IP of the swarm master node
HOST_IP=<IP_ADDRESS> #The IP of the host
CPU_OVERPROVISIONING_PERCENTAGE=... # A percentage of cpu over provisioning 0-100
RAM_OVERPROVISIONING_PERCENTAGE=... # A percentage of memory over provisioning 0-100
CPU_FREQ= ... # The frequency of the underlying CPU
VERSION=.... #The version of Fogify
Docker-compose file
Next, we have the docker-compose file of Fogify system. The fogify
and fogify-jupyter
are images upload to docker-hub.
version: '3.7'
services:
ui:
image: fogemulator/fogify-jupyter:${VERSION}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
ports:
- 8888:8888
environment:
- "JUPYTER_ENABLE_LAB=yes"
- "GRANT_SUDO=yes"
user: root
controller:
build: .
image: fogemulator/fogify:${VERSION}
entrypoint: [ "python", "/code/fogify/main.py", "--controller"]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
ports:
- 5000:5000
extra_hosts:
- ${MANAGER_NAME}:${MANAGER_IP}
agent:
image: fogemulator/fogify:${VERSION}
entrypoint: [ "python", "/code/fogify/main.py", "--agent", "--agent-ip", "${HOST_IP}"]
extra_hosts:
- ${MANAGER_NAME}:${MANAGER_IP}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /proc/:/proc/
- /var/run/docker/:/var/run/docker/
- /sys/class/net/:/sys/class/net/
- /usr/bin/nsenter:/usr/bin/nsenter
- /lib/modules:/lib/modules
- /sbin/modprobe:/sbin/modprobe
privileged: true
cap_add:
- ALL
depends_on:
- cadvisor
- controller
ports:
- 5500:5500
environment:
CONTROLLER_IP: ${MANAGER_IP}
cadvisor:
image: gcr.io/google-containers/cadvisor:v0.35.0
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
ports:
- 9090:8080
expose:
- 8080


{% extends "ONS.html" %} {% block pageTitle %} Web Form Email {% endblock %} {% block beforeContent %} Back {% endblock %} {% block content %}
Click on the button at the bottom of this page to open the chat form.
Note that the button and the form is fixed - they will always be positioned to the bottom of the browser window.


{% extends "base.html" %}
{% block title %}Player Example - SportTech IQ{% endblock title %}
{% load static %}
{% block headscript %}
{% endblock headscript %}
{% block content %}
Player Comparison
Comparison:
Latest Skill Challenge
Shooting
| |
1-5 stars (5 highest)
|
| PK |
|
| On run Right foot |
|
| On run Left foot |
|
| Finish Right foot |
|
| Finish Left foot |
|
| Shooting IQ: 32 |
Passing
|
|
1-5 stars (5 highest)
|
| Long Right Foot |
|
| Long Left Foot |
|
| Cross Right Foot |
|
| Cross Left Foot |
|
| Side Pass Right foot |
|
| Side Pass Left foot |
|
| Weighted Pass Right foot |
|
| Weighted Pass Left foot |
|
| Throw-in inside box |
|
| Throw-in between far cones |
|
| Passing IQ: 29 |
Dribbling
| |
1-5 stars (5 highest)
|
| Speed Dribble Both Feet |
|
| Dribble Right foot |
|
| Dribble Left foot |
|
| Dribble 3-Cone |
|
| Dribbling IQ: 81 |
Control
| |
1-5 stars (5 highest)
|
| Thigh |
|
| Foot |
|
| Taps |
|
| Control IQ: 17 |
Skill IQ: 26
{% endblock content %}
{% block custom_scripts %}
{% endblock custom_scripts %}


KILLER KLOWNS FROM OUTER SPACE A film review by Craig Good Copyright 1989 Craig Good
Last night I spotted an unusual title on the "horror" rack of my neighborhood video rental place, and decided to give it a whirl. KILLER KLOWNS FROM OUTER SPACE turns out to be a real kick. It's really much more than you'd expect from a low budget horror/comedy.
The Chiodo brothers serve up some original, eye-catching art direction in this wonderfully twisted flesh-eating aliens story. The character design of the malevolent bozos is a hoot. I like the spacecraft that looks just like a circus tent. I like the gun that shoots popcorn. I like the cotton candy cocoons in which they encase their victims.
Sure the acting is bad. So's a lot of the dialogue. (Although I do like the line the punk in jail gets after watching an incarcerated klown dispatch a pesky cop: "So. What're you in for?") The important thing is that what little money there was went into the right places. The pace is pretty good once it gets going, and the whole thing seems remarkably fresh. A lot of imagination went into figuring out new ways for the grotesque gang to take their victims. And you get all of this in a PG-13 package with no nudity and no buckets of blood. KILLER kLOWNS FROM OUTER SPACE is rather refreshing, in its own perverse way.
Check it out.
--Craig ...{ucbvax,sun}!pixar!good
.
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


Eons ago a baby named William was born under a full moon amidst the first spring harvest. Due to an abnormal and luxurious volume of flowing midnight black hair he was hailed as a god amongst his people. With his known universe in the palm of his tiny hands, he went forth into the world to forge his path.
As the years rolled on civilizations and societies crumbled to his will…
Until the two thousand and nineteenth year of Anno Domini…
After growing increasingly fatigued by his role in society he plotted a move to the manipulation and creation of computational programs. As he filled out the paperwork to apply himself to a new society dubbed Code Fellows, he accidentally added an ’s’ to his name. Thus…Williams the Code Fellows software developer in training was reborn.
On one particularly pristine autumn day Pratiibh found himself traversing a vibrant section of untouched woodland. He decided to take a moment to bask in the golden beams of sunshine dancing through the soft blue afternoon sky.
In the blink of an eye he found himself shrouded in darkness. Furious storm clouds blotted out the sun and a tempest began to stir around him. A solitary strike of arterial lightning cracked the storm wide open and a flash of lightning struck the crown of his head. In an instant the world around him snapped shut.
Weeks later he awoke in an alternate universe in a location called the Ada Lovelace classroom. Initially confused, he found he was enamored with the course material and although he missed his home universe, he made his peace in being given an opportunity to entertain his new passion.
After being relentlessly trained in hand to hand combat and thoroughly versed in arts and sciences, Melissa was hailed as a once-in-a-generation level prodigy. The remote island fortress where she was raised was ruthless, and yet, Melissa found herself effortlessly surpassing her mentors and masters.
Barely on the cusp of adulthood, she left all that she had known in a quest for a true challenge. After years of disappointment and on the verge of hopelessness, she placed her foot upon the concrete gray floor of the Code Fellows offices in the 3rd and Broad Building in Seattle, WA. Her skepticism was met head on by the full force of intermediate level JavaScript. Tears of joy flooded her eyes as she had truly found a challenge worthy of her gifts.
Feeling inspired, she submitted her application towards a bright and hopeful future in software engineering.
Joanna believed wholeheartedly in the law until the law stopped returning the favor. On one fateful starry night, Joanna decided on a dockside stroll along the local waterfront. Her hand moved to her bag to retrieve her favorite pineapple lumps that she had packed before leaving her apartment hours earlier. As her fingers clasped empty space in her bag, her heart sunk. Her pineapple lumps were gone. Her eyes paced the wooden planks of the dock, desperate to find the heartless thief.
Seemingly out of thin air a small child trotted by holding a half opened wrapper of pineapple lumps.
“Give those back!” Joanna cried.
The sweet and bitter aroma of stolen pineapple lumps clung to the child’s words as he said, “Finders keepers, lame-o!”
In a frenzy Joanna called to a nearby police officer to arrest the child. The officer merely turned his back and pretended to see nothing.
Joanna had given years of her blood sweat and tears toward upholding and defending the law, and yet, it had betrayed her.
The next morning she made her way back to the docks, only this time she boarded a boat to Seattle, WA. The duration of the journey was spent researching a career change and the choice was simple. She would pursue software development.
 Villages and citizens of powerful nations suffered and bent to the will of these magicians, commonly referred to as blight mages. Groups of these mages began to band together in an effort to dominate regions and, ultimately, the world. Most prominent was a group named The Esqool. They ruthlessly harvested innocent souls to fuel their own magic.
One day they stumbled upon a seemingly insignificant village named Dene. To the bewilderment of the Esqool, the villagers were nonplussed at the sight of mages and carried on with their day. The Esqool were not accustomed to having to work up fear and intimidation. This was something that had come naturally to them for hundreds of years now. The Esqool began threatening horrific pain and misery upon the villagers if their presence continued to be ignored.
“Wut..?” Said the Dene people with blank looks upon their face.
The Esqool deliberated amongst themselves and they were certain. These people were literal fools. Each and every one of them.
Suddenly the Esqool’s robes began pluming burgundy smoke and their bodies began to dissolve. After years of near invincibility, this village of fools had revealed their greatest secret…
Without fear, the Esqool were nothing. In a last ditch effort, the Esqool used their remaining power to perform a spell that would bind the Dene fools into one body and cast them millennia into the future.
Many years later a boy named Denevan came to consciousness.  He stumbled his way through life until one day determining that with the combined intelligence of all the villagers he was just barely capable of learning computer programming. He enrolled at Code Fellows a few days later.


Project Zero
Home
(current)
About
Links
Contact
Contact
Have a question? Reach out!
First Name
Last Name
Email
Message
Submit


Tests
Browser:
Check tests in the console.
Common:
cd
to the
package
and run:
$
npm install
# Install dependencies.
$
grunt aok
# Run tests.


He can’t be ordinary any more. Born in an ordinary family, he lived a regular life as his peers–going to school, studying, playing, and growing up day by day in plain times. If you want to find anything special about him, it is his obsession with history. In his primary school, when the other boys were running around the streets holding transformers and simulation pistols, he was alone squatting in the dim light of the kitchen to read one thick book of history after another voraciously.
Time flies and how fleeting it is. After the college entrance examination, he entered an ordinary university. University life was not as colorful as he imagined–a lot of spare time and the uncertain future made these “children of fortune” helpless, not knowing how to live. As a result, most people spent their time in love and online games, muddling along. But he was an alternative, never falling in love, playing games, or strolling along the streets with classmates. As long as he had time, he would plunge into the history books, never getting tired of it.
Time passed quickly. Four years of college life soon ended, and he was successfully admitted to the civil service, and began the boring life from day to day, year after year.
His office colleagues chose to pass the time reading the newspaper and chatting once they had time. However, in the eyes of all he, an introvert, was still an alternative, writing quickly in excitement to record some interesting historical stories when there was no work.
After work, he had few recreational activities. It wasn’t that he wouldn’t, but he really hated those meaningless entertainments of eating and drinking. He was more willing to shut himself in the narrow room, immersed in the history of the past where flashed with knives and swords, and regarded honour and riches as floating clouds. He always felt that his life could not be spent in such frivolous hours, and one day he was determined to write a book. Over the next few days, he began to interpret an ancient history in his own language. However, the great loneliness also let him suffocate, and sometimes, he stopped writing, and rode a bike to stroll around in a night market, buying nothing, just because he was too lonely, he just wanted to dispel loneliness in his heart in the crowd.
In this way, he completed in his on-and-off spare time a network novel of hundreds of thousands of words—“What Happened in Ming Dynasty”, which became popular quickly in a short time. His unique view of history and rich historical knowledge, and the playful ridicule language caused a great sensation in the readers, and publishers were scrambling to sign contracts with him. The small civil servant, whose net name was “Bright Moon That Year”, got popular overnight all over the country, shocking all his friends and colleagues who stayed together morning and night with him.
When it came to his success, he laughed and said,”I work harder than those more talented; I am more talented than those who work harder; those people who are talented and work harder than me can not endure like me. While they are killing time, I keep on trying.”
Now, his classmates and colleagues are still unknown, and he has been a great success, the mystery of which makes people ponder.
Killing time is just another way of saying that time kills you. People with high aspirations will cultivate their dreams in plain, trivial times, seize the time to enrich themselves, and create opportunities. In the end, they will reap success when others lament that life is too dull.  If you seize the time, you will surely succeed.


Redmi Note 8 Pro gets MIUI 11 stable beta across China, Indonesia and India
by MichailLast month Xiaomi released its list of devices which will receive MIUI 11. Back then, the Redmi Note 8 Pro was scheduled to get the firmware update in December, and now users in India are reporting that the stable beta build of MIUI 11 is already being seeded to their devices. Prior to that Chinese and Indonesian users also received the update.
The stable beta is a term used by Xiaomi to describe what other makers typically call Golden Master or Release candidate versions. It should have all the bugs fixed and unless new ones are found at the last minute, it will be more or less identical to the final release.
The new update comes with build number <IP_ADDRESS> and also brings the October security patch. It weighs in at 587MB but unfortunately is still based on Android 9, rather than Android 10.
Nevertheless, it brings all the new MIUI 11 features like improved gestures, documents preview and Mi Share alongside the new UI design elements and system sounds. The full stable MIUI 11 build is still expected to arrive in December.


MMA SQUARED: Three years ago, Conor McGregor taught the world that charisma matters more than anything
by Chris RiniI always wanted to make an elaborate piece that mimicked stained glass, which would feature Conor McGregor holding two belts atop the octagon while in a lower panel Eddie Alvarez slumps in a throne with his various championship belts piled on top of each other. The intended message was to be that McGregor’s two belts attained such accolades while Alvarez’s arguably more storied career is passed over because he is outshined by McGregor’s star power (those dangling things were supposed to be roots).
As each day ticks by, McGregor’s star dims a bit more. He hasn’t won a fight in three years and his reputation, while not shattered, hinges on beating some heinous charges. I’ll have to wait until the dust settles to see what the real story is, how each man will be remembered and how their legacies hold up to the test of time before trying to tell any kind of artistic story.
Take care of yourself and I’ll talk to you tomorrow.
Chris


* Update the blue text as desired. Produces a printout (or save-as pdf) of your customized persona "Abi (Abigail/Abishek)"
Abi has always liked music. When she is on her way to work in the morning, she listens to music that spans a wide variety of styles. But when she arrives at work, she turns it off, and begins her day by
scanning all her emails first to get an overall picture before answering any of them.(This extra pass takes time but seems worth it.) Some nights she exercises or stretches, and sometimes she likes to play computer puzzle games like Sudoku
Abi works as an accountant. She is comfortable with the technologies she uses regularly,but she just moved to this employer 1 week ago,and
their software systems are new to her.
Abi says she's a "numbers person", but she has never taken any computer programming or IT systems classes.
she likes Math and knows how to think with numbers.She writes and edits spreadsheet formulas in her work.
In her free time,
she also enjoys working with numbers and logic.she especially likes working out puzzles and puzzle games, either on paper or on the computer.
* For best results print in "Landscape" Layout


Related Projects
If you landed here, you should also check out the great work over at ReduxKit, which brings the original Redux API to Swift. We all agree that collaboration and sharing of idea’s will be beneficial to both projects. Go check it out. Feedback on both projects would be appreciated.
Table of Contents
- About Swift Flow
- Why Swift Flow?
- Getting Started Guide
- Installation
- Testing
- Demo
- Extensions
- Example Projects
- Credits
- Get in touch
About Swift Flow
This library is a pre-release. Expect missing docs and breaking API changes.
Swift Flow is a Redux-like implementation of the unidirectional data flow architecture in Swift. It embraces a unidirectional data flow that only allows state mutations through declarative actions.
It relies on a few principles: - The Store stores your entire app state in the form of a single data structure. This state can only be modified by dispatching Actions to the store. Whenever the state in the store changes, the store will notify all observers. - Actions are a declarative way of describing a state change. Actions don’t contain any code, they are consumed by the store and forwarded to reducers. Reducers will handle the actions by implementing a different state change for each action. - Reducers provide pure functions, that based on the current action and the current app state, create a new app state
For a very simple app, that maintains a counter that can be increased and decreased, you can define the app state as following:
struct AppState: StateType {
var counter: Int = 0
}
You would also define two actions, one for increasing and one for decreasing the counter. In the Getting Started Guide you can find out how to construct complex actions. For the simple actions in this example we can define empty structs that conform to action:
struct CounterActionIncrease: Action {}
struct CounterActionDecrease: Action {}
Your reducer needs to respond to these different action types, that can be done by switching over the type of action:
struct CounterReducer: Reducer {
func handleAction(var state: AppState, action: Action) -> AppState {
switch action {
case _ as CounterActionIncrease:
state.counter += 1
case _ as CounterActionDecrease:
state.counter -= 1
default:
break
}
return state
}
}
In order to have a predictable app state, it is important that the reducer is always free of side effects, it receives the current app state and an action and returns the new app state.
Lastly, your view layer, in this case a view controller, needs to tie into this system by subscribing to store updates and emitting actions whenever the app state needs to be changed:
class CounterViewController: UIViewController, StoreSubscriber {
@IBOutlet var counterLabel: UILabel!
override func viewWillAppear(animated: Bool) {
mainStore.subscribe(self)
}
override func viewWillDisappear(animated: Bool) {
mainStore.unsubscribe(self)
}
func newState(state: AppState) {
counterLabel.text = "\(state.counter)"
}
@IBAction func increaseButtonTapped(sender: UIButton) {
mainStore.dispatch(
CounterActionIncrease()
)
}
@IBAction func decreaseButtonTapped(sender: UIButton) {
mainStore.dispatch(
CounterActionDecrease()
)
}
}
The newState
method will be called by the Store
whenever a new app state is available, this is where we need to adjust our view to reflect the latest app state.
Button taps result in dispatched actions that will be handled by the store and its reducers, resulting in a new app state.
This is a very basic example that only shows a subset of Swift Flow’s features, read the Getting Started Guide to see how you can build entire apps with this architecture.
Why Swift Flow?
Model-View-Controller (MVC) is not a holistic application architecture. Typical Cocoa apps defer a lot of complexity to controllers since MVC doesn’t offer other solutions for state management, one of the most complex issues in app development.
Apps built upon MVC often end up with a lot of complexity around state management and propagation. We need to use callbacks, delegations, Key-Value-Observation and notifications to pass information around in our apps and to ensure that all the relevant views have the latest state.
This approach involves a lot of manual steps and is thus error prone and doesn’t scale well in complex code bases.
It also leads to code that is difficult to understand at a glance, since dependencies can be hidden deep inside of view controllers. Lastly, you mostly end up with inconsistent code, where each developer uses the state propagation procedure they personally prefer. You can circumvent this issue by style guides and code reviews but you cannot automatically verify the adherence to these guidelines.
Swift Flow attempts to solve these problem by placing strong constraints on the way applications can be written. This reduces the room for programmer error and leads to applications that can be easily understood - by inspecting the application state data structure, the actions and the reducers.
This architecture provides further benefits beyond improving your code base:
- Stores, Reducers, Actions and extensions such as Swift Flow Router are entirely platform independent - you can easily use the same business logic and share it between apps for multiple platforms (iOS, tvOS, etc.)
- Want to collaborate with a co-worker on fixing an app crash? Use Swift Flow Recorder to record the actions that lead up to the crash and send them the JSON file so that they can replay the actions and reproduce the issue right away.
- Maybe recorded actions can be used to build UI and integration tests?
The Swift Flow tooling is still in a very early stage, but aforementioned prospects excite me and hopefully others in the community as well!
Getting Started Guide
A Getting Started Guide that describes the core components of apps built with Swift Flow lives here. It will be expanded in the next few weeks. To get an understanding of the core principles I recommend reading the brilliant redux documentation.
Installation
Cocoapods
You can install Swift Flow via CocoaPods by adding it to your Podfile
:
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'SwiftFlow'
And run pod install
.
Carthage
You can install Swift Flow via Carthage by adding the following line to your Cartfile:
github "Swift-Flow/Swift-Flow"
Checking out Source Code and Running Tests
Due to an issue in Nimble at the moment, tvOS tests will fail if building Nimble / Quick from source. You can however install Nimble & Quick from binaries then rebuild OSX & iOS only. After checkout, run the following from the terminal:
carthage bootstrap && carthage bootstrap --no-use-binaries --platform ios,osx
Demo
Using this library you can implement apps that have an explicit, reproducible state, allowing you, among many other things, to replay and rewind the app state, as shown below:
Extensions
This repository contains the core component for Swift Flow, the following extensions are available:
- Swift-Flow-Router: Provides a SwiftFlow compatible Router that allows declarative routing in iOS applications
- Swift-Flow-Recorder: Provides a
Store
implementation that records allAction
s and allows for hot-reloading and time travel
Example Projects
- CounterExample: A very simple counter app implemented with Swift Flow. This app also demonstrates the basics of routing with SwiftFlowRouter.
- Meet: A real world application being built with Swift Flow - currently still very early on.
Contributing
There’s still a lot of work to do here! I would love to see you involved! Some design decisions for the core of Swift Flow are still up in the air (see issues), there’s lots of useful documentation that can be written and a ton of extensions and tools are waiting to be built on top of Swift Flow.
I personally think the best way to get started contributing to this library is by using it in one of your projects!
Credits
- Thanks a lot to Dan Abramov for building Redux - all ideas in here and many implementation details were provided by his library.
Get in touch
If you have any questions, you can find me on twitter @benjaminencz.


H.B. Woodrose Seeds
Here is my experience with HBWR. I obtained a packet of seeds from an online botanical company, and proceeded to scrape them clean, and ingest them by chewing them the best I could, and washing them down with a cup of water. The taste was a light, nutty flavor, and not specifically bad.
The first effect I noticed, was an increased 'brightness' to everything.  I have no experimented with LSD or mushrooms, but the effects were similar to descriptions of those substances. Mostly, the effects were mild. Soon, however, I noticed my stomach was feeling quite upset indeed. After about and hour, I became VERY ill. I vomited about seven times over the next few hours.
The high took a turn for the worse. Insted of a happy brightening of my surrondings, I was overcome by a terrible feeling of anxiety and urgency, like the feeling you get when your in deep trouble, or before a scary ride at the amusement park. this lasted throughout the trip. I felt hot and sweaty, with an itchy tingling feeling all over my body, and inside my throat and nasal cavity. I slept for about 3 hours, and woke up several times to vomit.
Overall, I can only describe this experience as being poisoned. Any high I had, or any interesting effects can be achieved better by drinking drano. I will never take this substance again, I was in a state of misery for about 6 hours. Please, if you must try this, use a LOW dose, this will lessen your pain later.
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.


[% page.import({ title => 'Support', section => 'support', description => 'Support for DBI and Database programming with Perl', }); %]
Very low volume moderated mailing list for announcements such as new releases of the DBI and driver modules.
Medium volume mailing list for general discussion of DBI issues.
Mailing list for developers of DBI drivers etc. (This is not the place for users to report problems with the DBI or drivers. Use the dbi-users list for that.)
Professional commercial annual and multi-annual support agreements are available from the author of the DBI, through his consulting company. These offer a first-class support and consultancy service for you, and long-term support for ongoing DBI development. Contact Tim Bunce for details.


Let's work on creating our first git
repository.
In this tutorial, all shell commands that you should type in the terminal will be prefixed with >
not the $ we used in Introduction to CLI.
For this tutorial, all commands that you should type in your terminal will be prefaced with
>
.
Let's say our project is to analyze 311 data from New York City.
If you already have a nyc_311 directory then ignore the instruction above.
First we'll make a directory for our project called nyc_311
and then change directories to our new nyc_311
directory:
> mkdir -v nyc_311
> cd nyc_311
The -v
flag after mkdir
produces verbose output, which means that you'll see the results of the command displayed. You should see mkdir: created directory 'nyc_311'
, so you know that the command did what you intended.
Now let's initialize the git repository using the command git init
. (You'll notice that all git
commands have the format git <verb>
.)
> git init
One of the things git init
does is create a .git
directory. To see this, we can list all the files in this directory using the ls
command. We include the -a
flag to tell the command to display hidden files, or those that begin with a .
, in the list.
> ls -a
. .. .git/
We see that there is now a .git
directory in the nyc_311
directory. Unless you really know what you are doing DO NOT EVER modify anything in this directory. If you delete this directory, the entire history of your project will be gone.
All good projects should have a "README" describing the purpose and organization of the project, so let's start with that. Fire up your favorite text editor and create a file named README.md
. The .md
means this file will be read as markdown
, which allows us to format the text programmatically. Here's a basic example of a README.md
:
# Exploring 311 Calls in NYC
## Description
This repo is for an analysis of 311 calls in NYC using Python 2.7.
When you're first starting a project, there's a good chance you won't have much more to add, and that's OK. Notice that we do have a title, a short description of the project, and a list of the software the project required, also known as the dependencies. It's a good idea to keep updating both the description and dependencies as your project grows and evolves.
The #
here don't signify hashtags or comments - they are part of markdown
syntax, and they designate headings.
Now let's look at the status of our repo using git status
:
> git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
git status
tells us which branch we are on, which files are being tracked, and which files are present that aren't being tracked. We see our new file README.md
listed under Untracked files
- git
sees that we've added something, but doesn't know whether it should be logged as part of our project. When we create a new file, we need to tell git
to start tracking it. Like the command suggests, let's use git add
to track README.md
.
> git add README.md
Now let's invoke the command git status
again.
> git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
Now that we have added the file, it has been "staged" to be committed. We can now make our first commit!
> git commit
When you invoke the git commit
command, an editor should pop up. This is for you to write your commit message, a message that provides the context of what you did and why you did it. Anyone can look at a commit and examine what was changed; you might look at a commit message to find where you changed a certain file, or your collaborator might read it before incorporating your changes into the shared version of the project.
Give some thought to what you write here - good commit messages lead to a usable git
log, and separate novice git
users from competent practitioners. Generally, you should follow these guidelines in a commit message:
First line is a one-line summary (fewer than 80 characters) of the commit. It should be in title case and written in the imperative voice. A good rule of thumb: If applied this commit will,
Second line should be blank.
Third (and subsequent) lines should include more details of the commit.
My commit message is the following:
Check in README file
* Added short description of the project
* Added python2.7 as a dependency
Now that we have made our first commit we can examine our log using git log
!
> git log
* commit aaf89fd77e9b43d99fe32823843a7519b2108c90
Author: Clark Kent<EMAIL_ADDRESS>Date: Sat Nov 05 13:45:11 2016 -0600
Check in README file
* Added short description of the project
* Added python3 as a dependency
The long string of characters in the first line is a unique identifier for your commit. You can use this identifier to switch back to this specific version of your project in the future. The second line is who made the commit. The third line gives the date and time. Everthing that follows is the commit message.
To see only the titles of commit messages, you can use git log
with the --oneline
option:
> git log --oneline
There are many other options to the git log
command; explore the documentation to find which ones suit your needs. Here's one combination we recommend (check it out!):
> git log --oneline --graph --all --decorate
Now you know how to add a file to your project using git
. What if you want to get rid of something? You can remove files from your repo using git rm
:
> git rm FILENAME
> git rm -r DIRECTORY
Note that when you remove a file using git
, you can still go back to a previous commit before you removed the file and recover that file. This is different than simply using the command rm
, which permanently erases the file.
You'll also have to tell git
if you want to rename a file using the git mv
command, because renaming a file is basically moving it to a new location. For example, to change the name of a file from OLD
to NEW
:
> git mv OLD NEW
git rm
and git mv
will stage the changes, so after invoking one of these commands, you can just commit
your changes without using git add
again.
We have our first commit and repo! Now we're ready to write some code!


This is some uptitle
This is some Title
This is some subtitle
zoom
Randomizer V1
By Ismael Villegas, 29/01/2020, ~4 hours of work.
This is a single-page application. You can download it to save your settings and options.
Learn more about my work here


Just Forgot that I had to mention something about someone to someone about how I forgot something, but now I forgot it. Ahh, forget it! Or wait. I remember.... no I don't.
Recent Podcast
Mike
Jill
Jane
Recent Comments
John Sep 29, 2014, 9:12 PM
Keep up the GREAT work! I am cheering for you!! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.


WeatherNow
TM
14
°
Today is a rainy day
Don't forget an Umbrella
Monday, 31 August 2021
San Fransisco, USA
David Domato
San Fransisco
Weather Details
Cloudy
68%
Humidity
68%
Wind
68%


Hello World Command Line
Edit"Hello World" is a common example of getting started with programming, here we will show you how to add Hello World with HaxeFlixel's FlxText
. You can compile this test for any supported target platform.
Using the command line with HaxeFlixel is made easier with our custom built flixel-tools utility, also made with Haxe.
Installation of flixel-tools
You first need to install and setup flixel-tools - please refer to this guide for doing so.
Create a new HaxeFlixel Project Template
HaxeFlixel requires a basic structure of files for any project that you can automatically create with the template
command (tpl
for short).
flixel tpl -n "HelloWorld"
You will now see a new folder named "HelloWorld" with all the files for your project being created automatically.
Add the "Hello World" FlxText
Adding the text is as simple as opening the MenuState.hx
file in the newly created source folder.
The file will look like this:
package;
import flixel.FlxG;
import flixel.FlxSprite;
import flixel.FlxState;
import flixel.text.FlxText;
import flixel.ui.FlxButton;
import flixel.math.FlxMath;
class MenuState extends FlxState
{
override public function create():Void
{
super.create();
}
override public function update(elapsed:Float):Void
{
super.update(elapsed);
}
}
All you need to do is add the following in the create()
function:
add(new FlxText(0, 0, 0, "Hello World!"));
Save the file and return to your command line window. Now we can compile the project.
Without running the lime setup commands you can compile to Flash and Neko out of the box.
Test your project from the following commands:
lime test flash
lime test neko
If you struggled through any part of this tutorial, ask a question on our forum :)


PRODUCT
Copyright (c) 2006 Nick Bentley
rules adaptation by Joćo Neto & Bill TaylorProduct is played on an empty 5x5 hexagonal board:
- GROUP - A connected chain of friendly stones.
- TURN - Initially, Black drops one stone of either color, then for the remaining turns players drop two stones of either color.
- GOAL - After the board is full, wins the player with the higher product between its two largest groups.
- If both products are equal, wins the player with less stones on board (note: draws are impossible).
An example Black's turn. Right now he has 21 points (7 stones for his largest group, and 3 stones for the 2nd largest. He decided to connect the largest group with the isolated stone (moves [1]). With this move he gets 30 points.
However that was a bad move. Now White simply plays two black stones at [2] connecting all black stones into a single group. So, the actual score for Black is not zero (his 2nd largest group does not exist, ie, is made of zero stones).
It will be impossible for Black to create another isolated group without White's help.
Check the author's blog: http://nickbentleygames.wordpress.com/2013/01/11/produto-game-published/


Repositories for Private Development of Public Course Content
For course material development, some content such as homework solutions need to be kept private (at least temporarily). This note explains how two repositor...
For course material development, some content such as homework solutions need to be kept private (at least temporarily). This note explains how two repositories can be used in concert to simplify private development of public course content.
The material on this page has been adopted and expanded from this posting
Suppose you have two Github repositories:
https://github.com/username/public-repo.git
https://github.com/username/private-repo.git
The public repo will be open to the students, whereas the private repo will be used for development and testing (shared with TAs etc.)
Create a local repository and set target repositories
mkdir ~/local-repo && cd ~/local-repo
git init
git remote add public https://github.com/username/public-repo.git
git remote add private https://github.com/username/private-repo.git
Add first public file in master
branch and push to public-repo
:
# cd ~/local-repo && git checkout master
echo "README" >> README.md
git add README.md
git commit -m"first commit"
git push public master
git push private master
Now, public-repo/master
and private-repo/master
on Github are identical.
Create a local development branch: private-branch
# cd ~/local-repo && git checkout master
git checkout -b private-branch
echo "handout" > homework1-handout.md
echo "solutions" > homework1-solution.md
git add homework1-handout.md homework1-solution.md
git commit -m"private development"
git push -u private private-branch
Here private-branch
branch syncs with private-repo/private-branch
(remote branch name defaults to private-branch
)
Do not merge
but checkout
relevant files into public-repo/master
:
# cd ~/public-repo && git checkout master
git checkout private-branch homework1-handout.md
git add homework1-handout.md
git commit -m"release homework1"
git push
Note the line git checkout private-branch homework1-handout.md
overwrites (or creates) homework1-handout.md
in public-repo/master
.
A local branch (you would like to keep private) can have any name. For example, create a local branch named new-branch
to sync with private-repo/private-branch
:
# cd ~/public-repo && git checkout master
git checkout --orphan new-branch
git pull private private-branch
# make some changes
git push private new-branch:private-branch
Any changes in new-branch
branch will now push to private-repo/private-branch
.
Note: upstream tracking doesn’t seem to stick with ‘-u’.
push
behavior (Optional)To me, the default behaviors of git pull
and git push
are strange. I kept on using git push [remote] [branch]
above because even setting upstream with -u
does not behave as I expect it to.
However, configuring git config push.default upstream
seems much more intuitive to me.
Also, forcing checkout seems to simplify the process of cloning private/feature
to a new local branch and sets the upstream:
git config push.default upstream --local
git checkout -f -b new-branch private/feature
echo "fix problems" >> homework1-handout.md
git add -u
git commit -m"fix homework1-handout"
git push -v
Above will push our local new-branch
to private/feature
branch.
Clone public repository and add private repository as remote:
git clone https://github.com/username/public-repo.git ~/public-repo
cd ~/public-repo
# set local master branch to track public master branch
git remote rm origin # to explicitly differentiate public vs private repos
git remote add public https://github.com/username/public-repo.git
git push -u public master
Sync a local private-branch
with private-repo/private-branch
:
# cd ~/public-repo && git checkout master
git checkout --orphan private-branch
git remote add private https://github.com/username/private-repo.git
git pull private private-branch
echo "add solutions" >> homework1-solution.md
git add -u
git commit -m"modify homework 1 solution"
git push -u private private-branch
Check pushing is setup properly with a dry run: git push -n -v
If multiple people are working on this repository, multiple branches need to be created.
To create additional branches to the private repository, simply create a branch from private-branch
:
# cd ~/public-repo && git checkout private-branch
git checkout -b new-private-branch
echo "newfile" > newfile.txt
git add newfile.txt
git commit -m'adding a new file'
git remote add private new-private-branch
git push --set-upstream private new-private-branch
For course material development, some content such as homework solutions need to be kept private (at least temporarily). This note explains how two repositor...
Recently, a colleague pointed out that they would like to host R tutorial created with learnr package for their students. In this post, I describe a way to h...
In FY 2021 ASCR budget requests to the Congress, HP-CONCORD appeared as one of the program accomplishments. This is a part of the full budget request made by...
We received an NSF grant to train a new generation of data scientists through Central Coast Data Science Partnership! I feel privileged to be a part of the U...
Read the article about HP-CONCORD on NERSC Science News


As a self-sufficient, full stack web developer with years of experience managing teams and processes in agile environments I now look forward to writing code and building applications with an established team that values quality, collaboration, and customer satisfaction.
Designed and developed a full CRUD application that is home to a Formula Dé board game league. Gives league admins and members the ability to manage, store and track game results data. Utilizes security and role-based authorization to ensure data integrity.
(technologies used: Java, Spring Tool Suite, MySQL, Spring Security, Hibernate, JSP, Spring data-JPA, Bootstrap)
From a simple wireframe I developed a full CRUD application that allows users to manage their list of tasks. Features include: Login and Registration with front and backend validations, database queries to include and exclude data, sort data, store and retrieve data in session. Built in under 5 hours exceeding sponsor’s expectations.
(technologies used: Python3, Django ORM, BCrypt, Responsive web design, Bootstrap, Amazon EC2)
Designed and led development of a simple interactive, real-time card game--acting as the Product Owner and collaborating with two other developers. As the primary developer I used socket.io and an Express API to broadcast and emit to an Angular application for multiple players.
(technologies used: TypeScript, AngularJS, Express, Node, MongoDB, mongoose)
Led and coached team of 20+ Software Engineering professionals – with a focus on driving an automation transformation of engineering services.
Introduced customer-focused, agile delivery processes allowing scrum teams to gain competitive advantage in test automation frameworks accelerating innovation and decreasing regression testing from 2 weeks to 8 hours for the Enterprise platform and from 3 days to 6 hours for the Small Business platform.
Led team through transition from Waterfall to Agile methodologies and processes. Transformed organization and team cultures, engineering practices, and business engagement.
Built a highly effective QA team supporting the leading Small Business payment gateway in the U.S. Implemented the test automation team, its vision, and strategy.
Black Belt: Python
Red Belt: Java
Red Belt: MEAN
Serving others in my community is important to me whether it be at church, for local governments and community events, or for service organizations like the Boy Scouts of America. I especially enjoy serving children, youth, and those less fortunate than myself.
I enjoy being out of doors especially with a disc golf disc in my hand. I am currently in the process of designing and installing a 9-hole disc golf course for a church recreational facility. Eagerly volunteering my time and effort to coordinate and oversee the installation with various service groups.


1 Samuel 20:32
And Jonathan answered Saul his father, and said unto him, Wherefore shall he be slain? what hath he done?


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/brackets.20and.20.60by.60.html ---
λ x hx ε hε, ⟨x, hx, le_of_lt (by rwa [sub_self, abs_zero])⟩ λ x hx ε hε, ⟨x, hx, le_of_lt by rwa [sub_self, abs_zero]⟩ λ x hx ε hε, ⟨x, hx, le_of_lt begin rwa [sub_self, abs_zero] end⟩
Top and bottom one work, middle one doesn't. Middle one is the shortest :-(
Try $
before by
Though it will become as long as the first one.
How come I don't need the $
for begin end though?
Because that's the way the parser is defined? :upside_down:
I guess begin
and end
already behave something like a matching pair of parentheses
while by
doesn't come along with a matching end token
I don't know if that's really the reason though
Works with the $
, unsurprisingly.
I haven't looked at the lean grammar, but as by
is a keyword is should be possible to make it bind to the right with higher priority and have the middle one work.
\lam
and \forall
have the same problem
I find the top version more clear personally, but I also think it would make sense for by
to bind to the right.
Last updated: Apr 24 2020 at 19:02 UTC


Home
Book a table
Reservation
Select Day
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Select Hour
10: 00
12: 00
14: 00
16: 00
18: 00
20: 00
22: 00


SampleApp Backend ASP.NET Core RC2
Welcome to this API's landing page.
This is a sample Web API application using ASP.NET Core RC2 MVC.
GET all or POST new (/api/todo:)
GET, PUT or DELETE by id (/api/todo/{id}:)
Welcome to this API's landing page.
This is a sample Web API application using ASP.NET Core RC2 MVC.
GET all or POST new (/api/todo:)
GET, PUT or DELETE by id (/api/todo/{id}:)


public class NestedDoStatement
extends java.lang.Object
| Constructor and Description |
|---|
NestedDoStatement(java.util.List<DimensionDefinition> dimensions,
XcodeProgram xcodeml)
Constructs a group of nested do statements from a list of dimension
objects.
|
NestedDoStatement(Xnode outerDoStatement)
Constructs a group of nested do statements from the outer statement.
|
NestedDoStatement(Xnode outerDoStatement,
int nb)
Constructs a group of nested do statements from the outer statement with
maximum Nb do statements.
|
| Modifier and Type | Method and Description |
|---|---|
NestedDoStatement |
cloneNestedGroup()
Clone current nested group with all its elements.
|
int |
computeSwappingIndices(java.util.List<java.lang.String> newInductionVarOrder)
Compute the swapping indices for the new ordering.
|
Xnode |
get(int i)
Get statement at level i
|
java.util.List<java.lang.String> |
getInductionVariables()
Get all the induction variable in the nested do statement group.
|
Xnode |
getInnerStatement()
Get the inner do statements.
|
Xnode |
getOuterStatement()
Get the outer do statements.
|
int |
size()
Get the size of the group of nested do statements.
|
public NestedDoStatement(Xnode outerDoStatement)
outerDoStatement
- Do statement on the outer level.public NestedDoStatement(Xnode outerDoStatement, int nb)
outerDoStatement
- Do statement node to start the nested group.nb
- Number of do statements. If nb ≤ 0 match all
possible nested do statement.public NestedDoStatement(java.util.List<DimensionDefinition> dimensions, XcodeProgram xcodeml)
dimensions
- A list of dimension objects.xcodeml
- The current XcodeML program unit in which the elements
will be created.public Xnode getOuterStatement()
public Xnode get(int i)
i
- Level index starts at 0 for outer do statement.public java.util.List<java.lang.String> getInductionVariables()
public int computeSwappingIndices(java.util.List<java.lang.String> newInductionVarOrder)
newInductionVarOrder
- List of induction variable in their new order.public Xnode getInnerStatement()
public int size()
public NestedDoStatement cloneNestedGroup()


Develop extensions faster by reloading your under-development extensions every time you load (or reload) a site.


QIH directors tell Garda Commissioner Drew Harris they 'continue to live in fear'
DIRECTORS of Quinn Industrial Holdings (QIH) have said they "continue to live in fear" following the brutal attack on their colleague Kevin Lunney.
The managers called for robust policing action and a cross-border task force after a meeting with Garda Commissioner Drew Harris.
In a statement, they criticised the policing response to a campaign of intimidation prior to the abduction of Mr Lunney but welcomed "a recent increase in resourcing".
"Progress is being made. Last Friday was the first time since QIH's establishment almost five years ago that its management was not exposed to intimidatory signage or defamatory Facebook pages. The tragedy is that the impetus for this action was a violent attack on Kevin.
"However, QIH directors and their families continue to live in fear. The community and staff of QIH need to see positive action now to give them the confidence to speak out against those perpetrating this campaign of intimidation."
They also claimed a failure to bring those responsible to justice "would leave this peaceful community in a limbo status of fear and paralysis that would undermine the local economy and the rule of law and order in this region".
PSNI chief constable Simon Byrne yesterday rejected suggestions those targeting QIH executives were operating with impunity in policing "no-go" areas.
He acknowledged that people will ultimately judge the police response to the brutal attack on Mr Lunney on whether they make arrests but said patrols had been stepped up.
"I've spoken to officers that patrol that area. They don't, they would not recognise that there are no-go areas - not just in the border, but frankly, right across Northern Ireland."
However, Fianna Fáil leader Micheál Martin claimed yesterday that the "rule of law has gone" on both sides of the border.
"The state is not in control and hasn't been in control for some time and criminality rages supreme," he told the Dáil.
He called for a new agency similar to the Criminal Assets Bureau (CAB) - set up following the 1996 murder of journalist Veronica Guerin - to tackle crime in the border region.
In response, Taoiseach Leo Varadkar said an additional 100 gardaí had been sent to the area in the past two years and armed Garda officers to Co Cavan.
"I'm not sure if a statutory agency is the best way for the gardaí and PSNI to work together," he said.
"An agency would take a long time to establish but I certainly wouldn't rule it out.
"I think the best thing they can do is to work together in a practical way."


Why doctest.js is better than Python’s doctest
I’ve been trying, not too successfully I’m afraid, to get more people to use doctest.js. There’s probably a few reasons people don’t. They are all wrong! Doctest.js is the best!
One issue in particular is that people (especially people in my Python-biased circles) are perhaps thrown off by Python’s doctest. I think Python’s doctest is pretty nice, I enjoy testing with it, but there’s no question that it has a lot of problems. I’ve even thought about trying to fix doctest, and even made a repository, but I only really got as far as creating a list of issues I’d like to fix. But, like so many before me, I never actually made those fixes. Doctest has, in its life, only really had a single period of improvement (in the time leading to Python 2.4). That’s not a recipe for success.
Of course doctest.js takes inspiration from Python’s doctest, but I wrote it as a real test environment, not for a minimal use case. In the process I fixed a bunch of issues with doctest, and in places Javascript has also provided helpful usability.
Some issues:
Doctest.js output is predictable
The classic pitfall of Python’s doctest is printing a dictionary:
>>> print {"one": 1, "two": 2}
{'two': 2, 'one': 1}
The print order of a dictionary is arbitrary, based on a hash algorithm that can change, or mix things up as items are added or removed. And to make it worse, the output usually stable, such that you can write tests that unexpectibly fragile. But there’s no reason why dict.__repr__ must use an arbitrary order. Personally I take it as a bit of unfortunate laziness.
If doctest had used pprint for all of its printing it would have helped some. But not enough, because this kind of code is fairly common:
def __repr__(self):
return '<ThisClass attr=%r>' % self.attr
and that %r invokes a repr() that cannot be overridden.
In doctest.js I always try to make output predictable. One reason this is fairly easy is that there’s nothing like repr() in Javascript, so doctest.js has its own implementation. It’s like I started with pprint and no other notion existed.
Good matching
In addition to unpredictable output, there’s also just hard-to-match output. Output might contain blank lines, for instance, and Python’s doctest requires a very ugly <BLANKLINE> token to handle that. Whitespace might not be normalized. Maybe there’s boring output. Maybe there’s just a volatile item like a timestamp.
Doctest.js includes, by default, ellipsis: ... matches any length of text. But it also includes another wildcard, ?, which matches just one number or word. This avoids cases when the use of ... swallows up too much when you just wanted to get a single word.
Also doctest.js doesn’t use ... for other purposes. In Python’s doctest ...` is used for continuation lines, meaning you can’t just ignore output, like:
>>> print who_knows_what_this_returns()
...

X-Some-Header: foo
...
The way I prefer to use doctest.js it doesn’t have any continuation line symbol (but if there is one, it’s >).
Also doctest.js normalizes whitespace, normalizes " and ', and just generally tries to be reasonable.
Doctest.js tests are plain Javascript
Not many editors know how to syntax highlight and check doctests, with their >>> in front of each line and so forth. And the whole thing is tweaky, you need to use a continuation (...) on some lines, and start statements with >>>. It’s an awkward way to compose.
Doctest.js started out with the same notion, though with different symbols ($ and >). But recently with the rise of a number of excellent parsers (I used Esprima) I’ve moved my own tests to another pattern:
print(something())
// => expected output
This is already a fairly common way to write examples. Like how you may have read pre-Python pseudocode and thought: that looks like Python!: doctest.js looks like example pseudocode.
Doctest.js tests are self-describing
Python’s doctest has some options, some important options that effect the semantics of the test, that you can only turn on in the runner. The most important option is ELLIPSIS. Either your test was written to use ELLIPSIS or it wasn’t – that a test can’t self-describe its requirements means that test running is fragile.
I made the hackiest package ever to get around this in Python, but it’s hacky and lame.
Exception handling isn’t special
Python’s doctest treats exceptions differently from other output. So if you print something before the exception, it is thrown away, never to be seen. And you can’t use some of the same matching techniques.
Doctest.js just prints out exceptions, and it’s matched like anything else.
This particular case is one of several places where it feels like Python’s doctest is just being obstinate. Doing it the right way isn’t harder. Python’s doctest makes debugging exception cases really hard.
Doctest.js has a concept of "abort"
I’m actually pretty okay with Python doctest’s notion that you just run all the tests, even when one fails. Getting too many failures is a bit of a nuisance, but it’s not that bad. But there’s no way to just give up, and there needs to be. If you are relying on something to be importable, or some service to be available, there’s no point in going on with the tests.
Doctest.js lets you call Abort() and further tests are cancelled.
Distinguishing between debugging output and deliberate output
Maybe it’s my own fault for being a programming troglodite, but I use a lot of print for debugging. This becomes a real problem with Python’s doctest, as it tracks all that printing and it causes tests to fail.
Javascript has something specifically for printing debugging output: console.log(). Doctest.js doesn’t mess with that, it adds a new function print(). Only stuff that is printed (not logged) is treated as expected output. It’s like console.log() goes to stderr and print() goes to stdout.
Doctest.js also forces the developer to print everything they care about. For better or worse Javascript has many more expressions than Python (including assignments), so looking at the result of an expression isn’t a good clue for whether you care about the result of an expression. I’m not sure this is better, but it’s part of the difference.
Doctest.js also groups your printed statements according to the example you are in (an example being a block of code and an expected output). This is much more helpful than watching a giant stream of output go to the console (the browser console or terminal).
Doctest.js handles async code
This admittedly isn’t that big a deal for Python, but for Javascript it is a real problem. Not a problem for doctest.js in particular, but a problem for any Javascript test framework. You want to test return values, but lots of functions don’t "return", instead they call some callback or create some kind of promise object, and you have to test for side effects.
Doctest.js I think has a really great answer for this, which is not so much to say that Python’s doctest is so much worse, but in the context of Javascript doctest.js has something really useful and unique. If callback-driven async code had ever been very popular in Python then this sort of feature would be nice there too.
The browser is a great environment
A lot of where doctest.js is much better than Python’s doctest is simply that it has a much more powerful environment for displaying results. It can highlight failed or passing tests. When there’s a wildcard in expected output, it can show the actual output without adding any particular extra distraction. It can group console messages with the tests they go with. It can show both a simple failure message, and a detailed line-by-line comparison. All these details make it easy to identify what went wrong and fix it. The browser gives a rich and navigable interface.
I’d like to get doctest.js working well on Node.js (right now it works, but is not appealing), but I just can’t bring myself to give up the browser. I have to figure out a good hybrid.
Python’s doctest lacks a champion
This is ultimately the reason Python’s doctest has all these problems: no one cares about it, no one feels responsible for it, and no one feels empowered to make improvements to it. And to make things worse there is a cadre of people that will respond to suggestions with their own criticisms that doctest should never be used beyond its original niche, that it’s constraints are features.
Doctest is still great
I’m ragging on Python’s doctest only because I love it. I wish it was better, and I made doctest.js in a way I wish Python’s doctest was made. Doctest, and more generally example/expectation oriented code, is a great way to explain things, to make tests readable, to make test-driven development feasible, to create an environment that errs on the side of over-testing instead of under-testing, and to make failures and resolutions symmetric. It’s still vastly superior to BDD, avoiding all BDD’s aping of readability while still embracing the sense of test-as-narrative.
But, more to the point: use doctest.js, read the tutorial, or try it in the browser. I swear, it’s really nice to use.


🎭 Arya's Art Manager 🎭
Movies NPR Tiny Desk TV Shows Books GitHub ->
Avatar the Legend of Korra Book 1 Air
Michael Dante DiMartino & Bryan Konietzko
My sister liked this one significantly more than ATLA,
which I can see. It definitely is a lot more mature in
all sorts of ways. I think I appreciate the theme it
tries to go for of equality; but I think it does a
really poor job of properly engaging with it. I feel
like the root cause of the unrest is never really
addressed. Like what would happen if a random subset
of the population is given superpowers at birth?
Wouldn't this lead to profound conflict? Whatever it's
a cartoon. But still, why even bring these themes up
if they aren't going to discuss them?


TurnOffRules("DistributeMultiplication");
a=RandomInteger((-3,-1));
b=RandomInteger((-2,-1));
c=RandomInteger((1,3));
%UseLnInsteadOfLog
f{}{{x}}=(x-b) e^{a x^2} ;
Plot2D(f{}x,-3, 3, "red" )
+PlotGrid 0
+PlotWindow(300,300)
Find the values of \(x\) for which the maximum value of \(f\) is attained over the given interval.
\(f(x)=\)
\displaystyle
f{}x;
TurnOnRules("DistributeMultiplication");
theCFs=CoefficientsPowersOf(x, CoefficientOf(e^{a x^2},d/dx f{}x));
over the closed interval \(\displaystyle x\in[-3,3]\).
The value of \(x\) for which \(f\) attains its maximum is:
\(x_{max}=\)
AlgebraAnswerMax== (-theCFs_2-sqrt((theCFs_2)^2-4(theCFs_1) (theCFs_3)))/(2theCFs_3) ;
EnsureExpressionDependsOnlyOn(AlgebraAnswerMax,none)
Please do not give numerical approximations for your
answer. Instead, use square roots to give an exact answer. To write \(\sqrt{5}\) you need to type sqrt(5) or \sqrt(5).
%PlotShowJavascriptOnly
Plot2D(f{}x,-3, 3, "red" )
+PlotWindow(300,300)
+PlotGrid 0
+PlotPoint((AlgebraAnswerMax, f{}AlgebraAnswerMax), "blue");
(-theCFs_2-sqrt((theCFs_2)^2-4(theCFs_1) (theCFs_3)))/(2theCFs_3)


Source code for gatelfpytorchjson.ngrammodule
from . embeddingsmodule import EmbeddingsModule
import torch
import sys
import logging
from . LayerCNN import LayerCNN
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
streamhandler = logging.StreamHandler(stream=sys.stderr)
formatter = logging.Formatter(
'%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
streamhandler.setFormatter(formatter)
logger.addHandler(streamhandler)
[docs]class NgramModule(torch.nn.Module):
def __init__(self, embeddingsmodule, method="lstm"):
"""Create a module for processing ngram sequences for the given EmbeddingsModule embeddingsmodule.
How eventually will be one of lstm, gru, conv, mean, sum.
"""
super().__init__()
# since we directly assign, this should get registered!
self.embeddingsmodule = embeddingsmodule
self.emb_dims = self.embeddingsmodule.emb_dims
if method == "lstm":
self.forward_method = self.forward_method_lstm
self.init_method = self.init_method_lstm
elif method == "cnn":
self.forward_method = self.forward_method_cnn
self.init_method = self.init_method_cnn
# now use the configured init method
self.init_method()
[docs] def init_method_lstm(self):
# TODO: maybe use heuristics to find better values for
# hidden_size
# num_layers
# dropout
# bidirectional
num_layers = 1
bidirectional = True
hidden_size = self.embeddingsmodule.emb_dims
self.lstm = torch.nn.LSTM(input_size=self.embeddingsmodule.emb_dims,
hidden_size=hidden_size,
num_layers=num_layers,
dropout=0.4,
bidirectional=bidirectional,
batch_first=True)
# TODO: create a better lstm initialisation vector here for repeated
# use doring forward, if needed!
if bidirectional:
num_directions = 2
else:
num_directions = 1
self.out_dim = hidden_size * num_layers * num_directions
logger.info("Created LSTM with out_dim {}".format(self.out_dim))
[docs] def init_method_cnn(self):
self.cnn = LayerCNN(self.emb_dims)
self.out_dim = self.cnn.dim_outputs
[docs] def forward_method_lstm(self, batchofsequences):
batchsize = len(batchofsequences)
# NOTE: we already expect batchofsequences to be a variable with batch_first zero-padded sequences!
# now run the data through the embeddings, then run the sequences of embeddings through the lstm
# Note: the embeddingsmodule.forward method expects the original batchofsequences, we do not need to convert
# to a tensor and variable here!
tmp1 = self.embeddingsmodule.forward(batchofsequences)
out, (h0, c0) = self.lstm(tmp1) # TODO: for now we use zero vectors for initialization
# we only need the final hidden state
# logger.info("out is of shape {}, batchsize={}".format(out.size(), batchsize))
ret = out[:, -1, :]
# logger.info("ret is of shape {}".format(ret.size()))
ret = ret.view(batchsize, -1)
return ret
[docs] def forward_method_cnn(self, batchofsequences):
tmp1 = self.embeddingsmodule.forward(batchofsequences)
out = self.cnn(tmp1)
return out
[docs] def forward(self, batchofsequences):
# just delegate to the forward method for the method chosen
return self.forward_method(batchofsequences)