I find your lack of faith disturbing. A tremor in the Force. The last time I felt it was in the presence of my old master.  You weren't on any mercy mission this time. Several transmissions were beamed to this ship by Rebel spies. I want to know what happened to the plans they sent you. The plans you refer to will soon be back in our hands.
Beats all you've ever saw, been in trouble with the law since the day they was born. Straight'nin' the curve, flat'nin' the hills. Someday the mountain might get 'em, but the law never will. Makin' their way, the only way they know how, that's just a little bit more than the law will allow. Just good ol' boys, wouldn't change if they could, fightin' the system like a true modern day Robin Hood.
Jacobus Sneiders
I find your lack of faith disturbing. A tremor in the Force. The last time I felt it was in the presence of my old master.  You weren't on any mercy mission this time. Several transmissions were beamed to this ship by Rebel spies. I want to know what happened to the plans they sent you. The plans you refer to will soon be back in our hands.
Fergus Althuis
Beats all you've ever saw, been in trouble with the law since the day they was born. Straight'nin' the curve, flat'nin' the hills. Someday the mountain might get 'em, but the law never will. Makin' their way, the only way they know how, that's just a little bit more than the law will allow. Just good ol' boys, wouldn't change if they could, fightin' the system like a true modern day Robin Hood.
Siguror Hanigan
Mung bean squash sorrel taro coriander collard greens gumbo bitterleaf tomato. Taro water chestnut celtuce turnip yarrow celery endive scallion black-eyed pea onion. Aubergine dulse turnip greens mustard salsify garlic soybean parsley bitterleaf desert raisin courgette.
Freyr Hines
Wufoo diigo grockit sifteo divvyshot, unigo zooomr revver. Edmodo appjet joyent skype bubbli jajah zoodles joukuu xobni hojoki edmodo appjet, mozy mzinga akismet yuntaa joost yuntaa geni tivo insala yoono chumby, grockit sococo loopt zanga etsy cloudera koofers empressr jiglu blippy. Omgpop lanyrd joukuu sococo zimbra airbnb movity jibjab, foodzie.
Matthias Macguinness
Sugar plum wafer soufflé ice cream. Wafer topping biscuit pie gummi bears topping. Gummies toffee powder applicake oat cake cookie. Bear claw candy tootsie roll fruitcake danish applicake candy canes macaroon. Liquorice tiramisu danish cotton candy gummies. Tiramisu dessert gummi bears macaroon sweet roll jelly-o gummi bears marzipan.


HAMLET A film review by Mark R. Leeper Copyright 1997 Mark R. Leeper
Capsule: Lavish production made by the numbers. The film has major actors, is beautifully filmed, but in spite of a great swashbuckling sword-fight at the end fails to breathe life into its play the way MUCH ADO ABOUT NOTHING did. Its biggest attraction is that it covers the entire play. There are serious logic problems implicit in Branagh's choice of setting. Rating: low +2 (-4 to +4) This review contains minor spoilers for those unfamiliar with the play. I suppose there must be somebody out there. New York Critics: 3 positive, 0 negative, 4 mixed
Kenneth Branagh has now directed his third Shakespeare film. His HENRY V surprised all by being a vivid and powerful adaptation that transcended the frequent language barrier that some feel seeing Shakespeare's plays. Branagh managed this by putting more modern intonation into the words and by just plain good acting. His MUCH ADO ABOUT NOTHING proved to be a joyful romp that was even more approachable than HENRY V. It demonstrated that Shakespeare comedies could really be made as enjoyable and even as funny as most modern comedies being produced. For his third Shakespeare adaptation Branagh decided to make his most ambitious film to date, an unabridged HAMLET. Until now his Shakespeare films have been abridged to fit the standard screentime of two hours or less. And while HENRY V had the exciting Battle of Agincourt and MUCH ADO ABOUT NOTHING was a light and frothy comedy, HAMLET is much more weighty and cerebral. The producers asked would audiences accept sitting through a four-hour film adaptation of a tragedy? Well, they would not have to. Two versions would be released: a limited full-length version for the few who would be willing sit through the whole thing and a faster-moving version edited down to two and a half hours. What happened must have startled the film distributors and undermined the old truism that nobody every went broke underestimating the intelligence of the public. What was discovered was there was almost no market for the peppier abridged version. Had the shorter version been the only film made the public would likely have flocked to it, but just about anybody erudite enough to want to see the short version actually preferred to see the full play performed. After nearly a century of cutting down Shakespeare plays to make versions the public would want to see--Shakespeare films go back as least as far as the 1899 KING JOHN--it turned out that the public really did not want their Shakespeare cut down for them. This discovery may affect many Shakespeare film productions to come. So even before its release HAMLET had broken new ground.
Unfortunately, that new ground is among the precious little innovation this new version of HAMLET gives us. Not that it is not an estimable film, but unfortunately it is not so much ingenious as just highly competent. Branagh has assembled a terrific cast, particularly considering the cameo roles, and created a lavish and beautiful production that is at the same time just a bit dull and safe. This is a surprisingly unsurprising adaptation particularly since it is coming from the innovative Kenneth Branagh. The only major creative touch-- beyond telling the whole story--is to move the setting to the late 19th Century. A year earlier when Ian McKellan moved RICHARD III to Britain in the 1930s, he chose a time which many of us could actually picture and for which we had rich associations. He chose a time when similar events could have almost taken place in Britain and were actually taking place in Germany. But Branagh's change of setting is comparatively pointless. The public has few associations with his chosen setting beyond perhaps the plays of Strindberg and Ibsen in other parts of Scandinavia. Branagh's recreation of this time and place is a time impressive and perhaps a bit exaggerated and overdone. A major setting is a huge mirrored palace ballroom equipped to drop a blizzard of white confetti to celebrate the first, rather prosaic, pronouncements of the new king. This may be spectacle, but it is unnecessary and overdone. The film, set in the harsh Danish winter, is being distributed at the height of a particularly harsh American winter when the viewer may well ask himself, "Isn't there enough ice and cold in the world without having to pay to see it on the screen?" For visual effect Branagh has moved the story to the Danish winter in spite of the play having Ophelia find fresh flowers and unfrozen water late in the story. Also the setting calls for an unstrung Ophelia to be committed to an oppressive asylum, but without comment from any of the characters she seems to be able to escape it not unlike DRACULA's Renfield. Is this what Shakespeare intended? But then, frequently the visuals contradict the play. A character who supposedly has found "a muddy death" is found floating in clear water. A scene in which the ghost is said to turn in a start shows no such action from the ghost.
Branagh's great talent for use of modern inflection to make Shakespeare understandable is somehow missing here from his performance. This is never more clear than in an exchange with that great Shakespearean, Billy Crystal, playing the gravedigger. It is surprising how much easier it is to follow Crystal's end of the conversation. Crystal seems a little out place, but less so than Michael Keaton was in MUCH ADO ABOUT NOTHING, and his diction is plainer and easier to understand than Branagh's by far. At times Branagh races through his speeches as if his goal is to get to the other side. While we are on the subject of famous comedians in smaller roles, Robin Williams who discusses Shakespearean acting in DEAD POETS SOCIETY gets a chance to do some as Osiric. For once he is reasonably restrained and while his fans may be disappointed he really should not be the focus in his scenes and he shows commendable control. Derek Jacobi plays the new king with quiet dignity and few strong emotions though why the queen should prefer him to his brother Old Hamlet (Brian Blessed) is never convincingly clarified. Julie Christie begins with the same quiet dignity, but of course her role improves as the story progresses and as an actress she takes full advantage. Other small roles go to the likes of Charleton Heston, Jack Lemmon, and Gerard Depardieu to no strong effect.
Branagh has a taste for the visually over-dramatic particularly on scenes that feature him. He holds the intermission until the end of Act 4, Scene 4, very late in the play, so that he can bring the break with what comes the closest to the usually-vacillating Hamlet giving something approaching a stirring speech. Trying to recapture some of the fire of Henry V doing the St. Crispin's Day speech, he has Hamlet giving the soliloquy on a field of ice and stone to a camera tracking back and back from him. Hot dang, that's dramatic! Later he self- indulgently has himself carried from the floor of the palace in a Christ-like pose. Once again Patrick Doyle provides the music, though rarely with the effect of the pre-intermission sequence. His music is used to a much lesser degree than in MUCH ADO ABOUT NOTHING, perhaps because of the more thoughtful nature of the themes. Sadly the score is not particularly original or exciting and like Branagh his newer efforts are strongly reminiscent of his earlier work.
By its very completeness, Kenneth Branagh's HAMLET will probably be the definitive version for our generation and beyond. It stands head and shoulders above the 1990 Franco Zefferelli version that starred Mel Gibson. It probably even outshines the Laurence Olivier version. But this was Branagh's opportunity to make what is probably the most celebrated play of the most celebrated playwright. As such it is something of a disappointment and is certainly the least artful and most overdone of the three Branagh- directed Shakespeare films. It is a flawed adaptation, but still probably the best cinematic theatrical release of Shakespeare's HAMLET. I rate it a low +2 on the -4 to +4 scale.
Mark R. Leeper<EMAIL_ADDRESS>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


{% include 'snippets/book.html' with book=book size=large rating=rating description=True %}
Reviews
{% if not reviews %}No reviews yet!
{% endif %} {% for review in reviews %}{{ review.name }} {{ review.rating | stars }} stars, by {% include 'snippets/username.html' with user=review.user %}
{{ review.review_content }}


With being part of the HCI research lab at my college, we wanted to create a solution to problems that students face on our campus. In particularly, the social life aspect. A majority of the students that attend NJIT are commuters. Our goal was to design a mobile application to encourage students to meet new people and explore events on campus.
New Jersey Institute of Technology: Ying Wu College of Computing - NJIT Connections (HCI Lab)
Axure, Lucidchart, QuickTime Player (Screen capture & Audio)
5 Days
Lack of student social life at New Jersey Institute of Technology
Based off of our long term goal, we thought about the problems that we'll face when creating the application and found two big issues:
With those two questions in mind, we needed to make sure the target question we decide will be a good foundation.
We narrowed down our options to two targets:
Students, Organizations, and Office of Student Life
We next drew a map of contributions by the key players. It was created to understand how they will interact with our product.
Turning Problems into Opportunities
Everyone wrote down their own HMW notes to share their insights of how to solve the problem from multiple angles. After posting them to the wall, we reviewed the different ideas and organized them into into categories like "retention to events", "signing up for clubs", "promotion & announcements."
HMW: Create announcements made by individual users and groups?
HMW: Connect students with organizations based on their interests?
HMW: Increase retention rate at meetings for organizations?
For this portion, we developed our own solutions individually.
Everyone shared an application or website that they will draw their inspiration from. I wanted to understand how the user will grab a sense of a club or organization at first glance.
In this case, I drew my inspiration from Spotify, the music streaming service. Contained inside are thousands of artists, I wondered how did users decide which one to listen to?
Next step was showcasing our sketches and voting for the ones that closely relates to our original challenge: How do we improve student experiences by focusing on student social life at New Jersey Institute of Technology?
Everyone was given strips of post-it notes to cast their votes. As Decider, I was in charge of the supervote. I voted based on sketches that followed our long-term goal, but also had a good foundation. This will ensure that it'll be a sustainable app that can be reused. We then separated the winners from the losers. Any ideas or concepts on the winners side will be used in our app.
In light of the user, we created a storyboard to show how a typical day will look if they used our app. We grabbed post-its from the winners side to help build the application we had in mind.
With the storyboard made, we were ready to start prototyping. Everyone was assigned different roles to make the process faster. This included:
As Writer, I was in charge with writing relevant content for the application.
We followed a series of steps starting from Day 2 to prepare for the usability tests on Day 5. The steps were as followed:
Recruiting: Everyone on the team helped with recruiting participants that were either students or faculty members of NJIT
Interview Guide: Created by the Facilitator on Day 4
Equipment: QuickTime Player to screen record and capture audio
Usability Test: Each sprinter was in charge of testing at least one individual
After interviewing we jotted down our responses based off of the main functions of our application. Finally, we analyzed and discussed how to improve our current design.
Overall, the participants were excited that we designed an application that encourages students to attend events and join organizations. Some wording on the app was vague for some participants to understand. We also found that they were concerned about their privacy.
As a research lab that focuses on how people build and maintain social ties through technology, this project is an eye opener. Our lab is currently working on various other projects at the moment, but we do plan on coming back and making this application a reality.


Hello, Code School!
Who Am I?
What is this universe?
Where are we going when we die?
Now I am going to add this file using git from shell


/* This file is part of Ext JS 4 Copyright (c) 2011 Sencha Inc Contact: http://www.sencha.com/contact Commercial Usage Licensees holding valid commercial licenses may use this file in accordance with the Commercial Software License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Sencha. If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. */ /** * @class Ext.Img * @extends Ext.Component * * Simple helper class for easily creating image components. This simply renders an image tag to the DOM * with the configured src. * * {@img Ext.Img/Ext.Img.png Ext.Img component} * * ## Example usage: * * var changingImage = Ext.create('Ext.Img', { * src: 'http://www.sencha.com/img/20110215-feat-html5.png', * renderTo: Ext.getBody() * }); * * // change the src of the image programmatically * changingImage.setSrc('http://www.sencha.com/img/20110215-feat-perf.png'); */ Ext.define('Ext.Img', { extend: 'Ext.Component', alias: ['widget.image', 'widget.imagecomponent'], /** @cfg {String} src The image src */ src: '', getElConfig: function() { return { tag: 'img', src: this.src }; }, // null out this function, we can't set any html inside the image initRenderTpl: Ext.emptyFn, /** * Updates the {@link #src} of the image */ setSrc: function(src) { var me = this, img = me.el; me.src = src; if (img) { img.dom.src = src; } } });


Full-Stack in Abidjan, Côte d'Ivoire
Site
It is a platform of presentation of the artist RILLZ
it is a recruitment platform specialized in the medical field.
Mobile
it is a mobile application for managing a hairdressing salon
Design
Copyright - jean francis Porquet - 2020


Submit Lead
DISPLAY
First Name
Last Name
DOB
Phone Number
Member ID
Insurer
Agent's Email
Agent's Phone Number


Benny Vazquez-Elvir Bio
I am currently a 2nd year Computer Science student at Illinois Institute of Technology. I have been
playing video games and
surrounded by technology ever since I was a grade schooler. I adored the amount of fun and the kinds of things
you can accomplish
with video games and tech. My dream was to become a video game developer but as I grew older, I learned it was
much more
complicated than that. When I went into High School, I found out that they had a diverse Computer Science
curriculum and I jumped
at the chance to take as many classes as I could. My love for Computer Science flared after I took so many
classes and it naturally
led me to major it in college.
I was always considered the smart kid during elementary and it continued up until High School. Due to family
issues at home and my
motivation dwindling, my grades started to drop. Eventually I met someone that helped me get back on my feet and
ever since my
junior year of High School, I have been getting straight As and trying as hard as I can to succeed. I have even
been trying to start my
own business lately with YouTube and Twitch. Also, I was able to get into the Google Computer Science Summer
Institute Program
which really let me dive more into how awesome CS has been! I hope to work at a big company like Google one day
and make
a big difference! I am quite the ambitious person and will never back down from a challenge or a chance to learn
something new!
Click here to get a random message:


{% extends "base.html" %} {% block content %}
{% load static %}Hi, my name is Minh, thank you for helping me out
In the further course, this website will collect data from you. This
data cannot be traced back to you. This means that you are completely anonymous. However by clicking on the "Start"
button, you agree, that I'm allowed to collect this data and evaluate them for my university project.
At the end of your evaluation you will be ranked with other users anonymously and can see your performance.
This website was only tested on the Chrome Browser, if you have any issues, you can contact me on:
<EMAIL_ADDRESS>If a video won't load, you may press 'F5' or the 'Reload Video' Button to reload the video. Have fun :).


Hi, I am Al-Mamun Sakar. I have been working as a Software Engineer for 5 years. I am a Backend heavy Full-stack developer. Mainly I develop applications using Python, PHP, and Golang programming languages and Laravel, Lumen, Flask, Django web frameworks. I also use JavaScript and VueJs for the Frontend. I have good knowledge of Data Structure, Algorithms, Problem-solving, and System design. Programming is not just my profession it's my love. Besides this, I love to practice Artificial Intelligence especially Machine learning and Deep learning. Please, keep me in your prayers.
I am professional on these Technologies. Most of the time I work on these
I am skilled and I do beleve that I will be able to work on these. I did number of test project.
I have basic knowledge of these but not skilled for development.
Working on Appsero Project. Appsero is an analytics platform for WordPress plugins and themes developers that can serve millions of requests and handle a huge amount of data.
As a team lead, I designed the architecture of the project and select tools and technologies for development. I also write codes and I have contributed to most of the sections. We used the following tools and technologies for development.
GPA: 3.89 (Out of 4.00)
GPA: 3.75 (Out of 4.00)
GPA: 5.00 (Out of 5.00)
I developed number of projects last 5 years. Among those few are added here.
PHP, Python, Golang, GCP, Laravel, MySQL, MongoDB, BigQuery, Beam, VueJs, Nginx
PHP, Laravel, MySQL, AngularJs
PHP, Laravel, MySQL
PHP, MySQL, AngularJs
PHP, OOP
Basic PHP, OOP, MySQL, Laravel, Project
HTML, CSS, Js, PHP, MySQL, Project, ....
PHP, Xampp, Variable, Array, Loop, Condition, ....
cPanel, Sub-Domain, Email, File Manager, FTP, ...
Wordpress, Theme Development, ....
Photoshop, HTML, CSS, ....
Wordpress, Use of theme and Plugins, Settings, ...
CSS, Float, Padding, Margin, Layout, ....
HTML, Table, Form, Link, ....


CollectionField
1.7
Type
::
(
Name
|
=
"CollectionField"
)
1.7
E
::
Bool
, default =
False
1.7
N
::
Bytes
, required
1.7
Subtype
::
(
Name
|
=
"S"
or
=
"D"
or
=
"N"
or
=
"F"
or
=
"Desc"
or
=
"ModDate"
or
=
"CreationDate"
or
=
"Size"
or
=
"CompressedSize"
)
, required
1.7
V
::
Bool
, default =
True


| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The thread system includes a few macros which are used to provide some additional functionality without incurring much system overhead.
ENABLE_THREADER; |
This macro is used to re-enable the threader after the
INHIBIT_THREADER
has been used. Since consecutive calls to
INHIBIT_THREADER
stack, an equal number of ENABLE_THREADER
calls must be used.
The two macros, INHIBIT_THREADER
and ENABLE_THREADER
,
are used to surround code which you want to be absolutely certain
that a context switch doesn’t occur during. Since these macros nest
it is ok if between a pair a function is called which also uses these
macros.
Note that when the threader is enabled a context switch can only occur
during a generic function call or by the use of the YIELD
macro.
Example: INHIBIT_THREADER; . (protected code) . ENABLE_THREADER; |
See also: INHIBIT_THREADER, StartThreader
INHIBIT_THREADER; |
This macro is used to temporarily disable the threader. Once disabled
no context switches will occur until the threader is re-enabled by the
use of the ENABLE_THREADER
macro. Consecutive calls to
INHIBIT_THREADER
stack, therefore, an equal number of
ENABLE_THREADER
calls must be used to re-enable the threader.
The two macros, INHIBIT_THREADER
and ENABLE_THREADER
,
are used to surround code which you want to be absolutely certain
that a context switch doesn’t occur during. Since these macros nest
it is ok if between a pair a function is called which also uses these
macros.
Note that when the threader is enabled a context switch can only occur
during a generic function call or by the use of the YIELD
macro.
Example: INHIBIT_THREADER; . (protected code) . ENABLE_THREADER; |
See also: ENABLE_THREADER, StartThreader
StartThreader(argc) int argc; |
This macro is used to initialize the threading system. It must be
called before any other thread operations (except for initializing the
thread class). It must be called from the C function called
main
, and should only be called once. It is typically
called immediately following the Dynace system initialization.
Once this macro is called all execution is performed by threads. The
program (main
) which called StartThreader
becomes the
single running thread with the name “main”. Any future threads
created at the default priority will share CPU time equally with the
main thread. There is nothing special about the main thread.
argc
is simply the argument normally passed to C language
main
functions. The value doesn’t matter. It is used to
obtain the address of the stack.
See also: NewThread::Thread
YIELD; |
The YIELD
macro is used to force a context switch (unless the
threader has been disabled with the INHIBIT_THREADER
macro).
Since Dynace only provides automatic context switching during a generic
function call, if a thread is running a long compute cycle without
any generic function calls it will hog the system until a generic is
called unless the YIELD
macro is used. This macro may be placed
at regular intervals in the code to be sure that it shares the CPU
time. The YIELD
macro will only cause an actual context
switch when the threads time is complete, otherwise YIELD
will do nothing.
Example: while (some condition) { do something; YIELD; } |
See also: StartThreader
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Time
class uses the same set of instance and class
methods as the LongInteger
class. The equivalent C language
representation would be a long integer in the form HHMMSSLLL
so 1:23:45.678 pm would be represented as 132345678L.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The Time
class has two class methods to create instances.
i = gNewWithLong(Time, tm); long tm; object i; |
This class method creates instances of the Time
class. tm
represents the initial time value represented.
Example: object x; x = gNewWithLong(Time, 132345678L); /* x = 1:23:45.678 pm */ |
See also: Now::Time, FormatTime::Time, Dispose::Object
i = gNow(Time); object i; |
This class method creates instances of the Time
class which
represents the current time contained within the system.
Example: object x; x = gNow(Time); /* x = the current time */ |
See also: NewWithLong::Time, FormatTime::Time, Dispose::Object
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A portion of the Time
class’s functionality is identical to
the functionality of the LongInteger
class. The remaining
functionality is defined by the following specific methods.
i = gAddHours(i, hours); object i; long hours; |
This method is used to add an arbitrary number of hours (hours
) to
time i
. Adding an hour that goes past midnight will cause the time
to cycle around to morning. The value returned is the object passed.
Example: object tm; tm = gNewWithLong(Time, 234500000L); gAddHours(tm, 2L); /* tm = 14500000L (1:45:00.000 am) */ |
See also: AddMilliseconds::Time, AddMinutes::Time, AddSeconds::Time
i = gAddMilliseconds(i, m); object i; long m; |
This method is used to add an arbitrary number of milliseconds (m
) to
time i
. Adding a millisecond that goes past midnight will cause the time
to cycle around to morning. The value returned is the object passed.
Example: object tm; tm = gNewWithLong(Time, 234500000L); gAddMilliseconds(tm, 20L); /* tm = 500020L (11:45:00.020 pm) */ |
See also: AddHours::Time, AddMinutes::Time, AddSeconds::Time
i = gAddMinutes(i, m); object i; long m; |
This method is used to add an arbitrary number of minutes (m
) to
time i
. Adding a minute that goes past midnight will cause the time
to cycle around to morning. The value returned is the object passed.
Example: object tm; tm = gNewWithLong(Time, 234500000L); gAddMinutes(tm, 20L); /* tm = 500000L (1:05:00.000 am) */ |
See also: AddHours::Time, AddMilliseconds::Time, AddSeconds::Time
i = gAddSeconds(i, s); object i; long s; |
This method is used to add an arbitrary number of seconds (s
) to
time i
. Adding a second that goes past midnight will cause the time
to cycle around to morning. The value returned is the object passed.
Example: object dt; tm = gNewWithLong(Time, 234500000L); gAddSeconds(tm, 20L); /* tm = 520000L (11:45:20.000 pm) */ |
See also: AddHours::Time, AddMilliseconds::Time, AddMinutes::Time
i = gChangeLongValue(i, val); object i; long val; |
This method is used to change the time value associated with an
instance of the Time
class. Notice that this method
returns the instance being passed. val
is the new time value.
Example: object tm; tm = gNewWithLong(Time, 234500000L); gChangeLongValue(tm, 44500000L); /* tm = 4:45:00.000 am */ |
See also: ChangeTimeValue::Time, NewWithLong::Time
i = gChangeTimeValue(i, val); object i; long val; |
This method is used to change the time value associated with an
instance of the Time
class. Notice that this method
returns the instance being passed. val
is the new time value.
Example: object tm; tm = gNewWithLong(Time, 234500000L); gChangeTimeValue(tm, 44500000L); /* tm = 4:45:00.000 am */ |
See also: ChangeLongValue::Time, NewWithLong::Time
i = gChangeValue(i, v); object i; object v; |
This method is used to change the value associated with an instance of
the Time
class. Notice that this method returns the instance
being passed. v
is an object which represents the new time value.
Example: object x, y; x = gNewWithLong(Time, 234500000L); y = gNewWithLong(Time, 44500000L); gChangeValue(x, y); /* x is changed to 4:45:00.000 am */ |
See also: ChangeLongValue::Time, ChangeTimeValue::Time
r = gCompare(i, obj); object i; object obj; int r; |
This method is used by the generic container classes to determine
the relationship of the values represented by i
and obj
.
r
is -1 if the time represented by i
is less than
the time represented by obj
, 1 if the time value of i
is greater than obj
, and 0 if they are equal.
See also: Hash::Time
r = gDifference(i, tm); object i; object tm; long r; |
This method is used to obtain the difference, in milliseconds, between two time objects.
Example: object tm1, tm2; long r; tm1 = gNewWithLong(Time, 234515023L); tm2 = gNewWithLong(Time, 234515000L); r = gDifference(dt2, dt1); /* r = 23L */ |
See also: TimeDifference::Time
s = gFormatTime(i, fmt); object i; char *fmt; object s; |
This method returns an instance of the String
class which is a
formatted representation of the time associated with instance i
.
fmt
is the format specification used to determine the resulting
String
object. Each character in fmt
is sequentially
processed and except for the character ‘%’, they are simply copied to
the resulting String
object. Whenever this method encounters
the ‘%’ character, the character following is used to determine what
aspect and format of the time represented by i
should be added to
the resultant String
object. It works much like the standard C
printf
. The following table indicates the available formatting option
characters:
% the % character g hour in military (government) time. Eleven o'clock is 23:00 (5) G the hour to two places in military (government) time (05) h hour (5) H the hour to two places (05) m minutes (5) M the minutes to two places (05) s seconds (5) S the seconds to two places (05) l milliseconds (20) L the milliseconds to three places (020) p the am / pm flag in lower case (pm) p the am / pm flag in upper case (PM) |
Example: object s, tm; tm = gNow(Time); s = gFormatTime(tm, "%h:%M:%S.%L %p"); /* s contains "5:45:23.678 pm" (or whatever) */ |
See also: StringRepValue::Time
val = gHash(i); object i; int val; |
This method is used by the generic container classes to obtain hash values
for the time object. val
is a hash value between 0 and a large
integer value.
See also: Compare::Time
h = gHours(i); object i; int h; |
This method returns the number of hours associated with an
instance of the Time
class.
Example: object tm; tm = gToday(Time); h = gHours(tm); /* h contains 14 (or whatever) */ |
See also: Milliseconds::Time, Minutes::Time, Seconds::Time
val = gLongValue(i); object i; long val; |
This method is used to obtain the long
value that represents
the time associated with an instance the Time
class. Note that
this is one of the few generics which doesn’t return a Dynace object.
It returns a long
.
Example: object x; long val; x = gNewWithLong(LongInteger, 234500000L); val = gLongValue(x); /* val = 234500000L */ |
See also: NewWithLong::Time, ChangeLongValue::Time, TimeValue::Time
m = gMilliseconds(i); object i; int m; |
This method returns the number of milliseconds associated with an
instance of the Time
class.
Example: object tm; tm = gToday(Time); m = gMilliseconds(tm); /* m contains 154 (or whatever) */ |
See also: Hours::Time, Minutes::Time, Seconds::Time
m = gMinutes(i); object i; int m; |
This method returns the number of minutes associated with an
instance of the Time
class.
Example: object tm; tm = gToday(Time); m = gMinutes(tm); /* h contains 55 (or whatever) */ |
See also: Hours::Time, Milliseconds::Time, Seconds::Time
m = gSeconds(i); object i; int s; |
This method returns the number of seconds associated with an
instance of the Time
class.
Example: object tm; tm = gToday(Time); s = gSeconds(tm); /* s contains 30 (or whatever) */ |
See also: Hours::Time, Milliseconds::Time, Minutes::Time
s = gStringRepValue(i); object i; object s; |
This method is used to generate an instance of the String
class
which represents the time associated with i
. This is often
used to print or display the time. It is also used by
PrintValue::Object
and indirectly by Print::Object
(two methods useful during the debugging phase of a project)
in order to directly print an object’s value.
Example: object x; object s; x = gNewWithLong(Time, 234500000L); s = gStringRepValue(x); /* s represents "11:45:00.000 pm" */ |
See also: PrintValue::Object, Print::Object, FormatTime::Time,
TimeStringRepValue::Time
r = gTmieDifference(i, tm); object i; object tm; long r; |
This method is used to obtain the difference, in milliseconds, between two time objects.
Example: object tm1, tm2; long r; tm1 = gNewWithLong(Time, 234515023L); tm2 = gNewWithLong(Time, 234515000L); r = gTimeDifference(dt2, dt1); /* r = 23L */ |
See also: Difference::Time
s = gTimeStringRepValue(i); object i; object s; |
This method is used to generate an instance of the String
class
which represents the time associated with i
. This is often
used to print or display the time.
Example: object x; object s; x = gNewWithLong(Time, 234500000L); s = gTimeStringRepValue(x); /* s represents "11:45:00.000 pm" */ |
See also: PrintValue::Object, Print::Object, FormatTime::Time,
StringRepValue::Time
val = gTimeValue(i); object i; long val; |
This method is used to obtain the long
value that represents
the time associated with an instance the Time
class. Note that
this is one of the few generics which doesn’t return a Dynace object.
It returns a long
.
Example: object x; long val; x = gNewWithLong(LongInteger, 234500000L); val = gTimeValue(x); /* val = 234500000L */ |
See also: NewWithLong::Time, ChangeLongValue::Time, LongValue::Time
r = gValidTime(i); object i; int r; |
This method is used to determine the validity of a time. If i
is a valid time 1 is returned and 0 otherwise.
Example: object tm; int r; tm = gNewWithLong(Time, 234515899L); r = gValidTime(tm); /* r = 1 */ tm = gNewWithLong(Time, 254500899L); r = gValidTime(tm); /* r = 0 */ tm = gNewWithLong(Time, 114567000L); r = gValidTime(tm); /* r = 0 */ |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This class, which is a subclass of NumberArray
, is used to
represent arbitrary shaped arrays of the C language unsigned
short
data type in an efficient manner. Although this class implements
much of its own functionality it is documented within the
NumberArray
and Array
classes because the interface is
shared by all subclasses of the NumberArray
class.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The UnsignedShortInteger
class is used to represent the C language
unsigned short
data type as a Dynace object. It is a subclass of the
Number
class. Even though the UnsignedShortInteger
class
implements most of its own functionality, it is documented as part of
the Number
class because most of the interface is the same for
all subclasses of the Number
class. Differences are documented
in this section.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The UnsignedShortInteger
class has only one class method and it
is used to create new instances of itself.
i = gNewWithUnsigned(UnsignedShortInteger, s); unsigned s; object i; |
This class method creates instances of the UnsignedShortInteger
class. s
is the initial value of the integer being represented.
Note that s
is of type unsigned
. That is because if you
pass an unsigned short type to a generic function (which uses a variable
argument declaration) the C language will automatically promote it to an
unsigned
.
The value returned is a Dynace instance object which represents the integer passed.
Note that the default disposal methods are used by this class since there are no special storage allocation requirements.
Example: object x; x = gNewWithUnsigned(UnsignedShortInteger, 55); |
See also: UnsignedShortValue::Number, Dispose::Object
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The instance methods associated with the UnsignedShortInteger
class provide a means of changing and obtaining the value associated
with an instance of the
UnsignedShortInteger
class.
All of the UnsignedShortInteger
class instance methods are
documented in the Number
class because of their common interface
with all other subclasses of the Number
class.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| Jump to: | A B C D E F G H I J K L M N O P R S T U V W Y |
|---|
| Jump to: | A B C D E F G H I J K L M N O P R S T U V W Y |
|---|
| [Top] | [Contents] | [Index] | [ ? ] |
| [Top] | [Contents] | [Index] | [ ? ] |
| [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Blake McBride on July 24, 2020 using texi2html 1.82.
The buttons in the navigation panels have the following meaning:
| Button | Name | Go to | From 1.2.3 go to |
|---|---|---|---|
| [ < ] | Back | Previous section in reading order | 1.2.2 |
| [ > ] | Forward | Next section in reading order | 1.2.4 |
| [ << ] | FastBack | Beginning of this chapter or previous chapter | 1 |
| [ Up ] | Up | Up section | 1.2 |
| [ >> ] | FastForward | Next chapter | 2 |
| [Top] | Top | Cover (top) of document | |
| [Contents] | Contents | Table of contents | |
| [Index] | Index | Index | |
| [ ? ] | About | About (help) |
where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:
This document was generated by Blake McBride on July 24, 2020 using texi2html 1.82.


Kenan Sofuoğlu (born August 25, 1984 in Kuzuluk, Akyazı) is a Turkish professional motorcycle racer, who has won the highest number of Supersport World Championship titles: five, in 2007, 2010, 2012, 2015 and 2016
Sofuoğlu also competed in Moto2 for the Technomag-CIP team, having made his debut at the end of 2010 and remained with the team for the 2011 season. He previously won the Supersport World Championship for the Ten Kate Honda in 2007 and 2010, and he is the championship's all-time leading race winner, having won 17 races. He raced in the World Superbike Championship for Ten Kate in 2008, but with limited success.
Racing for Kawasaki in 2012, Sofuoğlu claimed his third Supersport World Championship at the Portuguese Grand Prix, in the penultimate race.
Sofuoglu is currently the most successful rider to have ever competed in the Supersport World Championship. Now a five-time champion, he was previously the only rider to have won three times, and he holds most of the career and track records in the class.


---
layout: post
title: Raspberry Pi - pi-hole setup notes
date: '2020-02-23T10:11:00.002-08:00'
author: gojimmypi
tags:
- pi hole
- pi-hole
- network
- raspberry pi
modified_time: '2021-03-07T14:04:06.620-08:00'
thumbnail: https://1.bp.blogspot.com/-fV1gBl6-VH0/XkrBAN8JysI/AAAAAAAACVM/A0K6aPCnKcEUunJs95nmanjZ1eOEBJMlgCLcBGAsYHQ/s72-c/my_pi_hole.jpg
blogger_id: tag:blogger.com,1999:blog-4109066286647243251.post-7542629569068483352
blogger_orig_url: https://gojimmypi.blogspot.com/2020/02/raspberry-pi-pi-hole-setup-notes.html
---
In the category of "why didn't I do this sooner" - I finally setup my full network ad-blocking pi-hole. It's great! I can't believe I waited this long. The install
is really quite straightforward for a basic system, however there are always options for fine tuning.
Update: see my blog on
Raspberry Pi Headless Setup
. I've found setting up those 4 pre-configured files and copying them to the root of SD card at image-write-time is quite handy and gets the RPi basically operational with minimal fuss.
A key detail is to edit the
config.txt
file on the root of SD card (found in
/boot/config.txt
once RPi is running) before inserting into the RPi; add this line to allow serial TTL communication and avoid needing to plug in a monitor and keyboard for initial setup:
{% include code_header.html %}
enable_uart=1
Note that despite having 5V pins right next door, the Raspberry Pi serial port uses 3.3V logic.
Connect your favorite
USB to TTL Serial cable
:
Then login with
putty or some other terminal program. For more detailed information on setting up a headless Raspberry Pi, see
this sparkfun how-to
.
I prefer to run
sudo raspi-config
to do things like:
Network Options:
- assign host name such as "pi-hole"
Localisation Options:
- Change the locale to
en_US.UTF-8 UTF-8
- Change timezone to Pacific Time
Interfacing Options:
- Disable Camera
- Enable SSH
- Disable VNC
- Disable SPI
- Disable I2C
- Enable Serial
- Disable 1-Wire
- Disable Remote GPIO
Advanced Options:
- Expand Filesystem
- GPU Memory Split set to 16
Update
raspi-config
to the latest version.
Next assign a static IP address via
sudo nano /etc/dhcpcd.conf
and add these lines:
{% include code_header.html %}
interface eth0
static ip_address=<IP_ADDRESS>/24
static routers=<IP_ADDRESS>
static domain_name_servers=<IP_ADDRESS>
Put in your values for device IP address, router, and actual DNS (needed for initial install) . After setting up the pi_hole, set the DNS to <IP_ADDRESS> as shown.
Disable IPV6 unless you know you need it. Edit /etc/sysctl.conf
and put these lines at the bottom:
{% include code_header.html %}
One of the main problems with the Raspberry Pi is the continual writing to the SD card and subsequent (lack of) reliability when in operation for years. See the
log2ram install, below, that can help with this. Hackaday also has
an article on the coolness of log2ram that refers to
this log2ram blog by Erich Styger
.
Next, main setup:
{% include code_header.html %}
# system update
sudo apt-get update && sudo apt-get upgrade
# install essentials
sudo apt-get install git
sudo apt-get install fail2ban
sudo apt-get install dnsutils
sudo apt-get install arpwatch
sudo apt-get install iptables-persistent
# remove things that will not be used:
sudo apt-get purge realvnc-vnc-server --assume-yes
# basic pi-hole install
cd ~/
git clone --depth 1 https://github.com/pi-hole/pi-hole.git
cd "pi-hole/automated install/"
sudo bash basic-install.sh
sudo pihole -a -p
# log2ram install (optional)
cd ~/
curl -Lo log2ram.tar.gz https://github.com/azlux/log2ram/archive/master.tar.gz
tar xf log2ram.tar.gz
cd log2ram-master
chmod +x install.sh && sudo ./install.sh
# REBOOT BEFORE INSTALLING ANYTHING ELSE
This might be a good time to set that
static domain_name_servers=<IP_ADDRESS>
setting.
Operational check for log2ram:
{% include code_header.html %}
# not blank if working properly:
mount | grep log2ram
# not blank if working properly:
df -h | grep log2ram
If it appears the log files need more space, edit the
/etc/log2ram.conf
.
See firewall notes for
supported operating systems
. Secure the RPi with IP Tables (optional):
{% include code_header.html %}
# Flush the tables to apply changes
sudo iptables -F
sudo ip6tables -F
# Default policy to drop everything but our output to internet
sudo iptables -P FORWARD DROP
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
# do the same for IPv6
sudo ip6tables -P FORWARD DROP
sudo ip6tables -P INPUT DROP
sudo ip6tables -P OUTPUT ACCEPT
# Allow established connections (the responses to our outgoing traffic)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow IPv6 established connections (the responses to our outgoing traffic)
sudo ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow local programs that use loopback (Unix sockets)
sudo iptables -A INPUT -s <IP_ADDRESS>/8 -d <IP_ADDRESS>/8 -i lo -j ACCEPT
# allow incoming SSH/SCP conections to this machine from <IP_ADDRESS>/24 only
sudo iptables -A INPUT -s <IP_ADDRESS>/24 -p tcp --dport 22 -m state --state NEW -j ACCEPT
# In case a Windows drive is mapped, uncomment this line:
# sudo iptables -A INPUT -s <IP_ADDRESS>/24 -p tcp --dport 445 -m state --state NEW -j ACCEPT
# pi-hole ports
iptables -I INPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -I INPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT
iptables -I INPUT 1 -p udp -m udp --dport 53 -j ACCEPT
iptables -I INPUT 1 -p tcp -m tcp --dport 67 -j ACCEPT
iptables -I INPUT 1 -p udp -m udp --dport 67 -j ACCEPT
iptables -I INPUT 1 -p tcp -m tcp --dport 4711 -i lo -j ACCEPT
# save iptables to be in place after a reboot
sudo /sbin/iptables-save > ~/iptables.txt
sudo cp ~/iptables.txt /etc/iptables/rules
iptables-persistent
iptables --list
To make the IP Table changes stick, I chose
iptables-persistent
See also:
Linux Iptables: How to specify a range of IP addresses or ports
.
If your pi-hole sits on a different network then all traffic it "sees" will appear to come from a single router IP address.
Some people may be interested in
unbound recursive DNS server solution (see also
this how-to). I didn't initially have
much luck
with it, and in fact I later saw my first system crash on a different Raspberry Pi within 24 hours of installing it.
Once everything is setup, there are MANY more lists to make the pi-hole even better. Thanks
Jermal Smith for suggestions on other lists to block from
his pi-hole blog
.
For more information on manually adding domains, see the
pihole command
. Local lists can be appended by using the FILE:// syntax, although the data in that file does not seem to be successfully added to block list. No warning or other message is given:
{% include code_header.html %}
file://c:/download/pi-hole/my_block_list.txt
Yet after refresh, the entry is not in the block domain list search:
So perhaps a GitHub gist is a better home for custom lists.
To add a large list of lists, such as
this one from Jermal Smith, simply add them to the respective
/etc/pihole/adlists.list
on the pi-hole. Be sure to include only URL's and not the title text in the first line.
Some essentials that I needed to whitelist:
{% include code_header.html %}
aka.ms - used for Visual Studio updates
A final fine-tuning: See the
Raspberry Pi Power Requirements. It's a shame to waste
standby power
for things not being used. Note that the Raspberry Pi 3 Model B+ I chose typically uses 500mA. In contrast, the Raspberry Pi 2 uses only 350mA, Part of the difference is the on-board WiFi and Bluetooth capabilities.
These can be manually turned off:
{% include code_header.html %}
sudo iwconfig wlan0 power off
This can be added to
/etc/rc.local
. Also consider editing
/etc/modprobe.d/raspi-blacklist.conf
as noted in
the forum topic
:
{% include code_header.html %}
#wifi
blacklist brcmfmac
blacklist brcmutil
#bt
blacklist btbcm
blacklist hci_uart
or
# ref: https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=138610
# bluetooth
blacklist hci_uart
blacklist btbcm
blacklist btintel
blacklist rfcom
blacklist btqca
blacklist btsdio
blacklist bluetooth
And edit the
/boot/config.txt
:
{% include code_header.html %}
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt
Note the 1000BaseT has a higher power requirement.
My Raspberry Pi operates at about 50°C; (specs qualified from -40°C to 85°C)
For more information, see the
pi-hole discourse
.


Join us for at PRINTING United 2020.
GPA will reveal developments changing the way people
look at the company, providing a first look at the
lastest evolution of GPA.
We designed this year's PRINT experience to inspire -
join us to learn how these changes will drive print
forward.
Join us Monday,
October
1, 2018
1:00 - 2:00 p.m.
McCormick Place, Room XXXX


Motivation
Randomness enables and secures various blockchain protocols and applications, e.g., shard validator selection in ETH 2.0, Zcash trusted setup, and Single secret leader election. DRB allows a group of nodes to generate random outputs periodically. It has been a promising solution to provide secure and verifiable randomness, and is seen as one of the fundamental infrastructures for Blockchain. For example, Polkadot has an embedded randomness beacon for supporting parachain validator election, DeFi games and various protocols.
Most existing DRB protocols (e.g., ETH 2.0's beacon chain, Drand, Dfinity randomness beacon and Ouroboros) are constructed from periodically executing a single-shot Distributed Randomness Generation (DRG) protocol, where nodes sample some local entropy and collectively combine them to a unique random output. Such design incurs two limitations, namely
- Lock-step synchrony: Nodes have to keep executing the same round of the protocol, otherwise the protocol may stall forever.
- High communication complexity: The all-to-all broadcast process leads to at least quadratic communication complexity, which is impossible to overcome without a leader.
Our contribution: RandChain
We present RandChain, a new family of decentralised randomness beacon (DRB) protocol. Unlike existing DRB protocols where nodes are collaborative, i.e., contributing local entropy and aggregating them to a single output, nodes in RandChain are competitive: nodes compete with each other on becoming the next leader, who solely prepares and proposes the next random output. RandChain employs Sequential Proof-of-Work (SeqPoW), a Proof-of-Work (PoW) puzzle that cannot be solved faster by using multiple processors in parallel. To propose a random output, a node needs to solve a SeqPoW puzzle derived from the last random output and the node’s identity. Nodes execute Nakamoto consensus to agree on a unique vector of random outputs.
Sequential Proof-of-Work
Sequential Proof-of-Work (SeqPoW) is the key building block of RandChain. It is a PoW that cannot be solved faster by using multiple processors in parallel. Given an initial SeqPoW puzzle $S_0$, the prover keeps solving it by incrementing an ISF. Each iteration takes the last output $S_{i−1}$ as input and produces a new output $S_i$. For each output $S_i$, the prover checks whether it satisfies a difficulty parameter $T$. If yes, then $S_i$ is a valid solution, and the prover can generate a proof $\pi_i$ on it. Given S_i and $\pi_i$ , the verifier can check $S_i$'s correctness without solving the puzzle again.
Protocol specification
Each block $B$ is of the format $(h^-, h, i, S, pk, \pi)$, where $h^-$ is the previous block ID, $h$ is the current block ID, $i$ is the SeqPoW solution index, $S$ is the SeqPoW solution, $pk$ is the public key of this block's creator, and $\pi$ is the proof that $S$ is a valid SeqPoW solution on input $h^-$. Let $H, H': \{0,1\}^* \to\{0,1\}^\kappa$ be two different hash functions. The ID $B.h$ and random output $B.rand$ of block $B$ are calculated as $B.h = H(pk || S)$ and $B.rand = H'(pk || S)$, respectively. Each node $p_k$ has its local view $\mathcal{C}_k$ of the blockchain. View $\mathcal{C}_k$ may have forks, i.e., multiple blocks are following the same block. RandChain applies Nakamoto consensus that, nodes always mine on the longest chain, as specified in $\mathsf{mainChain}(\cdot)$.
Node $p_k$ runs two routines: the synchronisation routine $\mathsf{SyncRoutine}(\cdot)$ and the mining routine $\mathsf{MineRoutine}(\cdot)$. In $\mathsf{SyncRoutine}(\cdot)$, node $p_k$ synchronises its local blockchain $\mathcal{C}_k$ with other nodes. The synchronisation process is the same as in other blockchains: node $p_k$ keeps receiving blocks from other nodes, verifying them, and adding valid blocks to its local blockchain $\mathcal{C}_k$. In $\mathsf{MineRoutine}(\cdot)$, node $p_k$ keeps appending new blocks to the main chain $\mathcal{MC}_k$. In particular, node $p_k$ solves a SeqPoW puzzle $S$ derived from $\mathsf{SeqPoW.INIT}(pp, sk_k, B^-.h)$, where $pp$ is the public parameter, $sk_k$ is its secret key, and $B^-.h$ is the hash of $\mathcal{MC}_k$'s last block. To solve puzzle $S$, node $p_k$ keeps executing $\mathsf{SeqPoW.SOLVE}(\cdot)$ until finding a solution that satisfies the difficulty. With a valid solution $S$, node $p_k$ constructs a block $B$ consisting of a random output, and appends $B$ to $\mathcal{MC}_k$.
Team
We are a team with strong and proven track records on research and development in the field of Blockchain and distributed systems.- Jiangshan Yu is ARC DECRA Fellow, Assistant Professor, and Associate Director (Research) at Monash Blockchain Technology Centre, Monash University, and has been an active researcher in the Blockchain area. He received IBM Academic Award (2020) for his work on blockchain and has served as a program committee member for leading blockchain-related international conferences, including DSN'21, ICDCS ('20,'21), ICBC (20', 21'), FC'21, AFT'20, SRDS ('19,'20).
- Runchao Han is a PhD student at Monash University working on Blockchain scalability, advised by Jiangshan. He has published a series of research papers on leading blockchain-related conferences, including ISPASS, AFT and AsiaCCS. He has served as a reviewer for various research conferences such as DSN ('20 '21), ICDCS'20, SRDS'20, and AFT'20.
- Haoyu Lin is a researcher in ZenGo-X. He was a core engineer at Bytom, and has contributed to various open-source projects including go-ethereum and ZenGo-X's white-city.


Schools
About the resources
The following resources for teachers have been developed as part of the Post-Glacial Project at the University of York, based on the Mesolithic site of Star Carr. They are meant as classroom activities that teachers can use for themselves. They have been grouped into three sets of units. Individual units can be taken from any set and taught as stand-alone activities.
These resources are designed to show that Mesolithic people were skilled and sophisticated in using their environment. They also show that archaeologists don't always know the answers, and that there is a lot of room for disagreement about the past. They will encourage children to develop and express their own ideas about the period.
Archaeology skills log
The skills log takes pupils through five steps to becoming an archaeologist: finding out information, identifying things, recording objects, analysing how people lived and telling others about Star Carr
As well as 13 classroom activities, this contains sets of information (fact checks) about the period. There are also debating points which highlight disagreements about what we think the period was like or where there is more than one possible interpretation of the archaeological evidence.
Learning outcomes:
These activities support the teaching of historical skills, literacy, numeracy and art.
11,000 Years Ago
This is a set of nine short stories about a Mesolithic family: Neska (a girl, 9 years old), Mutil (a boy, 6 years old), Aita (their father), 31 years old), Ama (their mother, 28 years old), Osaba (Aita's brother, 26 years old). Each story illustrates an aspect of Mesolithic life and is backed up by a short section on what and how archaeologists know about this.
The short stories are: Moving Home, Making Things, Food, Friends and Strangers, A Hint of Winter, Coming of Age, A New Life, The Bad Old Days, Boy or Girl—Animals or Plants?
Classroom activities are suggested for each story, some with associated information or worksheets. There are also links in each story to the Star Carr display at the Rotunda Museum in Scarborough, which can be easily adapted to use at other museums.
Learning outcomes:
The activities are designed to support not only the history curriculum, but also art and design, design & technology, English, geography, and maths.
Lessons from the Middle Stone Age
This set of activities shows why the Mesolithic is an important period to study. From it, we can learn useful lessons to help us both live better lives today and understand the world we live in.
There are six lessons, with various activities for the classroom. They are the origins of ourselves, change is inevitable, the living environment, human diversity, healthy eating, what makes us happy.
There is also the great debate: that contrasts the ideas of prehistoric people as either noble savages or nasty and brutish. This will get pupils to think about how we value the past and different ways of life.
Learning outcomes:
These lessons can help to support personal, social, health and economic education (PSHE), spiritual, moral, social and cultural development (SMSC) as well as history.
Background
This is for teachers and provides summary information about the Mesolithic and Star Carr. It includes a simple location map, two timelines and images that can be used as Powerpoint slides.
More detailed information about the resources can be found here.
Other resources about the Mesolithic can be found listed here.
Learning outcomes:
These lessons can help to support personal, social, health and economic education (PSHE), spiritual, moral, social and cultural development (SMSC) as well as history.


DECEMBER 26 St Stephen, The First Martyr
He was the first
Christian martyr. Stoned outside
ENTRANCE ANTIPHON
The gates of
heaven were opened for blessed Stephen, who was found to be first among the
number of the Martyrs and therefore is crowned triumphant in heaven.
The GLORIA can be
said. (English, Latin)
COLLECT
Grant,
Lord, we pray, that we may imitate what we worship, and so learn to love even
our enemies, for we celebrate the heavenly birthday of a man who knew how to
pray even for his persecutors. Through our Lord Jesus Christ, your Son, who
lives and reigns with you in the unity of the Holy Spirit, one God, for ever
and ever.
PRAYER OVER THE OFFERINGS
May these
offerings of our devotion today, be acceptable to you, we pray, O Lord, for
they are prompted by the glorious commemoration of Saint Stephen the Martyr.
Through Christ our Lord.
COMMUNION ANTIPHON
As they were
stoning Stephen, he called out: Lord Jesus, receive my spirit.
PRAYER AFTER COMMUNION
For the many
mercies which surround us we give thanks to you, O Lord, who save us through
the Nativity of your Son and gladden us with the celebration of the blessed
Martyr Stephen. Through Christ our Lord.


GDAL supports reading NOAA NGS geoid height grids in binary format (.bin files). Those files can be used for vertical datum transformations.


When You Can Borrow Money For Less Than Nothing
by Mark J. GrantSummary
- We have thousands of years of data, and none of it suggests a spot like we are in now. I call it the "Borrower's Paradise" and I also refer to it as the "Fixed Income Investor's Hell."
- The total debt-to-GDP ratio for the United States is 330%, for the EU it is 450% and Japan comes in at over 600%. Yet, no one is paying attention to any of this.
- Money is coming out of the bond markets of Europe and into the American bond markets because our yields are so much better than their yields.
- Can the central banks print "Pixie Dust" money forever or is there a point, some point, where there is a price to pay for its continuing creation?
When you have entered this space, you may be assured that you have gone into some kind of distorted world, possibly created by Aldous Huxley. It may be a "Brave New World," but it may also be a level of Dante's "Inferno." Whatever it eventually turns out to be, it is certainly a historical proclamation, because mankind has never been here before. We have thousands of years of data, and none of it suggests a spot like we are in now. I call it the "Borrower's Paradise" and I also refer to it as the "Fixed Income Investor's Hell."
All of this is being caused, and manipulated, by the ECB and the central banks of Switzerland and Japan. Please remember that none of these central banks are set up like the Fed, America's central bank. They have no independence, and the people that run the other central banks work for, and are directed by, the governments that own them. You may say, "Fine and dandy, and let them do as they like," but their actions are causing collateral damage for the rest of the nations in the world. Serious collateral damage.
The truth of it is that these governments cannot afford their budgets, or the costs of their country, without raising taxes, selling off assets, or lowering their contributions to their social programs. They are effectively politically "bust," but no one wants to admit it. No one wants to talk about it at all, and consequently, everyone believes that things are just fine. The problem is going to come when some institutional investors, one day, wake up.
Then, think of this, the total debt-to-GDP ratio for the United States is 330%, for the EU it is 450% and Japan comes in at over 600%. Yet, no one is paying attention to any of this and no one is discussing it and no one seems to care about it. Money from nothing, and no end in sight, and it is, in my estimation, distorting both the equity and debt markets. No one seems to believe that anything untoward will happen.
Hmmmmmm!
"One believes things because one has been conditioned to believe them."
- Aldous Huxley, Brave New World
| Nation | 5-Year Yield |
| Switzerland | -0.757% |
| Germany | -0.583% |
| Netherlands | -0.523% |
| Austria | -0.432% |
| Belgium | -0.401% |
| France | -0.392% |
| Spain | -0.082% |
| Greece | +0.489 |
| Italy | +0.584 |
| Japan | -0.209 |
| United States | +1.752 |
*Data provided by Bloomberg
It just makes no sense, no sense at all, and yet, reality bites. We are now back to $15 trillion of global negative-yielding bonds. Forty percent of Europe's investment-grade corporate debt also now yields less than zero. With no yield to be found, money is pushing its way into the equity markets in America and now, for the first time, the valuation of U.S. equities is 1.5 times our GDP. At the same time, corporate America has increased its debt load by about 60% in the last 10 years, which now totals approximately $16 trillion, which is an all-time high. This is as corporate equity buybacks are projected to exceed $1 trillion this year.
Next, pay attention to the monetary flows. Money is coming out of the bond markets of Europe and into the American bond markets because our yields are so much better than their yields. Retail bond market money, in the United States, is flowing out of fixed-income and into the equity markets, because senior and retirees incomes are being impaired and they are hoping for an off-set from appreciation, as they can't find any real yield. Institutional money in the United States is flowing out of the public bond markets and into private placements, private equity and Real Estate because insurance companies, Wall Street, the banks and other financial institutions can no longer afford the low yields in public debt. I surmise, for you, it is a mess.
I often wonder, can the central banks print "Pixie Dust" money forever or is there a point, some point, where there is a price to pay for its continuing creation? We have never been here before so it is hard to predict an outcome, with any accuracy. What I can say is that I find our current economic environment extremely troubling, and I worry about where we might be heading.
One mediating factor is that we can't invest off-world, and so, our choices are limited. Most of the German and Danish and Swedish banks are now charging people for their deposits, and so, even money in banks is now a negative in many countries in Europe - and what will happen in the United States if this occurs across America? What happens if American yields follow European yields down the rabbit hole and many people and institutions are caught in the downdraft with profits and lifestyles eroding in serious ways. Political and economic havoc could ensue, and I am not talking about an outlier event.
"The Savage nodded, frowning. You got rid of them. Yes, that's just like you. Getting rid of everything unpleasant instead of learning to put up with it. Whether 'tis better in the mind to suffer the slings and arrows or outrageous fortune, or to take arms against a sea of troubles and by opposing end them... But you don't do either. Neither suffer nor oppose. You just abolish the slings and arrows. It's too easy."
- Aldous Huxley, Brave New World
Once upon a time, nations needed taxes to pay for things. Now they have learned that they can print money from nothing and pay for things. There is a lesson here, a risk here, and a conclusion here. At some point, there will be a price to be paid!
Source: Mark J. Grant
Editor's Note: The summary bullets for this article were chosen by Seeking Alpha editors.


Money Play. How should Red play 65?
pips Red=102 White=143
(CorrectAnswer= 0/0, ErrorScore= 0)
Red must leave shots so the question is how to do that?
13/8, 13/7 solves the problem of clearing the mid-point but leaves 22 shots. 8/3, 8/2 leaves the minimum shots. 13/7, 6/1* leaves more shots but a) puts White on the bar and b) gets White off the ace-point.
Both these last two plays win about the same percentage of games but as is often the case the hit triumphs because it wins more gammons.
Note: you may see some slight vairiations in the diagrams over the next week or so as I work with Simon Woodhead on new versions of bglog which I use to create the diagrams on this site.
13/8, 13/7 solves the problem of clearing the mid-point but leaves 22 shots. 8/3, 8/2 leaves the minimum shots. 13/7, 6/1* leaves more shots but a) puts White on the bar and b) gets White off the ace-point.
Both these last two plays win about the same percentage of games but as is often the case the hit triumphs because it wins more gammons.
Note: you may see some slight vairiations in the diagrams over the next week or so as I work with Simon Woodhead on new versions of bglog which I use to create the diagrams on this site.
1. Cubeful 0-ply 4/2*/off(2) Eq.: +1.261 0.987 0.191 0.000 - 0.013 0.000 0.000 2. Cubeful 0-ply 4/2*(2) 3/1(2) Eq.: +1.085 (-0.176) 0.978 0.092 0.000 - 0.022 0.000 0.000 3. Cubeful 0-ply 3/1(4) Eq.: +0.715 (-0.547) 0.855 0.049 0.000 - 0.145 0.000 0.000 4. Cubeful 0-ply 4/2*/off 4/2 3/1 Eq.: +0.465 (-0.796) 0.742 0.071 0.000 - 0.258 0.000 0.000 5. Cubeful 0-ply 4/2*/off 3/1(2) Eq.: +0.321 (-0.940) 0.679 0.082 0.000 - 0.321 0.000 0.000


×
Home
Food
Fashion
Travel
About
Travel Blog
Going Places
I haven’t been everywhere, but it’s on my list
Nov 24, 2020
Silky Sands, Turquoise Surf
Create a blog post subtitle that summarizes your post in a few short, punchy sentences and entices your audience to continue reading...
Nov 24, 2020
Essential Spa & Body Treatments
Create a blog post subtitle that summarizes your post in a few short, punchy sentences and entices your audience to continue reading...
Facebook
Instagram
Pinterest
Twitter


Reference Building
Envelope Designs
High Efficiency Cooling
Hybrid System
Cieling fans, and natural ventilation
January Redesign
With detailed energy simulation and optmisation
February Redesign
With reduced ventilation schedule
Roof Top Solar
510MWh per year capacity
STATION 1 of 5
Net Zero Energy


The team in the has played
Games Played: .
Total Wins: 0.
Total Runs Scored: 0.
Total Runs Against: 0.


How to Make Friends on the Golf Course
Playing golf alone can some time be boring. If you're alone most of the time it's easy to join another group of golfers.
Steps
- When you first meet the person be sure to shake hands and be polite when you are introducing your self.
- If you're young like me, in your mid-teens, most people don't expect much good golf out of you. Some of the older players think you're just there to mess around and know nothing about the game. So you need to start out with a good shot and show your able to play.
- You know you have their respect if you have better first shot or first hole than the others in the group.
- For the first hole or two just listen and be pretty quiet, that way you can learn a little about your new group. If you do this, for the rest of the round you'll know what to talk about and how much to talk.
- While other players are getting ready to hit their next shot be quiet and still.
- One of the most important things to remember is to stay up with the group, DO NOT slow the group down. If everyone is always waiting for you, you're just like dead weight and they start giving you dirt looks. This make the round of golf harder for them and miserable for yourself.
- Be sure to talk, ask questions, and make conversations so you don't seem boring, but not so much that you become annoying.
- When players hit good shots tell them things like "nice shot" or "that'll play." When players mishit a shot be quiet and no smart comments. If they're golfer that are not and do a lot a joking around it is OK to joke around and throw in a smart comment or two.
- It is always a good thing to be honest about your score because a lot of time the other player will count your strokes and you will lose their respect.
- When you finish the round shake hands and say you enjoyed the playing with them.
Tips
- It is best to join players that are about the same handicap, skill level, as you. If you are like me and have a handicap in the single digits you don't want to play with someone who shoots well over a hundred.
- The more friends you make and the more people you know at your local course the more likely you are to have someone to play with every time you play.


PROGWITHME
Toggle navigation
Menu
HOME
PROFILE
COMMUNITY
DOWNLOADS
SITE-MAP
This is a forum for discussing about the topics related to computer science and engeneering.We can provide you with the solutions related of your homeworks and examination. We have some of genius minds in computer science to guide you.
User Registration
First Name
Last Name
Email
Username
Check Availablity
Password
Re-enter Password
Create
New User?
Forgot Password?
About Me
Contact Us
FAQs


8.3. Parallelism, resource management, and configuration¶
8.3.1. Parallelism¶
Some scikit-learn estimators and utilities can parallelize costly operations using multiple CPU cores, thanks to the following components:
via the joblib library. In this case the number of threads or processes can be controlled with the
n_jobs
parameter.via OpenMP, used in C or Cython code.
In addition, some of the numpy routines that are used internally by scikit-learn may also be parallelized if numpy is installed with specific numerical libraries such as MKL, OpenBLAS, or BLIS.
We describe these 3 scenarios in the following subsections.
<IP_ADDRESS>. Joblib-based parallelism¶
When the underlying implementation uses joblib, the number of workers
(threads or processes) that are spawned in parallel can be controlled via the
n_jobs
parameter.
Note
Where (and how) parallelization happens in the estimators is currently poorly documented. Please help us by improving our docs and tackle issue 14228!
Joblib is able to support both multi-processing and multi-threading. Whether joblib chooses to spawn a thread or a process depends on the backend that it’s using.
Scikit-learn generally relies on the loky
backend, which is joblib’s
default backend. Loky is a multi-processing backend. When doing
multi-processing, in order to avoid duplicating the memory in each process
(which isn’t reasonable with big datasets), joblib will create a memmap
that all processes can share, when the data is bigger than 1MB.
In some specific cases (when the code that is run in parallel releases the
GIL), scikit-learn will indicate to joblib
that a multi-threading
backend is preferable.
As a user, you may control the backend that joblib will use (regardless of what scikit-learn recommends) by using a context manager:
from joblib import parallel_backend
with parallel_backend('threading', n_jobs=2):
# Your scikit-learn code here
Please refer to the joblib’s docs for more details.
In practice, whether parallelism is helpful at improving runtime depends on many factors. It is usually a good idea to experiment rather than assuming that increasing the number of workers is always a good thing. In some cases it can be highly detrimental to performance to run multiple copies of some estimators or functions in parallel (see oversubscription below).
<IP_ADDRESS>. OpenMP-based parallelism¶
OpenMP is used to parallelize code written in Cython or C, relying on multi-threading exclusively. By default (and unless joblib is trying to avoid oversubscription), the implementation will use as many threads as possible.
You can control the exact number of threads that are used via the
OMP_NUM_THREADS
environment variable:
OMP_NUM_THREADS=4 python my_script.py
<IP_ADDRESS>. Parallel Numpy routines from numerical libraries¶
Scikit-learn relies heavily on NumPy and SciPy, which internally call multi-threaded linear algebra routines implemented in libraries such as MKL, OpenBLAS or BLIS.
The number of threads used by the OpenBLAS, MKL or BLIS libraries can be set
via the MKL_NUM_THREADS
, OPENBLAS_NUM_THREADS
, and
BLIS_NUM_THREADS
environment variables.
Please note that scikit-learn has no direct control over these implementations. Scikit-learn solely relies on Numpy and Scipy.
Note
At the time of writing (2019), NumPy and SciPy packages distributed on
pypi.org (used by pip
) and on the conda-forge channel are linked
with OpenBLAS, while conda packages shipped on the “defaults” channel
from anaconda.org are linked by default with MKL.
<IP_ADDRESS>. Oversubscription: spawning too many threads¶
It is generally recommended to avoid using significantly more processes or threads than the number of CPUs on a machine. Over-subscription happens when a program is running too many threads at the same time.
Suppose you have a machine with 8 CPUs. Consider a case where you’re running
a GridSearchCV
(parallelized with joblib)
with n_jobs=8
over a
HistGradientBoostingClassifier
(parallelized with
OpenMP). Each instance of
HistGradientBoostingClassifier
will spawn 8 threads
(since you have 8 CPUs). That’s a total of 8 * 8 = 64
threads, which
leads to oversubscription of physical CPU resources and to scheduling
overhead.
Oversubscription can arise in the exact same fashion with parallelized routines from MKL, OpenBLAS or BLIS that are nested in joblib calls.
Starting from joblib >= 0.14
, when the loky
backend is used (which
is the default), joblib will tell its child processes to limit the
number of threads they can use, so as to avoid oversubscription. In practice
the heuristic that joblib uses is to tell the processes to use max_threads
= n_cpus // n_jobs
, via their corresponding environment variable. Back to
our example from above, since the joblib backend of
GridSearchCV
is loky
, each process will
only be able to use 1 thread instead of 8, thus mitigating the
oversubscription issue.
Note that:
Manually setting one of the environment variables (
OMP_NUM_THREADS
,MKL_NUM_THREADS
,OPENBLAS_NUM_THREADS
, orBLIS_NUM_THREADS
) will take precedence over what joblib tries to do. The total number of threads will ben_jobs * <LIB>_NUM_THREADS
. Note that setting this limit will also impact your computations in the main process, which will only use<LIB>_NUM_THREADS
. Joblib exposes a context manager for finer control over the number of threads in its workers (see joblib docs linked below).Joblib is currently unable to avoid oversubscription in a multi-threading context. It can only do so with the
loky
backend (which spawns processes).
You will find additional details about joblib mitigation of oversubscription in joblib documentation.
8.3.2. Configuration switches¶
<IP_ADDRESS>. Python runtime¶
sklearn.set_config
controls the following behaviors:
- assume_finite
used to skip validation, which enables faster computations but may lead to segmentation faults if the data contains NaNs.
- working_memory
the optimal size of temporary arrays used by some algorithms.
<IP_ADDRESS>. Environment variables¶
These environment variables should be set before importing scikit-learn.
- SKLEARN_SITE_JOBLIB
When this environment variable is set to a non zero value, scikit-learn uses the site joblib rather than its vendored version. Consequently, joblib must be installed for scikit-learn to run. Note that using the site joblib is at your own risks: the versions of scikit-learn and joblib need to be compatible. Currently, joblib 0.11+ is supported. In addition, dumps from joblib.Memory might be incompatible, and you might loose some caches and have to redownload some datasets.
Deprecated since version 0.21: As of version 0.21 this parameter has no effect, vendored joblib was removed and site joblib is always used.
- SKLEARN_ASSUME_FINITE
Sets the default value for the
assume_finite
argument ofsklearn.set_config
.- SKLEARN_WORKING_MEMORY
Sets the default value for the
working_memory
argument ofsklearn.set_config
.- SKLEARN_SEED
Sets the seed of the global random generator when running the tests, for reproducibility.
- SKLEARN_SKIP_NETWORK_TESTS
When this environment variable is set to a non zero value, the tests that need network access are skipped. When this environment variable is not set then network tests are skipped.


|
|
def | __init__ |
| |
|
def | index_id |
| |
|
def | set_index_id |
| |
|
def | clear_index_id |
| |
|
def | has_index_id |
| |
|
def | value_size |
| |
|
def | value_list |
| |
|
def | value |
| |
|
def | set_value |
| |
|
def | add_value |
| |
|
def | clear_value |
| |
|
def | MergeFrom |
| |
|
def | Equals |
| |
|
def | IsInitialized |
| |
|
def | ByteSize |
| |
|
def | ByteSizePartial |
| |
|
def | Clear |
| |
|
def | OutputUnchecked |
| |
|
def | OutputPartial |
| |
|
def | TryMerge |
| |
|
def | __str__ |
| |
|
|
| value_ |
| |
|
| has_index_id_ |
| |
|
| index_id_ |
| |
|
|
int | has_index_id_ = 0 |
| |
|
int | index_id_ = 0 |
| |
|
int | kindex_id = 1 |
| |
|
int | kvalue = 2 |
| |
The documentation for this class was generated from the following file:
- code/googleappengine-read-only/python/google/appengine/datastore/entity_pb.py


John Higgins
Journal Articles
- Reitz, M. and Higgins, J. (2021) Don’t ban politics at work - Harvard Business Review.
- Reitz, M., Higgins, J. and Day-Duro, E. (2021) The Wrong Way to Respond to Employee Activism - Harvard Business Review.
- Reitz, M. and Higgins, J. (2020) Speaking Truth to Power: Why Leaders Cannot Hear What They Need To Hear - British Medical Journal Leader.
- King, K., Higgins, J. and Schroeder, H. (2020) Resilience is a team sport - Dialogue Review.
- Higgins, J. and Reitz, M. (2019) If whistleblowing is the answer, find a better question - Journal of Royal Society Medicine.
- Reitz, M. and Higgins, J. (2019) Managers you’re more intimidating than you think - Harvard Business Review.
- Reitz, M. and Higgins, J. (2019) Do you realise how scary you are? - The European Business Review.
- Reitz, M., Higgins, J. (2018) Speaking Truth to Power - The European Business Review.
- Fuchs, B., Reitz, M. and Higgins, J (2018) Do You Have Advantage Blindness? - Harvard Business Review.
- Reitz, M., Higgins, J. (2017) 5 Questions to Ask before you call out someone powerful - Harvard Business Review.
- Reitz, M., Higgins, J. (2017) The Problem with saying my door is always open - Harvard Business Review.
Research Reports
- Reitz, M., Higgins, J. and Day-Duro, E. (2021) The do’s and don’ts of employee
activism: how organizations respond to voices of difference - Hult Research.
- Reitz, M., Nilsson, V., Day, E. and Higgins, J (2019) Speaking truth to
power at work - Hult Research.
- Reitz, M., Higgins, J. (2017). Being
silenced and silencing others: Developing the capacity to speak truth to power - Hult Research.
Trade Publications & Magazines
- Reitz, M. and Higgins, J. (2019) The difficulties of speaking truth to power - HR Magazine.
- Reitz, M. (2019) Lessons from the Conservative leadership race: Beware the 'heroic' leader - HR Magazine.
- Reitz, M. and Higgins, J. (2019) Are your staff scared of you? (And why it may be costing you a fortune) -
Management Today.
- Reitz, M. and Higgins, J. (2019) Helping silenced staff find their voice at work - People Management.
- Reitz, M. (2019) The latest big ideas from the best business thinkers: “Speaking truth to power needs more than individual
bravery” - People Magazine.
- Reitz, M. and Higgins, J (2019) Why senior leaders don’t listen to activist employees - HR Zone.
- Higgins, J. and Reitz, M. (2019) The Rise In Employee Activism Calls For Business To Listen Up - Minutehack.
- Reitz, M. and Higgins, J. (2019) It pays to encourage your team to complain - Irish Tech.
- Reitz, M. and Higgins, J. (2018) Speaking Truth to Power - European Business Review.
- Reitz, M., Higgins, J. (2017) How leaders are silencing their people - HR Zone.
- Reitz, M., Higgins, J. (2017) How to make it easier for people to speak up - HR Zone.
- Reitz, M., Higgins, J. (2017) Speaking truth to power: the dialogic culture - HR Zone.
- Reitz, M., Higgins, J. (2017) Speaking truth to power: the directive culture - HR Zone.
- Reitz, M., Higgins, J. (2017) Speaking truth to power: the empowering culture - HR Zone.
- Reitz, M., Higgins, J. (2017) Is HR inadvertently silencing employees? - HR Magazine.
- Reitz, M. (2017) How to Create a Culture to Encourage Speaking Up - Public Finance.
Blogs and Opinion Pieces


March 1, 2016
Django 1.9.3 fixes two security issues and several bugs in 1.9.2.
Django relies on user input in some cases (e.g.
django.contrib.auth.views.login()
and i18n)
to redirect the user to an “on success” URL. The security check for these
redirects (namely django.utils.http.is_safe_url()
) considered some URLs
with basic authentication credentials “safe” when they shouldn’t be.
For example, a URL like<EMAIL_ADDRESS>would be
considered safe if the request’s host is http://mysite.example.com
, but
redirecting to this URL sends the user to attacker.com
.
Also, if a developer relies on is_safe_url()
to provide safe redirect
targets and puts such a URL into a link, they could suffer from an XSS attack.
In each major version of Django since 1.6, the default number of iterations for
the PBKDF2PasswordHasher
and its subclasses has increased. This improves
the security of the password as the speed of hardware increases, however, it
also creates a timing difference between a login request for a user with a
password encoded in an older number of iterations and login request for a
nonexistent user (which runs the default hasher’s default number of iterations
since Django 1.6).
This only affects users who haven’t logged in since the iterations were increased. The first time a user logs in after an iterations increase, their password is updated with the new iterations and there is no longer a timing difference.
The new BasePasswordHasher.harden_runtime()
method allows hashers to bridge
the runtime gap between the work factor (e.g. iterations) supplied in existing
encoded passwords and the default work factor of the hasher. This method
is implemented for PBKDF2PasswordHasher
and BCryptPasswordHasher
.
The number of rounds for the latter hasher hasn’t changed since Django 1.4, but
some projects may subclass it and increase the work factor as needed.
A warning will be emitted for any third-party password hashers that don’t
implement a harden_runtime()
method.
If you have different password hashes in your database (such as SHA1 hashes from users who haven’t logged in since the default hasher switched to PBKDF2 in Django 1.4), the timing difference on a login request for these users may be even greater and this fix doesn’t remedy that difference (or any difference when changing hashers). You may be able to upgrade those hashes to prevent a timing attack for that case.
ROOT_URLCONF
setting isn’t defined
(#26155).TIME_ZONE=None
and
USE_TZ=False
(#26177).ForeignObject.get_extra_descriptor_filter()
returned a Q
object
(#26153).__in=qs
lookup for a ForeignKey
with
to_field
set (#26196).forms.FileField
and utils.translation.lazy_number()
picklable
(#26212).RangeField
and
ArrayField
serialization with
None
values (#26215).Decimal
in RawQuery
(#26219).URLValidator
to fix a regression in Django 1.8 (#26204).SimpleTemplateResponse
that
regressed in Django 1.9 (#26253).BoundField
to reallow slices of subwidgets (#26267).get_username
instead of username
to support custom user models
(#26231).load_template()
method (#26280).ContentTypeManager
instances from sharing their cache
(#26286).app_label
(#26186).Oct 01, 2019


{% extends "schedule/base.html" %} {% block page_title %}{{ title }} | {{ block.super }}{% endblock %} {% block announce %}
You're probably here because you would like to schedule time in the music rehearsal room located at the Colchester campus of the University of Essex. If you are already a member then click the button to start reserving time!
Sign In to MuSoc Web »


THE CRAIC (M). (Village Roadshow) Director: Ted Emery Stars: Jimeoin, Alan McKee, Colin Hay, Robert Morgan, Nicholas Bell, Jane Hall, Catherine Arena, Charles Tingwell, Bob Franklin, Greg Evans, Beverley Dunn, Reg Gorman, Peter Aanensen, Kyle Morrison Running time: 92 minutes.
Taking its quaint title from Irish slang for a good time, The Craic delivers just that. This enjoyable enough film is likely to be the most popular home grown comedy to hit our screens since The Castle. It has a similar likeable humour and unassuming style. Popular Irish comedian Jimeoin makes his film debut with this wonderfully entertaining but slightly off beat tale following the adventures of two Irish larrikins on the run from the Australian immigration authorities. The success of the film depends largely upon his own popularity.
Jimeoin plays Fergus, a fun loving Irishman who visits Australia to escape retribution from Colin (Robert Morgan, also currently appearing in Redball), a tough Irish thug whom he has insulted. His friend Wesley (Alan McKee) joins him for fun times down under. But when they outstay their visa, the immigration department tracks them down. On the run, the pair journey through many out of the way places that the average tourist doesn't get to see. These two likely lads discover that we are indeed a weird mob.
Complicating matters is the arrival of Colin, who has been "relocated" to a remote location in Australia, as part of a witness protection scheme. Eventually, their paths will cross with unpredictable results.
The Craic combines warm Irish blarney with coarse Australian humour to good effect. Jimeoin turns an outsider's eye on our culture and our idiosyncrasies, wringing many laughs out of some obvious targets. He takes a sledgehammer to the usual stereotypes, but he also reveals a deep affection for the Australian way of life. Unfortunately, The Craic seems episodic in nature, almost like a collection of amusing anecdotes that Jimeoin has fashioned together. Many of the incidents are actually drawn from Jimeoin's own experiences living and working in Australia in the early '80's, which gives the film a strong autobiographical bent. Even his appearance on the tacky game show The Meet Market is based on Jimeoin's appearance on the popular '80's show Perfect Match. Former host Greg Evans contributes a droll cameo as himself.
Many of the peripheral characters are quite interesting, but remain under developed. McKee delivers a quite boisterous and energetic performance, and he effortlessly steals most of his scenes. Colin Hay, former lead singer of Men At Work, is good as the tough SAS soldier assigned to protect Colin while hiding out down under. Veteran Charles Tingwell contributes an amusing cameo as a foul mouthed farmer.
Director Ted Emery cut his teeth on television shows like the seminal Countdown and Fast Forward, and he brings pace and energy to the material. He keeps things moving along at a nice pace. John Wheeler's beautiful cinematography captures the wonderful locations in all their glory. The main complaint about The Craic is that it seems to run out of energy and inspiration towards the end, and finishes on a vaguely unsatisfying note.
*** greg king http://www.netau.com.au/gregking
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


{% blocktrans %} Does any member of you household participate in one of the following programs? Please select one. {% endblocktrans %}
{% blocktrans %} If so, all members of your household will automatically qualify for free or reduced priced lunches. You will need your case number. {% endblocktrans %}
{% blocktrans %} If not, it is OK. You do not have to be part of one of these programs to qualify for free or reduced priced lunches. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Receipt of benefits by or participation of any household member from certain Assistance Programs conveys eligibility for free school meals to all children in the household. When certifying eligibility based on participation in these programs, determinations must be made with appropriate case numbers submitted on the application. The Assistance Programs are: {% endblocktrans %}
{% blocktrans %} Please enter your case number for: {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Please list the full names of every adult in your household. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Include anyone who is living with you and shares income and expenses. Household members do not have to be related and do not have to have income of their own. Do not include people who are living with you but aren't supported by your household's income and do not contribute to your household's income. {% endblocktrans %}
{% blocktrans %} One adult needs to sign this application. Which adult will be sigining? Select one. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Please enter the last four digits of the signing adult's social security number. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} United States Citizenship is not required. Your household may still be eligible for free or reduced price school lunches. {% endblocktrans %}
{% blocktrans %} Please estimate the income for each adult in your household, one at a time. How much money does make? Enter 0 if nothing to report. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Typically this should be income received during the month or year prior to the date that the application is submitted - whichever is a better reflection of the household's current annual income. If past income does not accurately reflect the household's current annual rate of income, income shall be based on the projected annual household income. {% endblocktrans %}
{% blocktrans %} Please list the full names of every child in your household. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Anyone age 18 or under and are supported with the household’s income; or in your care under a foster arrangement, or qualify as homeless, migrant, or runaway youth; or students attending high school grade or under, regardless of age. {% endblocktrans %}
{% trans 'Do any of the following options describe ' %}{% trans '? Select one or many.' %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} A child who is formally placed by a court or a State child welfare agency. {% endblocktrans %}
{% blocktrans %} A child that is enrolled in a Federal Head Start or State-funded pre-kindergarten program that uses eligibility criteria that is identical or more stringent than Federal Head Start. {% endblocktrans %}
{% blocktrans %} A child identified by the Local Education Agency (LEA) homeless liaison or by an official of a homeless shelter as lacking a fixed, regular, and adequate nighttime residence. {% endblocktrans %}
{% blocktrans %} A child identified as a migrant by the State or local Migrant Education Program coordinator or the local educational liaison, or other individual identified by FNS. {% endblocktrans %}
{% blocktrans %} A child identified as a runaway receiving assistance under a program under the Runaway and Homeless Youth Act, by the local educational liaison, or other individual in accordance with guidance issued by FNS. {% endblocktrans %}
{% blocktrans %} Please estimate the TOTAL income for ALL children in your household. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Money received from outside the household that is paid directly to children. {% endblocktrans %}
{% blocktrans %} This information helps to make sure we are fully serving our community. Responding to this section is optional and does not affect your children's eligibility for free or reduced priced meals. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} Please enter your contact info. All of the fields are optional, however filling this out will greatly assist our staff in contacting you. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Next' %}
{% blocktrans %} You have the opportunity to read the following statements. Click on the link to read the full text. {% endblocktrans %}
USDA Non-Discrimination Statement
Use of Info Statement
{% trans 'Back' %}
{% trans 'Next' %}
In accordance with Federal civil rights law and U.S. Department of Agriculture (USDA) civil rights regulations and policies, the USDA, its Agencies, offices, and employees, and institutions participating in or administering USDA programs are prohibited from discriminating based on race, color, national origin, sex, disability, age, or reprisal or retaliation for prior civil rights activity in any program or activity conducted or funded by USDA.
Persons with disabilities who require alternative means of communication for program information (e.g. Braille, large print, audiotape, American Sign Language, etc.), should contact the Agency (State or local) where they applied for benefits. Individuals who are deaf, hard of hearing or have speech disabilities may contact USDA through the Federal Relay Service at<PHONE_NUMBER>. Additionally, program information may be made available in languages other than English.
To file a program complaint of discrimination, complete the USDA Program Discrimination Complaint Form, (AD-3027) found online at: http://www.ascr.usda.gov/complaint_filing_cust.html, and at any USDA office, or write a letter addressed to USDA and provide in the letter all of the information requested in the form. To request a copy of the complaint form, call<PHONE_NUMBER>. Submit your completed form or letter to USDA by:
(1) Mail: U.S. Department of Agriculture Office of the Assistant Secretary for Civil Rights 1400 Independence Avenue, SW Washington, D.C. 20250-9410;
(2) Fax:<PHONE_NUMBER>; or
(3) Email<EMAIL_ADDRESS>This institution is an equal opportunity provider.
The Richard B. Russell National School Lunch Act requires the information on this application. You do not have to give the information, but if you do not submit all needed information, we cannot approve your child for free or reduced price meals. You must include the last four digits of the social security number of the adult household member who signs the application. The social security number is not required when you apply on behalf of a foster child or you list a Supplemental Nutrition Assistance Program (SNAP), Temporary Assistance for Needy Families (TANF) Program or Food Distribution Program on Indian Reservations (FDPIR) case number or other FDPIR identifier for your child or when you indicate that the adult household member signing the application does not have a social security number. We will use your information to determine if your child is eligible for free or reduced price meals, and for administration and enforcement of the lunch and breakfast programs.
We may share your eligibility information with education, health, and nutrition programs to help them evaluate, fund, or determine benefits for their programs, auditors for program reviews, and law enforcement officials to help them look into violations of program rules.
{% blocktrans %} As the signing adult confirm your household size, enter your name and today's date. {% endblocktrans %}
{% trans 'Total Adults:' %} N/A
{% trans 'Total Children:' %} N/A
{% blocktrans %} The person signing is furnishing true information and to advise that person that the application is being made in connection with the receipt of Federal funds; School officials may verify the information on the application; and Deliberate misrepresentation of the information may subject the applicant to prosecution under State and Federal statutes. {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Submit' %}
{% blocktrans %} You have successfully filled out the 2016-2017 School Lunch Application {% endblocktrans %}
{% trans 'Back' %}
{% trans 'Finish' %}


Answer: {{answer.answer}}
Objective Evidence: {{answer.objectiveEvidence}}
Assumptions: {{answer.assumptionsYes}}
Notes: {{answer.notesYes}}
Answer: {{answer.answer}}
Owner: {{answer.who}}
Due Date: {{answer.when}}
Action Item: {{answer.what}}
Reason: {{answer.reason}}
Assumptions: {{answer.assumptionsNo}}
Notes: {{answer.notesNo}}
Answer: {{answer.answer}}
Documentation: {{answer.documentation}}
Assumptions: {{answer.assumptionsNA}}
Notes: {{answer.notesNA}}
User Who Answered: {{emails[answer.userId]}}
Answered At: {{answer.updatedAt | date:'medium'}}
Answer Reverted By: {{emails[answer.revertedBy]}}