Create a distributed Thing using the BitTorrent network.
The idea behind the Thing Maker is to use BitTorrent
to distribute Thing Tracker things.
A short overview of the idea can be found here.
This page helps with the steps of the process shown below:
STEP 1
Identify the files to be included in your Thing.
Currently, you can either select a single file by clicking on the button below and using the "File Upload"
dialog to navigate to and identify the file,
or you can drag and drop a list of files onto the button
(this only works in FireFox but will be fixed eventually),
but then you must specify the directory for the files.
Select file(s):
Directory:
STEP 2
This step is optional.
Choose a torrent file that will be used as a basis for the Thing you create.
This can be a torrent file from a previous version of your Thing, or just a template torrent file
that has mostly the same metadata as you will be filling in in Step 3.
Choose a base torrent file:
STEP 3
Fill in this form with the metadata for your Thing and press the Make Thing button.
For details about the fields, consult the specification.
Authors, licenses and tags are comma separated.
STEP 4
You can optionally sign your Thing by providing the private key in PEM format.
Also supply the corresponding public certificate if it has not been widely distributed already,
and this will be included in the signatures section.
If this is a new version of the Thing you supplied in step 2,
include the new version identifier, the cleartext of the previous version's nonce,
and a new nonce (that you must remember somehow for next time) for the next version.
STEP 5
Download the torrent file by clicking on the link below, save it, and together
with the files that you specified in the base torrent file in Step 1,
seed your thing in your BitTorrent client.
Then you can publish your Thing by proudly displaying this magnet link.
Alternatively, you can push this button to send the thing to the server that
served this page and let the Thing Tracker Network handle it.


{{ post.content | strip_html | truncate:200 }}
--- layout: default ---
Machine learning engineer, data scientist and software developer. PhD student at University of Innsbruck. Coding in Python and R.
Previously backend developer, QA engineer and scrum master at TaxiCaller and C++ developer at Artisys.
MSc. in Statistics and Machine Learning from Linköping University, Bc. in Information Technology from Brno University of Technology.
{{ post.content | strip_html | truncate:200 }}


Privacy
Your privacy is important to Mosaik Education (UK registered charitable incorporated organisation number 1176947. This privacy statement provides information about the different types of personal information that we collect and the ways in which we use it, although please note that not all of this will be applicable to you. If in doubt please feel free to check by contacting us.
- 1. When do we collect personal information about you?
- 2. What personal information do we use?
- 3. Lawful processing
- 4. How we use your personal information
- 5. Research
- 6. Do we share your personal information?
- 7. International Data Transfers
- 8. Securing your personal information
- 9. How long do we keep your personal information?
- 10. Your rights and preferences
- 11. Other sites
- 12. Updating this privacy statement
- 13. How to contact us
1. When do we collect personal information about you?
We may hold information relating to you from a number of sources, and will collect personal information about you:
When you give it to us directly
For example, personal information that you submit through our website by signing up to our blog or email newsletter, or contacting us to make a donation, or any personal data that you share with us when you communicate with us by email, phone or post.When we obtain it indirectly
Your personal information may be shared with us by third parties, including our business partners, our sub-contractors in technical and payment services, advertising networks, research providers and search information providers.When it is publicly available
Your personal data may be available to us from external publicly available sources. This may include information available on Companies House, Charity Commission and other charity registers, Who’s Who, Debrett’s guides, electoral rolls, reputable media articles, publications and company websites and professional networking sites such as LinkedIn. Depending on your privacy settings for social media services, we may access information from those accounts or services, including from Facebook, Instagram and Twitter. We may use this information to manage our client and supporter records efficiently and effectively. Clause 5 below provides more information.When you visit our website
Mosaik Education uses cookies to improve your experience on our website. Please refer to our cookies policy for details on the way our use of cookies may affect your personal data.2. What personal information do we use?
We may collect, store and otherwise process the following kinds of personal information:
- your name and contact details, including email address, postal address, telephone number, and social media identity
- information about our services which you use, such as Mosaik Education events and meetings with Mosaik Education staff that you have attended and your communication preferences
- information about your computer/ mobile device and your visits to and use of this website, including, for example, your IP address and geographical location
- details of your qualifications and experience
- your gender and date of birth, when freely given by you during the course of our interactions with you
- your interests in philanthropy, including donations and support made to other organisations
- any other personal information which you choose to share with us as per clause 1
Special categories of data
The EU General Data Protection Regulation (“GDPR”) recognises certain categories of personal information as sensitive, and therefore requiring more protection. These categories of data include information about your health, ethnicity, and political opinions. In certain situations, Mosaik Education may collect and/or use special categories of data (for example in order to make adjustments for any disabilities or dietary requirements you may have when attending our events). We will only process these special categories of data if there is a valid reason for doing so and where the GDPR allows us to do so. For instance, by seeking your explicit consent to use such data.
3. Lawful processing
We are required to have one or more lawful grounds to collect and use the personal information that we have outlined above. We consider the grounds listed below to be relevant:
Consent
Where you have provided your consent for our use of your personal information in a certain way, for example where we ask for your consent to send you our newsletter.
Legal obligation
Where the processing of your personal information is necessary for us to comply with a legal obligation to which we are subject, for example where we have to share your personal information with regulatory bodies which govern our work.
Contractual relationship
Where it is necessary for us to process your personal information in order to perform a contract to which you are a party (or to take steps at your request prior to entering a contract), for example where you a client, or you volunteer with us or provide associate consulting services.
Legitimate interests
Where applicable law allows us to collect and use personal information on the condition that to do so is reasonably necessary for our legitimate interests (and the use of your personal information is fair, balanced, and does not unduly impact your rights). We may rely on this ground to process your personal information when we believe that it is more practical or appropriate than asking for your consent. For instance, we rely on the legitimate interest ground to process your personal data in order to protect the security of our networks e.g. when we receive external emails we will scan such emails for any threats. In order to capture your contact details when you have expressed a desire to remain in contact with Mosaik Education without wanting to opt-in to our direct mailing.
4. How we use your personal information
Once you choose to provide us with personal information we will make reasonable efforts to ensure that your personal information is only used for the purposes specified in this privacy policy.
Mosaik Education may use your personal information to:
- to provide you with services, products or information that you have requested
- to provide updates about our work, services, activities, publications or products (where necessary, and only where you have provided your consent to receive such information)
- to invite you to Mosaik Education events which we feel that you might be interested in
- to process your donations
- to answer your questions/ requests and communicate with you in general
- to further our charitable aim in general, including for fundraising activities and asking for volunteer support
- to analyse and improve our work, services, activities, products or information (including our website) or for our internal records
- to process your application for a job or volunteer role when you apply by contacting us via our website
- to audit and/ or administer our accounts
- to satisfy legal obligations which are binding on us, for example in relation to regulatory, government and/ or law enforcement bodies with whom we may work, or due diligence checks before accepting major donations
- for the prevention of fraud or misuse of service
- for the establishment, defence of enforcement of legal claims
5. Research
We may analyse your personal information to create a record of your interests and preferences to help us manage our records efficiently and effectively in support of Mosaik Education’s mission. This allows us to ensure that communications (e.g. by post, telephone, email, text or social media) are appropriate and relevant.
Fundraising is an important element of our charitable work so we may undertake research or analysis to assess your ability to support Mosaik Education financially. This may include an assessment of your income and/or wealth and our assessment of your willingness to make donations to particular projects or Mosaik Education more generally. We may use analysis to help us identify your likely support for particular projects. All of these activities are undertaken to ensure that we are working in a cost-effective manner and allow us to raise more funds in support of Mosaik Education’s mission.
If you would prefer us not to use your personal information in this way please let us know by using the contact details included at clause 13.
6. Do we share your personal information?
Mosaik Education will not sell, rent or lease your personal information to others. However, we may disclose your personal information to selected third party processors (such as partners, sub-grantees or sub-contractors) for the purposes outlined at clause 4. The third party in question will be obligated to use any personal data they receive in accordance our instructions.
In particular, we reserve the right to disclose your personal information to third parties:
- in the event that we transfer or merge the organisation or assets with another organisation, in which case we will disclose your personal information to the prospective organisation or such business or assets;if substantially all of our assets are acquired by a third party, personal information held by us may be one of the transferred assets
- if we are under any legal or regulatory obligation to do so in connection with any legal proceedings or prospective legal proceedings, in order to establish, exercise or defend our legal rights
7. International Data Transfers
As we sometimes use third parties to process personal information, it is possible that personal information we collect from you will be transferred to and stored in a location outside the UK or the European Economic Area (“EEA”).
Please note that certain countries outside of the UK or EEA have a lower standard of protection for personal information, including lower security protections. Where your personal information is transferred, stored, and/or otherwise processed outside the UK or EEA in a country which does not offer an equivalent standard of protection to the UK or EEA, we will take all reasonable steps necessary (including entering into standard contractual clauses to protect your personal information or relying on the Privacy Shield for transfers to organisations in the US) to ensure that the recipient implements appropriate safeguards designed to protect your personal information.
If you have any questions about the transfer of your personal information, please contact us using the details at clause 13.
8. Securing your personal information
Mosaik Education will take reasonable technical and organisational precautions to prevent the loss, misuse or alteration of your personal information. Mosaik Education will store all the personal information you provide on secure servers.
9. How long do we keep your personal information?
We will generally remove your personal information from our records six years after the date that it was collected unless (a) we are required to hold for longer for legal or regulatory purposes; or (b) still required in connection with the purpose for which it was collected and/or processed. However, we will remove your personal information from our records before this date if we become aware that (a) your personal information is no longer required in connection with such purpose(s); (b) we are no longer lawfully entitled to process it; or (c) you validly exercise one of your right of erasure under clause 10.
10. Your rights and preferences
Mosaik Education may contact you by post unless you request otherwise, and by telephone, email, text, social media or other electronic means depending on the communication preferences you have previously indicated. Where we rely on your consent to use your personal information, you have the right to:
- Ask us for confirmation of what personal information we hold about you, and to request a copy of that information. If we are satisfied that you have a legal entitlement to see this personal information, and we are able to confirm your identity, we will provide you with this information.
- Request that we delete the personal information we hold about you, as far as we are legally required to do so.
- Ask that we correct any personal information that we hold about you which you believe to be inaccurate.
- Object to the processing of your personal information where we: (i) process on the basis of the legitimate interests ground; (ii) use the personal information for direct marketing; or (iii) use the personal information for statistical purposes.
- Ask for the provision of your personal information in a machine-readable format to either yourself or a third party, provided that the personal information in question has been provided to us by you, and is being processed by us: (i) in reliance on your consent; or (ii) because it is necessary for the performance of a contract to which you are party; and in either instance, we are processing using automated means.
- Ask for processing of your personal information to be restricted if there is disagreement about its accuracy or legitimate usage.
If you decide you do not want to receive any further emails from Mosaik Education, please tell us and we will remove you from the mailing list. At any point you can request to unsubscribe from Mosaik Education’s mailing or remove your personal information from the database by contacting us using the details listed at clause 13.
Please note that where you ask us to delete your personal information we will maintain a skeleton record comprising your name and organisation to ensure that we do not inadvertently contact you in the future. We may also need to retain some financial records for statutory purposes, for example Gift Aid.
Please note that you also have the right to lodge a complaint with the Information Commissioner’s Office at www.ico.org.uk/concerns.
11. Other sites
Mosaik Education is not responsible for the privacy practices or the content of linked web sites. Please review the privacy notices of such websites.
12. Updating this privacy statement
Mosaik Education may update this privacy statement by posting a new version on this website. If we update this privacy statement in a way that significantly changes how we use your personal information, we will use reasonable efforts to bring these changes to your attention where we have your contact details. Otherwise, we would recommend that you periodically review this privacy statement to be aware of any other revisions.
13. How to contact us
Mosaik Education’s CEO is responsible for monitoring compliance with relevant legislation in relation to personal data. You can also contact Mosaik Education using the details below if you have any questions about this privacy statement or our treatment of your personal information:
Email<EMAIL_ADDRESS>Post: Ramp Coworking, Peckham Levels, 1 To 6 Peckham Town Centre Carpark, 95A Rye Ln, London, SE15 4ST.


Reports generic classes with omitted type parameters. Such raw use of generic types is valid
in Java, but it defeats the purpose of type parameters and may mask bugs. This inspection mirrors the
rawtypes
warning of javac
.
Examples:
//warning: Raw use of parameterized class 'List'
List list = new ArrayList<String>();
//list of strings was created but integer is accepted as well
list.add(1);
//no warning as it's impossible to provide type arguments during array creation
IntFunction<List<?>[]> fun = List[]::new;
Configure the inspection:
- Use the Ignore construction of new objects option to ignore raw types used in object construction.
- Use the Ignore type casts option to ignore raw types used in type casts.
- Use the Ignore where a type parameter would not compile option to ignore the cases when a type parameter fails to compile
(for example, when creating an array or overriding a library method).
- Use the Ignore parameter types of overriding methods option to ignore type parameters used in parameters of overridden methods.
- Use the Ignore when automatic quick-fix is not available option to ignore the cases when a quick-fix is not available.
This inspection only reports if the language level of the project or module is 5 or higher.


threadexecution − RWP*Load Simulator start and control threads
threadexecution
::=
run thread ; { thread ; } end [
run ]
thread ::=
threads expression [ atclause ]
statementlist
end [ threads ]
The run statement is the primary means in the RWP*Load Simulator to simulate actual workload, which it does by starting threads and waiting for these to complete. Threads are grouped, and all threads in each group execute the same.
Each group of threads consists of a specified number of threads that execute the same list of statements; the number of threads (which must be zero or larger) is provided as the expression after the threads keyword. Similarly to the execute statement, you can optionally provide an at clause to specify a database that the threads will use while executing the list of statements.
The threads will be started using the threading interface of Oracle Call Interface and the threads will start executing immediately and will finish when the last statement in the list finishes. To have threads start actual work at a known time, you must use the control loop with some start time. You must similarly use a control loop if you want threads to run for some period of time using the stop option in the control loop.
Variables except those with the threads sum attribute and files open for reading will initially have their values from the main program. At thread start threads sum variables will have the value zero and the value will be added to the value in main when threads complete. Files open for reading will be closed in threads.
It is common that different threads should execute different workloads, which can be achieved in two different ways:
If the work to be performed has a different nature, say some threads execute business logic while others execute dba work, you start these as different groups of threads i.e. using multiple threads ... end keywords. You would often also use different at clauses for these.
If you want your threads to emulate different types of business logic that each is implemented in some procedure, use a single thread group - possibly with many threads - that all execute some random procedure.
The following example shows a total of 11 threads being started.
The first ten will start at the common start time and 10 times per second (i.e. with a random arrival rate of 0.1s between each) randomly execute one the three types of business logic. Assuming each of the three business logic procedures include some sql processing, and assuming the database named mydb uses a session pool, a database session will be acquired and released at the begin and end of each procedure call.
The last thread will call the procedure syswork() every 10s.
All threads will run for 300 seconds.
procedure abc()
... end;
procedure def() ... end;
procedure xyz() ... end;
random procedure array doit (abc 5, def 70, xyz 25);
procedure syswork() ... end;
run
threads 10 at mydb
for queue every erlang2(1/10) stop 300 loop
doit();
end;
end;
threads 1 at systemdb
for start 10 every 10 stop 300 loop
syswork();
end loop;
end threads;
end;
Copyright
© 2021 Oracle Corporation
Licensed under the Universal Permissive License v 1.0 as
shown at https://oss.oracle.com/licenses/upl
controlloop(1rwl), statement(1rwl), atclause(1rwl), proceduredeclaration(1rwl), randomproceduredeclaration(1rwl)


# 32022-10-15T17:20:28+03:00
|
Lower Bound |
Estimate |
Upper Bound |
| Value: |
240.23ns |
240.80ns |
241.32ns |
| Throughput: |
269.95MiB/s |
269.31MiB/s |
268.73MiB/s |
| Change in Value: |
-4.6701% |
-2.3738% |
-0.2831% |
| Change in Throughput: |
+4.8988% |
+2.4315% |
+0.2839% |
No change in performance detected.
# 22022-10-15T16:54:40+03:00
|
Lower Bound |
Estimate |
Upper Bound |
| Value: |
240.03ns |
242.13ns |
244.85ns |
| Throughput: |
270.17MiB/s |
267.83MiB/s |
264.86MiB/s |
| Change in Value: |
+0.8334% |
+2.7465% |
+5.5006% |
| Change in Throughput: |
-0.8265% |
-2.6731% |
-5.2138% |
No change in performance detected.
# 12022-10-08T17:31:27+03:00
|
Lower Bound |
Estimate |
Upper Bound |
| Value: |
240.53ns |
240.85ns |
241.18ns |
| Throughput: |
269.61MiB/s |
269.26MiB/s |
268.88MiB/s |
| Change in Value: |
-0.2441% |
+0.1323% |
+0.5683% |
| Change in Throughput: |
+0.2447% |
-0.1321% |
-0.5651% |
Change within noise threshold.
# 02022-10-08T17:12:08+03:00
|
Lower Bound |
Estimate |
Upper Bound |
| Value: |
240.74ns |
241.44ns |
242.19ns |
| Throughput: |
269.38MiB/s |
268.60MiB/s |
267.76MiB/s |


Options:
Demonstrates:
-
Creates a dedicated "Grouping Column" with title "Col A > Col B > Col C"
Hides columns that are grouped so they don't appear grouped and as separate column
Indents non-grouped rows so that first column is right of the group header
View Source:


Examples Index
Grid Skins
Default Style
FlexiGrid Gray Style
Pure Gray Style
ExtJS Gray Style
ExtJS Blue Style
ExtJS Access Style
Dhtmlx Sky Blue Style
jqGrid Style
EasyUI Style
Bootstrap Style
Custom Blue Style
Grid Samples
Simple Grid
Simple en Grid (Row Hover)
Simple Grid With Images
Simple XML Data Grid
With Little Paging
Local Json Data
Local XML Data
Grid Userdata
Grid Userdata(XML Data)
Dynamic Header Grid
No Pagation
No Diaplay Blank Rows
No Data
With Extend Checkbox
With Custom Checkbox
Edit Grid
Move Column
Custom Move Column
Standard Grid
Multi Grid
Multi Extend Grid
Extend Conditions
Extend Grid
Export Grid
Multi Header Grid
Grid With Footer
Multi Sort Grid
Fixed Grid
Fixed Grid Custom
Fixed Table Header
With Paging Additional Button
With Little Paging Additional Button
Grid With ArtDialog
Pop with ArtDialog
Grid with ArtDialog
Grid And Form with ArtDialog
Grid With Pagination
Note
With jqPagination
Adapter jqPagination
With jquery_pagination
Adapter jquery_pagination
With jPaginate
Adapter jPaginate
With jPages
Adapter jPages
With smartpaginator
Adapter smartpaginator
With jPaginator
Adapter jPaginator
Util
Util
Button
Button
Form
Simple Form
Standard Form
Validation Form
With Ajax Validation Form
Paging
Simple Paging
Simple Little Paging
Least Paging
Image Loop (Baidu News)
Image Loop (Baidu Baijia)


Ownership of Site; Agreement to Terms of Use
These Terms and Conditions of Use (the “Terms of Use”) apply to the MM web site located at www.mm.com, and all associated sites linked to www.mm.com by MM, its subsidiaries and affiliates, including MM sites around the world (collectively, the “Site”). The Site is the property of MM Inc. (“Madusha and Milan”) and its licensors. BY USING THE SITE, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, DO NOT USE THE SITE.
MM reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to check these Terms of Use periodically for changes. Your continued use of the Site following the posting of changes will mean that you accept and agree to the changes. As long as you comply with these Terms of Use, MM grants you a personal, non-exclusive, non-transferable, limited privilege to enter and use the Site.
Content
All text, graphics, user interfaces, visual interfaces, photographs, trademarks, logos, sounds, music, artwork and computer code (collectively, “Content”), including but not limited to the design, structure, selection, coordination, expression, “look and feel” and arrangement of such Content, contained on the Site is owned, controlled or licensed by or to MM, and is protected by trade dress, copyright, patent and trademark laws, and various other intellectual property rights and unfair competition laws.
Except as expressly provided in these Terms of Use, no part of the Site and no Content may be copied, reproduced, republished, uploaded, posted, publicly displayed, encoded, translated, transmitted or distributed in any way (including “mirroring”) to any other computer, server, Web site or other medium for publication or distribution or for any commercial enterprise, without MM’s express prior written consent.
You may use information on Apple products and services (such as data sheets, knowledge base articles, and similar materials) purposely made available by MM for downloading from the Site, provided that you (1) not remove any proprietary notice language in all copies of such documents, (2) use such information only for your personal, non-commercial informational purpose and do not copy or post such information on any networked computer or broadcast it in any media, (3) make no modifications to any such information, and (4) not make any additional representations or warranties relating to such documents.


{% include head.html %}
{{ site.title }}
Download all logos
Toggle colours
Should be the first choice when representing the PKP brand.
Use in page headers, page footers.
Use in page footers only.
Use in page headers, footers.
Use in page footers of OJS installation.
Always aligned on the right.
Use in page footers of OMP installations.
Use in page footers of OPS installations.


--- layout: post title: New designs published: true date: 2010-09-01 categories: [] posterous_url: http://blog.hungerandthirstdesign.com/post/1047054175/new-designs posterous_slug: post/1047054175/new-designs ---
Working on some new site designs, some for the company I work for on a full time basis, others for my church or personal interests. The portfolio is coming along.
The first one, called very simply: App Monitor, is a very minimal design for a small, yet very useful site I need at work. I wanted a quick, dirty, yet elegant way to view website status, to check if the site was up, and similarly with the actual server machine. So threw together some quick graphics and a light backend to support it (with some slick JS tricks) and here we go. Its not accessible to public use, since it is an internal app, but I was really happy with the design.
This site has a lot of really interesting ideas working on the back end to do all the site checks and is using some new OSS projects I haven’t had time to play with otherwise. Also of note, this is my first project using Rails 3. I already want to switch all my other projects over, although I’m not sure how practical that is. We shall see. I’ll try to blog about that experience more in the near future.
My other site project is a more professional look, without a lot of flashy elements, but a very clean, information driven design. This one you can access in the public domain, although it is far from complete.
LowCountry Community Church demo site
It is still very much a work in progress but I hope to have this site up and functioning as the primary site within the next few weeks, and I am taking over the site for my church. Should be an interesting project for sure.


You can add useful information to any change form, like this message for Towns
See project/templates/project/admin_app_town_change_form.html


"WFQuickActionSurfaces": [],
"WFWorkflowClientVersion": "1146.15",
"WFWorkflowHasOutputFallback": false,
"WFWorkflowHasShortcutInputVariables": false,
"WFWorkflowIcon": {
"WFWorkflowIconStartColor":<PHONE_NUMBER>,
"WFWorkflowIconGlyphNumber": 61480
},
"WFWorkflowImportQuestions": [],
"WFWorkflowInputContentItemClasses": [],
"WFWorkflowMinimumClientVersion": 900,
"WFWorkflowMinimumClientVersionString": "900",
"WFWorkflowOutputContentItemClasses": [],
"WFWorkflowTypes": [
"NCWidget"
]


Equidivisions
问题描述 :
An equidivision of an n × n square array of cells is a partition of the n2 cells in the array in exactly n sets, each one with n contiguous cells. Two cells are contiguous when they have a common side.
A good equidivision is composed of contiguous regions. The figures show a good and a wrong equidivision for a 5 × 5 square:
Note that in the second example the cells labeled with 4
describe three non-contiguous regions and cells labeled with 5
describe two non-contiguous regions. You must write a program that evaluates if an equidivision of the cells in a square array is good or not.
输入:
It is understood that a cell in an n × n square array is denoted by a pair (i, j), with 1 ≤ i, j ≤ n. The input file contains several test cases. Each test case begins with a line indicating n, 0 < n < 100, the side of the square array to be partitioned. Next, there are n − 1 lines, each one corresponding to one partition of the cells of the square, with some non-negative integer numbers. Consecutive integers in a line are separated with a single blank character. A line of the form
a1a2a3a4…
means that cells denoted with the pairs (a1, a2), (a3, a4), … belong to one of the areas in the partition. The last area in the partition is defined by those cells not mentioned in the n − 1 given lines. If a case begins with n = 0 it means that there are no more cases to analyze.
输出:
For each test case good
must be printed if the equidivision is good, in other case, wrong
must be printed. The answers for the different cases must preserve the order of the input.
样例输入:
2 1 2 2 1 5 1 1 1 2 1 3 3 2 2 2 2 1 4 2 4 1 5 1 3 1 4 5 5 2 5 3 5 5 5 4 2 5 3 4 3 5 4 3 4 4 5 1 1 1 2 1 3 3 2 2 2 2 1 3 1 4 1 5 1 4 2 4 5 5 2 5 3 5 5 5 4 2 4 1 4 3 5 4 3 4 4 0
样例输出:
wrong good wrong
解题代码:
/* @author: */ import java.util.Scanner; import java.util.Arrays; public class Main{ static int p[][]=new int[105][105]; static int q[][]=new int[101][101]; static int n,cnt; static void dfs(int i,int j) { if(i>n||j>n||i< 1||j< 1) return; q[i][j]=cnt; if(q[i][j+1]==0&&p[i][j]==p[i][j+1]) dfs(i,j+1); if(q[i][j-1]==0&&p[i][j]==p[i][j-1]) dfs(i,j-1); if(q[i+1][j]==0&&p[i][j]==p[i+1][j]) dfs(i+1,j); if(q[i-1][j]==0&&p[i][j]==p[i-1][j]) dfs(i-1,j); } public static void main(String args[]) { Scanner sc=new Scanner(System.in); int i,j,u,v; while(sc.hasNext()) { n=sc.nextInt(); if(n==0) break; for(i=0;i< p.length;i++){ Arrays.fill(p[i],0); } for(i=0;i< q.length;i++){ Arrays.fill(q[i],0); } for(i=0;i< n-1;i++) { for(j=0;j< n;j++) { u=sc.nextInt(); v=sc.nextInt(); p[u][v]=i+1; } } cnt=1; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(q[i][j]!=0) continue; dfs(i,j); cnt++; } } cnt--; if(cnt>n) System.out.println("wrong"); else System.out.println("good"); } } }
通不过。
感觉第二种方法其实也不是很好，不过的确要比第一种方法要好一点。
代码是给出了，但是解析的也太不清晰了吧！如 13 abejkcfghid jkebfghicda
第一步拆分为 三部分 (bejk, cfghi, d) * C(13,3)，为什么要这样拆分，原则是什么？
程序是错的吧，明显没有判断不和该节点相邻的其他节点是否相互相邻
.net中char类型不是两个字节么
这个问题别太纠结了，不同的编译器结果不一
能不能说一下tmp数组和solve都是干嘛的？
第36行，struct node **head_ref，怎么理解，那个函数感觉不是很懂啊！？？弱渣求助
算法，他认识我，我不认识他，后来有人告诉我你写的这段代码就是XXX算法。。。


Genesis 41:31
And the plenty shall not be known in the land by reason of that famine following; for it shall be very grievous.


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object test.GenOrmDataSource
public class GenOrmDataSource
This class is at the heart of handling database connections for all Genormous objects. The static methods on this class manipulate connections that are stored on the thread local data.
The thread local storage is used so the developer does not have to pass the
database connection around. If your application has one database you can set
set the default data source by calling #setDataSource(GenOrmDataSource)
,
which sets the static member s_dsEnvelope
. Then throughout your
application you can call GenOrmDataSource.begin()
to begin a
transaction. A connection will be created from the default data source and
the connection will be placed on the thread.
You can also provide the connection or data source when you call begin by using
either #begin(GenOrmDSEnvelope)
or #begin(Connection)
.
Only one connection can be the current one at a time but, you can nest connections
//Open first db connection GenOrmDataSource.begin(); ... //Open second db connection to different db GenOrmDataSource.begin("key to other data source"); //Make calls using second db connection ... GenOrmDataSource.commit(); GenOrmDataSource.close(); //Now make calls to first db connection ... GenOrmDataSource.commit(); GenOrmDataSource.close();
| Field Summary | |
|---|---|
static java.util.Map<java.lang.String,GenOrmDSEnvelope> |
s_dataSourceMap
Map of keys to data sources. |
static GenOrmDSEnvelope |
s_dsEnvelope
The default data source to use |
| Constructor Summary | |
|---|---|
GenOrmDataSource()
|
| Method Summary | |
|---|---|
static GenOrmTransactionConnection |
attach()
|
static GenOrmTransactionConnection |
attach(GenOrmDSEnvelope source)
|
static void |
attachAndBegin()
Begin a transaction using the default data source that was set using #setDataSource(GenOrmDataSource) |
static void |
attachAndBegin(java.sql.Connection con)
Begin a transaction using the Connection passed in. |
static void |
attachAndBegin(GenOrmDSEnvelope source)
Begin a transaction using the data source passed into the method |
static void |
attachAndBegin(java.lang.String source)
Begin a transaction using a connection retrieved by first looking up the data source with the source parameter. |
static void |
close()
Close the current connection |
static void |
commit()
Commit the transaciton on the current connection |
static java.sql.Statement |
createStatement()
Creates a java.sql.Statement using the current connection on
the thread |
static void |
flush()
Flush all modified records on the current connection |
static java.sql.Connection |
getConnection()
Return the java.sql.Connection object from off the thread local data |
static GenOrmDSEnvelope |
getDataSource()
Gets the default data source |
static GenOrmDSEnvelope |
getDataSource(java.lang.String key)
Gets the data source for the particular key |
static GenOrmConnection |
getGenOrmConnection()
Return the GenOrmConnection from off the thread local data. |
static GenOrmKeyGenerator |
getKeyGenerator(java.lang.String table)
Returns the GenOrmKeyGenerator that is associated with the
specified table |
static java.sql.PreparedStatement |
prepareStatement(java.lang.String sql)
Creates a java.sql.PreparedStatement using the current connection on
the thread |
static int |
rawUpdate(java.lang.String sql)
Shortcut to process SQL using the current connection. |
static void |
rollback()
Roll back the current connection |
static void |
setDataSource(GenOrmDSEnvelope ds)
Sets the default data source used to create connections for each thread |
static void |
setDataSource(java.lang.String key,
GenOrmDSEnvelope ds)
Associates a datasource with a key. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static GenOrmDSEnvelope s_dsEnvelope
public static java.util.Map<java.lang.String,GenOrmDSEnvelope> s_dataSourceMap
| Constructor Detail |
|---|
public GenOrmDataSource()
| Method Detail |
|---|
public static GenOrmDSEnvelope getDataSource()
public static GenOrmDSEnvelope getDataSource(java.lang.String key)
public static void setDataSource(GenOrmDSEnvelope ds)
ds
- Envenlope containing the data source to use.public static void setDataSource(java.lang.String key, GenOrmDSEnvelope ds)
#begin(String)
and pass the key associated with the datasource
key
- Key to store the data source underds
- Data source envelopepublic static void attachAndBegin(java.lang.String source)
source
parameter.
source
- Key used to lookup the data source to use to create the connection.public static void attachAndBegin(GenOrmDSEnvelope source)
source
- Data source used to create a connection.public static void attachAndBegin(java.sql.Connection con)
con
- Connection to usepublic static void attachAndBegin()
#setDataSource(GenOrmDataSource)
public static GenOrmTransactionConnection attach(GenOrmDSEnvelope source)
public static GenOrmTransactionConnection attach()
public static void flush()
public static void commit()
public static void close()
public static void rollback()
public static GenOrmConnection getGenOrmConnection()
GenOrmConnection
from off the thread local data.
If no connection exists then a GenOrmDudConnection
is returned.
The GenOrmDudConnection can be used for transactionless db communication.
public static java.sql.Connection getConnection()
public static GenOrmKeyGenerator getKeyGenerator(java.lang.String table)
GenOrmKeyGenerator
that is associated with the
specified table
table
- The SQL table to get the key generator for.
public static java.sql.Statement createStatement() throws java.sql.SQLException
java.sql.Statement
using the current connection on
the thread
java.sql.SQLException
public static java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException
java.sql.PreparedStatement
using the current connection on
the thread
java.sql.SQLException
public static int rawUpdate(java.lang.String sql) throws java.sql.SQLException
Statement stmt = createStatement();
stmt.executeUpdate(sql);
stmt.close();
sql
- SQL update to process
java.sql.SQLException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


It's a service which accepts a request for a set of browser features and returns only the polyfills that are needed by the requesting browser.
There are lots of differing browsers and browser versions in use throughout the world, each one has a slighly different set of features to the rest. This can make developing for browsers a difficult task. The latest versions of the popular browsers can do lots of things which older browsers can not – but you may still have to support the older browsers. Polyfill.io makes it simpler to support differing browsers by attempting to recreate the missing features with polyfills: You can make use of the latest and greatest features in browsers which support them, and in those that do not.
{{#if fastly}}From {{fastly.sevenDays.rollup.startDate}} to {{fastly.sevenDays.rollup.endDate}}, we have served {{fastly.sevenDays.rollup.requests}} requests. {{fastly.sevenDays.rollup.cache}}% of which were served from Fastly's global CDN cache.
{{/if}}


Below I list some projects and blog-posts.
For more serious analyses, feel free to visit my Github.
Thanks for visiting!
While the subject may be taboo, I was always curious how much my Professors earned. After all, any number of my professors could have gone into industry and made a killing, so surely they must be well-compensated by the University, right? Luckily for us, this information is public domain.
Skateboarding and music have been cultural pairs for decades.
Explore the relationship between skateboarding videos and music in this interactive, date-driven analysis.
If you're anything like me, you probably spend a lot of time selecting the right color for your charts.Choosing a color palette for a visualization can be surprisingly time consuming. Here's a tool to help ameliorate the problem: Given two colors, 600 color-values will be interpolated between the two. Clicking on a color will decrease its opacity. Hovering over a color will yield its hexidecimal representation.
The permutation test, also known as the randomization test, is a nonparametric two-sample hypothesis test. Learn about how the test works, why it's special, and how to implement the test from scratch in R.
Brief post detailing the differences in closures between Javascript and Python.
Tips and tricks for writing more efficient R code.


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use Invoker | |
|---|---|
| com.thoughtworks.proxy | An implementation neutral API for creation of dynamic proxies. |
| com.thoughtworks.proxy.factory | Different implementations of the ProxyFactory interface. |
| com.thoughtworks.proxy.kit | Utility classes building the toys. |
| com.thoughtworks.proxy.toys.decorate | A toy to decorate the interaction with another object. |
| com.thoughtworks.proxy.toys.delegate | A toy to delegate method calls to another object. |
| com.thoughtworks.proxy.toys.dispatch | A toy to dispatch method calls to different objects. |
| com.thoughtworks.proxy.toys.failover | A toy to handle failover situations. |
| com.thoughtworks.proxy.toys.future | A toy to delay method execution into future. |
| com.thoughtworks.proxy.toys.hotswap | A toy to hot swap instances. |
| com.thoughtworks.proxy.toys.multicast | A toy to perform a single call on multiple objects and manage the results. |
| com.thoughtworks.proxy.toys.nullobject | A toy to create dummy null objects with intelligent behavior. |
| com.thoughtworks.proxy.toys.pool | A toy to create object pools based on proxies. |
| com.thoughtworks.proxy.toys.privilege | A toy to run method calls as privileged actions. |
| Uses of Invoker in com.thoughtworks.proxy |
|---|
| Methods in com.thoughtworks.proxy that return Invoker | |
|---|---|
Invoker |
ProxyFactory.getInvoker(Object proxy)
Retrieve the invocation handler of the proxy. |
| Methods in com.thoughtworks.proxy with parameters of type Invoker | ||
|---|---|---|
|
ProxyFactory.createProxy(Invoker invoker,
Class<?>... types)
Create a new proxy instance. |
| Uses of Invoker in com.thoughtworks.proxy.factory |
|---|
| Methods in com.thoughtworks.proxy.factory that return Invoker | |
|---|---|
Invoker |
InvokerReference.getInvoker()
Retrieve the Invoker instance from the proxy. |
| Methods in com.thoughtworks.proxy.factory with parameters of type Invoker | ||
|---|---|---|
|
CglibProxyFactory.createProxy(Invoker invoker,
Class<?>... types)
Create a new proxy instance. |
|
|
StandardProxyFactory.createProxy(Invoker invoker,
Class<?>... types)
|
| Uses of Invoker in com.thoughtworks.proxy.kit |
|---|
| Classes in com.thoughtworks.proxy.kit that implement Invoker | |
|---|---|
class |
PrivateInvoker
An Invoker that is able to call protected and private methods. |
class |
SimpleInvoker
A simple Invoker implementation, that routes any call to a target object. |
| Uses of Invoker in com.thoughtworks.proxy.toys.decorate |
|---|
| Classes in com.thoughtworks.proxy.toys.decorate that implement Invoker | |
|---|---|
class |
DecoratingInvoker<T>
Invoker implementation for the decorating proxy. |
| Constructors in com.thoughtworks.proxy.toys.decorate with parameters of type Invoker | |
|---|---|
DecoratingInvoker(Invoker decorated,
Decorator<T> decorator)
Construct a DecoratingInvoker decorating another Invoker. |
| Uses of Invoker in com.thoughtworks.proxy.toys.delegate |
|---|
| Classes in com.thoughtworks.proxy.toys.delegate that implement Invoker | |
|---|---|
class |
DelegatingInvoker<T>
Invoker that delegates method calls to an object. |
| Uses of Invoker in com.thoughtworks.proxy.toys.dispatch |
|---|
| Classes in com.thoughtworks.proxy.toys.dispatch that implement Invoker | |
|---|---|
class |
DispatchingInvoker
Invoker that dispatches all invocations to different objects according the membership of the method. |
| Uses of Invoker in com.thoughtworks.proxy.toys.failover |
|---|
| Classes in com.thoughtworks.proxy.toys.failover that implement Invoker | |
|---|---|
class |
FailoverInvoker<T>
Invoker that implements a failover strategy by using different delegates in
case of an exception. |
| Uses of Invoker in com.thoughtworks.proxy.toys.future |
|---|
| Classes in com.thoughtworks.proxy.toys.future that implement Invoker | |
|---|---|
class |
FutureInvoker
Invoker that implements transparent asynchronous
method calls. |
| Uses of Invoker in com.thoughtworks.proxy.toys.hotswap |
|---|
| Classes in com.thoughtworks.proxy.toys.hotswap that implement Invoker | |
|---|---|
class |
HotSwappingInvoker<T>
A DelegatingInvoker implementation that allows the exchange of the delegate. |
| Uses of Invoker in com.thoughtworks.proxy.toys.multicast |
|---|
| Classes in com.thoughtworks.proxy.toys.multicast that implement Invoker | |
|---|---|
class |
MulticastingInvoker<T>
A Invoker implementation that multicasts calls to multiple targets. |
| Uses of Invoker in com.thoughtworks.proxy.toys.nullobject |
|---|
| Classes in com.thoughtworks.proxy.toys.nullobject that implement Invoker | |
|---|---|
class |
NullInvoker
A Invoker implementation that returns always new Null objects. |
| Uses of Invoker in com.thoughtworks.proxy.toys.pool |
|---|
| Classes in com.thoughtworks.proxy.toys.pool that implement Invoker | |
|---|---|
protected static class |
Pool.PoolingInvoker<T>
The Invoker of the proxy. |
| Uses of Invoker in com.thoughtworks.proxy.toys.privilege |
|---|
| Classes in com.thoughtworks.proxy.toys.privilege that implement Invoker | |
|---|---|
class |
PrivilegingInvoker<T>
Invoker that creates for the invoked method a
PrivilegedExceptionAction and runs this action with the provided
ActionExecutor . |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


This is an option that can be passed to either lexBetti or almostLexBetti. If the value of the option is true a BettiTally object will be returned. If it is false, a List of lists will be returned. This latter option is useful if one wishes to obtain the total Betti numbers instead of the graded Betti numbers. This can easily be done using by applying sum to the output with AsTally=>false.
i1 : lexBetti (4, {1,2,3,3,3,3}, AsTally => true) 0 1 2 3 o1 = total: 1 3 3 1 0: 1 2 1 . 1: . . . . 2: . 1 2 1 o1 : BettiTally |
i2 : lexBetti (4, {1,2,3,3,3,3}, AsTally => false) o2 = {{0, 0, 0, 0}, {2, 1, 0, 0}, {0, 0, 0, 0}, {1, 2, 1, 0}, {0, 0, 0, 0}, ------------------------------------------------------------------------ {0, 0, 0, 0}} o2 : List |
i3 : sum oo o3 = {3, 3, 1, 0} o3 : List |


The TMReadPacket API call reads a Universal Data Packet (UDP) starting on 'start_page' in a 1-Wire device. The data is placed into 'read_buffer' up to a maximum of 'max_read' bytes. Returns a read count length greater than or equal to 0 for success or one of the TRANSPORT error values for a failure. See the description of the Universal Data Packet.
For a description of the above types, see the TMEX Type Descriptions.
Parameters
session_handle
Specifies the session handle returned from the API function TMExtendedStartSession that specifies the desired 1-Wire network port. This parameter is required by most TMEX API functions.
state_buffer
Specifies a pointer to a memory location that TMEX keeps all of the state information for the 1-Wire networks. This parameter is required by most TMEX API functions.
start_page
Specifies the page that the packet begins at. A CRC-16 verified packet always starts at the beginning of a page boundary. The valid range of a start page depends on the device type. Current 1-Wire devices range from 0 to 256 pages.
read_buffer
Specifies a pointer to a memory location that will contain the data that is read. The size of the buffer must be at least ‘max_read’ bytes long.
Max_read
Specifies the maximum number of bytes that can be placed in the ‘read_buffer’. An TRANSPORT error code will be returned if the packet on the 1-Wire device is larger than the provided buffer.
Return Value
>=0 => length of valid data read
<0 => TMEX Transport Error Return Code
See Also


SCHADE (Ruddock), Kathleen Mary
Date of death: November 13th, 2019
Date of birth: January 22nd, 1937
Age: 82
Location: Kitchener, Ontario
Family
- Spouse: Don
- Children: Blake, Jamie (Mei) and Jason (Mandy)
- Grandchildren: Tienna, Tayler, and Rylea; Carter and Brenna
- Parents: William and Madeline Ruddock
- Siblings: Kenny (Louise), Jimmy (Leona), Maureen (Geoff), and Lana (Mike)
Visitation: Monday, November 18, 2019, from 7-9pm, at Memory Gardens Funeral Home, 2723 Victoria St N, Breslau.
Service: Tuesday November 19, 2019, in the chapel of the funeral home, at 11am. Reception to follow.


La Schola Vesperis {% capture about %}{% include about.md %}{% endcapture %} {{ about | markdownify }}


--- layout: post title: Thomas Fuchs on Audible Ajax categories: - sightings author: jamis published: true date: 2006-01-09 13:37:00.000000000 +00:00 ---
Thomas Fuchs, a Rails core developer and the creator of the fantastic script.aculo.us library, has been interviewed on Audible Ajax. Learn about the origins and future of script.aculo.us, Rails with Ajax, the relationship between prototype and script.aculo.us, and more.


Introduction
This document is designed to be a reference for troubleshooting and debugging Linux and Solaris. Familiarity with the C programming language is helpful, but not required. Where possible only programs that are installed by default are covered, there are many other tools that can give you more information, but they aren’t always available.
The first topic covered is performance monitoring. If a program is not behaving correctly, this can often be traced to underlying problems like running out of memory. Understanding how to monitor system performance can be a huge help in troubleshooting a problem.
Next tracing is covered. Tracing allows you to closely monitor what a program is actually doing. Depending on the program used to trace, you can monitor function and system calls, I/O, interrupts, and many other events. This can be helpful to find out if a program is trying to read a specific file, access another computer remotely, or is hung up waiting for information.
Finally debugging is covered. Debugging is handy to find out why a program is crashing, or in some cases to modify information that the program is using. Tracing and debugging have some overlap on the information you can retrieve, so sometimes which tool you use is up to personal preferance.
Performance Monitoring
CPU
uptime
The uptime command shows how long a system has been powered on, the number of logged in users, and the load average. Load average can give you a quick glance at how loaded the system is.
A completely idle computer has a load average of 0. Each running process either using or waiting for CPU resources adds 1 to the load average. So, if your system has a load of 5, five processes are either using or waiting for the CPU.
Unix systems traditionally just counted processes waiting for the CPU, but Linux also counts processes waiting for other resources — for example, processes waiting to read from or write to the disk.
| For load average to make sense, you need to know how many cpu’s the system has, you can figure this out with mpstat. |
For example, if you have a load average of 2 on a single-CPU system, this means your system was overloaded by 100 percent — the entire period of time, one process was using the CPU while one other process was waiting. On a system with two CPUs, this would be complete usage — two different processes were using two different CPUs the entire time. On a system with four CPUs, this would be half usage — two processes were using two CPUs, while two CPUs were sitting idle.
The load average is reported for the last minute, 5 minutes, and 15 minutes. This can be useful to discover if load is going up, down, or staying the same.
# uptime 11:57pm up 44 mins(s), 2 users, load average: 0.08, 0.13, 0.14
| In this example the cpu was idle 92% of the time for the last minute (0.08 load average) |
mpstat
mpstat shows processor usage by cpu. Mpstat can help determine how load is distributed across cpus, it can also help debug lock contention issues.[1]
Things to look for:
-
If only one cpu is consistantly used
-
if xcall (cross call) is over about 200 there may be issues with the program
-
if migr (thread migrations) is over about 500, then look into setting rechoose-interval higher
-
smtx and srw show when the program is waiting on a mutex or file lock. Could be a bug or resource contention.
| the first line of output from mpstat (like iostat, vmstat, etc.) contains averages since system boot. The subsequent lines will show current values. |
# mpstat -ap SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl sze 0 6 0 355 291 190 22 0 0 0 0 43 0 2 0 43 1 1 24 17 534 207 200 70 1 0 2 0 600 4 1 0 84 2 2 19 7 353 325 318 44 0 0 5 0 345 1 1 0 94 3 3 36 2 149 237 236 14 0 0 4 0 97 0 0 0 98 2
$ mpstat Linux 2.4.21-32.ELsmp (linux00) 07/04/07 10:26:54 CPU %user %nice %system %iowait %irq %soft %idle intr/s 10:26:54 all 0.07 0.00 0.16 8.48 0.00 0.09 91.18 165.49
| for mpstat on Solaris the idl value reports the time that the CPU is idle for any reason other than pending disk I/O operations.[2] |
ps
Memory
free (linux)
prtconf (solaris)
To figure out total memory available in Solaris you can use prtconf.[3]
# prtconf | grep Memory Memory size: 65536 Megabytes
Network
netstat
snoop (solaris)
tcpdump (linux)
iftop (linux)
Generic
prstat (solaris)
kstat (solaris)
top (linux)
Typical monitoring procedure
-
prstat (solaris) or top (linux)
check cpu % per process, cpu and memory % per user. See if any specific process stands out. -
vmstat
If b is high could be waiting on IO or CPU. Check swap and free to double check memory. Check cpu id (idle) if cpu% from prstat was low, but id is also low, could be short lived processes.
| Resource | Metric | Linux | Solaris |
|---|---|---|---|
CPU |
errors |
fmadm faulty cpustat (CPC) for whatever error counters are supported (eg, thermal throttling) |
|
CPU |
saturation |
system-wide vmstat 1, "r" > CPU count [2] dstat -p, "run" > CPU count per-process /proc/PID/schedstat 2nd field (sched_info.run_delay) |
system-wide uptime, load averages vmstat 1, "r" DTrace dispqlen.d (DTT) for a better "vmstat r" per-process prstat -mLc 1, "LAT" |
CPU |
utilization |
system-wide vmstat 1, "us" + "sy" + "st" sar -u, sum fields except "%idle" and "%iowait" per-cpu mpstat -P ALL 1, sum fields except "%idle" and "%iowait" sar -P ALL, same as mpstat per-process top, "%CPU" ps -o pcpu |
per-cpu mpstat 1, "usr" + "sys" system-wide vmstat 1, "us" + "sy" per-process prstat -c 1 ("CPU" == recent) prstat -mLc 1 ("USR" + "SYS") |
Memory capacity |
errors |
dmesg for physical failures |
fmadm faulty and prtdiag for physical failures fmstat -s -m cpumem-retire (ECC events) DTrace failed malloc()s |
Memory capacity |
saturation |
system-wide vmstat 1, "si"/"so" (swapping) per-process 10th field (min_flt) from /proc/PID/stat for minor-fault rate OOM killer: dmesg | grep killed |
system-wide vmstat 1, "sr" (bad now), "w" (was very bad) vmstat -p 1, "api" (anon page ins == pain), "apo" per-process prstat -mLc 1, "DFL" DTrace anonpgpid.d (DTT), vminfo:::anonpgin on execname |
Memory capacity |
utilization |
system-wide free -m, "Mem:" (main memory), "Swap:" (virtual memory) vmstat 1, "free" (main memory), "swap" (virtual memory) sar -r, "%memused"; dstat -m, "free" slabtop -s c for kmem slab usage per-process top, "RES" (resident main memory), "VIRT" (virtual memory), "Mem" for system-wide summary |
system-wide vmstat 1, "free" (main memory), "swap" (virtual memory) per-process prstat -c, "RSS" (main memory), "SIZE" (virtual memory) |
Network Interfaces |
errors |
ifconfig, "errors", "dropped" netstat -i, "RX-ERR"/"TX-ERR" ip -s link, "errors" sar -n EDEV, "rxerr/s" "txerr/s" /proc/net/dev, "errs", "drop" |
netstat -i, error counters dladm show-phys kstat for extended errors, look in the interface and "link" statistics (there are often custom counters for the card) |
Network Interfaces |
saturation |
ifconfig, "overruns", "dropped" netstat -s, "segments retransmited" sar -n EDEV, *drop and *fifo metrics /proc/net/dev, RX/TX "drop" nicstat "Sat" |
nicstat kstat for whatever custom statistics are available (eg, "nocanputs", "defer", "norcvbuf", "noxmtbuf") netstat -s, retransmits |
Network Interfaces |
utilization |
sar -n DEV 1, "rxKB/s"/max "txKB/s"/max ip -s link, RX/TX tput / max bandwidth /proc/net/dev, "bytes" RX/TX tput/max nicstat "%Util" |
nicstat kstat dladm show-link -s -i 1 interface |
Network controller |
errors |
see network interface errors, … |
kstat for whatever is there / DTrace |
Network controller |
utilization |
infer from ip -s link (or /proc/net/dev) and known controller max tput for its interfaces |
infer from nicstat and known controller max tput |
Storage capacity |
errors |
strace for ENOSPC dynamic tracing for ENOSPC /var/log/messages errs, depending on FS |
DTrace /var/adm/messages file system full messages |
Storage capacity |
utilization |
swap swapon -s free /proc/meminfo "SwapFree"/"SwapTotal" file systems df -h |
swap swap -s file systems df -h; plus other commands depending on FS type |
Storage controller |
errors |
see storage device errors, … |
DTrace the driver, eg, mptevents.d (DTB) /var/adm/messages |
Storage controller |
saturation |
see storage device saturation, … |
look for kernel queueing: sd (iostat "wait" again), ZFS zio pipeline |
Storage controller |
utilization |
iostat -xz 1, sum devices and compare to known IOPS/tput limits per-card |
iostat -Cxnz 1, compare to known IOPS/tput limits per-card |
Storage device I/O |
errors |
/sys/devices/…/ioerr_cnt smartctl |
iostat -En DTrace I/O subsystem, eg, ideerr.d (DTB), satareasons.d (DTB), scsireasons.d (DTB), sdretry.d (DTB) |
Storage device I/O |
saturation |
iostat -xnz 1, "avgqu-sz" > 1, or high "await" sar -d same; LPE block probes for queue length/latency |
iostat -xnz 1, "wait" DTrace iopending (DTT), sdqueue.d (DTB) |
Storage device I/O |
utilization |
system-wide iostat -xz 1, "%util" sar -d, "%util" per-process pidstat -d /proc/PID/sched "se.statistics.iowait_sum" |
system-wide iostat -xnz 1, "%b" per-process DTrace iotop |
Modified from the USE method Rosetta Stone [4]. Removed some tools that aren’t on default installs and simplified the table.
Tracing
truss (solaris)
The truss utility executes the specified command and produces a trace of the system calls it performs, the signals it receives, and the machine faults it incurs.
If possible you should use dtrace instead, due to performance issues with truss [6]. This may not be possible if you don’t have access to the global zone.


Rona is the happiest, most non assuming girlie ever. As showing didn't seem to be her cup of tea, we let her excel at being the belle of the ball at Staghorn. She's the best of both her parents in a nice black fur coat. Just a joy to have bred and to own. So giving and loving and while she doesn't care for being stacked or handled, she really is a beautiful girl and is structurally very, very nice!


In this simple 6-5-4 version you must first have the ship (6) before you have the captain (5); likewise, you must first have the captain before you have the crew (4). This can be very frustrating when you fail to roll a six, and have a score of zero.
As you shoot each one of these points in order, you can pull that die out of the cup and set it aside. Alternatively, you can elective to put as many of the dice in the cup and try again (this is stupid, since it does not improve you odds, but it is legal).
Each player gets at least one and no more than three flops (toss of the dice cup) in the two player game. The score is the total of the two dice left over after the Ship, Captain and Crew have been completed. A 2 is the lowest score and is called a "minimum" while 12 is the highest score and is called a "midnight"; I don't know why
The highest score wins. If there is a tie in a two player game, they just play another hand and buy their own drinks.


|
1
|
Chai
|
$18.00
|
10 boxes x 20 bags
|
39
|
|
|
2
|
Chang
|
$19.00
|
24 - 12 oz bottles
|
17
|
|
|
3
|
Anseed Syrup
|
$10.00
|
12 - 500 ml bottles
|
13
|
|
|
4
|
Chef Anton's Cajun Seasoning
|
$22.00
|
48 - 6 oz jars
|
53
|
|
|
5
|
Chef Anton's Glumbo Mix
|
$21.35
|
36 boxes
|
0
|
|
|
6
|
Grandma's Boysenberry Spread
|
$25.00
|
12 - 8 oz jars
|
120
|
|
|
7
|
Uncle Bob's Organic Dried Pears
|
$30.00
|
12 - 1 lb pkgs.
|
15
|
|
|
8
|
Northwoods Cranberry Sauce
|
$40.00
|
12 - 12 oz jars
|
6
|
|
|
9
|
Mishi Kobe Niku
|
$97.00
|
18 - 500 g pkgs.
|
29
|
|
|
10
|
Ikura
|
$31.00
|
12 - 200 ml jars
|
31
|
|


DANTE (Dimensional ANnotation Tool for Emotions) is a project developed by the PHuSe Lab from Università degli Studi di Milano (Italy). The tool is part of a multimodal dataset acquired with the aim to study emotional response in presence of amusement stimulus.


[builderList] modelClass = "Ibrdrahim\product\Models\Game" scope = "-" displayColumn = "name" noRecordsMessage = "No records found" detailsPage = "-" detailsUrlParameter = "id" recordsPerPage = 3 pageNumber = "{{ :page }}" ==
{{record.short_description}}


pain labor control effect study group severity {border-style reflexology auriculotherapy px;} #ffffff;} intensity (.%) interventional women groups Midwifery duration showed significant .). delivery intervention results Health Nursing group, methods primiparous px; stage {font-family Auriculotherapy Pain difference font-size second stages Care Isfahan Medical dilatation double; mean points reduce stimulation uterine Nurs Valiani border-color border-width ear effective health leads method nonpharmacological pain, pharmacological pregnant recorded research significantly solid; {font-style {font-weight > (.) According However, Iran Labor Med Research Table University active acupuncture age anxiety body, bold care cm, conducted courier; did different em; groups. lack management massage min overall pain: pt;} reduces reported routine study, trial used using uterus


What you (and I) should do
Disclaimer: "SHOULD"
(No I don't always do this but I should)
Getting rid of bad code
- It's your job to make stuff better
- Shouldn't ask for permission for this
Pointers to good resources to improve code
Very very very basic, simple stuff
Numerous blogs
Look for them
The Bike Shed
Ruby / Rails / practical problems
episodes with Katrina Owen / Sandi Metz
So here is the simple stuff we do wrong
Lousy comments
(imprecise, wrong, obvious)
Trailing Whitespace
Set Sublime Text to
"trim_trailing_white_space_on_save": true
(Your Favourite Editor™ will have a setting)
Also:
"ensure_newline_at_eof_on_save": true
"translate_tabs_to_spaces": true
to_s
in string interpolation
Explicit default parameters
def explicit_default_arguments
[1, 2, 3].join('')
end
Beware of dependencies
Beware of too many gems
❝SHUT UP, AREN'T THERE MORE URGENT PROBLEMS?❞
Getting the simple things right will make your life better and makes it easier to focus on the hard stuff!


Returns a list with the pathnames of all Rucksack files in the specified directory.
(defun rucksack-files-in-directory (directory-pathname)
"Returns a list with the pathnames of all Rucksack files
in the specified directory."
(list (merge-pathnames "roots" directory-pathname)
(merge-pathnames "objects" directory-pathname)
(merge-pathnames "heap" directory-pathname)
(merge-pathnames "schemas" directory-pathname)))
Source Context


Start Bootstrap was picked for its easy to use, modular themes, as well as its extensive tutorials. Notepad++ was used to edit .css and .html files, as it is a great environment for a wide variety of languages/formats to make quick changes. Git and Github was used for version control.
Important traits:
Furthermore a good website's content is cohesive, and serves a clear focused purpose. Any design choices made should be to communicate and elaborate this theme to the user.
A website needs to be accessible in a way that it's accessible to everyone. Disabilities range widely, both on what parts of a person's life they affect and through their extent. The implications of these aren't always apparent for someone living without them, therefore careful considerations need to be made to account for them. Not only is it ethical, and allows us to reach a wider audience, the Equality Act makes it necessary for a service to be accessible to everyone who could use it.
These are some of the elements I implemented to make this website more accessible:
The General Data Protection Regulation (GDPR) is a data protection regulation implemented in the EU since 25 May, 2018. It effectively holds companies accountable for the way they handle personal information, and was catalysed by a series of massive data breaches in recent history. Companies with over 250 employees need documentation of why and how is information collected, and to have taken the necessary steps to secure it. More generally, to be compliant consent needs to be obtained to collect personal data in the first place.
Considering our project:
Platforms such as Google adwords provide easy ways of targeted advertising. Collaboration/giveaways with social influencers is a good way to reach an audience, as long as the channel's viewers would be interested in the product. Similarly free tables could be provided for bars or youth centers, where fans of tablefootball are better represented. Search engine optimization is a set of design principles that would increase the chance of users finding our service through search engines.
The site should feature an orders site, where visitors could place orders for shipments. A secure method for taking payments needs to be implemented, perhaps using an existing platform such as Shopify or Paypal. Videos should be added with the table in action. A social media page could be set up to gain exposure. Our product could be sold on other e-commerce marketplaces to stock our product, such as Liberty Games or Amazon.


Virgin Media broadband down: Internet outage hits thousands of customers
by Joe CurtisVirgin Media broadband suffered a major outage today, leaving customers without any internet.
Even Virgin Media’s status checker, which allows users to check the level of service in their local area, was inaccessible, with the company saying it was undertaking “essential work on our systems”.
Read more: 21 UK stocks in danger from a Labour election win
Hundreds of customers complained about the issues, with 75 per cent reporting problems with their Wi-Fi and 19 per cent citing issues connecting on their mobile phones, according to Down Detector, a site that tracks outages.
Customers vented their frustration on Twitter, with Kirsten Mairi calling the situation “ridiculous”.
 Service status page down. I try calling and apparently the service is actually down ON PURPOSE for fictional ‘improvements’? No service is NOT an improvement and we received no notice of this planned outage. Absolutely unacceptable.”
Steven Alcock added: “After half an hour of hanging on to phones and waiting for Chat bots to become human I am giving up on #virginmedia. Does anyone actually work there?”
Read more: BT shares fall as Virgin ditches BT mobile for Vodafone
Virgin Media had not acknowledged the issue on its Twitter account, but replied to one user, Sue Grant: “I’m sorry to know your broadband is down and can’t check our service page as it is down as well Sue. I know how frustrating this can be on your end since you work from home and needs a reliable connection. Did rebooting makes any difference?”


ROUGH MAGIC A film review by James Berardinelli Copyright 1997 James Berardinelli
RATING (0 TO 10): 6.0 Alternative Scale: **1/2 out of ****
U.S./U.K., 1995 U.S. Release Date: 5/30/97 (limited) Running Length: 1:44 MPAA Classification: PG-13 (Violence, profanity) Theatrical Aspect Ratio: 1.85:1
Cast: Bridget Fonda, Russell Crowe, Jim Broadbent, D.W. Moffett, Paul Rodriguez, Euva Anderson, Kenneth Mars Director: Clare Peploe Producers: Declan Baldwin, Laurie Parker Screenplay: William Brookfield, Robert Mundi, and Clare Peploe based on the novel MISS SHUMWAY WAVES A WAND by James Hadley Cinematography: John J. Campbell Music: Richard Hartley U.S. Distributor: The Samuel Goldwyn Company
On one level, I appreciated ROUGH MAGIC, because it's an audacious, radical movie that is virtually impossible to classify. On another level, however, I have to admit that large portions of the film simply don't work. Pushing boundaries is fine, but ROUGH MAGIC makes a few too many mistakes in its attempts to do so. As a result, the finished product seems more like a confused mismash of conflicting genres than the smooth, seamless parody/fantasy that director Clare Peploe was undoubtedly aiming for.
ROUGH MAGIC, which takes place sometime in the early 1950s, opens as an old-fashioned noir thriller (with a tinge of satire). We meet a magician's innocent assistant, Myra Shumway (Bridget Fonda), who becomes engaged to the savvy, smarmy senator, Cliff Wyatt (D.W. Moffett). Each sees advantages in the match -- Myra wants Cliff's money and he, in turn, observes that if "I marry a beautiful, virginal orphan... my approval rating soars 17 points." Unfortunately, there's trouble when Cliff accidentally kills Myra's magician mentor (Kenneth Mars). Armed with a photograph of the senator committing the dastardly deed, Myra goes on the run in Mexico, where she encounters an eccentric quack, Dr. Ansell (Jim Broadbent), who wants her to use her magical talents to defraud an old witch-woman out of her recipe for a special tonic. Myra gets away from the doctor as soon as she can, and ends up taking a long car ride with a cynical, ruggedly handsome newspaper reporter named Alex Ross (Russell Crowe). As their journey takes them deep into Mexico, the story gradually veers into the wildly absurd.
At one point, a character in this film remarks that "the line between illusion and miracle can grow very thin." In ROUGH MAGIC, such lines have been completely obliterated. During the course of the movie, we are treated to such bizarre displays as a woman laying an egg, a man turning into a sausage, and a talking dog. Meanwhile, characters are spouting the hard-bitten dialogue of dime store novels. "I've been lookin' for you since the day I was born" and "Life's simple till ya start thinking" are a couple of memorable examples.
The real flaw in ROUGH MAGIC's approach isn't that it has so much fun playing around with our expectations, but that it tries to make a serious point about spirituality. Unfortunately, whatever that point is, it never comes across clearly (unless it's that you should always pay in full when you put gas in the car). So there's a heavy dose of the supernatural to be found in ROUGH MAGIC, but the mixture of potboiler and mystical elements can be jarring.
Part of the problem is undoubtedly Bridget Fonda, who frequently seems like a fish out of water. There's no debating that Fonda is an immensely appealing actress, and, in the right role, she can be mesmerizing. Unfortunately, the part of Myra is not the right role. To begin with, Fonda plays Myra like a '90s woman, not a product of the '50s, and her whole rhythm is wrong for anything vaguely noirish (even in such an openly weird satire). She also doesn't have a good handle on the spiritual aspect of her character. To be fair, Fonda shines in ROUGH MAGIC's opening moments and during the last thirty minutes, but it's the hour in between that's the problem. It's also interesting to note that this is the third film with similar mystical/spiritual overtones in which Fonda has appeared (the other two being LITTLE BUDDHA and TOUCH).
Meanwhile, Russell Crowe (VIRTUOSITY), gives a performance that's as passable as his American accent, but he's playing a two-dimensional hero, so depth doesn't really matter. Likewise, D.W. Moffett is adequate as the villain. Perhaps the oddest character is Dr. Ansell, because we're never sure what to make of him.  Jim Broadbent, the respected British actor, portrays Ansell just well enough that we're able to accept him as more than a writer's construct.
ROUGH MAGIC seems like a good idea that failed to make a seamless transition from the concept stage to the finished product. It's an amalgamation of ingredients that do and don't work, and the overall result left me feeling strangely ambivalent and a little dissatisfied. The film finishes strongly, but something of a bad taste lingers. So, although ROUGH MAGIC has its fair share of mysticism, it's not really all that enchanting.
- James Berardinelli e-mail<EMAIL_ADDRESS>ReelViews web site: http://www.cybernex.net/~berardin
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Posting Comments
In order to post comments to stories, you will have to
create an account.
Accounts will generally be validated within 24 hours, and of
course will be disabled if there is abuse.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Boners
Home
Make Dailyrotten your start page
|
|
|
December 15, 2002
Grade 6 class taught to snort cocaine
National Post | Submitted by: oldblue
Why can't kids learn this stuff in the street like we did?
"The parents of a Grade 6 student have pulled their daughter out of
a "Substance Use and Abuse" class at a Hamilton school after a teacher
gave a step-by-step lesson on how to snort cocaine."
|
|
Read article...
|
|
NK to deliver bitter defeat and death to US
CNN | Submitted by: SR
"Amid a row over its nuclear weapons program, North Korea's ruling party
newspaper has fired a barb at Washington, saying the country is ready to
deliver bitter defeat and death to a threatening United States."
How is this bitter defeat to be delivered? "We know at least that North
Korea has a reprocessing plant, a process that... reprocesses material into
plutonium. They already have the technical capability if they want
to have the plutonium."
|
|
Read article...
|
|
Canadian Indian chief praises Hitler in speech
StarPhoenix | Submitted by: Dbag
"A respected Saskatchewan Indian leader said Friday Hitler did the right
thing when he "fried" six million Jews during the Second World War...
 "That's how Hitler came in. He was going to make damn sure that the
Jews didn't take over Germany or Europe. That's why he fried six million
of those guys, you know. Jews would have owned the goddamned world. And
look what they're doing. They're killing people in Arab countries."
|
|
Read article...
|
|
Keeping track of John Poindexter
Wired | Submitted by: Dbag
"The head of the government's Total Information Awareness project, which
aims to root out potential terrorists by aggregating credit-card, travel,
medical, school and other records of everyone in the United States, has
himself become a target of personal data profiling. Online pranksters,
taking their lead from a San Francisco journalist, are publishing John
Poindexter's home phone number, photos of his house and other personal
information to protest the TIA program."
  The dog first bit the suspect on
the buttocks and then bit him in the crotch, severing his penis...
The suspect was rushed to a local hospital where doctors reattached
the suspect's penis."
|
|
Read article...
|
|
Profile of an anti-porn inquisitor
Cincinnati Enquirer | Submitted by: buffaloBill
This twice-divorced, thrice-married nutcase has so many problems with
his own sexuality that he wants to impose his fears and hang-ups on all of
us. "Mrs. Burress says she understands pornography's destructive power and
why her husband must abstain from any exposure to such materials. For that
reason, she will watch the adult videos and read the adult magazines, then
write summaries for her husband so he can speak to groups, lobby legislators
or persuade prosecutors."
|
|
Read article...
|
|
Patient given accidental Dilaudid OD
Rochester Democrat and Chronicle | Submitted by: Captain Prozac
"The last time Aaron Johnston talked with his younger brother, Kirk, they
discussed how happy Kirk was because he expected to leave the hospital the
next day, June 20. The day after that conversation, though, Kirk was in a
coma, the apparent victim of a medical accident that left him in need of
intensive medical care for the rest of his life. [Dilaudid in appropriate
recreational doses can be a lot of fun. --editor]
|
|
Read article...
|
|
Hollywood sues prudes
Fredericksburg Free Lance-Star | Submitted by: Dirty Sammy
"Hollywood studios have fired back at video rental stores and technology
companies that allow consumers to watch films that have been altered to
remove nudity, violence and foul language. Eight major studios, which own
the copyrights to the films, filed a lawsuit Friday in federal court in
Denver, backing legal action by movie directors who claim the editors
violate copyright laws."
|
|
Read article...
|
|
Bubba Clinton now dating Demi Moore?
News Corporation | Submitted by: Todd
In the news from down under, reports are that Demi Moore is dating
ex-prez Bill Clinton. She is attracted to "Bill's 'mature' sex appeal,
witty one liners and charming chat-up lines." Uh huh. Ex-husband
Bruce Willis has told Demi that Bill Clinton is nothing but a womanizer
and not to trust him, as if Demi is going to pay any attention.
Then the story only gets wierder, with suggestions that Bruce Willis
setting his sights on Hillary.
|
|
Read article...
|
|
Bush says to CIA: Kick some ass
BBC | Submitted by: Boat6float
"US President George W Bush has authorised the Central Intelligence
Agency to kill about a dozen terrorist leaders named on a secret list
prepared by the White House, US media has reported... The US described
the killing of the al-Qaeda members in Yemen in November as 'a very
successful tactical operation.'"
|
|
Read article...
|
|
Plague of Penguins
BBC | Submitted by: boat6float
"Thousands of penguins are being washed up dead and dying in the
Falklands... One possible cause is poisoning by a "red tide" caused by
an explosion of a type of microscopic sea plant... Red tides are caused
by dinoflagellates, a microscopic red phytoplankton which blooms under
certain conditions to dangerous levels in the water."
|
|
Read article...
|
|
Trannies win right to change birth certificates
Guardian | Submitted by: SR
"The measure, which is unlikely to become law until 2004, follows a 33
year battle by transsexuals for full legal recognition. A transsexual who
was born a man but became a woman, for example, will be entitled to
marry a man, be issued with a birth certificate stating her sex as female
and receive a state pension at age 60."
|
|
Read article...
|
|
Historian claims proof of Crucified Canadian
Ottawa Citizen | Submitted by: Jason
"This bronze sculpture, called Canada's Golgotha, reportedly depicts the
crucifixion. It was withdrawn from exhibition in 1920 after Germany demanded
proof the crucifixion had really happened... A British historian says he has
come up with new evidence that German soldiers crucified a Canadian soldier
during the First World War, impaling the sergeant on a barn door with bayonets."
|
|
Read article...
|
|
Family relations, exec style
New York Times | Submitted by: lodri
"The Family360 process starts with the executive's spouse, children
and in some cases his parents and siblings filling out a detailed
questionnaire in which they evaluate the subject both quantitatively,
scoring him from 1 to 7 on, say, how well he 'helps create enjoyable
family traditions' and 'uses a kind voice when speaking' [etc]...
The data are then analyzed by LeaderWorks, and the results are sent
to the executive in a 'growth summary' report that presents his
family's concerns in the form of bar graphs and pie charts." Sweet!
|
|
Read article...
|
|
Football fans in fracas at 30,000 feet
Guardian | Submitted by: SR
"A row over a passenger smoking erupted into an airborne riot.
The captain grew so alarmed for the safety of his plane that he issued
a Mayday distress call, prompting the RAF to scramble a search and
rescue helicopter. The Boeing 737 packed with 148 supporters of the
Glasgow side was boarded by riot police at Cardiff airport after
the pilot made an emergency diversion."
|
|
Read article...
|
|
Kindergarteners gone wild
Dayton Daily News | Submitted by: Idle Hands
"One hit a pregnant teacher, another exposed himself and another stabbed a
classmate with a pencil. They’ve all been suspended from school this year. And
they’re all kindergartners. In the first four months under new schools chief
Paul Vallas, 33 kindergartners have been suspended from Philadelphia public
schools, up from just one during the same period last year."
|
|
Read article...
|
|
|
|
|


Copyright © 2010 Marc Worrell Date: 2010-04-27
Authors: Marc Worrell (marc@worrell.nl).
| anondo/1 | |
| anondo/2 | Call a function as the anonymous user. |
| args_to_visible_for/1 | Translate "visible_for" parameter to the appropriate visibility level. |
| cache_key/1 | Return a term that can be used as the ACL part of cache key. |
| can_see/1 | Return the max visible_for the current user can see. |
| is_admin/1 | Check if the current user is the admin or a sudo action. |
| is_allowed/3 | Check if an action is allowed for the current actor. |
| logoff/1 | Log off, reset the acl field of the context. |
| logon/2 | Log the user with the id on, fill the acl field of the context. |
| rsc_deletable/2 | Check if the resource is deletable by the current user. |
| rsc_editable/2 | Check if the resource is editable by the current user. |
| rsc_prop_visible/3 | Check if a property of the resource is visible for the current user. |
| rsc_update_check/3 | Filter the properties of an update. |
| rsc_visible/2 | Check if the resource is visible for the current user. |
| set_visible_for/2 | Set the acl fields of the context for the 'visible_for' setting. |
| sudo/1 | |
| sudo/2 | Call a function with admin privileges. |
| user/1 | Return the id of the current user. |
| wm_is_authorized/2 | Convenience function, check if the current user has enough permissions, if not then redirect to the logon page. |
| wm_is_authorized/3 | |
| wm_is_authorized/4 |
anondo(Context) -> any()
anondo(F::FuncDef, Context::#context{}) -> FuncResult
Call a function as the anonymous user.
args_to_visible_for(Args::proplist()) -> 0 | 1 | 2 | 3
Translate "visible_for" parameter to the appropriate visibility level.
cache_key(Context) -> term()
Return a term that can be used as the ACL part of cache key.
can_see(Context) -> any()
Return the max visible_for the current user can see
is_admin(Context) -> any()
Check if the current user is the admin or a sudo action
is_allowed(Action, Object, Context) -> any()
Check if an action is allowed for the current actor.
logoff(Context::#context{}) -> #context{}
Log off, reset the acl field of the context
logon(Id::integer(), Context::#context{}) -> #context{}
Log the user with the id on, fill the acl field of the context
rsc_deletable(Id, Context) -> any()
Check if the resource is deletable by the current user
rsc_editable(Id, Context) -> any()
Check if the resource is editable by the current user
rsc_prop_visible(Id, Property, Context) -> any()
Check if a property of the resource is visible for the current user
rsc_update_check(Id, Props, Context) -> any()
Filter the properties of an update. This is before any escaping.
rsc_visible(Id, Context) -> any()
Check if the resource is visible for the current user
Set the acl fields of the context for the 'visible_for' setting. Used when rendering scomps.
sudo(Context) -> any()
sudo(F::FuncDef, Context::#context{}) -> FuncResult
Call a function with admin privileges.
user(Context) -> any()
Return the id of the current user.
wm_is_authorized(Allowed, Context) -> any()
Convenience function, check if the current user has enough permissions, if not then redirect to the logon page.
wm_is_authorized(ACLs, ReqData, Context) -> any()
wm_is_authorized(Action, Object, ReqData, Context) -> any()
Generated by EDoc, Apr 11 2012, 20:41:27.


{% extends "base.html"%} {% load static %} {% block title %} Gate Level Modelling {% endblock %} {% block content%}
Well, here you are finally! Done with all the basics and ready to write codes at a specific abstraction level. Welcome! You might have already had a few brief encounters with ‘Digital Gates’. After all, any introductory digital lecture starts with examples of logic gates, right? ☺ In particular, we introduced you to Digital Gates, Verilog Primitives, Gate Level Modelling. You can always go back and revise those concepts.
Still, it is our duty to cause as less burden upon you as possible. So, we will start with an informal and analogical introduction to Gate Level Modelling in Verilog, to make its purpose totally clear!
First of all, let us understand what coding in any abstraction level means. Simply said, an abstraction is a way of hiding the actual implementation, so that talented designers such as you, can write their design codes easily rather than being worried about its detailed circuit layout. The higher the abstraction level, the lower is the amount of detail revealed in the code, and vice versa.
If you programmed in any high level languages such as C, you already know that you simply work and manipulate variables. Never once was it needed to know how the computer interprets them right?
As you already might know, Verilog offers us four levels of abstraction for our design codes. Gate Level is among the lower ones. Now you might think that why not go for a higher abstraction, where the pain upon you would be less. Well, frankly this is true, as complex designs indeed use high level abstractions. But, for designing simple or beginner level hardware elements, gate level would be quite easy, even more if you have a circuit diagram in the form of gates.
In this type of modelling, you can directly plant the gates and interconnecting wires as you see in the circuit diagram. This is what we call a ‘one to one correspondence’ between the code and circuit. To make this stuff clear, imagine you are given the following circuit, and being asked for a Verilog description.
Now, you have two options: -
You may argue that the first method won’t take time. But what if the circuit is a 100 times more complex and has a wild routing of wires. Solving on your own would take time and will be highly prone to errors as well, whereas directly copying the model in the form of a Gate-Level code won’t.
We already covered Verilog Primitives. So we won’t be explaining them again here. Still, we shall provide tables for all the gates below for easy access: -
| and | 0 | 1 | x | z |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | x | x |
| x | 0 | x | x | x |
| z | 0 | x | x | x |
| or | 0 | 1 | x | z |
|---|---|---|---|---|
| 0 | 0 | 1 | x | x |
| 1 | 1 | 1 | 1 | 1 |
| x | x | 1 | x | x |
| z | x | 1 | x | x |
| xor | 0 | 1 | x | z |
|---|---|---|---|---|
| 0 | 0 | 1 | x | x |
| 1 | 1 | 0 | x | x |
| x | x | x | x | x |
| z | x | x | x | x |
| nand | 0 | 1 | x | z |
|---|---|---|---|---|
| 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 0 | x | x |
| x | 1 | x | x | x |
| z | 1 | x | x | x |
| nor | 0 | 1 | x | z |
|---|---|---|---|---|
| 0 | 1 | 0 | x | x |
| 1 | 0 | 0 | 0 | 0 |
| x | x | 0 | x | x |
| z | x | 0 | x | x |
| xnor | 0 | 1 | x | z |
|---|---|---|---|---|
| 0 | 1 | 0 | x | x |
| 1 | 0 | 1 | x | x |
| x | x | x | x | x |
| z | x | x | x | x |
| buf | in | out |
|---|---|---|
| 0 | 0 | |
| 1 | 1 | |
| x | x | |
| z | x |
| not | in | out |
|---|---|---|
| 0 | 1 | |
| 1 | 0 | |
| x | x | |
| z | x |
| bufif1 | CONTROL INPUT | ||||
|---|---|---|---|---|---|
| 0 | 1 | x | z | ||
| S I G N A L |
0 | z | 0 | L | L |
| 1 | z | 1 | H | H | |
| x | z | x | x | x | |
| z | z | x | x | x |
| bufif0 | CONTROL INPUT | ||||
|---|---|---|---|---|---|
| 0 | 1 | x | z | ||
| S I G N A L |
0 | 0 | z | L | L |
| 1 | 1 | z | H | H | |
| x | x | z | x | x | |
| z | x | z | x | x |
| notif1 | CONTROL INPUT | ||||
|---|---|---|---|---|---|
| 0 | 1 | x | z | ||
| S I G N A L |
0 | z | 1 | H | H |
| 1 | z | 0 | L | L | |
| x | z | x | x | x | |
| z | z | x | x | x |
| notif0 | CONTROL INPUT | ||||
|---|---|---|---|---|---|
| 0 | 1 | x | z | ||
| S I G N A L |
0 | 1 | z | H | H |
| 1 | 0 | z | L | L | |
| x | x | z | x | x | |
| z | x | z | x | x |
Note: -
We earlier did put you in a dilemma when we presented the circuit diagram. Now we will clearly show how to model that circuit in Gate-Level abstraction.
Workflow: -
Now, we present the solution code for this circuit, keeping in mind the above workflow: -
Verilog Primitives: - not, nand, and, xor, or
Inputs: - A, B, C
Outputs: - Y
Unique wires: - w1, w2, w3, w4, w5, w6, w7
Complete Code: -
`timescale 1ns / 1ps
module my_circuit(
input A, B, C,
output Y
);
wire w1, w2, w3, w4, w5, w6, w7;
not G1(w1, A);
G2(w3, w2);
G3(w6, w5);
nand G4(w2, B, C);
and G5(w5, w1, w4);
G6(w4, B, w2);
xor G7(w7, w4, w3);
or G8(y, w6, w7);
endmodule
Since actual hardware consists of currents and voltages carried across ports, there is definitely some delay, associated with any hardware gate. Though Verilog does not consider delays while synthesising (generating hardware circuit) the code, we may include delays in design code to get more realistic simulations.
While instantiating a gate primitive, we can specify appropriate delays. Delays are specified with a hash sign (#) followed by a value. (No need to specify units, the ‘timescale directive takes care of that)
e.g.
nand #10 G1(out, in1, in2);
Types of Delays: -
There can be three major types of delays, namely Rise, Fall and Turn-off: -
bufif1 #(8,9,10) G1(out1, out2, in1);
Note: -
As per IEEE 64 LRM standard, there are a few constraints to using these delays: -
OPTIONAL
In actual hardware circuits, the above three types of delays, may not have constant values, as there are a lot of variables involved. To take care of these issues, Verilog allows us to specify minimum, maximum, as well as typical values for any of the above delay types. In Vivado, they can be specified in Timing Constraints Wizard: -
However, unless you are working on a high level module and need to be sure of the timings, you do not need to provide such detailed delay information.
For the time being, you can avoid delays completely or just stick to rise, fall, and turnoff delays! ☺
Now we end this discussion by giving an entire solution for the earlier circuit, which includes Design Code (now with gate delays), Test Bench code, and simulation waveform as obtained in Vivado.
We strictly advise you to try these on your own first, and then look at the solution. Coding is an art, beautified only by understanding and rigorous practice.
//DESIGN CODE WITH GATE DELAYS
`timescale 1ns / 1ps
module my_circuit(
input A, B, C,
output Y
);
wire w1, w2, w3, w4, w5, w6, w7;
not #(1,2) G1(w1, A);
G2(w3, w2);
G3(w6, w5);
nand #(4,5) G4(w2, B, C);
and #(4,5) G5(w5, w1, w4);
G6(w4, B, w2);
xor #(4,5) G7(w7, w4, w3);
or #(4,5) G8(y, w6, w7);
endmodule
//TESTBENCH CODE
`timescale 1ns / 1ps
module sim_my_circuit();
reg A, B, C;
wire Y;
my_circuit test(A, B, C, Y); //Positional Association
initial
begin
A=1'bx;
B=1'bx;
C=1'bx;
#20 A=1'b0;
B=1'b0;
C=1'b0;
#20 A=1'b1;
B=1'b1;
C=1'b1;
end
initial
#100 $finish;
endmodule
Feel free to make your own testbench and analyse the waveform. This is a good way of knowing if the circuit is working as intended.


Tracking a civil appeal case
You can search for a case in the following three ways:
- By Case Number – The case number for the case needs to be 8 digits long and must be entered in the following format, without any spaces or oblique strokes: 20051234
- By Title – The title can be entered using the names of either party. For example, in the case of Smith & Co v Jones, either "Smith" or "Jones" can be entered to search
- By Date – A date of hearing can be entered in the following format DD-MMM-YY eg: 15–Jan–09, or you can click the calendar icon and choose a date from the pop–up calendar.


#import <CCAnimation.h>
|
|
CCSpriteFrame * | spriteFrame_ |
| |
|
float | delayUnits_ |
| |
|
NSDictionary * | userInfo_ |
| |
CCAnimationFrame A frame of the animation. It contains information like:
- sprite frame name
- # of delay units.
- offset
- Since
- v2.0
| - (id) initWithSpriteFrame: |
|
(CCSpriteFrame*) |
spriteFrame |
| delayUnits: |
|
(float) |
delayUnits |
| userInfo: |
|
(NSDictionary*) |
userInfo |
|
|
| |
initializes the animation frame with a spriteframe, number of delay units and a notification user info
how many units of time the frame takes
CCSpriteFrameName to be used
| - (NSDictionary*) userInfo |
|
readwritenonatomicretain |
A CCAnimationFrameDisplayedNotification notification will be broadcasted when the frame is displayed with this dictionary as UserInfo. If UserInfo is nil, then no notification will be broadcasted.
The documentation for this class was generated from the following files:
- /Users/kaneda/Dropbox/src/keigeki/keigeki/libs/cocos2d/CCAnimation.h
- /Users/kaneda/Dropbox/src/keigeki/keigeki/libs/cocos2d/CCAnimation.m


U+ |
Inscribe builds Stylus genome files from the details of a Han character recorded through . A command string determines the gene's size and shape.
The command string divides into three logical sections: Parameters affecting the entire gene, parameters affecting various groups, and parameters affecting strokes. The syntax between these sections is common; for example, scaling is specified in the same manner whether it's applied to the entire gene or to just one stroke. The overall command string is as follows:
<stroke order>:<head>:<tail>:<gene shaping>:<group shaping>:<stroke shaping>
All sections are optional. The group and stroke sections may occur multiple times (for different groups and strokes). Shaping, which sets scale and translation, for the gene, groups, and strokes all use identical syntax.
o(#[r])+
t#,#
t#,#
sx(+|-)#(%),sy(+|-)#(%),dx(+|-)#,dx(+|-)#
g#(sx(+|-)#(%),sy(+|-)#(%),dx(+|-)#,dx(+|-)#)
s#(sx(+|-)#(%),sy(+|-)#(%),dx(+|-)#,dx(+|-)#)
o3,6,7r:sx15%,sy-10%
Order strokes beginning with 3, 6, and 7 (followed by all others in natural order) reversing the direction
of stroke 7. Further expand the entire gene along the x-axis by 15% and compress it along the y-axis by 10%
g3,dy+25,sx1.5:s2,sx-15%
Offset group 3 by 25 while increasing it along the x-axis by 1.5 times. Further, reduce stroke 2 along its x-axis by 15%.


Only a tip here to create a password that you can write down and
wich is still safe. first of all, you have to be aware, that there are two types of hackers:
the ones, who want to do it for the fame and the bad guys, who want to steal your identity.
the bad guys are the ones, you have to focus on.
how can you do this?
choose a password like e.g. movietheatre.
first step: change letters for numbers. m zero v 1 3 t h 3 4 t r 3.
second step: choose some control characters like § or & and place them inside your password.
you can choose any place. e.g. m0v§13th34tr3&.
you can carry a paper with you that says movietheatre 4§end&
and nobody will ever have a clou how your rules work. you can vary the rules of course.
letters to numbers: 3=e, 1=i, 4=a, 5=s, 6=g, 8=b