How do we work ?
-
Coordination
The 5G forum prioritizes strengthening coordination and cooperation among Members, as well as with outside stakeholders who share the forum’s objectives, with added focus on fostering cooperation through different networks.
In between the annual conferences, Members of the 5G forum regularly gather informally as players in the ecosystem and in consultation with other stakeholders at meetings relevant to adopting future technologies directly or indirectly related to 5G, to coordinate viewpoints, share relevant information, and discuss strategies to advance the state of the art.
The 5G forum attempts to coordinate work in these national fora by convening coordination meetings prior to important sessions and by sharing relevant information with those members unable to attend the meeting itself.
Below activities of the forum:
- Strategy and coordination meetings
- Workshops and forums
-
Joint publications and statements
A key priority of the 5G forum is the shaping of policies, and contributing to norms through joint action of Tunisian players. The 5G forum offers its members an informal space to share information and interests about current developments that are relevant to taking advantage from innovative technologies and services around 5G.
Results will be published in white papers or statements.
-
Annual Conference
Once a year, the 5G forum holds a multi-stakeholder conference that aims to deepen the discussion on how future technologies and the 5G in particular is helping to promote social, cultural and economic development
The conference offers an open platform for discussion among all stakeholders – public entities, civil society, the private sector, and others – to share relevant information, develop joint strategies and combine efforts towards their mutual goal to position Tunisia in the core of innovation along with the adoption of technologies around 5G.
-
Advisory Network
The 5G forum has identified the need to create a strong mechanism for ongoing multi-stakeholder engagement to adopt and contribute in 5G developments. To assist the 5G forum, in setting up the draft terms of reference, we have created an ad hoc Advisory Network Group comprised of major players and well known personalities in the ICT sector. The 5G Advisory Network (5G-AN) is being established to play the key role through regular engagement with all the players in the ecosystem.
-
Working groups
The Working Groups provide a mechanism for focused and issue-based engagement, facilitiating substantive contibributions by the 5G forum on key 5G issues. These working groups are able to run continuously throughout the year and in-between physical meetings.
5G Working Groups also provide an avenue for multi-stakeholder engagement with public entities and regulator, as well as standardization bodies. By providing the possibility of regular communication with different stakeholders, this engagement encourages concrete and substantive cooperation, enabling tangible outcomes.
-
Joint publications and statements
A key priority of the 5G forum is the shaping of policies, and contributing to norms through joint action of Tunisian players. The 5G forum offers its members an informal space to share information and interests about current developments that are relevant to taking advantage from innovative technologies and services around 5G.
Results will be published in white papers or statements.


This Agreement is between Her Majesty the Queen in Right of Canada, as represented by the Minister of the department or head of the Crown corporation providing the Data (referred to herein as "Licensor" ) and you (either an individual or a legal entity that you represent as an authorized employee or agent)
The following are terms governing your use of the Data.
By using the Data, you acknowledge that you have read, understood and agree to be legally bound by the terms set out below. If you do not agree to these Terms, you may not use the Data.
This is version 1.1 of the Government of Canada Open Data License Agreement. The Licensor may make changes to the terms of this Agreement from time to time and the Licensor will issue a new version of the Agreement on the GC Open Data Portal site. Your use of Data will be governed by the terms of the Agreement in force as of the date you accessed the Data.
1.1 "Agreement" means this Government of Canada Open Data License Agreement.
1.2 "Data" means data, metadata and related documentation expressed in a form that gives rise to Intellectual Property Rights, made available to you through the GC Open Data Portal or through other open data sites of the Licensor, in accordance with the terms of this Agreement.
1.3 "GC Open Data Portal" means the Government of Canada Open Data Portal Web site (http://www.data.gc.ca) that functions as a single point of access to Data.
1.4 "Intellectual Property Rights" means any and all intellectual property rights recognized by the law, including but not limited to, intellectual property rights protected through legislation.
1.5 "Value-Added Product" means any product, system, device, material or software you develop or manufacture, or cause to be developed or manufactured, in the exercise of your rights under this Agreement. Value-Added Products may be developed or manufactured by constructing, deriving, developing, adapting, incorporating or by any other means using the Data, in whole or in part.
2.1 Intellectual Property Rights in any modification, translation or further development of the Data or in Value-Added Products made by you in the exercise of your rights under this Agreement, shall vest in you, in such person as you shall decide or as determined by law.
2.2 Intellectual Property Rights that the Licensor may have in the Data shall remain the property of the Licensor. Intellectual Property Rights that third parties may have in the Data shall remain their property.
3.1 Subject to this Agreement, the Licensor hereby grants you a royalty-free, non-exclusive, world-wide, non-assignable license to use, reproduce, modify, translate, and distribute the Data, in whole or in part and by any means, to manufacture, license or sell Value-Added Products, and to sublicense any or all of such rights, under terms consistent with this Agreement.
4.1 You shall include and maintain on all reproductions you make of the Data, the following notice:
Contains data reproduced and distributed with the permission of the Government of Canada, on an "as is" basis.
4.2 Where any of the Data is contained within a Value-Added Product, you shall include on such Value-Added Product the following notice:
Contains data licensed "as is" under the Government of Canada Open Data License Agreement. Such licensing does not constitute an endorsement by the Government of Canada of this product.
or any other notice approved in advance in writing by the Licensor.
4.3 You shall not include on reproductions made of the Data or in promotional material relating to your Value-Added Products or elsewhere:
1. the name, crest, logos or other insignia or domain names of the Licensor or the official symbols of the Government of Canada, including the Canada wordmark, the Coat of Arms of Canada, and the flag symbol, without written authorization from the Treasury Board Secretariat. Request for authorization from the Treasury Board Secretariat may be addressed to:
<EMAIL_ADDRESS>Federal Identity Program
Treasury Board of Canada Secretariat
300 Laurier Avenue West
Ottawa, Canada K1A 0R5
2. any annotation that may be interpreted as an endorsement by the Licensor of the Value-Added Products or that would imply that you have an exclusive distribution arrangement for any or all of the Data or that you have access to any confidential information or information not available to others.
5.1 The Data is licensed "as is". The Licensor makes no representation and gives no warranty whatsoever with respect to the Data and expressly disclaims any implied warranty of merchantability or fitness for a particular purpose of the Data. The Licensor assumes no obligation or liability whatsoever for the provision of updates to the Data.
5.2 You shall have no recourse against Her Majesty in right of Canada or any of its Ministers, officials, servants, employees, agents, successors and assigns for any loss, liability or damage you may suffer at any time by reason of your possession or use of the Data or arising out of the exercise of your rights or the fulfilment of your obligations under this Agreement.
5.3 You shall at all times indemnify Her Majesty in right of Canada and any of its Ministers, officials, servants, employees, agents, successors and assigns against all claims, damages and actions however made, based upon or attributed to any injury, infringement or damage arising out of any of your actions or omissions, your performance or non-performance under this Agreement or arising from the manufacture, sale, licensing or use of Value-Added Products.
6.1 This Agreement is effective as of the date and time you use the Data and shall terminate automatically if you breach any of the Terms of this Agreement.
6.2 Notwithstanding termination of this Agreement:
1. you may continue to distribute Value-Added Products for the purpose of completing orders made before the termination of this Agreement provided you comply with the requirements set out in section 4.0 of this Agreement; and
2. individuals or entities who have received Value-Added Products or reproductions of the Data from you pursuant to this Agreement will not have their licenses terminated provided they remain in full compliance with those licenses.
6.3 All obligations which expressly or by their nature survive termination of this Agreement shall continue in full force and effect. For greater clarity, and without limiting the generality of the foregoing, the following provisions survive expiration or termination of this Agreement:
This Agreement shall be governed and construed in accordance with the laws of the province of Ontario and the laws of Canada applicable therein. The parties hereby attorn to the exclusive jurisdiction of the Federal Court of Canada.
This Agreement constitutes the entire agreement between the Licensor and you with respect to your rights to use the Data. This Agreement may be amended by the Licensor, in the manner set out at the beginning of this Agreement.
No condoning, excusing or overlooking by the Licensor of any default by you in performing or observing any of your obligations under this Agreement will operate as a waiver or otherwise affect the rights of the Licensor in respect of any continuing or subsequent default.
Version 1.1 November 2011


Toggle navigation
Start Bootstrap
About
Services
Contact
Virtual Gallery
Pollution and Climate Change


Ref my comments on export control rules in my previous post, it looks like these are now impacting open source in a major way. Apparently SourceForge in an effort to comply with US export control rules (specifically countries covered by sanctions administrated by OFAC) have blocked all users from Cuba, Iran, North Korea, Sudan, and Syria. NotePad++ appears to be the first project to withdraw from SourceForge in protest.
UPDATE: Apparently SourceForge has now made the blocking of users from sanctioned countries optional. This leaves the assessment of whether or not a project is subject to the rules up to the project owner. As export control is quite an esoteric topic some links to guidance on the applicability of US export control rules would probably have been a good idea, but SourceForge’s consel has probably counseled against that for liability reasons.


A place to store your event photo albums!
Click here to view up and coming events!
Click here to create a new event!


This application is a .Net WinForms implementation of the DI.fm website channel
picking application. It monitors the
DI.fm/Sky.fm XML Playlist file
and generates a realtime playable playlist of DI/Sky channels. It requires that
both the
.Net framework be installed.
Background and Purpose (please note, DICA is in Alpha and not feature
complete yet):
DI.fm is the internet's premier Electronic Dance Music destination with many
channels devoted to various EDM genres such as Trance, Progressive House, Drum
and Bass, and Ambient among others. Sky.fm supplants this with a selection of
more traditional listening choices such as Classical, Rock, Jazz, and 80's.
DI/Sky operate as a website where users can choose from the various genres of
listening material, and participate in discussions of the music on the DI/Sky
message boards. They provide an
XML
representation of their playlists for 3rd parties to use in their own custom
application development, which is the basis for the Digitally Imported Channel
Aggregator (DICA) application. DICA presents the DI/Sky playlist in a familiar
layout for existing DI/Sky visitors and builds upon the existing functionality
supplied by these sites by allowing the user to:
- Switch between playlists within a common shell as well as define their own
custom playlists containing only the channels they prefer to listen to.
- Create custom notifications for various criteria such as whenever a track
changes on a channel, when new comments are posted to the DI/Sky message boards,
or have DICA monitor incoming tracks for specific artist/song information and
notifying the user when this occurs. It can also monitor the DI/Sky Event
Calendar to notify the user of specific events.
- Keep track of their listening history and adapt itself to the user's listening
style to enable future notifications for similar content as it comes into DICA.
- Use their music player of choice for any stream, regardless of the streaming
format and bitrate.
Usage and Operation:
To open DICA, download the attached archive and run the
DigitallyImported.Client.exe file. The DICA interface should be intuitive to
anyone who is familiar with the DI/Sky music sites. There are a series of
options at the top of the interface with various selections to be made for
playlist selection (each button has a small arrow on the right side, click the
arrow for more options), as well as manipulation of the playlist (sorting,
choosing the preferred music player for streaming, etc). Here is a brief
overview of the options available in the DICA shell application:
- When DICA is first opened, both the shell application plus a debug console will
open. You can safely close the debug console unless you feel the need to read
debugging output.
- Click the options button to begin setting up the DICA application. This dialog
is a bit rudimentary, but serves the purpose of letting the user specify basic
configuration options. The options that are configurable are: How often the
playlist is auto-refreshed, the colors that will be used for the channel
backgrounds, whether or not you want the previous channel listened to the last
time the application was run to play again, channel sorting options, and form
transparency. Service level deserves its own bullet point.
- DICA supports both levels of DI membership: Basic and Premium. If you don't pay
for DI, then you are a basic subscriber and can leave this option alone. If you
are a premium subscriber, DICA supports DI's enhanced bitrate streams, however
you'll need to provide your login (or listen key) information. Unselect the
'Regular' option, and select 'Premium' and enter your username and password,
DICA will take care of the rest behind the scenes so that you can listen to the
higher quality streams.
- When you are done configuring the options, click the save button in the lower
right hand corner of the options form.
- At this point, you are ready to start listening to streams. Click the Refresh
Playlist button to retrieve the DI/Sky playlists, as well as the DI Event List
from their respective websites. Once the playlist has loaded up in the shell,
you'll notice that all of the other toolbar buttons become enabled.
- The 2nd button from the left on the top toolbar is the channel picker, and has 2
parts: If you click the button itself, you'll be taken to the info page on the
DI/Sky website for that channel. If you click the arrow just to the right of the
text, you can select the channel to be displayed in the DICA channel panel.
- The 3rd button from the right on the top toolbar is the DI event viewer, and has
2 parts: If you click the button, you'll be taken to the DI events calendar. If
you click the arrow just to the right of the text, you'll get a dropdown of all
the upcoming events on the DI channel. Selecting an event from the dropdown will
take you to the details page for the event on the DI website.
- The last button on the top toolbar is the Feedback link for the DICA
application. Clicking it will take you the DICA section of my website where you
can post thoughts/bugs/feature requests/etc. For anyone familiar with the .Net
framework, clicking this button will also force a generation 3 garbage
collection by the CLR, which is used for debugging purposes.
- The 1st button on the bottom toolbar is the playlist configurator. The options
are: All (displays all channels from both DI and Sky), Custom (which is
discussed in the next bullet), DI (which will display only channels from the DI
website), External (which is not functional yet), and Sky (which will display
only channels from the Sky website).
- Clicking the Custom playlist configurator option allows you to build your own
playlist from the available DI/Sky channels. From the dialog that pops up,
select the channels you'd like displayed in the channel panel section of DICA
and then click the save button. To clear all selections, click the clear button.
The add (+) button is not completely implemented at this point, but in a future
release will allow you specify your own .pls files located on the internet to be
displayed in your playlist.
- The 2nd button in the bottom toolbar is the sorting specifier. Channels are
sorted by channel name by default. To sort the playlist by the specified option,
click the button. To change the sort criteria, click the arrow just to the right
of the button text.
- The 3rd button from the right on the bottom toolbar is the media player
selector. Here you can choose your preferred media player to play the channel
stream you wish to listen to. Default will attempt to use the default player you
have set up for streams, however this option will cause a browser instance to be
opened to fetch the file from the DI/Sky website. I recommend choosing your
player of choice from the dropdown selection as this will bypass the browser
instance as the stream will be directly loaded by the player you choose.
- I have made every effort possible to try and ensure that any of the bitrate
streams and formats can be played by any of the players listed in the dropdown
(with the exception of Quicktime, which will be removed in a future release).
There are cases where the media player you select cannot play a specific
playlist type, in which case you should choose a playlist type that is supported
by the player as noted by the icon next to stream button in the channel panel.
WinAmp can play all of the stream types, and iTunes and WMP can play most of
them. When in doubt, select a supported stream type.
- Below the bottom toolbar is the status section, which has a counter for the time
until the next playlist refresh, and an indicator for how much memory the DICA
shell is currently using. If memory consumption becomes too high, restart the
application. All of your settings will be saved.
- Below the status section is the channel panel section, which is where the
various selected DI/Sky channels and their relevant information will be
displayed. The layout should be familiar to anyone who has used the DI/Sky
websites as I've tried to mimic the look and feel. Clickable links are
underlined, with the exception of the Recent Playlist History link, which will
open up a small form displaying the most recent 5 tracks that were played on
that channel along with links to their forum entries.
- To listen to a stream, click the icon that displays the bitrate. The format of
the stream is specified by the icon next to the bitrate indicator, although as
stated above some streams are not player specific: DICA will attempt to open any
of the streams in the player specified, i.e. if you want to listen to a WMA
formatted stream in WinAmp, DICA will parse out the correct information for you.
- The DICA shell will show a pop-up notification (aka 'Toast' similar to
notifications given by popular IM applications) for the following: When a track
changes on a channel listed in the channel panel, and when new comments are
posted to a forum for a track. The text in the toast notifications is clickable
and will take you to the relevant content on the website for the channel, i.e.
if a new comments toast pops up, clicking it will take you to that forum.
- Many options in the channel panel section are right click enabled, i.e. if you'd
like to copy a track name to the clipboard, right click the title and choose
copy. You can then paste into Google/etc to get more information about the
artist or track.
Some general notes on the DICA application:
- To prevent the DICA application from fetching the DI/Sky playlists too often,
they are cached for approximately half the time specified in the Refresh
Playlist counter. This means that clicking the Refresh Playlist before half of
the playlist counter time has gone by will have no effect on refreshing the
playlist. To get real time updates of the playlists displayed in the channel
panel, set the playlist counter to a lower value in the options dialog. Anything
below 60 seconds is not recommended as memory usage could increase. I recommend
a value of 2.5 to 5 minutes (or longer if you want).
- Under most circumstances, DICA will recover from any errors, but this is beta
software and some crashing may occur. There is no risk to the rest of your
system as this is written in .Net. If DICA crashes, it won't take any other
applications down with it.
- Source code is available on request only. When this reaches Release Candidate
stage, I will include the source code along with API documentation in the
download. Feel free to disassemble the assemblies at your leisure though.
- Why are there so many assemblies? First and foremost DICA is a framework for
fetching playlist/event content from the DI/Sky websites. The included Windows
Forms client is just an example of how to consume these API's to display DI/Sky
content. These API's can be consumed by any type of client should a developer be
interested in developing their own DI/Sky based application.
- There are NO spyware/loggers/trojans/etc in this application. As stated above,
feel free to disassemble the source code if you'd like to look around, or get a
better feel for how the application is built. I have been a professional .Net
developer for 10 years, and am extremely active in the .Net open source
community. I would never do anything to tarnish my reputation. I also am an avid
EDM fan, and have been listening to/making EDM for almost 25 years. This
application is my attempt to fold both of these together to give back to the
community.
Release History (unless explicitly mentioned, all bugs from previous
releases are fixed in subsequent versions), current release is
Beta 4 (Build 40016):
08/29/2012 -- DICA Beta 4.
Et Cetera
For any curious geeks, the app is ~25,000 lines of code, written 100% in C#. The
overall goal is to create a framework for developing custom DI applications for
any programmers wishing to do so. The API is not complete/stable during the
Alpha release timeline and will change. I will begin releasing source code
during the Release Candidate timeframe.


[...] reflection-in-action has been often studied, reflection-on-action has received less attention.
[...] modern user interfaces do not explicitly support these practices, and instead impose a linear progression through tasks that is a poor fit for creative pursuits.


Documentation¶
- Dynamic Network Classes
- Introduction
- Shared methods
- tnetwork.dyn_graph.dyn_graph.DynGraph.start
- tnetwork.dyn_graph.dyn_graph.DynGraph.end
- tnetwork.dyn_graph.dyn_graph.DynGraph.summary
- tnetwork.dyn_graph.dyn_graph.DynGraph.add_node_presence
- tnetwork.dyn_graph.dyn_graph.DynGraph.add_nodes_presence_from
- tnetwork.dyn_graph.dyn_graph.DynGraph.add_interaction
- tnetwork.dyn_graph.dyn_graph.DynGraph.add_interactions_from
- tnetwork.dyn_graph.dyn_graph.DynGraph.remove_node_presence
- tnetwork.dyn_graph.dyn_graph.DynGraph.remove_interaction
- tnetwork.dyn_graph.dyn_graph.DynGraph.remove_interactions_from
- tnetwork.dyn_graph.dyn_graph.DynGraph.edge_presence
- tnetwork.dyn_graph.dyn_graph.DynGraph.interactions
- tnetwork.dyn_graph.dyn_graph.DynGraph.change_times
- tnetwork.dyn_graph.dyn_graph.DynGraph.graph_at_time
- tnetwork.dyn_graph.dyn_graph.DynGraph.cumulated_graph
- tnetwork.dyn_graph.dyn_graph.DynGraph.slice
- tnetwork.dyn_graph.dyn_graph.DynGraph.aggregate_sliding_window
- tnetwork.dyn_graph.dyn_graph.DynGraph.frequency
- tnetwork.dyn_graph.dyn_graph.DynGraph.write_interactions
- Sequences of snapshots
- Adding and removing nodes and edges
- tnetwork.DynGraphSN.__init__
- tnetwork.DynGraphSN.add_node_presence
- tnetwork.DynGraphSN.add_nodes_presence_from
- tnetwork.DynGraphSN.add_interaction
- tnetwork.DynGraphSN.add_interactions_from
- tnetwork.DynGraphSN.remove_node_presence
- tnetwork.DynGraphSN.remove_interaction
- tnetwork.DynGraphSN.remove_interactions_from
- tnetwork.DynGraphSN.add_snapshot
- tnetwork.DynGraphSN.remove_snapshot
- tnetwork.DynGraphSN.discard_empty_snapshots
- Accessing the graph
- tnetwork.DynGraphSN.summary
- tnetwork.DynGraphSN.snapshots
- tnetwork.DynGraphSN.node_presence
- tnetwork.DynGraphSN.edge_presence
- tnetwork.DynGraphSN.graph_at_time
- tnetwork.DynGraphSN.snapshots_timesteps
- tnetwork.DynGraphSN.last_snapshot
- tnetwork.DynGraphSN.start
- tnetwork.DynGraphSN.end
- tnetwork.DynGraphSN.change_times
- tnetwork.DynGraphSN.frequency
- Conversion to different formats
- Aggregation
- Other graph operations
- Adding and removing nodes and edges
- Interval graphs
- Adding and removing nodes and edges
- tnetwork.DynGraphIG.__init__
- tnetwork.DynGraphIG.add_node_presence
- tnetwork.DynGraphIG.add_nodes_presence_from
- tnetwork.DynGraphIG.add_interaction
- tnetwork.DynGraphIG.add_interactions_from
- tnetwork.DynGraphIG.remove_node_presence
- tnetwork.DynGraphIG.remove_interaction
- tnetwork.DynGraphIG.remove_interactions_from
- Accessing the graph
- Conversion to different formats
- Aggregation
- Adding and removing nodes and edges
- Link Streams
- Adding and removing nodes and edges
- tnetwork.DynGraphLS.__init__
- tnetwork.DynGraphLS.start
- tnetwork.DynGraphLS.end
- tnetwork.DynGraphLS.add_interaction
- tnetwork.DynGraphLS.add_interactions_from
- tnetwork.DynGraphLS.add_node_presence
- tnetwork.DynGraphLS.add_nodes_presence_from
- tnetwork.DynGraphLS.remove_node_presence
- tnetwork.DynGraphLS.remove_interaction
- tnetwork.DynGraphLS.remove_interactions_from
- Accessing the graph
- Conversion to different formats
- Aggregation
- Other
- Adding and removing nodes and edges
- Read/Write/Load
- Visualization
- Dynamic Communities Classes
- Dynamic Community Detection
- Benchmark Generator
- Example of custom scenario
- Example of stable communities
- Function to define events
- tnetwork.ComScenario.INITIALIZE
- tnetwork.ComScenario.BIRTH
- tnetwork.ComScenario.DEATH
- tnetwork.ComScenario.MERGE
- tnetwork.ComScenario.SPLIT
- tnetwork.ComScenario.THESEUS
- tnetwork.ComScenario.RESURGENCE
- tnetwork.ComScenario.GROW_ITERATIVE
- tnetwork.ComScenario.SHRINK_ITERATIVE
- tnetwork.ComScenario.MIGRATE_ITERATIVE
- tnetwork.ComScenario.ASSIGN
- tnetwork.ComScenario.CONTINUE
- Run
- Toy example
- Community class
- Evaluation of Dynamic Communities
- Main evaluation functions
- tnetwork.DCD.analytics.dynamic_partition.similarity_at_each_step
- tnetwork.DCD.analytics.dynamic_partition.quality_at_each_step
- tnetwork.DCD.analytics.dynamic_partition.SM_L
- tnetwork.DCD.analytics.dynamic_partition.SM_N
- tnetwork.DCD.analytics.dynamic_partition.SM_P
- tnetwork.DCD.analytics.dynamic_partition.longitudinal_similarity
- Helper functions that could be used to evaluate smoothness
- Benchmark
- Main evaluation functions
- Intervals Class


FCLOSE
Section: Linux Programmer's Manual (3)
Updated: 2009-02-23
Index
Return to Main Contents
NAME
fclose - close a stream
SYNOPSIS
#include <stdio.h>
int fclose(FILE *fp);
DESCRIPTION
The
fclose()
function flushes the stream pointed to by
fp
(writing any buffered output data using
fflush(3))
and closes the underlying file descriptor.
RETURN VALUE
Upon successful completion 0 is returned.
Otherwise,
EOF
is returned and
errno
is set to indicate the error.
In either case any further access
(including another call to
fclose())
to the stream results in undefined behavior.
ERRORS
- EBADF
-
The file descriptor underlying
fp
is not valid.
The
fclose()
function may also fail and set
errno
for any of the errors specified for the routines
close(2),
write(2)
or
fflush(3).
CONFORMING TO
C89, C99.
NOTES
Note that
fclose()
only flushes the user-space buffers provided by the
C library.
To ensure that the data is physically stored
on disk the kernel buffers must be flushed too, for example, with
sync(2)
or
fsync(2).
SEE ALSO
close(2),
fcloseall(3),
fflush(3),
fopen(3),
setbuf(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- NOTES
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:55:11 GMT, September 18, 2014


Wall covering installation, interior painting, & finishes
Find Out MoreOur offerings include interior painting, wood finishes, wall paper installation and removal, drywall and plaster repair, cabinet refinishing, light carpentry such as moldings and trim, and more. Our work is top notch, our service is top notch, and we treat your space with care and respect.
We install wallpaper and other wall coverings
Our attention to detail means your rooms will look incredible
We finish and install molding and other light carpentry items
We aren't happy unless you are
Call or email now to schedule an appointment for a no charge consultation to discuss your needs in detail. We look forward to helping with your next project.
414-881-4109


This content has been displayed with Vanilla JS by listening the 'load' event, after 1 second
This content has been displayed with jQuery by listening the 'load' event, after 1 second


Renz Martinez
Vlog CameramanOur Poging Cameraman in one of our vlogs.
Marco 'Macoy' Abrahan
Vlog Editor/Vlogger/ProgrammerOur cool editor in our vlogs *lmao*. One of the author of this website
Our Poging Cameraman in one of our vlogs.
Our cool editor in our vlogs *lmao*. One of the author of this website


About This Website
Sometime you may ask many people just in order to get a simple link.
So I build this site to collect all links that I access frequently.
If you want to contribute or read the code, please go to here, it is written by Django.
Have question? Please find me on github.


The pyramid shows the status of pipeline triggered tests. The test results are represented on the layer which the tests are executed on. For example a Selenium test uses the browser, so the test results using Selenium will be plotted in the UI part of this graph. At the moment, the Selenium tests are failed so the top part of the testing pyramid is red.


Class yii\mongodb\file\Download
| Inheritance | yii\mongodb\file\Download » yii\base\BaseObject |
|---|---|
| Implements | yii\base\Configurable |
| Available since version | 2.1 |
| Source Code | https://github.com/yiisoft/yii2-mongodb/blob/master/file/Download.php |
Download represents the GridFS download operation.
A Download
object is usually created by calling yii\mongodb\file\Collection::get() or yii\mongodb\file\Collection::createDownload().
Usage example:
Yii::$app->mongodb->getFileCollection()->createDownload($document['_id'])->toFile('/path/to/file.dat');
You can use Download::substr()
to read a specific part of the file:
$filePart = Yii::$app->mongodb->getFileCollection()->createDownload($document['_id'])->substr(256, 1024);
Public Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $bytes | string | File content. | yii\mongodb\file\Download |
| $chunkCursor | \MongoDB\Driver\Cursor | Chuck list cursor. | yii\mongodb\file\Download |
| $chunkIterator | Iterator | Chuck cursor iterator. | yii\mongodb\file\Download |
| $collection | yii\mongodb\file\Collection | File collection to be used. | yii\mongodb\file\Download |
| $document | array | Document to be downloaded. | yii\mongodb\file\Download |
| $filename | string|null | File name. | yii\mongodb\file\Download |
| $resource | resource | File stream resource. | yii\mongodb\file\Download |
| $size | integer | File size. | yii\mongodb\file\Download |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\BaseObject |
| __construct() | Constructor. | yii\base\BaseObject |
| __get() | Returns the value of an object property. | yii\base\BaseObject |
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject |
| __set() | Sets value of an object property. | yii\base\BaseObject |
| __unset() | Sets an object property to null. | yii\base\BaseObject |
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject |
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject |
| className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
| getBytes() | Alias of toString() method. | yii\mongodb\file\Download |
| getChunkCursor() | Returns file chunks read cursor. | yii\mongodb\file\Download |
| getChunkIterator() | Returns iterator for the file chunks cursor. | yii\mongodb\file\Download |
| getDocument() | yii\mongodb\file\Download | |
| getFilename() | Returns associated file's filename. | yii\mongodb\file\Download |
| getResource() | Returns persistent stream resource, which can be used to read file. | yii\mongodb\file\Download |
| getSize() | Returns the size of the associated file. | yii\mongodb\file\Download |
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject |
| hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject |
| init() | Initializes the object. | yii\base\BaseObject |
| setDocument() | Sets data of the document to be downloaded. | yii\mongodb\file\Download |
| substr() | Return part of a file. | yii\mongodb\file\Download |
| toFile() | Saves download to the physical file. | yii\mongodb\file\Download |
| toResource() | Returns an opened stream resource, which can be used to read file. | yii\mongodb\file\Download |
| toStream() | Saves file into the given stream. | yii\mongodb\file\Download |
| toString() | Returns a string of the bytes in the associated file. | yii\mongodb\file\Download |
| write() | Alias of toFile() method. | yii\mongodb\file\Download |
Property Details
File content.
Chuck list cursor.
Chuck cursor iterator.
File collection to be used.
Document to be downloaded.
File name.
File stream resource.
File size.
Method Details
Alias of toString() method.
| public string getBytes ( ) | ||
| return | string | File content. |
|---|
Returns file chunks read cursor.
| public \MongoDB\Driver\Cursor getChunkCursor ( $refresh = false ) | ||
| $refresh | boolean | Whether to recreate cursor, if it is already exist. |
| return | \MongoDB\Driver\Cursor | Chuck list cursor. |
|---|---|---|
| throws | yii\base\InvalidConfigException |
Returns iterator for the file chunks cursor.
| public Iterator getChunkIterator ( $refresh = false ) | ||
| $refresh | boolean | Whether to recreate iterator, if it is already exist. |
| return | Iterator | Chuck cursor iterator. |
|---|
| public array getDocument ( ) | ||
| return | array | Document to be downloaded. |
|---|---|---|
| throws | yii\base\InvalidConfigException | on invalid document configuration. |
Returns associated file's filename.
| public string|null getFilename ( ) | ||
| return | string|null | File name. |
|---|
Returns persistent stream resource, which can be used to read file.
| public resource getResource ( ) | ||
| return | resource | File stream resource. |
|---|
Returns the size of the associated file.
| public integer getSize ( ) | ||
| return | integer | File size. |
|---|
Sets data of the document to be downloaded.
Document can be specified by its ID, in this case its data will be fetched automatically via extra query.
| public void setDocument ( $document ) | ||
| $document | array|\MongoDB\BSON\ObjectID | Document raw data or document ID. |
Return part of a file.
| public string|false substr ( $start, $length ) | ||
| $start | integer | Reading start position. If non-negative, the returned string will start at the start'th position in file, counting from zero. If negative, the returned string will start at the start'th character from the end of file. |
| $length | integer | Number of bytes to read. If given and is positive, the string returned will contain at most length characters beginning from start (depending on the length of file). If given and is negative, then that many characters will be omitted from the end of file (after the start position has been calculated when a start is negative). |
| return | string|false | The extracted part of file or |
|---|
Saves download to the physical file.
| public integer toFile ( $filename ) | ||
| $filename | string | Name of the physical file. |
| return | integer | Number of written bytes. |
|---|
Returns an opened stream resource, which can be used to read file.
Note: each invocation of this method will create new file resource.
| public resource toResource ( ) | ||
| return | resource | Stream resource. |
|---|
Saves file into the given stream.
| public integer toStream ( $stream ) | ||
| $stream | resource | Stream, which file should be saved to. |
| return | integer | Number of written bytes. |
|---|
Returns a string of the bytes in the associated file.
| public string toString ( ) | ||
| return | string | File content. |
|---|
Alias of toFile() method.
| public integer write ( $filename ) | ||
| $filename | string | Name of the physical file. |
| return | integer | Number of written bytes. |
|---|


login
register
Email
Password
Login
Forgot password?
ID
Email
Email Confirmation
Password
Password Confirmation
Register


Algorithm 44
Task
Enter
number / base
to calculate the logarithm.
Print the outcome.
Enter the number:
Enter the base:
Result


The goals of this lab are to
After completing this assignment, all teapots from lab 4 should spin in unison!
This assignment has been added to your AnimationToolkit repository.
> cd cs56 > cd AnimationToolkit > cd build > cmake .. > make > ../bin/a5-testQuat
You should now have a new directory under assignments called a5-quats.
In this assignment, you will implement conversions between quaternions,
matrices, and angle/axis representations for rotation. To help test your
conversions, re-use the teapot demo from assignment
4.
In this question, we will use rotations around the Z axis to create a ripple effect. This question is split into steps Part 1: Draw a NxN grid of cuboids (2 points)
Re-purpose your code from assignment 2 to draw a grid of cuboids. Unlike in
assignment 2 (gradient), these cuboids should be longer than they are wide to
create stripes across the screen. (Hint: to change the width of the cuboid,
use the last parameter to ADrawCube to adjust the dimensions)
Part 2: Use atan2 to rotate cuboids towards the target (3 points)
Re-purpose your code from assignment 1 (look) to use atan2 to compute
an angle that points from the cuboid's position to the target. The calculation
will give you an angle which you can use to rotate the cuboid towards the
target. (Hint: the axis of rotation is the Z axis. Use euler angles to create
an AMatrix3 to pass to ADrawCube).
Next, modify your code so that only cuboids within 100 units of the target
are pointed towards it.
Part 3: Interpolate cuboids smoothly back to their original orientations (10 points)
To accomplish this effect, you will need to store the Z angle for each cuboid. If the cuboid's position is further than 100 units away from the target, you should blend its current angle with zero. In our interpolations for assignment 2, we kept track of the start and end values so we could vary the quantity based on
angle = start * (1-t) + end * t
For this animation, we will perform an exponential blend back to zero. This is simpler to implement than a linear blend merely need decrease the currentAngle back to zero each frame, e.g.
angle = currentAngle * pow(rate, dt())
For example, if rate = 0.1, we will decrease currentAngle by pow(0.1, dt()) each frame. This will quickly reduce the angle towards zero.
To finish up the animation, use the flag _buttonDown so that the cuboids do not
point towards the target unless the user is pressing the left mouse button (e.g.
when _buttonDown = true, the user is pressing the left mouse button).
In this question, you will implement conversions between quaternions and angle-axis representations for rotation.
Recall that the relationship between quaternions and an angle/axis rotation is \( q = \left[\sin(\frac{\theta}{2}) \hat{u}, \cos(\frac{\theta}{2})\right] \)
To run the unit tests from the build directory, type
build> ../bin/a5-testQuat
// accessing member variables in AQuaternion works similarly to AMatrix3 mX = 0.5; mY = 0.0; mZ = 3.0; mW = -5.0; normalize(); // make myself a unit quaternion AQuaternion q; // create an identity quat q[0] = 0.1; // x value q[1] = 0.1; // y value q[2] = 0.1; // z value q[3] = 0.1; // w value q.normalize(); // make q a unit quaternion
In class, we derived the rotation matrix corresponding to a quaternion \( q = (x, y, z, w) = (\bar{v}), w \). \[ \left( \begin{array}{ccc} 1-2(y^2+z^2) & 2(x y - w z) & 2(x z + w y) \\ 2(x y + w z) & 1-2(x^2+z^2) & 2(y z - w x) \\ 2(x z - w y) & 2(y z + w x) & 1-2(y^2+x^2) \\ \end{array} \right) \]
To run the unit tests from the build directory, type
build> ../bin/a5-testQuatMat
To check the teapot demo from the build directory, type
build> ../bin/a4-teapots
Using the expressions above, we can extract a quaternion from a rotation matrix, similarly to how we extract euler angles from a matrix. A numerically stable approach is to
//solve for w^2, x^2, y^2, and z^2 //Find the term with the largest value //Based on the largest component, compute the remaining terms using the off-diagonal matrix elements.
For example, if \( w^2 \) is the largest, we would then solve for x, y, and z using the expressions for \( w x \), \( w y \), and \( w z \).
To run the unit tests from the build directory, type
build> ../bin/a5-testQuatMat
To check the teapot demo from the build directory, type
build> ../bin/a4-teapots
Option 1 (up to 2) Now that your framework supports rotations around any axis, try to make an interesting demo based on that.
Option 2 (up to 15) Implement a direct angle/axis to matrix conversions. Lengyel 4.3.1 can be used as a reference. For full credit, answer the following questions:


BrowserAudit requires JavaScript to run
JavaScript support must be enabled for the following domains in order for the test suite to run:
browseraudit.com
, test.browseraudit.com
, browseraudit.org
, test.browseraudit.org
If you use a content-blocking web browser extension such as NoScript, please disable it on these domains.


The University of British Columbia Human Powered Submarine Team (SUBC) is an engineering student team that designs, builds, and races human powered submarines. Founded in 1989 by a small group of mechanical engineering students, SUBC is UBC’s longest lived engineering design team. The team was created to participate in the second International Submarine Races (ISR2), and has since had many successes with both one and two-person submarines. Most recently, the team placed in the top 5 for our design at our first-ever European competition (eISR3). Now, SUBC is working to prepare for ISR14 this June, where they will be racing against over 20 teams from all over the world.
This year, a reciprocating linear input motion was selected over the traditional bicylce crank input,
requiring a new gearbox and pedal system. We call this year's drivetrain redesign the rectifying
inverter gearbox. The gearset first uses sprag clutch bearings to rectify the reciprocating input
into a continuous output rotation. The second stage of the gearbox then transmits the power evenly
between two contra-rotating propeller shafts.
The team hopes to conduct future quantitative tests
to compare different pedaling configurations, and will fixate on the most effective selection in
the future.
To help make our pilot's life a little bit easier, we developed a fly-by-wire steering system.
The pilot uses a simple joystick to control the submarine's stern planes and rudders. Precision
control of the fins is possible using precision servo motors which couple to our co-axial steering
gimbals. The steering system is complete with a heads up display to provide the pilot with key
information, including submarine heading, speed, and depth.
Future iterations of this system will
include an automated heading control option, using a combination sensor inputs to maintain course
without pilot input.
The team competed in the 3rd European International Submarine Races (eISR3) in June 2016.
We flew to England for two weeks of racing, outreach, and adventure! It was our first ever European
competition, and our first time racing with our submarine, Skookumchuck Mk. II. We were able to
highlight our design efforts and share our ideas with students and industry professionals
from around the world. Despite race day setbacks, including a faulty steering system and a
lack of racing experience, our team placed 7th overall and 5th for design!
Now we are looking
forward to another summer of excitement as we prepare for the June, 2017 International Submarine
Races in Bethesda, Maryland.


Displaying {{recCurrentIndex}} to {{recLastIndex}} out of {{total}} rows Records per page
No Records Found !


Karan Brar, G Hannelius, Rachel Crow Share New Shows at eko Premiere Event
Karan Brar wears a leopard print shirt to the 2019 eko Fall Fiction Slate Premiere held at Goya studios on Tuesday (November 19) in Hollywood.
The 20-year-old actor premiered his new web show Epic Night.
Also in attendance were Timeline stars G Hannelius and Rachel Crow with their cast mates, as well as Travis Mills, who premiered his new series The Coop.
“what a night. #TimelineShow comes out TOMORROW on @ekovideo 💓 we all worked so incredibly hard on this show, we hope you LOVE IT. xx,” Rachel shared the next morning.
Epic Night, Timeline and The Coop premiere on eko.com and the eko app TOMORROW (November 21)!


| Package | Description |
|---|---|
| bayseanNetwork |
| Class and Description |
|---|
| DAG
The Class DAG
Provides the proper methods to create a Directed Acyclic Graph regarding some restrictions, namely the parent number each node can take
|
| DAGGHC
The Class DAGGHC
Contains a DAG and also a score value associated, very useful to construct the DBN.
|
| IlegalOperation
The Class IlegalOperation
Implements exception for most commonly used DAG methods, mainely add() remove() and reverse()
|
| LL
The Class LL
Implements Score;
The log-likehood algorithm correctly implemented
|
| NoParent
The Class NoParent
Implements exception for DAG methods namely calcNijk, maxq, fromParentConfiguration
|
| PCInvalid
The Class NoParent
Implements exception if ParentConfiguration is invalid.
|
| Score
The Interface Score
Provides a method to compute DAG scores.
|


{% extends "base.html" %} {% block title %}Bills Explained | PMG{% endblock %} {% block breadcrumb %}
{% endblock %} {% block page %}This section provides an overview of the stages and processes involved in making or changing a law.
The process of making a law sometimes begins with a discussion document, called a Green Paper. This is drafted in the Ministry or department dealing with the particular issue in order to show the way that it is thinking on a particular policy. It is then published so that anyone who is interested can give comments, suggestions and ideas.
The Green Paper is sometimes followed by a more refined discussion document, called a White Paper, which is a broad statement of government policy. This is drafted by the relevant department or a task team designated by the Minister of that department. Comment may again be invited from interested parties. The relevant parliamentary Committees may propose amendments or other proposals and then send the policy paper back to the Ministry for further discussion and final decisions.
A Bill is the draft version of a law or Act. It may be proposing either an entirely new Act, or an amendment to an existing Act, or it can simply repeal an existing Act.
This section outlines some of the processes and requirements that can take place before a Bill becomes a law. It deals with the various types of Bills and who may initiate a Bill. The following section tracks how a Bill becomes a law. The Constitution provides the full details which are not included here.
There are four main types of Bills that come before Parliament:
The process of classifying a Bill into one of the four categories above is called "tagging" and will determine the procedures the Bill must follow to become law. Bills are tagged by the Joint Tagging Mechanism (JTM), a Committee consisting of the Speaker and the Deputy Speaker of the National Assembly and the Chairperson and Permanent Deputy Chairperson of the National Council of Provinces. They are advised by the Parliamentary Law Adviser. The JTM decides on the classification of the Bill by consensus.
(For more detail on the functions and procedure of the JTM, please refer to the Joint Rules of Parliament, as amended on 24 March 1999.)
An ordinary Bill that does not affect the provinces can only be introduced in the National Assembly (NA). Once it has been passed by the NA, it must be sent to the National Council of Provinces (NCOP).
In this case, delegates in the NCOP vote individually and the Bill must be passed by a majority of delegates present. If the NCOP rejects a Bill or proposes its own amendments, the Bill is returned to the NA which will pass the Bill with or without taking into account the NCOP amendments or it may decide not to proceed with the Bill. The NCOP's role in Bills that do not affect the provinces is therefore a limited one. It can delay a Section 75 Bill, but it cannot prevent it from being passed.
A Bill that affects the provinces may be introduced in either the NA or the NCOP, but must be considered in both Houses.
Members of the NCOP do not vote as individuals on Section 76 Bills but rather as provincial delegations. Each provincial delegation has one vote so there are nine possible votes regarding Bills that affect the provinces.
These Bills must also be discussed by each provincial legislature so that each legislature can give its NCOP delegation a voting mandate. This makes it necessary to have six-week legislative cycles so that a number of Bills can go to each province at one time.
Bills are usually considered by a provincial Committee, which may hold public hearings on the Bill to receive comments and suggestions. These Committees make recommendations to their legislatures, which then decide on their position on each Bill and mandate their NCOP delegation accordingly.
The four special delegates to the NCOP (who are supposed to be chosen according to their expertise and knowledge of the Bills being debated) go to Cape Town to join the six permanent delegates. The full delegation of ten people participate in the national debate on the Bills, thus enabling the provinces to contribute to national legislation that affects them. The delegation then casts its one vote on behalf of its province and in accordance with the provincial legislature's mandate.
The NCOP must pass, amend or reject a section 76 Bill. If the Bill was introduced in the NA, however, the NA can override the NCOP decision with a two thirds majority of its Members.
Money Bills allocate public money for a particular purpose or impose taxes, levies or duties. They can only be introduced by the Minister of Finance and they must be introduced in the National Assembly. They follow the same procedure as that for Bills that do not affect the provinces (Section 75 Bills).
The 2008 Money Bills Amendment Procedure and Related Matters Act is the legislation that permits Parliament to not only debate but also amend Money Bills.
As the highest law in the land, the Constitution is the foundation for a democratic society and protects the rights of all people. There are special requirements and procedures, therefore, in order to amend the Constitution. All of them require special majorities so that changes cannot be made by a minority. For example, amending the Bill of Rights requires a vote of two-thirds of the membership of the National Assembly and the support of six provinces in the NCOP.
All constitutional amendments that affect the provinces must be passed by both Houses. Amendments which affect only certain provinces, must be passed by those provinces. Other amendments do not need to be passed by the NCOP but all amendments, whether or not they must be passed by the NCOP, must be submitted to the NCOP for public debate.
In addition, minimum times are laid down for different stages of the legislative process. All constitutional amendments must be published in the Government Gazette with a call for public comment at least 30 days before being introduced in Parliament. After the Bill which proposes amendments to the Constitution is tabled, 30 days must pass before it can be put to a vote in the National Assembly.
There are two different types of Bills that come before provincial legislatures:
An ordinary Bill is introduced in the provincial legislature and is referred to the relevant Standing Committee. Either public hearings may be held to hear the public's views regarding the Bill or a Standing Committee may invite interested parties to make written submissions to the Committee.
The Committee then considers the Bill and may propose amendments to it.
After consideration by the Committee, a report with recommendations on the Bill is submitted to the House. A debate takes place on the objectives and principles of the Bill in the House and the MPLs vote. If there is a majority of votes in favour of the Bill, the Bill is passed. If there is no majority, the Bill is rejected.
A Bill that appropriates money or imposes taxes, levies or duties is called a Money Bill. Only the MEC responsible for Finance is able to introduce a Money Bill in the House.
Money Bills are referred to the Committee of Finance for discussion for a maximum of seven working days.
After discussion, the Committee submits a report to the House.
The Committee is not allowed to propose any amendments to the Bill, as there is not yet legislation that allows this.
A Bill can be initiated and written by a number of bodies.
Most national and provincial Bills are drawn up by a Minister at national level or an MEC at provincial level.
Bills drawn up by individual Members are called Private Members Bills. A Committee concerned with Members' legislature proposals in each House decides whether the Bill meets certain criteria (which could include financial implications) and can be introduced into the House.
Parliament has recently drafted rules and procedures enabling a Committee to initiate a Bill.
Most Bills tabled in Parliament are introduced by the Executive and are either
A draft Bill, which has been drafted by a government department, is submitted by the relevant Minister to the Cabinet for approval. The state law advisers must refine and approve the draft Bill.
The Bill is then introduced and tabled in the National Assembly for what is known as the First Reading. The Bill is also published in the Government Gazette.
The Bill is then referred to the relevant Committee in the National Assembly which considers the Bill and may agree to it, propose amendments or reject the Bill, generally after a process of public consultation.
The Second Reading then takes place where the Bill is debated and voted on at a sitting of the National Assembly.
If there is a majority of votes in favour, the Bill is passed and the Bill is then referred to the NCOP for consideration.
The NCOP can accept or reject the Bill or propose amendments to it:
Note: While both Houses must consider Bills that do not affect the provinces, the NA may actually override the NCOP and pass the Bill despite opposition by the NCOP. It then submits the Bill, either in its original form or with amendments, to the National Assembly with a report.
Schedule 4 of the Constitution lists the matters that affect the provinces and which therefore have to be dealt with in Section 76 Bills. These include casinos; racing; gambling; cultural matters; disaster management; education excluding tertiary education; environment; health services; housing; population development; public transport; tourism; trade; traditional leadership; welfare services; and child care facilities.
Bills that affect the provinces may be introduced in either the National Assembly or the NCOP. Once introduced in Parliament, Bills are also sent to the provincial legislatures so that they can begin considering them.
If the Bill is tabled in the National Assembly:
If the Bill is tabled in the National Council of Provinces:
Note: While the NCOP has more power to change section 76 Bills than section 75 Bills, if a Bill has been introduced in the NA, the NA is once again able to disregard the NCOP and pass Section 76 legislation with a two thirds majority vote. If a section 76 Bill is introduced in the NCOP, the Bill lapses if agreement cannot be reached between the two Houses
Before a new Act comes into force, it has to be "enacted". This involves the President declaring the Act's commencement date in the Government Gazette. Acts are only enacted once the responsible department has indicated that it is ready and has the capacity to implement the new law.
Schedule 5 of the Constitution of South Africa lists the areas over which the provinces have exclusive legislative control. These areas include ambulance services; libraries other than national libraries; provincial cultural matters; provincial sport; beaches and recreation facilities; cemeteries; funeral parlours and crematoria, cleansing, markets; municipal parks and recreation.


Here’s a little project I’ve worked on a few weeks ago. It’s a semi-intelligent magic mirror I put together. It was relatively cheap to put together since I got the monitor for free and already had a pi lying around.
For the frame, I used this frame (though when I bought it was for $100, not $150 so you may want to look elsewhere).
The first thing to do is to make sure that the monitor works; it saves time and heartbreak. Then remove the bezel from the monitor and be careful of any ribbon cables connected to the monitor and the bezel. For my monitor, the display was divided into two parts physically, the power supply/input logic board, and the display itself. So to keep them together I applied a hefty amount of duck tape. Because who has power tools?
This is the final product somewhat:
You can’t even tell its held entirely together by duck tape!
I’ll explain the wizardry that is connected to the pi in a second. To set up the magic mirror, the process is pretty automated see here.
For customizations, I like to install 3Day forecast. That’s pretty much it, since, I’ve failed repeatedly to get carousel setup. I do recommend tweaking the CSS to correct for the screen not taking up the entire mirror’s real-estate.
Now here’s where things get interesting. I’ve configured my Mirror to turn off at around 9 pm and back on at 6a m automatically. Here’s how:
First, for hardware, you’ll need a photoresistor and a relay. For tools, you’ll need a soldering iron and power of will. I’ve wired a photoresistor to the pi that sends a low signal whenever it detects light above a certain threshold and vice versa when it doesn’t. The threshold is can be adjusted with a screw in the blue housing. I’ve used this in conjunction with a relay that has the control side wired to the pi and the operating side connected to a ribbon cable that was connected to the control board for the on/off buttons. Wiring is relatively simple, I’ve used a miniature breadboard to distribute power to the rest of the components, but isn’t necessary.
I first figured out which pins on the control board need to be shorted to turn the display on & off. I initially planned to solder to the board, but then realized that I can scrape the plastic off of the side of the ribbon cable connecting to the board and solder directly to that.
It’s sketchy but it works.
Then I plugged the soldered wires into the operating side of the relay. Here’s the code for actually toggling the pi on/off
#!/usr/bin/env python
import RPi.GPIO as GPIO
import sys
from time import sleep
GPIO.setmode(GPIO.BCM)
toggle = sys.argv[1]
GPIO.setup(23, GPIO.OUT)
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
#GPIO is high when disp is off and GPIO low when off, inverting because that seems more logical
light_state = not GPIO.input(24)
#will flip relay if told to turn on display and display is off or
#if told to turn off the display and the display is on
if (toggle == "turnon" and light_state == GPIO.LOW) or (toggle == "turnoff" and light_state == GPIO.HIGH):
GPIO.output(23, GPIO.HIGH)
sleep(0.5)
GPIO.output(23, GPIO.LOW)
sleep(1.5) # wait for display to turn off
GPIO.cleanup()
I know. Its hot garbage. But it’s my garbage.
You can drop this script in your home directory. Make it executable with chmod.
~ chmod +x script.py
Then run crontab to create a cron job entry.
~ crontab -e
Here are my entries:
0 5 * * * /home/pi/script.py turnon
0 21 * * * /home/pi/script.py turnoff
What’s cool about this solution is that it’s easily hackable enough that you can make a webserver to toggle it on/off aswell. I’ve made a quick example of a flask server controlling the mirror:
#/usr/bin/python3
from flask import Flask,render_template
from time import sleep
import RPi.GPIO as GPIO
import subprocess
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
# configuration
DEBUG = True
# instantiate the app
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/', methods=['GET'])
def index():
light_state = not GPIO.input(24)
if light_state == 0:
return render_template('index.html', color="black", state="Turn on")
else:
return render_template('index.html', color="white", state="Turn off")
@app.route('/test', methods=["GET"])
def button():
light_state = not GPIO.input(24)
if light_state == 1:
toggle()
return render_template('index.html', color="black", state="Turn on")
else:
toggle()
return render_template('index.html', color="white", state="Turn off")
def toggle():
GPIO.output(23, GPIO.HIGH)
sleep(0.5)
GPIO.output(23, GPIO.LOW)
sleep(1.5) # wait for display to turn off
if __name__ == '__main__':
mirror_status = 0
app.run(host='<IP_ADDRESS>')
GPIO.cleanup()
There are other things you can do like have it toggle on whenever it senses motion or lack thereof The rest of the code is here.
Finis.


Vibratory Residual Stress Relief and Modifications in Metals to Conserve Resources and Prevent Pollution
EPA Grant Number: R828737C004Subproject: this is subproject number 004 , established and managed by the Center Director under grant R830420
(EPA does not fund or establish subprojects; EPA awards and manages the overall grant for this center).
Center: Center for Environmental and Energy Research (CEER)
Center Director: Earl, David A.
Title: Vibratory Residual Stress Relief and Modifications in Metals to Conserve Resources and Prevent Pollution
Investigators: Hahn, William F.
Institution: Alfred University
EPA Project Officer: Karn, Barbara
Project Period: September 1, 2000 through August 31, 2002
RFA: Targeted Research Center (2000) Recipients Lists
Research Category: Targeted Research
Objective:
Many manufacturing processes use large amounts of energy in order to make useful products. One such process is the thermal stress relief (TSR) process that is widely used to reduce/modify the internal or residual stresses in parts that are introduced by other manufacturing procedures such as fabrication, machining, or assembly. The TSR process is typically done in large furnaces and is heated by the combustion of fossil fuels. The large consumption of energy, the thermal influence, and air pollution affects on the environment are the biggest concerns of this process. As an alternative to the TSR, Vibratory Stress Relief (VSR) has the advantages of low energy consumption and dramatic reduction of pollution to the environment.
The residual stresses in parts will cause them to distort either during the manufacturing process and/or later during the useful life of the part. The widely used traditional process of thermal stress relief involves raising the temperature of the part under carefully controlled conditions several 100 degrees, holding at the high temperature until the bulk of the stresses have been removed, and then slowly cooling the part in order to prevent introducing new residual stresses. For some parts, this may have to be done several times during the manufacturing process. Thermal heat treatment of stress relief always results in some loss of strength in the part, some distortion during the process, and oxidation of the surface of the part. Vibratory stress modification is an alternative method for altering and/or reducing residual stresses in parts so that they do not distort during subsequent manufacturing processes and during the life of the part. Vibratory stress relief is accomplished by vibrating the part at a particular frequency and amplitude for a short period of time thereby using a minute amount of energy and generating a minute amount of pollution compared to the traditional heat treatment process.
To implement an alternative process, a thorough understanding of how it works and why it works must be developed. Without this understanding, it is difficult for engineers and manufacturing managers to determine when, where, and how the vibratory stress relief process can be effectively applied.
The objective of this research is to develop an analytical model using Finite Element techniques to show how vibration alters the residual stress in a part in a beneficial way. The results of the analytical modeling demonstrated the reduction in residual stress in a particular part due to vibration.
Approach:
A cantilever beam model was developed in ANSYS, commercial finite element analysis software, for VSR analysis. Due to the symmetry design of the cantilever beam specimen, only half of the beam requires modeling with ANSYS. A two-dimensional model was considered because the stress introduced across the thickness of the beam was assumed uniform.
To model plastic deformation, elastic-plastic material was employed in the ANSYS model database. Aluminum 6061-T6 was selected as the material for the model. For finite element analysis, the model was meshed with linear, four-node, quadrilateral elements.
To simulate the vibratory stress relief, residual stress was first introduced into the model by applying and releasing an external force on the tip of the beam. Static non-linear analysis was conducted to introduce the residual stress and calculate the resulting internal stress distribution. The relationship between the external load and tip deflection was also obtained as information for later determining the vibration amplitude.
The controlling parameters for the vibratory stress relief considered were existing residual stress level, driven frequency, and excitation amplitude. These parameters were obtained from static nonlinear, modal, and harmonic analyses.
Expected Results:
To investigate the frequency rangewhere vibration works to relieve residual stress in parts and the driven frequencies that maximize the relief of residual stress in parts, four cases were run to compare the effect of resonance frequency and sub-resonance frequency on VSR.
The results show that the frequency producing the greatest stress relief occurs at the resonant peak (natural frequency). The reduction of residual stress after resonant vibratory treatment can attain 97 percent. Sub-resonant VSR treatments get less or no residual stress relief, depending on the frequency level applied.
Another variable investigated for VSR was the excitation amplitude to observe the effect of excitation displacement amplitude on VSR. The results show that larger excitation amplitude will produce greater stress relief.
Initial residual stress level in parts was also investigated to see its effect on VSR. Two cases were compared with different initial residual stress in the sample. The comparison results show that the part that has less initial residual stress level will get greater stress relief under the same excitation frequency and displacement amplitude.
Relevant Websites:
Publications and Presentations:
Publications have been submitted on this subproject: View all 1 publications for this subproject | View all 34 publications for this centerSupplemental Keywords:
thermal stress relief (TSR), vibratory stress relief (VSR), residual stress, analytical modeling, finite element analysis, ANSYS, plastic deformation, static non-linear analysis, RFA, Scientific Discipline, INTERNATIONAL COOPERATION, TREATMENT/CONTROL, Sustainable Industry/Business, POLLUTION PREVENTION, Sustainable Environment, Energy, Technology, Technology for Sustainable Environment, Chemistry and Materials Science, Environmental Engineering, energy conservation, cleaner production, environmentally conscious manufacturing, clean technologies, green design, vibratory visual stress relief, alternative materials, thermal stress relief alternativeProgress and Final Reports:
Final ReportMain Center Abstract and Reports:
R830420 Center for Environmental and Energy Research (CEER) Subprojects under this Center: (EPA does not fund or establish subprojects; EPA awards and manages the overall grant for this center).
R828737C001 Environmental Impact of Fuel Cell Power Generation Systems
R828737C002 Regional Economic and Material Flows
R828737C003 Visualizing Growth and Sustainability of Water Resources
R828737C004 Vibratory Residual Stress Relief and Modifications in Metals to Conserve Resources and Prevent Pollution
R828737C005 Detecting and Quantifying the Evolution of Hazardous Air Pollutants Produced During High Temperature Manufacturing: A Focus on Batching of Nitrate Containing Glasses
R828737C006 Sulfate and Nitrate Dynamics in the Canacadea Watershed
R828737C007 Variations in Subsurface Denitrifying and Sulfate-Reducing Microbial Populations as a Result of Acid Precipitation
R828737C008 Recycling Glass-Reinforced Thermoset Polymer Composite Materials
R828737C009 Correlating Clay Mineralogy with Performance: Reducing Manufacturing Waste Through Improved Understanding
R830420C001 Accelerated Hydrogen Diffusion Through Glass Microspheres: An Enabling Technology for a Hydrogen Economy
R830420C002 Utilization of Paper Mill Waste in Ceramic Products
R830420C003 Development of Passive Humidity-Control Materials
R830420C004 Microarray System for Contaminated Water Analysis
R830420C005 Material and Environmental Sustainability in Ceramic Processing
R830420C006 Interaction of Sealing Glasses with Metallic Interconnects in Solid Oxide and Polymer Fuel Cells
R830420C007 Preparation of Ceramic Glaze Waste for Recycling using Froth Flotation
R830420C008 Elimination of Lead from Ceramic Glazes by Refractive Index Tailoring
R830420C010 Nanostructured C6B: A Novel Boron Rich Carbon for H2 Storage


45
Steve Edwards (ENG)
24 Jul 2014 3:27:14 Milton Keynes ENG
Enigma Night Fever
21 Jun 2014 3:11:27 Milton Keynes ENG
Enigma Back to Front
03 May 2014 3:39:48 Haverfordwest WAL
Endurancelife Pembrokeshire
21 Mar 2014 3:24:37 Bletchley ENG
Week at the Knees- Day 5
19 Mar 2014 3:25:16
Bletchley ENG
Week at the Knees- Day 3
18 Mar 2014 3:18:55
Bletchley ENG
Week at the Knees- Day 2
17 Mar 2014 3:18:37
Bletchley ENG
Week at the Knees- Day 1
18 Aug 2013 3:15:04 Bletchley ENG
Reverse Enigma
06 Jul 2013 3:17:17 Bletchley ENG
Summer Two Days- Day 1
29 Mar 2013 3:18:50 Milton Keynes ENG Enigma Good Friday
08 Jul 2012 3:18:10 Bletchley ENG
Summer Two Days- Day 1
07 Jul 2012 3:15:58 Bletchley ENG
Summer Two Days- Day 2
06 Apr 2012 3:21:20 Bletchley ENG
Enigma Good Friday
29 Feb 2012 3:14:23 Milton Keynes ENG
Enigma Leap Year
10 Feb 2012 3:24:20 Bletchley ENG
Enigma Quadzilla- Day 2
09 Feb 2012 3:21:35 Bletchley ENG
Enigma Quadzilla- Day 1
17 Apr 2010 3:19:04
Maam Cross IRL Connemara Invitational
25 Jul 2009 3:05:00 Faversham ENG
Faversham
08 May 2009 3:13:44 Windermere
ENG Brathay
Challenge- Day 1
04 Apr 2009 3:04:43 Crawley ENG
Crawley AIM
21 Mar 2009 3:17:30 Maam
Cross IRL Connemara
Invitational
18 May 2008 3:27:15 Windermere ENG
Brathay Challenge- Day 10
16 May 2008 3:29:37
Windermere ENG
Brathay Challenge- Day 8
14 May 2008 3:34:07 Windermere ENG
Brathay Challenge- Day 6
13 May 2008 3:35:17 Windermere ENG
Brathay Challenge- Day 5
12 May 2008 3:37:51 Windermere ENG
Brathay Challenge- Day 4
11 May 2008 3:33:56 Windermere ENG
Brathay Challenge- Day 3
10 May 2008 3:36:31 Windermere ENG
Brathay Challenge- Day 2
09 May 2008 3:26:04 Windermere ENG
Brathay Challenge- Day 1
05 Jan 2008 3:14:29 Stevenage ENG
100 Club AGM Handicap
19 May 2007 3:48:38
Windermere ENG
Brathay Challenge- Day 9
18 May 2007 3:54:56 Windermere ENG
Brathay Challenge- Day 8
17 May 2007 3:54:50 Windermere ENG
Brathay Challenge- Day 7
16 May 2007 3:45:09
Windermere ENG
Brathay Challenge- Day 6
15 May 2007 3:51:26 Windermere ENG
Brathay Challenge- Day 5
14 May 2007 3:42:44 Windermere ENG
Brathay Challenge- Day 4
13 May 2007 3:49:27 Windermere ENG
Brathay Challenge- Day 3
12 May 2007 3:47:19 Windermere ENG
Brathay Challenge- Day 2
11 May 2007 3:40:03 Windermere ENG
Brathay Challenge- Day 1
22 Feb 1992 2:56:23
Dartford ENG
Hundred Club Initational- Day 1
26 Jan 1992 3:11:07
Burmarsh ENG
Romney Marsh- Day 4
25 Jan 1992 3:00:16
Burmarsh ENG
Romney Marsh- Day 3
24 Dec 1991 3:14:09
Burmarsh ENG
Romney Marsh Xmas- Day 4
22 Dec 1991 3:20:12
Burmarsh ENG
Romney Marsh Xmas- Day 2
21 Dec 1991 3:16:32 Burmarsh ENG
Romney Marsh Xmas- Day 1
Last Updated on 12 Aug 2014


Talkative
Home
(current)
About
Categories
URGENT!
Basic
Colours
Feelings
Food & Drink
Actions
URGENT!


Lacoste asked to help paint a vision of its catalog on mobile devices, through a ground-up redesign of its online experience. It resulted in a double app integrating catalog + lookbook. The navigation was simplified to its core, browsing through the products tree by pinching in and out. Tools like size selector appear on the fly. The motto was, re-introducing the sense of touch to shopping.


Registration form
Name:
Email:
Password:
Contact number:
Address:
Gender:
Male
Female
Course:
Java
Python
PHP
DotNet
State:
Mumbai
Pune
Mumbai
Indore
Bhopal
City:
Andheri
Jogeshwari
Goregaon
Malad
Kandivali
OK


Curious about what BlueMix is? Find out here.
Developer-based forums, blogs, event listings for BlueMix.
All the information you'd want to know about using a Cloud Foundry-based PaaS, like BlueMix.
Documentation on Cloud Foundry's cf
command-line tool, which you use to manage
your applications running on BlueMix.
The manifest.yml
file in your application is used to set properties for your
application when it's running on BlueMix.
Documents all the modules provided by node.js
Hundreds of thousands of packages for you to use in your node.js applications.
Open source workshops that teach web software skills. Do them on your own or at a workshop nearby.
General documentation on JavaScript itself


The default behaviour is to find the high/low in the data and offset that with some space to provide a detailed zoomed in effect by default.
Some data is best viewed with a zero-axis starting point. Like percent utilization for CPU, for instance.
All data points below threshold.
All data points above alerting threshold.


Sports
Golf
Cricket
Football
Technology
iPhone
Facebook
Twitter
Latest
Obama
Iran Election
Health Care


Introduction¶
PrestoPHP is a PHP microframework. It is built on the shoulders of Symfony and Pimple and also inspired by Sinatra.
PrestoPHP aims to be:
Concise: PrestoPHP exposes an intuitive and concise API.
Extensible: PrestoPHP has an extension system based around the Pimple service-container that makes it easy to tie in third party libraries.
Testable: PrestoPHP uses Symfony’s HttpKernel which abstracts request and response. This makes it very easy to test apps and the framework itself. It also respects the HTTP specification and encourages its proper use.
In a nutshell, you define controllers and map them to routes, all in one step.
Usage¶
<?php
// web/index.php
require_once __DIR__.'/../vendor/autoload.php';
$app = new PrestoPHP\Application();
$app->get('/hello/{name}', function ($name) use ($app) {
return 'Hello '.$app->escape($name);
});
$app->run();
All that is needed to get access to the Framework is to include the autoloader.
Next, a route for /hello/{name}
that matches for GET
requests is
defined. When the route matches, the function is executed and the return value
is sent back to the client.
Finally, the app is run. Visit /hello/world
to see the result. It’s really
that easy!


Beautiful Lover:
blCTest_v0.44
plx1
plx2
A car is a wheeled, self-powered motor vehicle used for transportation.
githubReop


{% extends "layout.html" %} {% block body %}
Algorithmic systems may appear like black boxes. But this is not a situation which is unchangeable. More and more solutions are developed to allow inspecting internal behaviour and conditions of algorithmic systems, as well as evaluating systems not only on accuracy or recall, but also on fairness, transparency, or explainability.
This short demo is based on LIME, (github), a method that explains the outcome of any machine learning classifier, and neatly integrates with scikit-learn. LIME stands for local interpretable model-agnostic explanations, Please refer to their paper on arxiv for more detailed information.
There are currently following examples online:


In this example we activated Drag&Drop feature for the default jQuery.filer input. Note that this feature is working only with Instantly Upload feature!


The mdcTextField
directive provides various types of text-fields.
A text-field is composed of a label, input element, line, helper text, and possibly a leading or trailing icon.
The next code sample demonstrates some the behaviour of a single line text-field:
The next sample demonstrates text-fields with leading or trailing icons:
A textarea as input (for multiple lines of text) is also supported:


BANKA
Admin
Add Admin +
Logout
Welcome Admin
Total Account
2000
account Activated
1500
Total Transaction
200,000,000
Users Account
Account Name
Account Number
View Account Details
Delete Account
Status
Change Status
David Imodoye Daniel
0140012345
View Account
Delete Account
Activated
Select Status
Activate
Deactivate
David Imodoye Daniel
0140012345
View Account
Delete Account
Activated
Select Status
Activate
Deactivate
David Imodoye Daniel
0140012345
View Account
Delete Account
Deactivated
Select Status
Activate
Deactivate
David Imodoye Daniel
0140012345
View Account
Delete Account
Activated
Select Status
Activate
Deactivate
David Imodoye Daniel
0140012345
View Account
Delete Account
Activated
Select Status
Activate
Deactivate
David Imodoye Daniel
0140012345
View Account
Delete Account
Deactivated
Select Status
Activate
Deactivate
David Imodoye Daniel
0140012345
View Account
Delete Account
Activated
Select Status
Activate
Deactivate
David Imodoye Daniel
0140012345
View Account
Delete Account
Deactivated
Select Status
Activate
Deactivate


Account
Can't find what you're looking for? Post your own forum question to the community!
What are some good gluten free banana bread recipes? What kind of pan should I use to sear steak? What are some must have knives?? Does anyone have a vegetarian jambalaya recipe? Tips for doubling a recipe?


{% extends 'base.html' %}
{% block title %} How It Works {% endblock %}
{% block links %}
{% endblock %}
{% block content %}
How It Works
{% load static %}
Step 1 - Sign Up
Go to the Sign Up page, and create an account. You’ll get a confirmation email afterwards, confirm your email and move on to step 2.
Step 2 - Schedule A Meeting
Click the “Schedule an appointment” link on the Appointments page and fill in the required information. When one of our doctors accepts the appointment, you’ll get an email reminding you of the appointment.
Step 3 - Join The Meeting
When it is time for the appointment, find it in the list shown on the Appointments page. Configure your microphone and camera settings and join the call to talk to one of our skilled doctors via the text chat or your microphone.


Resolved
@dynamicMemberLookup
public struct Resolved<Boundary> where Boundary : BoundaryProtocol
Resolved is a generic type, wrapping the boundary. Resolved gives you access to the boundary InputPort via dynamic look-up. This is the result type returned by the Resolver.
-
Undocumented
Declaration
Swift
init()


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/open.20subgroups.html ---
In the perfectoid project, we have a 250 lines long file about open_subgroups G
: the type of open subgroups of a topological group.
https://github.com/leanprover-community/lean-perfectoid-spaces/blob/master/src/for_mathlib/nonarchimedean/open_subgroup.lean
I want to PR this to mathlib. Should I triplicate this file to also provide open_submonoids
, open_subrings
? There will be all sorts of order preserving maps and galois insertions all over the place. Is that the right approach? Or do we need something a bit more meta?
I don't remember ever seeing a use for open submonoids that are not subgroups. Open ideals come up all the time, but open subrings seem less common.
Ok, so maybe we should just PR this as is... and then later someone can pile open ideals on top of this.
I do wonder exactly what we needed from open ideals which didn't just come straight from open subgroups. I feel like this might be a bit like the units of a ring. I was surprised when I couldn't find units of a ring and then realised we had units of a monoid. Then I thought "yeah but I need things like units of a ring are a group" and then I realised that units of a monoid are a group.
We formalised open subgroups precisely because we needed open ideals
PR'd in #1067.
Along the same lines: we currently have a default notion of divisibility for semirings, but most of it works fine for monoids (e.g. pnat) and it should really be refactored to cover that.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Jordan Tapiero's Webpage
Hello there, awesome person!
This
is
an
unordered
list
This is an ordered list
is
an
ordered
list
Link to github
Link to youtube


Enabling and Disabling Items
You can enable or disable any item (filter set or query) by selecting it, and toggling the Enabled or Disabled check box. Disabled queries do not contribute to your application’s quality score. Some queries are disabled by default.


Aries
Aries : (March 21 – April 20)
Some situation can arrive which will make you edgy. Is it that your love is beginning to fade? This could be period when you are besieged with fears of being left alone. Financial position would get better gradually. You will get involved in your work. Better results will be coming. Relations with colleagues will also get better.


class AnswersController
Web controller. Provides actions that relate to answers. Pretty much the standard set of resources, really - it's questions that have a few more actions.
Public Class Methods
Supplies a pre-constructed Markdown renderer for use in rendering Markdown from views.
# File app/controllers/answers_controller.rb, line 15 def self.renderer @@markdown_renderer end
Public Instance Methods
Authenticated web action. Based on the data submitted from the
new
view, creates a new answer. Assumes that the route to this
action contains the question id, and uses that to assign the answer to a
question.
# File app/controllers/answers_controller.rb, line 21 def create @answer = Answer.new answer_params @question = Question.find params[:id] @answer.question = @question @answer.user = current_user @answer.score = 0 @question.user.create_notification("New answer to your question '#{@question.title.truncate(50)}'"<EMAIL_ADDRESS>if @answer.save redirect_to url_for(:controller => :questions, :action => :show, :id => params[:id]) else render :new end end
Authenticated web action. Deletes an answer - that is, applies the
is_deleted
attribute to it.
# File app/controllers/answers_controller.rb, line 51 def destroy check_your_privilege('Delete', @answer) @answer.is_deleted = true @answer.deleted_at = DateTime.now if @answer.save<EMAIL_ADDRESS>@answer, -1) redirect_to url_for(:controller => :questions, :action => :show, :id => @answer.question.id) else flash[:error] = "The answer could not be deleted." redirect_to url_for(:controller => :questions, :action => :show, :id => @answer.question.id) end end
Authenticated web action. Retrieves a single answer for editing.
# File app/controllers/answers_controller.rb, line 36 def edit check_your_privilege('Edit', @answer) end
Authenticated web action. Creates a new answer as a resource for form creation in the view.
# File app/controllers/answers_controller.rb, line 9 def new @answer = Answer.new @question = Question.find params[:id] end
Authenticated web action. Removes the is_deleted
attribute
from an answer - that is, undeletes it.
# File app/controllers/answers_controller.rb, line 65 def undelete check_your_privilege('Delete', @answer) @answer.is_deleted = false @answer.deleted_at = DateTime.now if @answer.save<EMAIL_ADDRESS>@answer, 1) redirect_to url_for(:controller => :questions, :action => :show, :id => @answer.question.id) else flash[:error] = "The answer could not be undeleted." redirect_to url_for(:controller => :questions, :action => :show, :id => @answer.question.id) end end
Authenticated web aciton. Based on the information given in
:edit
, updates the answer.
# File app/controllers/answers_controller.rb, line 41 def update check_your_privilege('Edit', @answer) if @answer.update answer_params redirect_to url_for(:controller => :questions, :action => :show, :id => @answer.question.id) else render :edit end end


This works best with the latest versions of Google Chrome. Other modern browsers should be fine. Safari should not be used due to anti-aliasing issues.
Remember to adhere to the style guide and double-check for spelling and grammar mistakes or Braeden will get mad.
Italicize with Ctrl or Cmd + I, highlight with Ctrl or Cmd + B
Click on the text and type.
Remember to change the source and topic at the top!
This works best with the latest versions of Google Chrome. Other modern browsers should be fine. Safari should not be used due to anti-aliasing issues.
Make sure all stock prices are correct and that they're sourced correctly, and to change the region in the top-left, or Braeden will get mad.
Click on the arrow to toggle its direction, and replace prices, percentages, etc.
Remember to change the source and to change the top-left text to match the region where the markets have closed!
This works best with the latest versions of Google Chrome. Other modern browsers should be fine. Safari should not be used due to anti-aliasing issues.
Make sure all stock prices are correct and that they're sourced correctly, and to change the region in the top-left, or Braeden will get mad.
Click on the arrow to toggle its direction, and replace prices, percentages, etc.
Remember to change the source and to change the top-left text to match the region where the markets have closed!
This works best with the latest versions of Google Chrome. Other modern browsers should be fine. Safari should not be used due to anti-aliasing issues.
Remember to adhere to the style guide and double-check for spelling and grammar mistakes or Braeden will get mad.
Italicize with Ctrl or Cmd + I, highlight with Ctrl or Cmd + B
Click on the text and type.
The date at the top changes depending on your computer's clock, but you can change it by clicking and typing.
Add a second column


|
2009-2010
Season Team Awards 3rd Place, Case Western Invitational 4th Place, Macalaster Invitational 4th Place, Loras Invitational 8th Place, Loras Invitational 1st Place, Fordham Invitational 2nd, 8th Place, Milwaukee Regional 5th, 6th Place, Joliet Regional Individual Awards Emma Moore, Outstanding Attorney, Case Western Invitational Miles Hopgood, Outstanding Attorney, Case Western Invitational Sela Cowger, Outstanding Witness, Case Western Invitational Amira Makansi, Outstanding Attorney, Macalaster Invitational Olivia Li, Outstanding Attorney, Macalaster Invitational Michael Helzer, Outstanding Witness, Macalaster Invitational Yichen Zhang, Outstanding Witness, Macalaster Invitational Cory Liu, Outstanding Attorney, University of Illinois Invitational Beth Walker, Outstanding Attorney, University of Illinois Invitational Stuart Rollins, Outstanding Witness, University of Illinois Invitational Evanna Hu, Outstanding Witness, University of Illinois Invitational Olivia Li, Outstanding Attorney, Columbia Invitational Yichen Zhang, Outstanding Witness, Columbia Invitational M. Devon Moore, Outstanding Witness, Loras Invitational Beth Walker, Outstanding Attorney, Fordham Invitational Stuart Rollins, Outstanding Attorney, Fordham Invitational Rose Fan, Outstanding Attorney, Fordham Invitational Ian Hedberg, Outstanding Witness, Fordham Invitational Justin Garbacz, Outstanding Witness, Fordham Invitational Rose Fan, Outstanding Attorney, Milwaukee Regional Cory Liu, Outstanding Attorney, Milwaukee Regional Miles Hopgood, Outstanding Attorney, Joliet Regional Olivia Li, Outstanding Attorney, Joliet Regional M. Devon Moore, Outstanding Witness, Joliet Regional M. Devon Moore, Outstanding Witness, Waukegan ORCS Miles Hopgood, Outstanding Witness, Greenville ORCS |


public final class ViewTreeAssert
extends <any>
NOTE: Assertions looking for visible attributes are limited to checking the visibility of the nodes, but do not check actual layout. So a visible view might have 0 pixels available for it in actual app code and still pass the checks done here
| Modifier and Type | Method and Description |
|---|---|
static ViewTreeAssert |
assertThat(ViewTree actual) |
<V extends View> |
doesNotHaveVisible(java.lang.Class<V> clazz,
<any> predicate) |
ViewTreeAssert |
doesNotHaveVisibleDrawable(Drawable drawable)
Tests all views in the hierarchy under the root, for which the path is visible, are not
displaying the requested drawable
|
ViewTreeAssert |
doesNotHaveVisibleDrawable(int resourceId)
Tests all views in the hierarchy under the root, for which the path is visible, do not have the
requested drawable by the given resource id.
|
ViewTreeAssert |
doesNotHaveVisibleText()
Tests that all views in the hierarchy under the root, for which the path is visible, do not
have any text appearing on them
|
ViewTreeAssert |
doesNotHaveVisibleText(int resourceId)
Tests that all views in the hierarchy under the root, for which the path is visible, do not
have text equal to the string matching the given resource id
|
ViewTreeAssert |
doesNotHaveVisibleText(java.lang.String text)
Tests that all views in the hierarchy under the root, for which the path is visible, do not
have text equal to the given string
|
ViewTreeAssert |
doesNotHaveVisibleTextMatching(java.lang.String pattern)
Tests that all views in the hierarchy under the root, for which the path is visible, do not
have text that matches against the given regular expression
|
ViewTreeAssert |
doesNotHaveVisibleViewWithId(int viewId)
Whether there is not a visible view in the hierarchy with the given id.
|
ViewTreeAssert |
hasContentDescription(int resourceId)
Tests if any view hierarchy under the root has the given contentDescription.
|
ViewTreeAssert |
hasContentDescription(java.lang.String contentDescription)
Tests if any view hierarchy under the root has the given contentDescription.
|
ViewTreeAssert |
hasViewTag(int tagId,
java.lang.Object tagValue)
Tests if any view hierarchy under the root has the given view tag and value.
|
<V extends View> |
hasVisible(java.lang.Class<V> clazz,
<any> predicate) |
ViewTreeAssert |
hasVisibleDrawable(Drawable drawable)
Tests if any view in the hierarchy under the root, for which the path is visible, is displaying
the requested drawable
|
ViewTreeAssert |
hasVisibleDrawable(int resourceId)
Tests if any view in the hierarchy under the root, for which the path is visible, is displaying
the requested drawable by the given resource id.
|
ViewTreeAssert |
hasVisibleText(int resourceId)
Tests if any view has visible text identified by the resource id
|
ViewTreeAssert |
hasVisibleText(java.lang.String text)
Tests if any view in the hierarchy under the root, for which the path is visible, has the
requested piece of text as its text
|
ViewTreeAssert |
hasVisibleTextMatching(java.lang.String pattern)
Tests if any view in the hierarchy under the root, for which the path is visible, has text that
matches the given regular expression
|
ViewTreeAssert |
hasVisibleTextWithTag(java.lang.String text,
int tagId,
java.lang.Object tagValue)
Tests if any view in the hierarchy under the root, for which the path is visible, has the
requested piece of text as its text and has a tag set on that TextView with the given tag id
and tag value.
|
ViewTreeAssert |
hasVisibleViewWithId(int viewId)
Whether there is a visible view in the hierarchy with the given id.
|
public static ViewTreeAssert assertThat(ViewTree actual)
public ViewTreeAssert hasVisibleText(java.lang.String text)
text
- the text to search forpublic ViewTreeAssert hasVisibleTextWithTag(java.lang.String text, int tagId, java.lang.Object tagValue)
text
- the text to search fortagId
- the tag to look for on the TextView containing the searched texttagValue
- the expected value of the tag associated with tagIdpublic ViewTreeAssert hasVisibleText(int resourceId)
resourceId
- resource id of the textpublic ViewTreeAssert doesNotHaveVisibleText(java.lang.String text)
text
- the text to search forpublic ViewTreeAssert hasViewTag(int tagId, java.lang.Object tagValue)
tagId
- the id to look fortagValue
- the value that the id should havepublic ViewTreeAssert hasContentDescription(java.lang.String contentDescription)
contentDescription
- the contentDescription to search forpublic ViewTreeAssert doesNotHaveVisibleText(int resourceId)
resourceId
- resource id of the textpublic ViewTreeAssert hasContentDescription(int resourceId)
resourceId
- the resId of the contentDescription to search forpublic ViewTreeAssert hasVisibleTextMatching(java.lang.String pattern)
pattern
- the regular expression to match againstpublic ViewTreeAssert doesNotHaveVisibleTextMatching(java.lang.String pattern)
pattern
- the regular expression to match againstpublic ViewTreeAssert doesNotHaveVisibleText()
public ViewTreeAssert hasVisibleDrawable(int resourceId)
For this assertion to work, Robolectric must be immediately available and be able to load the drawable corresponding to this resource id.
resourceId
- the resource id of the drawable to look forpublic ViewTreeAssert hasVisibleDrawable(Drawable drawable)
drawable
- the drawable to look forpublic ViewTreeAssert doesNotHaveVisibleDrawable(int resourceId)
resourceId
- the resource id of the drawable to look forpublic ViewTreeAssert doesNotHaveVisibleDrawable(Drawable drawable)
drawable
- the drawable to look forpublic ViewTreeAssert hasVisibleViewWithId(int viewId)
public ViewTreeAssert doesNotHaveVisibleViewWithId(int viewId)
public <V extends View> ViewTreeAssert hasVisible(java.lang.Class<V> clazz, <any> predicate)
public <V extends View> ViewTreeAssert doesNotHaveVisible(java.lang.Class<V> clazz, <any> predicate)


October 6
Love bears up under anything and everything that comes, is ever ready to believe the best of every person, its hopes are fadeless under all circumstances
and it endures everything [without weakening]. Love never fails--never fades out or becomes obsolete or comes to an end. 1 Corinthians 13:7-8
Love never fails. Nothing works without it, and there can be no failure with it. When you live by love, you cannot fail.
It takes faith to believe that love's way will not fail. The natural mind cannot understand that because the natural man and his world are ruled by selfishness.
But when you practice love by faith and refuse to seek your own, you put the Father into action on your behalf. As long as you stay in love, God the Father seeks your own. He sees to it that you succeed. Walking in love is to your great advantage!
Agape love is a new kind of power. It makes you master of every situation. No weapon that is formed against you will prosper. No one even has the power to hurt your feelings because you are not ruled by feelings but by God's love. You are loving as He loves.
This love is revolutionary. If we fully understood the great return from living God's love, we'd probably be competing with each other, each of us trying to love the other more. And without a doubt, everyone would emerge from that competition a winner! For love is truly the only sure secret to our success. Scripture Reading: Romans 12:9-21


BlockShow
This Blockchain-Based Social Media Network Is The First Apple Pay Approved DApp
by Gabriel RubinsteinnDuring day two of BlockShow Asia 2019, Pepo founder and CEO Jason Goldberg hosted a keynote to present his new product. With 15,000 users and more than 45,000 peer-to-peer transactions to its credit, Pepo aims to change the way people create content for the crypto community.
“We are already among the biggest DApps in the world. We are now number 12, and we aim to reach the top really soon,” Goldberg said. “Pepo is the result of almost four years of research and listening to the crypto community.”
The app is available for download on Apple and Android devices, and it behaves like a social media network with a built-in crypto wallet. People can use their cryptocurrencies to tip their favorite creators, as well as to buy things on its marketplace.
“We are the first DApp approved by Apple Pay, so people can buy our tokens using this payment method among others, of course,” he said.
Pepo lets its users upload short videos, and their followers to pay them tips using the built-in wallet. The tokens are used to tip the creators you choose, but also can be spent on the marketplace, which sort of allows its users to buy Amazon, Apple and stores gift cards using crypto.
“You can earn much more than likes, but real appreciation,” Goldberg said.