| < Day Day Up > |
Hack 0 IntroductionUsers of open source (http://opensource.org) Unix operating systems are an interesting breed. They like to poke under the surface of things, to find out how things work, and to figure out new and interesting ways of accomplishing common computing tasks. In short, they like to "hack." While this book concentrates on the BSDs, many of the hacks apply to any open source operating system. Each hack is simply a demonstration of how to examine a common problem from a slightly different angle. Feel free to use any of these hacks as a springboard to your own customized solution. If your particular operating system doesn't contain the tool used in the solution, use a tool that does exist, or invent your own! This chapter provides many tools for getting the most out of your working environment. You'll learn how to make friends with your shell and how to perform your most common tasks with just a few keystrokes or mouse clicks. You'll also uncover tricks that can help prevent command-line disasters.  So, pull your chair up to your operating system of choice and let's start hacking. |
| < Day Day Up > |


Plugin note
This functionality is contained within an expression evaluator plugin. As such, it is available only when the corresponding plugin is installed.
Plugin assembly
CSF.Zpt.ExpressionEvaluators.LoadExpressions.dll
Plugin class
CSF.Zpt.ExpressionEvaluators.LoadExpressions.LoadExpressionEvaluator
Expression prefix
load:
TALES 'load' expressions
The TALES load expression is used to render another document (or a METAL macro within a document) and return the result of that rendering.
Load expressions allow TAL to perform element-replacement akin to METAL, although in a very limited manner.
Syntax
load:EXPRESSION
The content of a load:
expression is treated itself as an expression (the 'inner expression').
Any valid expression is acceptable, although it should generally evaluate to either
a ZPT document or a ZPT macro.
Behaviour
The logic for the evaluation of a load expression is as follows:
- If the inner expression evaluates to a ZPT document then that entire document will be rendered using ZPT.
- If the inner expression evaluates to a ZPT macro then that macro will be copied to a new (empty) ZPT document and rendered.
- If the inner expression cancels the action then the load expression will also cancel the action.
-
If the inner expression evaluates to
null
then the load expression will evaluate to null. - If an inner expression evaluates to anything which is not one one of the above then an error will be raised.
In both of the cases where a document is loaded and rendered, the result of that rendering (as a string) will be returned as the value of the load expression.
Rendering loaded content
Load expressions, even though they may reference METAL macros, are not METAL. Thus, a load expression may not directly fill slots, or extend a macro. When documents are rendered using a load expression, they are rendered as a 'standlone' document. The one exception to this is that the loaded document has access to all of the variables defined within the parent.
When a document or macro is loaded, the load expression evaluator defines new local TALES variables for every variable that is currently in-scope where the load attribute appeared. Thus, documents loaded via an expression may make some use of the calling document's model.
Use case for load expressions
The preferred mechanism for re-using markup from other source files is METAL. Macros, slots and macro extension should suffice in most cases.
One instance where METAL is of no use is where the content to be re-used is not known at design-time. METAL is evaluated and fully resolved before TAL processing begins.
A non-functioning example
Consider the following example; at face value it looks like it would dynamically select a METAL macro, based upon the product used for the repetition statement. However, this will not work. The use-macro attribute will be evaluated and resolved before any of the TAL attributes.

Product summary content controlled by a dynamically-selected macro.

Using a load expression
Let us revisit the intention of the example above - to insert content which is dynamically-selected based upon TAL variables. Here is where the load expression becomes useful.

Product summary content controlled by a dynamically-selected macro.

The document containing the reusable content is rendered and loaded into the variable
macroContent.
This is then paired with
a tal:replace
attribute, using the structure
keyword.


Our mission is to promote awareness about real life problems such as animal endangerment, global warming, water pollution, and more. We hope to accomplish this, by having people going to our website, watching our videos, and making a difference in the world.
We never know the worth of water until the well runs dry.
Destroying rainforest for economic gain is like burning a Renaissance painting to cook a meal.
The environment will continue to deteriorate until pollution practices are abandoned.
What is a fish without a river? What is a bird without a tree to nest in? What is an Endangered Species Act without any enforcement mechanism to ensure their habitat is protected? It is nothing.
One thing leads to the other. Deforestation leads to climate change, which leads to ecosystem losses, which negatively impacts our livelihoods - it's a vicious cycle.


This simple demo shows how services, such as an OpenSearch compliant search service, can be wrapped by the datastore API. In this demo, you can search public search engines through a simple OpenSearchStore by specifying a series of search terms (separated by spaces) to search on. The results will be displayed below the search box.
NOTE: This demo makes use of a simple PHP based proxy script. The proxy script requires cURL support in PHP. Without cURL support, the demo will throw errors.


Description
View of string.
View boolean
@x:view boolean
View Function sys:Is
| @x:func sys:Is(v~boolean)~boolean | ||
|
Semantics
The result is true if v is either "true" or "false".View Function sys:And
|
@x:func sys:And(a~boolean, |
||||
|
Semantics
The result is the boolean and of a and b.View Function sys:Or
|
@x:func sys:Or(a~boolean, |
||||
|
Semantics
The result is the boolean or of a and b.View Function sys:Xor
|
@x:func sys:Xor(a~boolean, |
||||
|
Semantics
The result is is the boolean exclusive or of a and b.View Function sys:Not
| @x:func sys:Not(a~boolean)~boolean | ||
|
Semantics
The result is is the boolean not of a.


Ofsted has today published its
local authority school improvement inspection of Medway
, carried out in March. Inspectors found the local authority’s work with weaker primary schools had not driven improvement quickly enough. And, while there were signs of improvement, pupils’ achievements, rates of progress and the proportion of schools judged good or outstanding remain in the lowest 10% of all local authorities nationally.
The inspection also found that not enough had been done to narrow the achievement gaps between disadvantaged and other pupils across primary, secondary and post-16 education. Arrangements to hold schools to account for their use of pupil premium had not secured good enough outcomes for disadvantaged pupils or those looked after.
However, the appointment of an interim assistant director for school effectiveness and inclusion in May 2014 is starting to have impact. Historical weaknesses have been tackled and more effective collaboration between successful school leaders, teaching alliances and National and Local Leaders of Education has been developed. Expertise from outside Medway is increasingly being introduced to drive improvement in weaker schools.
Commenting on the findings, Ofsted Director for the South East, Sir Robin Bosher, said:
“I welcome the recent school improvement work, which has started to show early benefits in the number of schools judged good or better in Ofsted inspections. However, much of this is too recent to see its full impact.
“I urge the council to use the information, resources and the powers they have at hand to effectively target, support and challenge schools to rapidly improve. The longer a child spends at an underperforming school the more likely their chance to fulfil their potential diminishes.
“Ofsted will continue to monitor Medway council’s arrangements for school improvement and will likely re-inspect it within the next two years.”
Ofsted also found that the local authority had not made enough use of its statutory powers to challenge weaker leadership in primary schools, nor has it tackled the unacceptable variations in students’ achievement, attendance and fixed-term exclusion rates in secondary schools. In addition, the council has not made effective representations to the Regional Schools Commissioner where it has concerns regarding academies; 16 out of the 17 secondary schools in Medway are academies.
However, the council’s early years’ work stood out as a strength. Targeted work has increased the number of children in early years achieving a good level of development, from well below average to above average. Likewise, the proportion of secondary and special schools judged good or outstanding is above that found nationally.
Areas for improvement include:
-
build leadership capacity across Medway schools, particularly in the primary sector. This includes identifying and sharing good or outstanding leadership practice with leaders in schools at risk of decline, so that they can learn from best practice and drive improvement in their schools more effectively
-
further accelerate pupils’ progress in all phases, particularly for disadvantaged pupils, and increase the proportion of good and outstanding schools
-
use data more effectively to identify weaknesses and to target direct support and challenge to areas of greatest need
-
ensure concerns about standards and leadership in academies are referred formally to the Regional Schools Commissioner, to tackle the significant variation in achievement and attendance, particularly in the secondary sector
Notes to editors
-
The
inspection letter to Medway Council is published online.
-
The inspection of local authority arrangements for supporting school improvement in England is conducted under section 136(1) (b) of the Education and Inspections Act 2006.
-
The inspection team took account of the outcomes of discussions with leaders in 7 focused school inspections and 17 telephone surveys in schools and academies carried out between 13 and 17 March. Inspectors held telephone discussions with 2 school leaders who requested to speak to them during the inspection. A range of documentation was scrutinised, including the council’s strategic plan, the strategy for school improvement, school performance data, case studies and notes of visits made by local authority school challenge and improvement leaders (SCILS).
-
The Office for Standards in Education, Children’s Services and Skills (Ofsted) regulates and inspects to achieve excellence in the care of children and young people, and in education and skills for learners of all ages. It regulates and inspects childcare and children’s social care, and inspects the Children and Family Court Advisory and Support Service (Cafcass), schools, colleges, initial teacher training, work-based learning and skills training, adult and community learning, and education and training in prisons and other secure establishments. It assesses council children’s services, and inspects services for looked after children, safeguarding and child protection.


Job Experience
Company Name
Position
From (Month/Year Started)
To (Month/Year Ended)
Job Status
Permanent
Probational
Part-Time
Applicant ID
Submit
send
Update
send


Anatomical slices for {subject}
Center slices
Axial -20%
Axial -10%
Axial +10%
Axial +20%
Coronal -20%
Coronal -10%
Coronal +10%
Coronal +20%
Sagittal -20%
Sagittal -10%
Sagittal +10%
Sagittal +20%


 Please pay attention to following items before applying services:' %}
Automation of build and test infrastructure is needed to provide efficiencies towards getting open source packages onto the Power Linux platform, and to ensure no regressions of the Power-specific enablement occurs as the community continues to enhance these packages
{% trans "As part of our continued efforts to enhance user experience, SuperVessel Cloud will be upgrading VPN server. The event will take place during a scheduled maintenance window between Wednesday 24-Jun-2015 11:00 Beijing Time and Wednesday 24-June-2015 13:00 Beijing Time. After the completion of the upgrade，users should replace VPN configuration file to the new one that you can continue to use SuperVessel services." %}


--- layout: post title: 'Introducing Sockii: HTTP and WebSocket aggregator' url: https://blog.serverdensity.com/introducing-sockii-http-and-websocket-aggregator/ source: https://blog.serverdensity.com/introducing-sockii-http-and-websocket-aggregator/ domain: blog.serverdensity.com image: http://kinlane-productions.s3.amazonaws.com/ap-evangelist-site/curated/screenshots/8183_blog_serverdensity_com.png ---
Developing the upcoming Server Density v2 over the past year has forced us to tackle some very interesting and difficult problems.This post introduces Sockii, a Node.js daemon which aggregates multiple WebSocket connections and proxies them to a single socket to the user’s browser.Server Density v2 was re-designed from the ground up as a distributed set of HTTP services, following much in the same vein as Netflix or Amazon’s Service Orientated Architecture approach.What that means is that each distinctly different moving part of the project was separated into its own service (when it made sense to do so), e.


--- layout: post title: ! '''Ruby on Rails hurts developer productivity''' categories: - praise author: admin published: true date: 2005-03-18 14:11:20.000000000 +00:00 ---
I tried to warn him, but he wouldn’t listen. Jakob Skjerning, who helped redesign rubyonrails.com and whom I worked with on Daily Rush, has been sucked into the Rails vortex:
After having gotten used to RoR for a private project or 2, all the web development stuff I do at work feels ugly, clunky and unproductive, simply because I am not using Ruby on Rails for it.
So take my advice: If you are stuck doing legacy work on a legacy system, don’t think about learning RoR – you might never want to go back to work if you do.
So let that be a warning to all of the prospect Rails programmers out there. Be careful what you get started with.
We actually have a thread on feeling dirty about not doing Rails on the mailing list right now. Rick Olson writes:
Going back to ASP.Net development makes me feel dirty. What? I have
to update the stored procedure, the model, the DAL, the form, and
create a new server control just to add a property???


Software Engineer, Researcher
Varese, Italy
<EMAIL_ADDRESS>+39 349 29 19 325
Software and lectures on Github
A printable CV (Europass format)
Engineering Manager, for multiple internal projects.
Engineering Team leader, for multiple internal projects.
Development of Nozomi's SCADAGuardian flagship software.
Analysis and Development of advanced algorithms inside Axel’s LogicLab product for applications to Industrial Automation (PLC).
Customization for specific customer requests. Close interaction with the customer’s representatives.
Interaction with the rest of the team on all aspects of software development: planning and scheduling of activities, development, debugging, and test.
Research and Development of formal methods techniques for Embedded Systems using Model Checking, SAT, SMT, BDDs, for Requirement Analysis, Safety Verification, Automated Test Generation. Developed new verification framework in C++ that has achieved from 2 to 3 orders of magnitude performance improvement on industrial-sized designs compared to legacy version.
Extension and debugging of current proprietary solution to translate and analyze MATLAB/Simulink models via model checking and simulation techniques.
Close collaboration with UTAS (United Technologies Aero-Space) engineers for the definition of customized formal verification solutions to be built on top of proprietary MATLAB/Simulink based verification solution.
Worked on real, industrial-sized models.
Close interaction with FBK (Fondazione Bruno Kessler) research center for the identification and adaption of novel verification algorithms for aero-space problems.
Research and Development of formal techniques for hardware verification via Model Checking using SAT, SMT, BDDs (sequential equivalence checking) within the tool SpyGlass, with monthly releases. Strict collaboration with the teams in San Jose (USA) and Noida (India).
Activities included but were not limited to: development and coding of new techniques to help the customer to solve specific verification and performance related tasks, debugging, validation, testing and benchmarking, study of the state-of-the-art scientific publications to mine for new ideas, writing of technical and scientific specifications, representative for Atrenta in international conferences.
Research and development of formal methods techniques for software verification using SMT. Development of tool MCMT and OpenSMT and their integration.Special effort in performance excellence over competing tools. Research in the area of Model Checking (6 publications in international conferences or journals). Teaching assistant. Research project awarded with additional monetary prize.
Research and development of formal methods techniques based on constraint solving via SMT: Main Architect and Developer of tool OpenSMT. Special effort in performance excellence over competing tools. Research in the area of constraint solving with SMT (6 publications in international conferences or journals). Teaching assistant. Assistant in supervising 3 PhD students. Collaboration in writing of research grants (SNF and European projects).
Intership at the NEC Labs of Princeton, (New Jersey, USA). Development of decision procedures and integration in the proprietary suite FSOFT.
Development of scientific software in C/C++.
Research and development of formal methods techniques based on constraint solving via SMT. 11 publications in international conferences or journals). Teaching assistant.


Show Previous Entries
Previous Entries
search:
{{item.key | date:'EEEE, MMMM d, yyyy'}}
{{event.text || save(item.key)}}
delete
{{ item.key | date:'EEEE, MMMM d, yyyy'}}
Hi! I populated today's entry with your unfinished to-dos.
×
{{event.text}}
delete


0/ Last week, the SEC delayed its decision on the VanEck/SolidX bitcoin ETF for the last time. With a final deadline set for February 27, let's discuss:
- key updates from the past few months
- how to interpret this delay
- my prediction on what the SEC will decide
Thr...


Ptolemy DE/Java Infrastructure
Ptolemy/Java Interface
The Tycho Java Editor
Main Tycho/Java Page
Ptolemy Home Page
Copyright © %Q%, The Regents of the University of California. All rights reserved.
Last updated: $Date$, comments to:
tycho@eecs.berkeley.edu


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
11/6/2018
If you ask someone in politics, they’ll probably say all elections matter. But for some, the 2018 midterm elections just feel different.
Nationally, the elections will decide which political party is in control of Congress. On a state level, Ohioans will see a new governor and fresh faces in the Statehouse and in other areas of state politics. In Athens, voters have the power to decide the fate of schools in their district and who becomes a county commissioner. Few, if any, people in politics would say those things are anything but irrelevant, however there’s still something distinct about this election.
Over the past few years, politics have become more polarized and more personal. The rise of movements like “March for Our Lives” and “#MeToo” have put social issues to the forefront of the political discussion. While some voters are concerned about the state of the economy, health care policies and immigration. To some, however, this election is about deciding the future of the country, what it values and where it will go.
Washington, D.C., is about 350 miles from Athens, and while some may think what happens in Washington doesn’t have too big of an impact on their own lives, this year’s election could have a tremendous one.
USA Today reported that this year’s election “won't just decide who takes control of the House or Senate. The midterms are seen in large part as a referendum of President Donald Trump, whose two years as president have been tainted with controversy and scandal.” Meanwhile, the Washington Post reports that this election is unlike any other in recent history.
For Ohio University Student Senate President Maddie Sloat, this election is an opportunity to halt what she sees as an unraveling of progress in the areas of civil rights and women’s issues. Sloat said her opinions as a politically involved person are separate from her work in Student Senate.
“This is a reflection of the current turmoil in our society due to social and political issues and the organizations and the internet that continue to inflame people and their attitudes.”Pete Couladis
“As a young woman who’s worked to promote civil rights and women’s issues for years now, feeling like so much of the work that our country has done to make progress in these areas has been undone in such a short time is a difficult pill to swallow,” she said. “So for me, this election is an opportunity to halt that as soon as possible, and start making change in the right direction again.”
Sloat isn’t alone in that realm of thinking. Activists on both sides of the political spectrum have poured countless hours, days, weeks and months into advocating for their beliefs. In 2016, for example, The Post reported that many students had put campaigning ahead of classes and other duties, making it their number one priority. Students now want to see the change they had anticipated come to fruition.
“While I believe that every single election matters and that every citizen should exercise their civic duty of voting every election cycle, given the current climate of our nation and the important issues at stake, this election is an incredibly important one,” Sloat, who votes in her hometown of Pittsburgh, said. “Our representatives will decide on issues that have direct consequences on the wellbeing and experiences of women, citizens of color, immigrants, people in poverty, LGBT folks and so many more in the United States, and voting this election cycle shows that we care about what happens in our own country.”
Athens County Republican Party Chair Pete Couladis feels similarly to Sloat, saying there seems to be much more at stake nationally since this election will decide which political party has control in Washington.
“This election seems to have more negative and nasty campaign ads particularly from the Congressional candidates,” Couladis said in an email. “This is a reflection of the current turmoil in our society due to social and political issues and the organizations and the internet that continue to inflame people and their attitudes.”
For some, this election goes far beyond politics and political jargon, and it could have an impact on their everyday lives.
Robin Kelby, a first-year master's student studying computer science who uses they/them pronouns, said that although they don’t have a personal story as to why the elections matters to them, many other people in their life have seen politics become personal. When their parents divorced, they said the Patient Protection and Affordable Care Act allowed their mother to receive insurance through her employer.
“Other friends must carefully follow health care laws and regulations, because changes in those laws and regulations can be the difference between getting the medication they need and the consequences of going without,” Kelby said in an email. “You may not be affected by a law now, but you or someone you care about may be affected in the future, and you should vote as if you yourself would be affected.”
Marcus Pavilonis | ILLUSTRATION
Health care is just one of the many issues at the forefront of the elections. Over the past years, Democrats and Republicans have latched onto certain issues they believe strongly in. From gun rights, immigration reform, abortion and women’s rights, and countless other issues, some say Americans are living in a time of political revolution. And that revolution has made waves in Athens, hitting even closer to home.
For example, there have been nearly 300 mass shootings in 2018, according to ABC, leading to movements like “March for Our Lives.” In March, hundreds gathered in Athens to support increased gun legislation as part of more than 800 rallies taking place.
OU College Democrats President Bailey Williams, who was a main organizer of the march in Athens, said he had organized the march because “no one is spared” from gun violence.
“You don’t have to be in D.C. to advocate for gun control,” Williams said. “Satellite protests and marches are just as important as the ones in D.C. to show how widespread the support for this movement is.”
Starting in 2017, a wave of sexual assault allegations trickled throughout the country, and this semester, that empowerment to report has been seen on campus. As of Oct. 23, there have been 21 total reports of sexual assault to the Ohio University Police Department and the Athens Police Department since Fall Semester began.
About 500 students gathered on College Green at the end of September for the “It’s on Us, Bobcats” march and rally to call for an end to sexual assault on campus and express their support for sexual assault survivors.
Regardless of the issue at hand, Athens City Council President Chris Knisely said politics affect residents’ everyday lives.
“This election and every election matters to people who live in Athens, because the candidates who are elected establish policy, and the ballot issues that may be approved affect our everyday life,” she said in an email.
With reports of everything from a blue, youth, pink, rainbow and so on wave, people are unsure about what comes next from the elections.
There appears to be a spike in early voting and turnout. In 25 states, there have been more “advance vote counts” than there were in the last midterm elections in 2014, according to the New York Times, and more than 36 million ballots were already cast as of Monday. While Ohio was not one of those states, the number of early voters in the state is catching up to 2014.
“Midterm elections are an opportunity for citizens to check the actions of the current administration. I think this election is an opportunity to remind Washington of our priorities as citizens of this country.”Maddie Sloat
Debbie Quivey, Athens County Board of Elections director, said Oct. 19 that she had not seen a spike in early voting at that time, but voting had been steady. The Athens County Board of Elections also had 45,316 people registered to vote, which was more than it saw in 2014.
On Election Day, people will file into voting booths to cast a ballot for the candidates they feel share their beliefs and interests.
“Midterm elections are an opportunity for citizens to check the actions of the current administration,” Sloat said. “I think this election is an opportunity to remind Washington of our priorities as citizens of this country.”
Landing Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


Chad Fanguy's Personal Projects
Github
Blog
Locations Visited Map
Canvas HTML5 Prototype Adventures of Sange
Short Story
Custom 3D Models
Digital Drawings
Pencil Drawings


{% extends "base.html" %} {% block title %}Gallery{%endblock%} {% block scripts%} {%endblock%} {% block body %} Explore the photo collections by countries


Last updated: 01/07/2018
Please read these Terms of Use ("Terms", "Terms of Use") carefully before using the http://ticketingsystem.org website (the "Service") operated by “®Ticketing System”. Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service.
By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service.
If you wish to use any product or service made available through the Service ("Use"), you may be asked to supply certain information relevant to your Use.
We may terminate or suspend access to our Service immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms. All provisions of the Terms which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.
Our Service allows you to post, link, store, share and otherwise make available certain information, text, graphics, videos, or other material ("Content"). You are responsible for any kind of information you enter into our system.
Our Service may contain links to third-party web sites or services that are not owned or controlled by “®Ticketing System”. The “®Ticketing System” has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that “®Ticketing System” shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such web sites or services.
We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 30 days' notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.
If you have any questions about these Terms, please contact us on: ticketingsystem@terms-of-use-support.org


Before Change
print("Load model state from checkpoints/best.pth")
model = experiment.get_model(next(iter(experiment.stages)))
model.load_state_dict(torch.load(checkpoint_path)["model_state_dict"])
print("Tracing")
traced = trace_model(model, experiment, RunnerType, method_name)
After Change
print("Load model state from checkpoints/best.pth")
model = experiment.get_model(next(iter(experiment.stages)))
checkpoint = UtilsFactory.load_checkpoint(checkpoint_path)
UtilsFactory.unpack_checkpoint(checkpoint, model=model)
print("Tracing")
traced = trace_model(model, experiment, RunnerType, method_name)


Hollowman900009-Jul-18 11:18 PM
You do realize bitmexrekt is a bot, right?
siu - Chainmakers10-Jul-18 12:01 AM
ComputerGenie is a bot
ComputerGenie10-Jul-18 12:25 AM
You do realize bitmexrekt is a bot, right?@Hollowman9000 what makes you think I didn't mean you?
Hollowman900010-Jul-18 12:56 AM
So I run bitmexrekt now?

Makes me happy as well tbh
GatewayBOT10-Jul-18 07:49 AM
[slack] <CrypToon>
Cryptoon10-Jul-18 07:49 AM
When mazda
Sending pics through slack as i dont have permissions in discord
Mylo10-Jul-18 08:27 AM
anyone done a TA on intel stock?
re: iota bug. nice one @PTYX goes to show why bitcoin is good and why kmd is great with other parts to make it even more useful!!
In a statement released Bancor, a decentralized exchange stated that a vulnerability was exploited to steal 24,984 ETH (approx $12 million), $1 million worth of NPXS and $10 million worth of BNT.
Quiz :
I have Control over you.
I can be Decentralized if I want.
I Raise more than $150M easy.
I can be Hacked easily.
I can Freeze your account.
I can Stop trading.
I will be back online soon
I am just a little ERC20.
Who I am ?
#Bancor #Crypto #cryptotrading #DexOr...
2
CryptoNinjaa10-Jul-18 10:09 AM
i checked my Eos account on the main net yesterday for the first time since there is no official wallet i have just left them. the balance screen is way confusing and at first i thought i had lost my Eos Its all split up for staking on CPU network and ram ffs not grandma friendly at all
basically i have no idea wtf i do with my Eos
there is also around 5 different tokens i have been dropped to my Eos addy already. i have no idea what they are either.
i reckon very soon you will see PPI like companies cold calling you to see weather you have ever had a btc / eth / eos funded balance and they will handle airdrop claims for you that you never knew you had.
sφldat10-Jul-18 10:15 AM
Scatter wallet is so centralized
Eos is one of the next after Bancor hack
CryptoNinjaa10-Jul-18 10:17 AM
No doubt - Its far too complex for it not to have some weakness(edited)
Another preview of the #Blocnation #App! Imagine all the possibilities at events and conferences, as well as the hospitality industry!
#dICO #decentralized #blocnationbounty #crypto #blockchain #worldsfirst #cashless #eth $KMD $BTC $BNTN
Looks pretty cool
CryptoNinjaa10-Jul-18 11:21 AM
i love how 400 bntn is worth $3.4Mill
does look like a pretty smart wallet
hyperDEX10-Jul-18 11:50 AM
Is there anyone that can help me pay someone via paypal $440?
jorian10-Jul-18 11:51 AM
use hyperD.. oh wait
hyperDEX10-Jul-18 11:53 AM
If only shapeshift allowed crypto to paypal lol
PTYX10-Jul-18 12:17 PM
That's some expensive BNTN
[TPUX] Djith Wattignies10-Jul-18 12:29 PM
Can i be allowed to post pictures too?
Seems not to work
Cryptoon10-Jul-18 01:25 PM
Cant
If you really want to post a pic post em in slack #talk-trading
Then they will appear here as well
tolken10-Jul-18 01:27 PM
kmd must really be squeezed, not falling nearly as hard as others today
Bittersweet10-Jul-18 01:41 PM
It can drop by 50%, maybe then I can rebuy some
[TPUX] Djith Wattignies10-Jul-18 01:44 PM
I want to buy 327kmd .. makes my total 500 then :p
Komodo is a blockchain that has improved upon what has come before it. In the delayed-Proof-of-Work algorithm, it has developed a novel solution to Sybil resistance. Additionally, with atomic swaps and DEX products, it has created unique use cases for its network. However, it...
this seems a fair analisys, many praises for the technology but still following the bearish market
SHossain10-Jul-18 05:11 PM
@Cryptoon i have taken this ^^ picture more than a month ago (edited)
jl777's car?
2
ComputerGenie10-Jul-18 05:13 PM
Cryptoon10-Jul-18 06:13 PM
Haha must be!
blackjok3r11-Jul-18 03:20 AM
I thought james teleported through time and space?
1
why does he need a car?

Deleted User11-Jul-18 01:46 PM
Cryptoon11-Jul-18 02:09 PM
@Lumbi more miners doesnt mean more coins mined?
it just means the coins go to the miners with most hashpower
unless they found an exploit that makes it easier to mine coins without being noticed
no clue how that would work tho
ComputerGenie11-Jul-18 02:12 PM
true, an average of ~2880 new coins per day is 2880 new coins per day if 1 person mining or 1 trillion
but I think that he was meaning that the price is depressed because miners are dumping rather than holding
jl777c11-Jul-18 02:17 PM
if we count coins on short lived forks, that is the only way having more miners creates more coins, but it is only a temporary effect
[TPUX] Djith Wattignies11-Jul-18 03:01 PM
Miners with more advanced hardware in private hands (russian private mines for example designed own hardware.. ) Some FPGA and Asics farms are at work and can sell at bottom prices with still big in profits.. not so for gaming gpu cards miners.. even those with lowest elec rates soon.

Hollowman900011-Jul-18 03:08 PM
We’re all here for moon, don’t lie
1
Ain’t happening
But that’s why we’re here
[TPUX] Djith Wattignies11-Jul-18 03:09 PM
A currency without the possibility to just print some billions because a central bank approves it.
A currency that has no debts to it.
A currency that isnt controlled by banks.
A currency peer to peer .. excluding the hand of the middle man.
ComputerGenie11-Jul-18 03:09 PM
Not one single person, ever, has traded currency based on any reason other than financial gain


$70.00
There is no shortage of online destinations for those who enjoy first-person gun-wielding combat,
but no matter how many opportunities you get to shoot another player in the face, there is always room for one more.
Especially when that one more is as exciting and intense as Battlefield: Bad Company 2.
The online multiplayer in this modern military shooter is a standout, featuring huge maps,
incredible destructibility, powerful vehicles, and excellent sound design.
These elements combine to foster the sense that you are fighting on an actual battlefield,
making many other online shooters seem more like combat arenas than believable war zones.
Multiplayer battles are invigorating and addictive, but they aren't all that Bad Company 2 has to offer.


Hello! My name is Arushi Prakash. I attended the coding bootcamp at Case Western Reserve and was trained in full stack web development. Although I have experience doing all aspects of website development, I believe my skill set is best put into use in front end development. I also am a Project Manager for a start up indie video game company called "Froo Punch Games"! Check out my Portfolio page for examples of my work, or visit my Github repository.
Photoshop, HTML, CSS, Sass, Javascript, JQuery, Node.js, Express, MySQL, Mongodb, Mongoose, Postman, Passport, Firebase, Unity, C#


/*====================================================================* * * Copyright (c) 2013 Qualcomm Atheros, Inc. * * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted (subject to the limitations * in the disclaimer below) provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * * Neither the name of Qualcomm Atheros nor the names of * its contributors may be used to endorse or promote products * derived from this software without specific prior written * permission. * * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE * GRANTED BY THIS LICENSE.  IN NO EVENT SHALL THE COPYRIGHT OWNER * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *--------------------------------------------------------------------*/ /*====================================================================* * * signed evse_cm_mnbc_sound (struct session * session, struct channel * channel, struct message * message); * * slac.h * * the GP specification recommends that the EVSE-HLE set an overall * timer once the cm_start_atten_char message is received and use it * to terminate the msound loop in case some msounds are lost; * * accept only CM_MNBC_SOUND.IND that match RunID from the earlier * CM_SLAC_PARAM.REQ and CM_START_ATTRN_CHAT.IND; * * each CM_MNBC_MSOUND.IND is accompanied by a CM_ATTEN_PROFILE.IND * but sometimes they arrive out of expected order; * * store the running total of CM_ATTEN_PROFILE.IND.AAG values in * the session variable and compute the average based on actual * number of sounds before returning; * *--------------------------------------------------------------------*/ #ifndef EVSE_CM_MNBC_SOUND_SOURCE #define EVSE_CM_MNBC_SOUND_SOURCE #include <stdio.h> #include <memory.h> #include <sys/time.h> #include "../ether/channel.h" #include "../tools/memory.h" #include "../tools/error.h" #include "../tools/flags.h" #include "../tools/timer.h" #include "../slac/slac.h" signed evse_cm_mnbc_sound (struct session * session, struct channel * channel, struct message * message) { struct timeval ts; struct timeval tc; signed timer = 100 * session->TIME_OUT; unsigned AAG [SLAC_GROUPS]; unsigned sounds = 0; ssize_t length; session->sounds = 0; memset (AAG, 0, sizeof (AAG)); memset (session->AAG, 0, sizeof (session->AAG)); if (gettimeofday (& ts, NULL) == - 1) { debug (1, __func__, CANT_START_TIMER); } while ((length = readpacket (channel, message, sizeof (* message))) >= 0) { struct homeplug * homeplug = (struct homeplug *) (message); if (! length) { } else if (ntohs (homeplug->ethernet.MTYPE) != ETH_P_HPAV) { debug (session->exit, __func__, "bad MTYPE"); } else if (homeplug->homeplug.MMV != HOMEPLUG_MMV) { debug (session->exit, __func__, "bad MMV"); } else if (LE16TOH (homeplug->homeplug.MMTYPE) == (CM_MNBC_SOUND | MMTYPE_IND)) { struct cm_mnbc_sound_indicate * indicate = (struct cm_mnbc_sound_indicate *) (message); if (! memcmp (session->RunID, indicate->MSVarField.RunID, sizeof (session->RunID))) { debug (0, __func__, "<-- CM_MNBC_SOUND.IND (%d)", sounds); #if SLAC_DEBUG if (_anyset (session->flags, SLAC_VERBOSE)) { char string [256]; debug (0, __func__, "CM_MNBC_SOUND.IND.APPLICATION_TYPE %d", indicate->APPLICATION_TYPE); debug (0, __func__, "CM_MNBC_SOUND.IND.SECURITY_TYPE %d", indicate->SECURITY_TYPE); debug (0, __func__, "CM_MNBC_SOUND.IND.MSVarField.SenderID %s", HEXSTRING (string, indicate->MSVarField.SenderID)); debug (0, __func__, "CM_MNBC_SOUND.IND.MSVarField.Count %d", indicate->MSVarField.CNT); debug (0, __func__, "CM_MNBC_SOUND.IND.MSVarField.RunID %s", HEXSTRING (string, indicate->MSVarField.RunID)); debug (0, __func__, "CM_MNBC_SOUND.IND.MSVarField.RND %s", HEXSTRING (string, indicate->MSVarField.RND)); } #endif if (memcmp (session->PEV_MAC, indicate->ethernet.OSA, sizeof (session->PEV_MAC))) { debug (session->exit, __func__, "Unexpected OSA"); } sounds++; } } else if (LE16TOH (homeplug->homeplug.MMTYPE) == (CM_ATTEN_PROFILE | MMTYPE_IND)) { struct cm_atten_profile_indicate * indicate = (struct cm_atten_profile_indicate *) (message); if (! memcmp (session->PEV_MAC, indicate->PEV_MAC, sizeof (session->PEV_MAC))) { debug (0, __func__, "<-- CM_ATTEN_PROFILE.IND (%d)", session->sounds); #if SLAC_DEBUG if (_anyset (session->flags, SLAC_VERBOSE)) { char string [256]; debug (0, __func__, "CM_ATTEN_PROFILE.PEV_MAC %s", HEXSTRING (string, indicate->PEV_MAC)); debug (0, __func__, "CM_ATTEN_PROFILE.NumGroups %d", indicate->NumGroups); debug (0, __func__, "CM_ATTEN_PROFILE.AAG %s", hexstring (string, sizeof (string), indicate->AAG, indicate->NumGroups)); } #endif for (session->NumGroups = 0; session->NumGroups < indicate->NumGroups; session->NumGroups++) { AAG [session->NumGroups] += indicate->AAG [session->NumGroups]; } session->NumGroups = indicate->NumGroups; session->sounds++; } } if (gettimeofday (& tc, NULL) == - 1) { debug (1, __func__, CANT_RESET_TIMER); } if ((MILLISECONDS (ts, tc) < timer) && (session->sounds < session->NUM_SOUNDS)) { continue; } if (session->sounds > 0) { for (session->NumGroups = 0; session->NumGroups < SLAC_GROUPS; ++ session->NumGroups) { session->AAG [session->NumGroups] = AAG [session->NumGroups] / session->sounds; } } return (0); } return (debug (session->exit, __func__, "Sound timeout")); } #endif


| PTRACE(2) | Linux Programmer's Manual | PTRACE(2) |
#include <sys/ptrace.h>
long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data);
A tracee first needs to be attached to the tracer. Attachment and subsequent commands are per thread: in a multithreaded process, every thread can be individually attached to a (potentially different) tracer, or left not attached and thus not debugged. Therefore, "tracee" always means "(one) thread", never "a (possibly multithreaded) process". Ptrace commands are always sent to a specific tracee using a call of the form
ptrace(PTRACE_foo, pid, ...)
where pid is the thread ID of the corresponding Linux thread.
(Note that in this page, a "multithreaded process" means a thread group consisting of threads created using the clone(2) CLONE_THREAD flag.)
A process can initiate a trace by calling fork(2) and having the resulting child do a PTRACE_TRACEME, followed (typically) by an execve(2). Alternatively, one process may commence tracing another process using PTRACE_ATTACH or PTRACE_SEIZE.
While being traced, the tracee will stop each time a signal is delivered, even if the signal is being ignored. (An exception is SIGKILL, which has its usual effect.) The tracer will be notified at its next call to waitpid(2) (or one of the related "wait" system calls); that call will return a status value containing information that indicates the cause of the stop in the tracee. While the tracee is stopped, the tracer can use various ptrace requests to inspect and modify the tracee. The tracer then causes the tracee to continue, optionally ignoring the delivered signal (or even delivering a different signal instead).
If the PTRACE_O_TRACEEXEC option is not in effect, all successful calls to execve(2) by the traced process will cause it to be sent a SIGTRAP signal, giving the parent a chance to gain control before the new program begins execution.
When the tracer is finished tracing, it can cause the tracee to continue executing in a normal, untraced mode via PTRACE_DETACH.
The value of request determines the action to be performed:
struct ptrace_peeksiginfo_args { u64 off; /* Ordinal position in queue at which to start copying signals */ u32 flags; /* PTRACE_PEEKSIGINFO_SHARED or 0 */ s32 nr; /* Number of signals to copy */ };
status>>8 == (SIGTRAP | (PTRACE_EVENT_CLONE<<8))
status>>8 == (SIGTRAP | (PTRACE_EVENT_EXEC<<8))
status>>8 == (SIGTRAP | (PTRACE_EVENT_EXIT<<8))
status>>8 == (SIGTRAP | (PTRACE_EVENT_FORK<<8))
status>>8 == (SIGTRAP | (PTRACE_EVENT_VFORK<<8))
status>>8 == (SIGTRAP | (PTRACE_EVENT_VFORK_DONE<<8))
status>>8 == (SIGTRAP | (PTRACE_EVENT_SECCOMP<<8))
struct ptrace_syscall_info { __u8 op; /* Type of system call stop */ __u32 arch; /* AUDIT_ARCH_* value; see seccomp(2) */ __u64 instruction_pointer; /* CPU instruction pointer */ __u64 stack_pointer; /* CPU stack pointer */ union { struct { /* op == PTRACE_SYSCALL_INFO_ENTRY */ __u64 nr; /* System call number */ __u64 args[6]; /* System call arguments */ } entry; struct { /* op == PTRACE_SYSCALL_INFO_EXIT */ __s64 rval; /* System call return value */ __u8 is_error; /* System call error flag; Boolean: does rval contain an error value (-ERRCODE) or a nonerror return value? */ } exit; struct { /* op == PTRACE_SYSCALL_INFO_SECCOMP */ __u64 nr; /* System call number */ __u64 args[6]; /* System call arguments */ __u32 ret_data; /* SECCOMP_RET_DATA portion of SECCOMP_RET_TRACE return value */ } seccomp; }; };
Note that the killing signal will first cause signal-delivery-stop (on one tracee only), and only after it is injected by the tracer (or after it was dispatched to a thread which isn't traced), will death from the signal happen on all tracees within a multithreaded process. (The term "signal-delivery-stop" is explained below.)
SIGKILL does not generate signal-delivery-stop and therefore the tracer can't suppress it. SIGKILL kills even within system calls (syscall-exit-stop is not generated prior to death by SIGKILL). The net effect is that SIGKILL always kills the process (all its threads), even if some threads of the process are ptraced.
When the tracee calls _exit(2), it reports its death to its tracer. Other threads are not affected.
When any thread executes exit_group(2), every tracee in its thread group reports its death to its tracer.
If the PTRACE_O_TRACEEXIT option is on, PTRACE_EVENT_EXIT will happen before actual death. This applies to exits via exit(2), exit_group(2), and signal deaths (except SIGKILL, depending on the kernel version; see BUGS below), and when threads are torn down on execve(2) in a multithreaded process.
The tracer cannot assume that the ptrace-stopped tracee exists. There are many scenarios when the tracee may die while stopped (such as SIGKILL). Therefore, the tracer must be prepared to handle an ESRCH error on any ptrace operation. Unfortunately, the same error is returned if the tracee exists but is not ptrace-stopped (for commands which require a stopped tracee), or if it is not traced by the process which issued the ptrace call. The tracer needs to keep track of the stopped/running state of the tracee, and interpret ESRCH as "tracee died unexpectedly" only if it knows that the tracee has been observed to enter ptrace-stop. Note that there is no guarantee that waitpid(WNOHANG) will reliably report the tracee's death status if a ptrace operation returned ESRCH. waitpid(WNOHANG) may return 0 instead. In other words, the tracee may be "not yet fully dead", but already refusing ptrace requests.
The tracer can't assume that the tracee always ends its life by reporting WIFEXITED(status) or WIFSIGNALED(status); there are cases where this does not occur. For example, if a thread other than thread group leader does an execve(2), it disappears; its PID will never be seen again, and any subsequent ptrace stops will be reported under the thread group leader's PID.
There are many kinds of states when the tracee is stopped, and in ptrace discussions they are often conflated. Therefore, it is important to use precise terms.
In this manual page, any stopped state in which the tracee is ready to accept ptrace commands from the tracer is called ptrace-stop. Ptrace-stops can be further subdivided into signal-delivery-stop, group-stop, syscall-stop, PTRACE_EVENT stops, and so on. These stopped states are described in detail below.
When the running tracee enters ptrace-stop, it notifies its tracer using waitpid(2) (or one of the other "wait" system calls). Most of this manual page assumes that the tracer waits with:
pid = waitpid(pid_or_minus_1, &status, __WALL);
Ptrace-stopped tracees are reported as returns with pid greater than 0 and WIFSTOPPED(status) true.
The __WALL flag does not include the WSTOPPED and WEXITED flags, but implies their functionality.
Setting the WCONTINUED flag when calling waitpid(2) is not recommended: the "continued" state is per-process and consuming it can confuse the real parent of the tracee.
Use of the WNOHANG flag may cause waitpid(2) to return 0 ("no wait results available yet") even if the tracer knows there should be a notification. Example:
errno = 0; ptrace(PTRACE_CONT, pid, 0L, 0L); if (errno == ESRCH) { /* tracee is dead */ r = waitpid(tracee, &status, __WALL | WNOHANG); /* r can still be 0 here! */ }
The following kinds of ptrace-stops exist: signal-delivery-stops, group-stops, PTRACE_EVENT stops, syscall-stops. They all are reported by waitpid(2) with WIFSTOPPED(status) true. They may be differentiated by examining the value status>>8, and if there is ambiguity in that value, by querying PTRACE_GETSIGINFO. (Note: the WSTOPSIG(status) macro can't be used to perform this examination, because it returns the value (status>>8) & 0xff.)
Signal-delivery-stop is observed by the tracer as waitpid(2) returning with WIFSTOPPED(status) true, with the signal returned by WSTOPSIG(status). If the signal is SIGTRAP, this may be a different kind of ptrace-stop; see the "Syscall-stops" and "execve" sections below for details. If WSTOPSIG(status) returns a stopping signal, this may be a group-stop; see below.
ptrace(PTRACE_restart, pid, 0, sig)
where PTRACE_restart is one of the restarting ptrace requests. If sig is 0, then a signal is not delivered. Otherwise, the signal sig is delivered. This operation is called signal injection in this manual page, to distinguish it from signal-delivery-stop.
The sig value may be different from the WSTOPSIG(status) value: the tracer can cause a different signal to be injected.
Note that a suppressed signal still causes system calls to return prematurely. In this case, system calls will be restarted: the tracer will observe the tracee to reexecute the interrupted system call (or restart_syscall(2) system call for a few system calls which use a different mechanism for restarting) if the tracer uses PTRACE_SYSCALL. Even system calls (such as poll(2)) which are not restartable after signal are restarted after signal is suppressed; however, kernel bugs exist which cause some system calls to fail with EINTR even though no observable signal is injected to the tracee.
Restarting ptrace commands issued in ptrace-stops other than signal-delivery-stop are not guaranteed to inject a signal, even if sig is nonzero. No error is reported; a nonzero sig may simply be ignored. Ptrace users should not try to "create a new signal" this way: use tgkill(2) instead.
The fact that signal injection requests may be ignored when restarting the tracee after ptrace stops that are not signal-delivery-stops is a cause of confusion among ptrace users. One typical scenario is that the tracer observes group-stop, mistakes it for signal-delivery-stop, restarts the tracee with
ptrace(PTRACE_restart, pid, 0, stopsig)
with the intention of injecting stopsig, but stopsig gets ignored and the tracee continues to run.
The SIGCONT signal has a side effect of waking up (all threads of) a group-stopped process. This side effect happens before signal-delivery-stop. The tracer can't suppress this side effect (it can only suppress signal injection, which only causes the SIGCONT handler to not be executed in the tracee, if such a handler is installed). In fact, waking up from group-stop may be followed by signal-delivery-stop for signal(s) other than SIGCONT, if they were pending when SIGCONT was delivered. In other words, SIGCONT may be not the first signal observed by the tracee after it was sent.
Stopping signals cause (all threads of) a process to enter group-stop. This side effect happens after signal injection, and therefore can be suppressed by the tracer.
In Linux 2.4 and earlier, the SIGSTOP signal can't be injected.
PTRACE_GETSIGINFO can be used to retrieve a siginfo_t structure which corresponds to the delivered signal. PTRACE_SETSIGINFO may be used to modify it. If PTRACE_SETSIGINFO has been used to alter siginfo_t, the si_signo field and the sig parameter in the restarting command must match, otherwise the result is undefined.
Group-stop is observed by the tracer as waitpid(2) returning with WIFSTOPPED(status) true, with the stopping signal available via WSTOPSIG(status). The same result is returned by some other classes of ptrace-stops, therefore the recommended practice is to perform the call
ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo)
The call can be avoided if the signal is not SIGSTOP, SIGTSTP, SIGTTIN, or SIGTTOU; only these four signals are stopping signals. If the tracer sees something else, it can't be a group-stop. Otherwise, the tracer needs to call PTRACE_GETSIGINFO. If PTRACE_GETSIGINFO fails with EINVAL, then it is definitely a group-stop. (Other failure codes are possible, such as ESRCH ("no such process") if a SIGKILL killed the tracee.)
If tracee was attached using PTRACE_SEIZE, group-stop is indicated by PTRACE_EVENT_STOP: status>>16 == PTRACE_EVENT_STOP. This allows detection of group-stops without requiring an extra PTRACE_GETSIGINFO call.
As of Linux 2.6.38, after the tracer sees the tracee ptrace-stop and until it restarts or kills it, the tracee will not run, and will not send notifications (except SIGKILL death) to the tracer, even if the tracer enters into another waitpid(2) call.
The kernel behavior described in the previous paragraph causes a problem with transparent handling of stopping signals. If the tracer restarts the tracee after group-stop, the stopping signal is effectively ignored—the tracee doesn't remain stopped, it runs. If the tracer doesn't restart the tracee before entering into the next waitpid(2), future SIGCONT signals will not be reported to the tracer; this would cause the SIGCONT signals to have no effect on the tracee.
Since Linux 3.4, there is a method to overcome this problem: instead of PTRACE_CONT, a PTRACE_LISTEN command can be used to restart a tracee in a way where it does not execute, but waits for a new event which it can report via waitpid(2) (such as when it is restarted by a SIGCONT).
PTRACE_EVENT stops are observed by the tracer as waitpid(2) returning with WIFSTOPPED(status), and WSTOPSIG(status) returns SIGTRAP (or for PTRACE_EVENT_STOP, returns the stopping signal if tracee is in a group-stop). An additional bit is set in the higher byte of the status word: the value status>>8 will be
((PTRACE_EVENT_foo<<8) | SIGTRAP).
The following events exist:
For all four stops described above, the stop occurs in the parent (i.e., the tracee), not in the newly created thread. PTRACE_GETEVENTMSG can be used to retrieve the new thread's ID.
PTRACE_GETSIGINFO on PTRACE_EVENT stops returns SIGTRAP in si_signo, with si_code set to (event<<8) | SIGTRAP.
However, even if the tracee was continued using PTRACE_SYSCALL, it is not guaranteed that the next stop will be a syscall-exit-stop. Other possibilities are that the tracee may stop in a PTRACE_EVENT stop (including seccomp stops), exit (if it entered _exit(2) or exit_group(2)), be killed by SIGKILL, or die silently (if it is a thread group leader, the execve(2) happened in another thread, and that thread is not traced by the same tracer; this situation is discussed later).
Syscall-enter-stop and syscall-exit-stop are observed by the tracer as waitpid(2) returning with WIFSTOPPED(status) true, and WSTOPSIG(status) giving SIGTRAP. If the PTRACE_O_TRACESYSGOOD option was set by the tracer, then WSTOPSIG(status) will give the value (SIGTRAP | 0x80).
Syscall-stops can be distinguished from signal-delivery-stop with SIGTRAP by querying PTRACE_GETSIGINFO for the following cases:
However, syscall-stops happen very often (twice per system call), and performing PTRACE_GETSIGINFO for every syscall-stop may be somewhat expensive.
Some architectures allow the cases to be distinguished by examining registers. For example, on x86, rax == -ENOSYS in syscall-enter-stop. Since SIGTRAP (like any other signal) always happens after syscall-exit-stop, and at this point rax almost never contains -ENOSYS, the SIGTRAP looks like "syscall-stop which is not syscall-enter-stop"; in other words, it looks like a "stray syscall-exit-stop" and can be detected this way. But such detection is fragile and is best avoided.
Using the PTRACE_O_TRACESYSGOOD option is the recommended method to distinguish syscall-stops from other kinds of ptrace-stops, since it is reliable and does not incur a performance penalty.
Syscall-enter-stop and syscall-exit-stop are indistinguishable from each other by the tracer. The tracer needs to keep track of the sequence of ptrace-stops in order to not misinterpret syscall-enter-stop as syscall-exit-stop or vice versa. In general, a syscall-enter-stop is always followed by syscall-exit-stop, PTRACE_EVENT stop, or the tracee's death; no other kinds of ptrace-stop can occur in between. However, note that seccomp stops (see below) can cause syscall-exit-stops, without preceding syscall-entry-stops. If seccomp is in use, care needs to be taken not to misinterpret such stops as syscall-entry-stops.
If after syscall-enter-stop, the tracer uses a restarting command other than PTRACE_SYSCALL, syscall-exit-stop is not generated.
PTRACE_GETSIGINFO on syscall-stops returns SIGTRAP in si_signo, with si_code set to SIGTRAP or (SIGTRAP|0x80).
A PTRACE_EVENT_SECCOMP stop occurs whenever a SECCOMP_RET_TRACE rule is triggered. This is independent of which methods was used to restart the system call. Notably, seccomp still runs even if the tracee was restarted using PTRACE_SYSEMU and this system call is unconditionally skipped.
Restarts from this stop will behave as if the stop had occurred right before the system call in question. In particular, both PTRACE_SYSCALL and PTRACE_SYSEMU will normally cause a subsequent syscall-entry-stop. However, if after the PTRACE_EVENT_SECCOMP the system call number is negative, both the syscall-entry-stop and the system call itself will be skipped. This means that if the system call number is negative after a PTRACE_EVENT_SECCOMP and the tracee is restarted using PTRACE_SYSCALL, the next observed stop will be a syscall-exit-stop, rather than the syscall-entry-stop that might have been expected.
Functionally, a PTRACE_EVENT_SECCOMP stop functions comparably to a syscall-entry-stop (i.e., continuations using PTRACE_SYSCALL will cause syscall-exit-stops, the system call number may be changed and any other modified registers are visible to the to-be-executed system call as well). Note that there may be, but need not have been a preceding syscall-entry-stop.
After a PTRACE_EVENT_SECCOMP stop, seccomp will be rerun, with a SECCOMP_RET_TRACE rule now functioning the same as a SECCOMP_RET_ALLOW. Specifically, this means that if registers are not modified during the PTRACE_EVENT_SECCOMP stop, the system call will then be allowed.
When the tracee is in ptrace-stop, the tracer can read and write data to the tracee using informational commands. These commands leave the tracee in ptrace-stopped state:
ptrace(PTRACE_PEEKTEXT/PEEKDATA/PEEKUSER, pid, addr, 0); ptrace(PTRACE_POKETEXT/POKEDATA/POKEUSER, pid, addr, long_val); ptrace(PTRACE_GETREGS/GETFPREGS, pid, 0, &struct); ptrace(PTRACE_SETREGS/SETFPREGS, pid, 0, &struct); ptrace(PTRACE_GETREGSET, pid, NT_foo, &iov); ptrace(PTRACE_SETREGSET, pid, NT_foo, &iov); ptrace(PTRACE_GETSIGINFO, pid, 0, &siginfo); ptrace(PTRACE_SETSIGINFO, pid, 0, &siginfo); ptrace(PTRACE_GETEVENTMSG, pid, 0, &long_var); ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags);
Note that some errors are not reported. For example, setting signal information (siginfo) may have no effect in some ptrace-stops, yet the call may succeed (return 0 and not set errno); querying PTRACE_GETEVENTMSG may succeed and return some random value if current ptrace-stop is not documented as returning a meaningful event message.
The call
ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_flags);
affects one tracee. The tracee's current flags are replaced. Flags are inherited by new tracees created and "auto-attached" via active PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK, or PTRACE_O_TRACECLONE options.
Another group of commands makes the ptrace-stopped tracee run. They have the form:
ptrace(cmd, pid, 0, sig);
where cmd is PTRACE_CONT, PTRACE_LISTEN, PTRACE_DETACH, PTRACE_SYSCALL, PTRACE_SINGLESTEP, PTRACE_SYSEMU, or PTRACE_SYSEMU_SINGLESTEP. If the tracee is in signal-delivery-stop, sig is the signal to be injected (if it is nonzero). Otherwise, sig may be ignored. (When restarting a tracee from a ptrace-stop other than signal-delivery-stop, recommended practice is to always pass 0 in sig.)
ptrace(PTRACE_ATTACH, pid, 0, 0);
or
ptrace(PTRACE_SEIZE, pid, 0, PTRACE_O_flags);
PTRACE_ATTACH sends SIGSTOP to this thread. If the tracer wants this SIGSTOP to have no effect, it needs to suppress it. Note that if other signals are concurrently sent to this thread during attach, the tracer may see the tracee enter signal-delivery-stop with other signal(s) first! The usual practice is to reinject these signals until SIGSTOP is seen, then suppress SIGSTOP injection. The design bug here is that a ptrace attach and a concurrently delivered SIGSTOP may race and the concurrent SIGSTOP may be lost.
Since attaching sends SIGSTOP and the tracer usually suppresses it, this may cause a stray EINTR return from the currently executing system call in the tracee, as described in the "Signal injection and suppression" section.
Since Linux 3.4, PTRACE_SEIZE can be used instead of PTRACE_ATTACH. PTRACE_SEIZE does not stop the attached process. If you need to stop it after attach (or at any other time) without sending it any signals, use PTRACE_INTERRUPT command.
The request
ptrace(PTRACE_TRACEME, 0, 0, 0);
turns the calling thread into a tracee. The thread continues to run (doesn't enter ptrace-stop). A common practice is to follow the PTRACE_TRACEME with
raise(SIGSTOP);
and allow the parent (which is our tracer now) to observe our signal-delivery-stop.
If the PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK, or PTRACE_O_TRACECLONE options are in effect, then children created by, respectively, vfork(2) or clone(2) with the CLONE_VFORK flag, fork(2) or clone(2) with the exit signal set to SIGCHLD, and other kinds of clone(2), are automatically attached to the same tracer which traced their parent. SIGSTOP is delivered to the children, causing them to enter signal-delivery-stop after they exit the system call which created them.
Detaching of the tracee is performed by:
ptrace(PTRACE_DETACH, pid, 0, sig);
PTRACE_DETACH is a restarting operation; therefore it requires the tracee to be in ptrace-stop. If the tracee is in signal-delivery-stop, a signal can be injected. Otherwise, the sig parameter may be silently ignored.
If the tracee is running when the tracer wants to detach it, the usual solution is to send SIGSTOP (using tgkill(2), to make sure it goes to the correct thread), wait for the tracee to stop in signal-delivery-stop for SIGSTOP and then detach it (suppressing SIGSTOP injection). A design bug is that this can race with concurrent SIGSTOPs. Another complication is that the tracee may enter other ptrace-stops and needs to be restarted and waited for again, until SIGSTOP is seen. Yet another complication is to be sure that the tracee is not already ptrace-stopped, because no signal delivery happens while it is—not even SIGSTOP.
If the tracer dies, all tracees are automatically detached and restarted, unless they were in group-stop. Handling of restart from group-stop is currently buggy, but the "as planned" behavior is to leave tracee stopped and waiting for SIGCONT. If the tracee is restarted from signal-delivery-stop, the pending signal is injected.
All of the above effects are the artifacts of the thread ID change in the tracee.
The PTRACE_O_TRACEEXEC option is the recommended tool for dealing with this situation. First, it enables PTRACE_EVENT_EXEC stop, which occurs before execve(2) returns. In this stop, the tracer can use PTRACE_GETEVENTMSG to retrieve the tracee's former thread ID. (This feature was introduced in Linux 3.0.) Second, the PTRACE_O_TRACEEXEC option disables legacy SIGTRAP generation on execve(2).
When the tracer receives PTRACE_EVENT_EXEC stop notification, it is guaranteed that except this tracee and the thread group leader, no other threads from the process are alive.
On receiving the PTRACE_EVENT_EXEC stop notification, the tracer should clean up all its internal data structures describing the threads of this process, and retain only one data structure—one which describes the single still running tracee, with
thread ID == thread group ID == process ID.
Example: two threads call execve(2) at the same time:
*** we get syscall-enter-stop in thread 1: ** PID1 execve("/bin/foo", "foo" <unfinished ...> *** we issue PTRACE_SYSCALL for thread 1 ** *** we get syscall-enter-stop in thread 2: ** PID2 execve("/bin/bar", "bar" <unfinished ...> *** we issue PTRACE_SYSCALL for thread 2 ** *** we get PTRACE_EVENT_EXEC for PID0, we issue PTRACE_SYSCALL ** *** we get syscall-exit-stop for PID0: ** PID0 <... execve resumed> ) = 0
If the PTRACE_O_TRACEEXEC option is not in effect for the execing tracee, and if the tracee was PTRACE_ATTACHed rather that PTRACE_SEIZEd, the kernel delivers an extra SIGTRAP to the tracee after execve(2) returns. This is an ordinary signal (similar to one which can be generated by kill -TRAP), not a special kind of ptrace-stop. Employing PTRACE_GETSIGINFO for this signal returns si_code set to 0 (SI_USER). This signal may be blocked by signal mask, and thus may be delivered (much) later.
Usually, the tracer (for example, strace(1)) would not want to show this extra post-execve SIGTRAP signal to the user, and would suppress its delivery to the tracee (if SIGTRAP is set to SIG_DFL, it is a killing signal). However, determining which SIGTRAP to suppress is not easy. Setting the PTRACE_O_TRACEEXEC option or using PTRACE_SEIZE and thus suppressing this extra SIGTRAP is the recommended approach.
Many of these bugs have been fixed, but as of Linux 2.6.38 several still exist; see BUGS below.
As of Linux 2.6.38, the following is believed to work correctly:
On error, all requests return -1, and errno is set appropriately. Since the value returned by a successful PTRACE_PEEK* request may be -1, the caller must clear errno before the call, and then check it afterward to determine whether or not an error occurred.
In Linux kernels before 2.6.26, init(1), the process with PID 1, may not be traced.
A tracees parent continues to be the tracer even if that tracer calls execve(2).
The layout of the contents of memory and the USER area are quite operating-system- and architecture-specific. The offset supplied, and the data returned, might not entirely match with the definition of struct user.
The size of a "word" is determined by the operating-system variant (e.g., for 32-bit Linux it is 32 bits).
This page documents the way the ptrace() call works currently in Linux. Its behavior differs significantly on other flavors of UNIX. In any case, use of ptrace() is highly specific to the operating system and architecture.
Prior to Linux 2.6.27, all access checks were of a single type. Since Linux 2.6.27, two access mode levels are distinguished:
Since Linux 4.5, the above access mode checks are combined (ORed) with one of the following modifiers:
Because combining one of the credential modifiers with one of the aforementioned access modes is typical, some macros are defined in the kernel sources for the combinations:
One further modifier can be ORed with the access mode:
Note that all of the PTRACE_MODE_* constants described in this subsection are kernel-internal, and not visible to user space. The constant names are mentioned here in order to label the various kinds of ptrace access mode checks that are performed for various system calls and accesses to various pseudofiles (e.g., under /proc). These names are used in other manual pages to provide a simple shorthand for labeling the different kernel checks.
The algorithm employed for ptrace access mode checking determines whether the calling process is allowed to perform the corresponding action on the target process. (In the case of opening /proc/[pid] files, the "calling process" is the one opening the file, and the process with the corresponding PID is the "target process".) The algorithm is as follows:
More precisely, the Yama LSM limits two types of operations:
A process that has the CAP_SYS_PTRACE capability can update the /proc/sys/kernel/yama/ptrace_scope file with one of the following values:
With respect to values 1 and 2, note that creating a new user namespace effectively removes the protection offered by Yama. This is because a process in the parent user namespace whose effective UID matches the UID of the creator of a child namespace has all capabilities (including CAP_SYS_PTRACE) when performing operations within the child user namespace (and further-removed descendants of that namespace). Consequently, when a process tries to use user namespaces to sandbox itself, it inadvertently weakens the protections offered by the Yama LSM.
Group-stop notifications are sent to the tracer, but not to real parent. Last confirmed on <IP_ADDRESS>.
If a thread group leader is traced and exits by calling _exit(2), a PTRACE_EVENT_EXIT stop will happen for it (if requested), but the subsequent WIFEXITED notification will not be delivered until all other threads exit. As explained above, if one of other threads calls execve(2), the death of the thread group leader will never be reported. If the execed thread is not traced by this tracer, the tracer will never know that execve(2) happened. One possible workaround is to PTRACE_DETACH the thread group leader instead of restarting it in this case. Last confirmed on <IP_ADDRESS>.
A SIGKILL signal may still cause a PTRACE_EVENT_EXIT stop before actual signal death. This may be changed in the future; SIGKILL is meant to always immediately kill tasks even under ptrace. Last confirmed on Linux 3.13.
Some system calls return with EINTR if a signal was sent to a tracee, but delivery was suppressed by the tracer. (This is very typical operation: it is usually done by debuggers on every attach, in order to not introduce a bogus SIGSTOP). As of Linux 3.2.9, the following system calls are affected (this list is likely incomplete): epoll_wait(2), and read(2) from an inotify(7) file descriptor. The usual symptom of this bug is that when you attach to a quiescent process with the command
strace -p <process-ID>
then, instead of the usual and expected one-line output such as
restart_syscall(<... resuming interrupted call ...>_
or
select(6, [5], NULL, [5], NULL_
('_' denotes the cursor position), you observe more than one line. For example:
clock_gettime(CLOCK_MONOTONIC, {15370, 690928118}) = 0 epoll_wait(4,_
What is not visible here is that the process was blocked in epoll_wait(2) before strace(1) has attached to it. Attaching caused epoll_wait(2) to return to user space with the error EINTR. In this particular case, the program reacted to EINTR by checking the current time, and then executing epoll_wait(2) again. (Programs which do not expect such "stray" EINTR errors may behave in an unintended way upon an strace(1) attach.)
Contrary to the normal rules, the glibc wrapper for ptrace() can set errno to zero.
| 2020-02-09 | Linux |


The Common Components Library provides a number of components, styles, and application configuration options. By assembling the components as we need, loading some base styles, and tweaking some configuration settings, we can build pages with headers, sidebars, footers, and content areas easily and with a high degree of flexibility. Additionally, the base styles provided by common-components give us all the styles we need for common HTML elements in order to ensure that they match our style guide standards. Finally, by utilizing the pre-built layouts included in the Quick Start app and a number of configuration options, we can easily set the orientation and style of layout for each page. In a nutshell, by taking care of layouts and base styles for us, we can focus our development efforts on page content, knowing that everything else is already handled for us.
In order to better understand how layouts work within the WUF framework, we recommend reading each of the following sections and following their instructions to ensure your application is correctly set up with the layouts and base styles it needs.


On 23 August 2019, 13 new articles were published in 10 journals.
Sexual Victimization Against Transgender Women in Prison: Consent and Coercion in Context
Erving Goffman’s View of “Deviance”: “Self” and “Society” As the Sources of Deviancy and Conformity
Poisonous Connections: A Case Study on A Czech Counterfeit Alcohol Distribution Network
Common Law in An Uncommon Courtroom, Eva N. S. Ng (2018)
Note: although this article was published on 12 July 2019, the publisher only added it to the journal RSS feed on 23 August 2019, which is why it is shown in the list of articles for that date.
Note: although this article was published on 12 July 2019, the publisher only added it to the journal RSS feed on 23 August 2019, which is why it is shown in the list of articles for that date.
The Effect of Speaker Sampling in Likelihood Ratio Based Forensic Voice Comparison
Thinking About Victimization: Context and Consequences
A Four-Phase Process For Translating Research Into Police Practice
Markets, Regulation and Drug Law Reform: Towards A Constitutive Approach
Ethnic Politics and Political Violence in Post-2001 Afghanistan: the 2014 Presidential Election
Connectedness As A Protective Factor of Sexual Victimization Among University Students
War on Drugs, War on Women: Visualizing Female Homicide in Mexico


Lenna
Lenna or Lena is the name given to a standard test image widely used in the field of image processing since 1973.[1] It is a picture of Lena Soderberg, shot by photographer Dwight Hooker, cropped from the centerfold of the November 1972 issue of Playboy magazine.


I am interested in the generalization and optimisation of Deep learning solvers for Linear inverse problems in imaging.
I am currently a fourth-year PhD student in the Electronics & Electrical Engineering Department, University College London, supervised by Professor Miguel R. D. Rodrigues. Before this, I was a lecturer in CIIT, Pakistan. I obtained my MS and BS from the National University of Science and Technology, Pakistan in 2012 and 2009 respectively
Abstract: Inverse problems abound in a number of domains such as medical imaging, remote sensing, and many more, relying on the use of advanced signal & image processing approaches – such as sparsity-driven techniques – to determine their solution. This paper instead studies the use of deep learning approaches to approximate the solution of inverse problems. In particular, the paper provides a new generalization bound, depending on key quantity associated with a deep neural network – its Jacobian matrix – that also leads to a number of computationally efficient regularization strategies applicable to inverse problems The paper also tests the proposed regularization strategies in a number of inverse problems including image super-resolution ones. Our numerical results conducted on various datasets show that both fully connected and convolutional neural networks regularized using the regularization or proxy regularization strategies originating from our theory exhibit much better performance than deep networks regularized with standard approaches such as weight-decay.
LinkAbstract:This paper analyses the generalization behaviour of a deep neural networks with a focus on their use in inverse problems. In particular, by leveraging the robustness framework by Xu and Mannor, we provide deep neural network based regression generalization bounds that are also specialized to sparse approximation problems. The proposed bounds show that the sparse approximation performance of deep neural networks can be potentially superior to that of classical sparse reconstruction algorithms, with reconstruction errors limited only by the noise level independently of the underlying data.
Link


BBMP Health Survey Form
Please enter your address and contact details.
Flat number
Address Line 1
Address Line 2
City
Zip
Phone number
Please provide atleast one of your family member's valid phone.
WhatsApp number
Please enter the details of your family members.
Name
Age
Gender
Male
Female
Other
Phone number
WhatsApp number
Please check the diseases/health conditions that you are suffering from
Pregnant Woman
Diabetes
Hypertension
Tuberculosis
Cancer
Dialysis
Stroke
HIV Positive
Organ Transplant
Do you have any other diseases?
Yes
No
Enter any other health issue if you answered yes.
Add family member
Remove family member
Please enter the details of your household helps.
Name
Phone number
Address
Add household help
Remove household help
Submit


“Each dream you leave behind is a part of your future that will no longer exist.”
<EMAIL_ADDRESS>55 (69) 99341-2882