text:
A fall parking permit or a $4.00 daily fee is required during the month of January.
Per credit unit $233.00*
*Unless otherwise indicated
Late registration fee $25.00
Returned check $25.00
Parking Permit or $4.00/day
Fees and schedules subject to change.
CAMPUS FACILITY HOURS (hours subject to change)
Jan 3 - Jan 20
Mon - Thurs 8:00am - 7:30pm
Fri 8:00am - 2:00pm
Sat 10:00am - 2:00pm
Closed January 14 & 16
Jan 3 - Jan 20
Mon - Thurs 8:00am - 7:00pm
Fri 8:00am - 5:00pm
Sat 11:00am - 3:00pm
Closed January 14 & 16
Privacy Information
The University complies with Federal and State laws concerning privacy rights of students. These rights are summarized in the University Catalog. Questions about
privacy rights may be directed to the Dean of Extended Education at (310) 243-3737 or the Vice President for Student Affairs at (310) 243-3784.
Use of Social Security Number
Students are required to provide the University with their correct social security numbers (individual taxpayer identification numbers) pursuant to the authority
contained in Section 41201, Title 5, California Code of Regulations, and Section 6109 of the Internal Revenue Code. The University uses the social security number
to identify records pertaining to the student and, if needed, to collect debts owed the University. Also, the Internal Revenue Service requires the University to file
information returns that include the student's social security number and other information such as the amount paid for qualified tuition, related expenses, and
interest on educational loans. That information is used to help determine whether a student, or a person claiming a student as a dependent, may take a credit or deduction to reduce federal income taxes. Students who do not have a social security number at the time of enrollment will be required to obtain a social security number and submit it to the University within sixty days. Failure to furnish
a correct social security number may result in the imposition of a penalty by the Internal Revenue Service.
Important Tax Credit Information If you are enrolled in an eligible degree or certificate program or are taking courses to acquire or improve job skills, you may qualify for a Hope Scholarship or Lifetime Learning Tax Credit.
The Hope Scholarship tax credit is available only to students in their first two years of postsecondary education who are enrolled at least half-time in an eligible
program. The tax credits are based on the amount of qualified tuition and fees, less grants and other tax-free educational assistance and the taxpayer's modified
adjusted gross income. Hope credits apply to fees paid after December 31, 1997. The Lifetime Learning Tax Credit is available to students at all educational and
enrollment levels who are enrolled at an eligible educational institution. As with the Hope Scholarship tax credit, this opportunity is based on the amount of
qualified tuition and fees, less grants and other tax-free educational assistance and the taxpayer's modified adjusted gross income. The Lifetime Learning credit
applies to fees paid after June 30, 1998. Consult IRS Publication 970 or your tax preparer for additional information on both programs.
Disabled Student Services
Students with verified disabilities, which are permanent or temporary (e.g., broken bones, strained back, other sprains, etc.) are eligible for a variety of support
services from the Disabled Student Services Office. Information regarding special facilities and services available to students with a disability may be obtained from the Director of Disabled student Services Office, located in the Student Health Center, Room A-106, (310) 243-3660 (voice) or 243-2028 (TDD). Section 504 of the Rehabilitation Act of 1973 California State University, Dominguez Hills is an equal opportunity/affirmative action institution. As a unit of the university, the Division of Extended Education does not
discriminate on the basis of race, color, religion, national origin, gender, sexual preference, age, disability or veteran status. This policy is applicable to employment
and student admission, and to all educational programs and activities.
Winter Session Registration Information
Monday - Thursday: 8am-8pm
Friday: 8am-5pm
Saturday: 8am-1:30pm
Campus is closed on Martin Luther King Holiday, Jan 16
No classes will meet on that day.
You are eligible to attend Winter Session if you:
a) Are a high school graduate or 18 years or
older or
b) Are a student at CSUDH or other collegiate
institution or
c) Have met course prerequisites or
d) Are a teacher holding credentials valid for
teaching in California
When selecting courses, you are advised to refer to the course descriptions for prerequisites or special qualifications which may be required for certain courses. In some instances, permission to enroll in a course must be obtained from the instructor. You are not required to file transcripts or formal admission to Winter Session.
There are four ways to register:
Mail-in Registration
Mail-in registration begins October 31, 2011 and ends December 22, 2010. The completed registration form must be accompanied by complete fee payment –check, money order or Mastercard,Visa or Discover account number and expiration date. No cash, please.
Walk-in Registration
Walk-in registration in EE 1100 begins October 31, 2011 and ends December 22, 2010. You may walk in for late registration January 3, 4, and 5, 2012. Fees must be paid at the time of registration. It is important to note that the Extended Education Registration Office will be closed from December 23, 2011 through January 2, 2012. The Registration Office will resume regular office hours on January 3, 2012.
Telephone Registration
Telephone registration is available October 31 - December 22, 2010 only with Mastercard, Visa or Discover from 8am-8pm Monday-Thursday, 8am-5pm Friday and from 8am-1:30pm on Saturday. Call (310) 243-3741.
All students who have previously taken a class at Dominguez Hills can register October 31, 2011 - January 2, 2011 via my.csudh.edu. Fees MUST be paid at the time of registration. After adding a course, be sure to click on "Account Inquiry" first, then go to the "Make a Payment" page, select "Winter 2011" and pay with VISA, MasterCard, or Discover.
Late Registration
Late registration for Winter Session is permitted January 3, 4, and 5, 2012 only. It requires the approval of the instructor or program coordinator. A $25.00 late fee is charged.
The maximum number of credit units which may be earned without department approval is 4 credit units.
Classes may be added on January 3, 4 and 5, 2012. You must obtain the signature of your instructor on an add/drop form.
Students may drop/withdraw without academic penalty until the end of the first week of the session. Students may withdraw with a "W" at any time prior to the last four days of class with the instructor's and the dean's signatures. Students may only withdraw during the last four days of class for serious and compelling reasons. Late withdrawals are permitted only in cases of
documented accident or serious illness where the cause of withdrawal is due to circumstances clearly beyond the student's control and where the assignment of an Incomplete is not practical. The effective date of withdrawal is the date the forms are received by the College of Extended and International Education. Nonattendance in a class, notifying the instructor or stopping payment on a check does not officially constitute withdrawal from a course.
Refunds are based on the date a student officially withdraws from a class and are calculated as follows: Prior to January 3, 2012, the refund will be the total fee paid, less $10 administrative costs. On the first three days of the session (January 3, 4, & 5, 2012), the
refund will be the total fee paid, less the fee for one unit. On the 6th and 7th of January, the refund will be the total fee paid, less the fee for one unit, and less 65% of the remaining course fee. After January 7th, there will be no refunds.
Please check my.csudh.edu for your grades beginning 72 hours after the course end date.
Courses may be cancelled if there are not enough students enrolled. If a course is cancelled, a full refund will be automatically processed. Please allow six to eight weeks for processing.


text:
Let us know when your receive great advice so we can thank our lawyers and point others with similar questions in the right direction.Got it!
In the IRS publication "IRS Processing Codes and Information" for 2013, (Document 6209, available online from the IRS website) in "Section 2 - Tax Returns and Forms" there in a table listing all the returns and forms from the IRS (pg. 25). In this table each return and form has a Tax Class listed with a code numbered 0-9 for each class. The Tax Class numbers identify the type of return or form used. These Tax Class numbers are explained in "Section 4 - Document Locator Number" under their "2 DLN Composition" (pg. 61-62). For W2's, W4's, and 1099's the tax classes are listed as "5", but 1040's are listed as tax class "2".The tax class "5" is identified as "Information Return Processing (IRP), Estate and Gift Tax", but tax class "2" is identified as "Individual Income Tax, Fiduciary Income Tax, Partnership return". Note: I ask that you verify the information I've presented before responding to my question. Document 6209 is available online from the IRS website. According to the IRS's own handbook for processing returns have I been reporting estate and gift tax information (W2 and 1099) erroneously as income on my IRS 1040's? Addendum 9-30-2013: I ask this question in order to determine my legal obligation to report "taxable income" correctly as it relates to the income reported on a W2 or 1099 form so I would not risk perjury when I sign an IRS 1040 return.
The document you refer to is for Official (IRS) use only. The codes listed in the document are not intended to create obligations on taxpayers to report information on certain returns. W-2 forms are forms used by employers to report wages and taxes withheld to the IRS and other taxing authorities. The wages reported thereon are clearly income and have nothing to do with Estate or Gift taxes. Information on 1099's usually relate to possible taxable income. Estate and Gift tax returns report gifts made during lifetime and inheritances and other property transferred as a result of someone's death. If you receive a gift from someone, it is not income for income tax purposes the donor, not you, is responsible for filing a gift tax return if one is due and paying any tax if the gift generates a tax. As far as estate tax is concerned the executor or administrator of the estate is usually responsible for filing any estate tax return that might be required. An estate, including life insurance, would usually have to be worth in excess of $5 million dollars for and estate tax return to be required. There are other situations where an estate tax return may be advisable. If you are worried about whether you are reporting all of the income required on your tax return you should discuss that with a tax attorney or with a highly qualified CPAAsk a similar question
Thank you Atty. Wagner for responding to my question. Let me start by stating that I will pay all taxes that I am liable for. I have no intent of evasion nor am I attempting to negate any authority of any taxing body. My inquirey is only to determine my liability. I accept that I may not understand how the IRS calculates what portion of income may be taxed and how incomes may be classified as taxable by the IRS which is why I'm further confused by their publication. I do recognize that the document refers to internal IRS procedures that I am not expected to perform. But, this publication is offered to the public by the IRS to understand how the IRS determine by their procedures tax liability. Although the information may not be "intended to create obligations on taxpayers" the knowledge that the IRS procedures separate these forms (W2 and 1099) from the defined Tax Class of the 1040 return does put into question the "income" reported on the W2 and 1099 forms applicability towards what the IRS defines as "taxable income", the terms "income" and "taxable income" not being equivalent or interchangeable. The term "Tax Class" does separate the tax schedule of incomes as is indicated by the division, for example, of the Tax Class 2 for "Individual Income Tax, Fiduciary Income Tax, Partnership return" as opposed to the Tax Class 5 for "Information Return Processing (IRP), Estate and Gift Tax". This appears to be a clear division of assigned tax liability recognized within the IRS. If the Individual Income Tax, the Fiduciary Tax, and the Partnership return are assigned by the IRS a different Tax Class from the Information Return Process, the Estate Tax, and the Gift Tax, they can not be equivalent in tax class or be seen as conveying the same tax liability. It is the IRS that assigned a Tax Class to the W2 and 1099 then equates them to estate and gift taxes while the 1040 form has a different Tax Class that equates it to an income tax. The question in its simple form; An apple is not a billiard ball, why must I treat them as the same thing?
Rest assured, wages reported on a W-2 form are taxable income and not gift or inheritance. Payments reported on 1099's are usually income of some sort that may or may not be taxable according to the instructions and codes printed on the 1099 form itself. For instance, the 1099-INT has a box for non-taxable interest which is income that is not taxable. If you are preparing you own tax returns, follow the instructions to the best of your ability that come with Form 1040 and with whatever 1099's you get. If you are still not sure have your return prepared by a well qualified CPA or Tax Attorney
Agreed that W-2 form wages are not gift or inheritance and that the 1099 form can include non-taxable incomes, there is no dispute. But as shown there can also be no dispute that the W-2 and 1099 forms are of the same Tax Class as the Estate and Gift Tax as per the IRS, and this Tax Class is not the same one as assigned to the 1040 form and "income tax" as per the IRS. Each information form describes a class of liability associated with a tax that has an unequal liability. Still we have apples and billiard balls.
I stand by my previous answer.
You then leave apple and billard balls as they are. I've made no claim that W-2 reported incomes are untaxable, only that they have a different IRS assigned Tax Class that you've been unable to refute.
Its not a question of apples and billiard balls. Any codes that the irs assigns to forms or paperwork can't change the laws passed by Congress (the internal Revenue Code). I am simply suggesting that you should ignore codes that have no meaning or relevance to you.
If you present me with an open door I will cross that threshold. Until now we were only discussing the internal processes of the IRS and how they classify the information they collect and we've remained on topic. You've introduced issues outside of that discussion. I can and will respond only if you agree to continue from your last response. If not we can leave it where it was.
I've offered Atty. Wagner sufficient opportunity to continue off topic if he wishes but it appears that he has declined. Very well, in this discussion we'll not stray off topic. Had his comment been directed to some documentation, Code, or law that opposed issues of the topic, not generalized, we may have been able to continue with that discussion. I will agree with Atty. Wagner that everyone should be aware, as well as cautioned, that there are issues outside the topic discussed that should be considered before filing their taxes. My position remains that the IRS has assigned a distinctly different Tax Class to the W-2 form and 1099 form than it has assigned the Tax Class of the 1040 forms, and that each Tax Class has a different tax liability. My opinion appears to be confirmed by the IRS Document 6209, "IRS Processing Codes and Information" for 2013, in its "List of Returns and Forms" on page 25 and its definition of Tax Class on page 61. In addition, Atty. Wagner has been unable to disprove my position or refute my opinion. For Atty. Wagner's position and opinion you may reread the previous or he may state it for himself. Atty. Wagner is welcome to rejoin this discussion. His participation has been very helpful and much appreciated.
Your question is far too complex to answer in this simple online forum. You should consult with a tax accountant or CPA.Ask a similar question
Thank you Atty. Goldstein for responding to my question. You may be right, a tax accountant or a CPA may be able to help.
I hope my answer was helpful.
I have always found responses to my questions, yours in particular, to be helpful. I still await an answer from an attorney to this question. If I can determine my legal obligation to report "taxable income" correctly as it relates to the income reported on a W2 or 1099 form I would not risk perjury when I sign an IRS 1040 return. You've made it clear that you can't provide a competent answer to the question I pose here and I accept that.
I agree with attorney Goldstein. You question is too specific for this Q & A forum. Talk to a tax attorney or a CPA.Ask a similar question
Thank you Atty. Kulerski for responding to my question. I had hoped that a tax attorney on Avvo would answer. And yes, a CPA may be able to help.
Post a free question on our public forum.Ask a Question
- or -
Search for lawyers by reviews and ratings.Find a Lawyer

subset: commoncrawl


text:
RESOLVE: The New Year's Weight Loss Challenge
New Life Chiropractic Maximized Living Health Center
Saturday, February 23, 2013 from 11:00 AM to 1:00 PM (CST)
Who's Going
San Francisco, California
London, United Kingdom
Florence, Italy
Event Details
Join thousands of people across the globe as we lose the crash diets, gym binges and guilt that fuel the New Year's Resolution, and replace them with a practical, deprivation-free nutrition plan, an exercise program that fits into your busy schedule and a level-headed approach to developing real health that lasts all year. A cycle can't be vicious if it's broken, and that's what we plan to do.
Here's to weight loss, lasting results and the last New Year's resolution you'll ever make. Here's toResolve.
· Unlock the real key to weight loss: hormones.
· Get in amazing shape in only 12 minutes a day.
· Bust the "weight loss diet" myths with a practical results-driven nutrition plan.
· Join the 20 in 30 Weight Loss Challenge.
When & Where
Cumberland Church
415 Franklin Road
Saturday, February 23, 2013 from 11:00 AM to 1:00 PM (CST)
Add to my calendar
New Life Chiropractic Maximized Living Health Center
Dr. Dionne is a Maximized Living physician and chiropractor. She is certified as Team Chiropractor for the Olympic Governing Body for the US Freestyle and Greco-Roman Wrestling Teams, USA Weightlifting Team, and the USA Judo Team. Dionne Y. Kellogg, DC, has been serving the Middle Tennessee area since December 2007.
"I don't cure or even treat disease – the patient's body heals itself from the inside out because we remove interference. Chiropractors adjust the spine, God does the healing." - Dr. Dionne Kellogg


text:
Rush Hour. [/b][/quote]Originally posted by vegimite on toast+Jun 28 2005, 08:26 PM-->

QUOTE (vegimite on toast @ Jun 28 2005, 08:26 PM)


text:
The Shakespeare Conference: SHK 10.1770 Wednesday, 20 October 1999.
Date: Tuesday, 19 Oct 1999 13:55:05 -0000
Subject: Long Wharf Theatre Production of Much Ado
Surely I'm not the only SHAKSPER member in or near the Greater New Haven
area? I'd love to hear others' takes on the current production there.
The concept sets Much Ado in a fictional Harlem Renaissance, where the
music and the clothing of the mid-late 20's has appeared in 1918 as the
boys come home from war.
And obviously there is a virtually all Black cast.
Many things worked well for me; many other things did not.
The biggest flaw for me was the lack of modulation; essentially every
speech by every player (except as noted below) was at full-throat. What
got lost was the soft, perhaps even sappy nature of both Ben. and Bea.
that they are struggling so valiantly to mask with wit and caustic
remarks. I never believed in them, as I most certainly DID believe in
Hero and Claudio. They were the high point to me... the pain w/ which
Claudio both attacks and longs for Hero in the wedding denouncement
scene was among the most convincingly poignant variations on that theme
I've seen. They had the range of volume AND emotion that I look for in
a well-done play.
LOVED the set; the Art Deco was grandly carried off. Costumes were
okay; I liked the subtle touch that the fancy dresses had mini-hip-hoops
to hint at Elizabethan costuming.
But for the most part, though I admired elements, I did not come away
convinced by the whole.
I'm not much of a reviewer; I'd love to hear from those of you who saw
the production and can more effectively write about it.
Marilyn B.


text:
Get a jump-start on your child's science education with this exciting and colorful activity book! My World
engages young children in a variety of hands-on activities and experiments that introduces them to physical science and the workings of their world!
Me is a fun and exciting activity book that truly
engages young children in educational experiences. Its flexible
structure of lessons and activities introduces valuable concepts
about the human body and is comprised of 18 lessons, 27 worksheets,
and 100+ stickers!
Me is a $25 value for only
Order today for free shipping inside the continental US!
Sample Lesson: My
Body is a sample lesson which illustrates many of the creative
teaching methods used in About Me and My World.This additional
lesson which is not found in About Me introduces concepts
that will be further explored in the book and can also be used
to reinforce those lessons.
it today with your child!
Our Time to Learn series is devoted to
caretakers maximize the quality of
they have with their young children by
and explaining everyday scientific
with ease and enjoyment.
a lifetime of learning with
Time to Learn!
"I'm blown away by how well Our Time to Learn teaches science concepts that are typically saved until elementary school...It is a truly unique resource, unlike anything I've seen."
-Anna Geiger, author of "The Measured Mom"
Time to Learn: "About Me" was a huge hit at our
house for both the kids and me...the crafts in the book
arent merely for the sake of doing them; they help your child
visualize a concept. Plus, there are no hard-to-find materials.
The 27 printables included in the book are not your typical
worksheet; they are top notch. Im blown away by how well
Our Time to Learn teaches science concepts that are typically
saved until elementary school...It is a truly unique resource,
unlike anything Ive seen.
-Anna Geiger, author of "The Measured Mom"
(see her full review of About Me
at http://www.themeasuredmom.com/all-about-me-activities/)
I really appreciated the open and go aspect of this book.
The activities are well thought out with a supplies list of
everyday items and regular craft supplies. Plus step by step
directions including full color photos... the lessons build
on each other so children can learn how all the parts of the
body are interconnected. A fun book of games, crafts, worksheets,
and activities!
-Samantha Soper-Caetano, author of Stir the Wonder
(see her full review of About Me
at http://www.stirthewonder.com/science-activity-book-review-giveaway/)
We have had "About Me" in our house for about a week now.
I am not exaggerating when I say it is the first thing my
5-year-old daughter asks me about every day, and she wants
to return to it several times a day. She loves the activities,
the stickers, and the one-on-one time this book provides for
us. I love how brilliant it is in its simplicity. The concepts
are easy for children to grasp, and rarely does a lesson require
enough advanced preparation or materials to prohibit us from
doing it right away! We are already eagerly anticipating your
next installment. Thank You!!
--Emily Ricks, American Fork, UT
I love the range of About Me. I use it as part of the structure
of my preschoolers homeschool curriculum. But it could also
be a resource to tap into for rainy days, afterschool enrichment,
or bored Saturdays. The learning ideas are creative and inventive,
while the instructions and materials are simple and unintimidating.
It guides your discovery together in a satisfying way. I look
forward to the next installment!
-- Lori Freitas Houghton, Waite Park, MN
"I love this book! "About Me" contains eighteen lessons
designed to teach preschool-aged children all about themselves
with fun, easy, and engaging activities. These activities
involve the children in lively, active, hands-on discovery
using simple experiments, making crafts with materials easily
found in the home or gathered, and incorporating quality children's
literature and music. Supplemental materials are especially
helpful; a craft supplies list for the entire book at the
beginning makes the crafts easily manageable, and colorful
worksheets and stickers at the end provide fun learning experiences
for preschoolers.This book is unique in its approach to preschool
learning, incorporating all types of typical brick-and-mortar
preschool activities into every lesson. This multi-faceted
approach makes About Me an ideal addition to any homeschool
library, or for anyone who would like to engage their preschoolers
in active, fun learning. I am eagerly awaiting the next book
in the series!"
--Alison Giauque, South Jordan, UT
"What a great workbook! Everything you could think of to teach
your preschooler and even kids older than that. As a teacher,
I was impressed by the depth of the material but yet the easy
language in which it is written. The projects are fun, attainable
for even little ones, and don't require a bunch of obscure
supplies to accomplish. I am a homeschooling mom of 3, and
this book is just the thing to add to round out our curriculum.
Would recommend this to anyone with small children!"
--Michelle Casey, Little Falls, MN
"It has quickly become a favorite part of my 2 little
ones day. My three-year-old son and my six-year-old daughter
both beg to do it each day! We have been working through the
lessons slowly because my kids want to do EVERY activity that
is included in the book. So we usually spend a little time
each day on the various projects. Something else I have absolutely
loved is that it is teaching science in a gentle way to my
young ones. It is not all just fun, but has some wonderful
teaching in it, too! And, the work is all done for me. I dont
have to plan the lessons, just open & go."
--Karyn Tripp, Pleasant Grove, UT


text:
EHX Introduces Battalion Preamp and DI for Bass
Electro-Harmonix has introduced the Battalion preamp and DI for bass.
Watch Guns N' Roses Cover 'Black Hole Sun'
Over the weekend, Guns N' Roses kicked off the latest leg of their Not in This Lifetime Tour in Slane, Ireland.
Two New Songs from Ritchie Blackmore's Rainbow
Rainbow have premiered some new music. Sort of.
Robert Cray to Appear in Live Streamed Interview
We've teamed up with the folks at BackStory Events to present a special, live-streamed interview with Robert Cray and Steve Jordan on Thursday, June 8, 2017 at 5:30pm EST, live from The Cutting...
Hear Chuck Berry's New Song, "Lady B. Goode"
"Lady B. Goode," a rocking new song by the late Chuck Berry, was posted to the guitar legend's official Vevo page yesterday.
Coverdale: Feeling Bad for Jimmy Page
Venerable vocalist David Coverdale—he of Whitesnake, Deep Purple and Coverdale/Page fame—recently discussed Jimmy Page—and the guitarist's ongoing inability to reunite Led Zeppelin.
Ibanez RGA Iron Label RGAIX6U and RGAIX7U Demo
A video demo showcasing Ibanez's new RGA Iron Label RGAIX6U and RGAIX7U "made for metal" guitars.
Paul Riario Stars in a Music Video
Guitar World's Paul Riario sits in with recording artist Laura Clapp as they perform her original song, "Thanks to You," using Blue SL Series microphones.
Mr. Big: Paul Gilbert Talks 'Defying Gravity'
I recently spoke with Gilbert about Defying Gravity (which will be released July 7), gear and the upcoming G4 Experience.
Temple of the Dog Cover Zeppelin and Sabbath
Temple of the Dog—a supergroup that featured members of Pearl Jam and Soundgarden (including Chris Cornell)—enjoyed a successful 25th anniversary tour late last year.
Lissie: Five Things We Just Learned
Singer-songwriter Lissie is the subject of Ernie Ball's latest episode of String Theory, a web series exploring the sonic origins of some of music's most influential and innovative guitar players.
Rare: Hear Stevie Ray Vaughan Rehearse with David Bowie
In January 1983, David Bowie invited Stevie Ray Vaughan to record guitar for six new tracks he'd written for his upcoming release, Let's Dance.
The Top 10 Guitar Harmonies of All Time
The gang (or person) over at Blend Guitar has compiled a new video list—"The Top 10 Guitar Harmonies of All Time"—and we think it's worth a look.


text:
Irony that Kafka Statue Faces Prague City Government Building
(p. 10) Prague is sprinkled with provocative pieces by Mr. Cerny -- a sculpture of a urinating man (directly in front of the Franz Kafka Museum), a statue of the Czech patron saint King Wenceslas sitting on an upside down dead horse.
His most recent installation in Prague is a sculpture of Kafka's head, set behind the Tesco department store in the center of town. The 36-foot-high head is made up of 42 moving chrome-plated layers, which move both in synchronicity and in opposing directions.
Mr. Cerny's original idea was a fountain featuring three figures: a robot, referencing the Czech-language writer Karel Capek, who coined the term; a Golem, representing the Yiddish language; and Kafka's beetle, referring to the German language. "I wanted to remind people that Prague was once a city of three languages," Mr. Cerny said.
Unfortunately, city water regulations prevented him from placing a fountain there, so instead he came up with the huge reflecting Kafka head, which is based on similar work of his on display in Charlotte, N.C., called "Metalmorphosis."
"I loved the irony that this sculpture faces a city government building in Prague," he said. "Imagine you're angry because the clerks are doing nothing, only saying for you to go to another office and then another office and another until finally you hear, 'This office is closed.' And then you walk out of the building, and there's the huge head of Kafka looking at you, reminding you of the irony."
For the full story, see:
DAVID FARLEY. "Footsteps; Prague; On the Trail of Kafka's Legacy." The New York Times, Travel Section (Sun., DEC. 27, 2015): 10.
(Note: ellipses, and bracketed dates, added.)
(Note: the online version of the story has the date DEC. 22, 2015, and has the title "Footsteps; On the Trail of Kafka in Prague.")


text:
Main content
The polco tool enumerates extreme rays of polyhedral cones. It can also be used to enumerate vertices of polytopes, and for the dual problem, the enumeration of facets given the extreme points (aka convex hull). The Java tool currently supports two multi-core implementations of the double description method: standard and born/die (for details, see [1], [2] and background section).
For the computation of elementary flux modes (EFMs) – basic biochemical operation modes in metabolic networks – you might also want to consider the specialized efmtool instead.
The current version is 4.7.1 (4-Dec-2009) (JAR, 2.8 MB).
Source code: 4.7.1 (4-Dec-2009) (JAR, 2 MB) and on GitHub (TODO)
Redistribution and use in source and binary forms, with or without
modification, are permitted provided agreeing to the Simplified BSD Style License.
- License (TXT, 2 KB)
- Read about Simplified BSD Style License at http://www.opensource.org
- Terzer M (2009) Large scale methods to enumerate extreme rays and elementary modes. ETH PhD Thesis. ETH e-collection, Book at Lulu: B/W, Color
- Terzer M, Stelling J (2010) Parallel Extreme Ray and Pathway Computation. Parallel Processing and Applied Mathematics, Part Ii. pp. 300-309. http://doi.org/10.1007/978-3-642-14403-5_32.
- Terzer M, Stelling J (2008) Large-scale computation of elementary flux modes with bit pattern trees. Bioinformatics 24: 2229-2235. http://doi.org/10.1093/bioinformatics/btn401.
- Terzer M, Stelling J (2006) Accelerating the computation of elementary modes using pattern trees. Algorithms in Bioinformatics, Proceedings. pp. 333-343. http://doi.org/10.1007/11851561_31.
- Download the polco.jar (JAR, 2.8 MB) Java archive. It also contains all necessary library classes.
- A Java VM (version 5 or newer) is required on your system.
- For HDF5 support, also download the appropriate hdf-java binary (.dll or .so file)
Documentation & Sources
See documentation


text:
Fred Cohen
Invited Paper, IFIP-TC11, 'Computers and Security', V7#2
April 1988
In this paper, we describe much of the previous and present work on computer viruses. We begin with a short history and bibliographic summary. We then describe some of the major issues that arise in the study of computer viruses and their protection ramifications. We describe most of the lines of research presently under way and some of their features and failings. We introduce a method by which certain classes of systems may be used in such a manner as to provide limited protection from computer viruses, and by which general purpose experiments in new protection mechanisms may be explored. Finally, we point out some of the social issues implied by viruses and the ramifications of our present social policies on the integrity of information residing in information systems.
A "computer virus" [1] is a program that can "infect" other programs by modifying them to include a possibly evolved version of itself. With this infection property, a virus can spread to the transitive closure of information flow, corrupting the integrity of information as it spreads [1]. Given the widespread use of sharing in current computer systems, the threat of a virus causing widespread integrity corruption is significant [2,3].
A considerable amount of early work was done on protection policies to prevent from the illicit dissemination of information [4,5], and several systems have been implemented to provide protection from this sort of attack [6-9], but little work was done on protecting the integrity of information except in very limited domains [10,11]. With the advent of computer viruses [1], this situation has changed dramatically, with over 20 journal and conference papers appearing in the last 3 years [12-32], and several conferences on viruses held every year.
It is critical to understand that viruses are not programs that exploit errors or omissions in the implementation of operating systems. They are in every sense of the word, normal user programs, using only the normal sorts of operations that every user of computers uses every day. It has been proven that in any system that allows information to be shared, interpreted, and retransmitted once received, a virus can spread throughout the system [13]. The only hope for perfect prevention lies in limiting these functions, but these functions are exactly the reason that computers are so very useful in the world today. We cannot reasonably expect that these functions will be abandoned on any broad scale, and thus we must resign ourselves to the fact that the situation is and always will be one of survival of the fittest.
Earlier work on related topics included the Xerox worm program [33] which demonstrated the ability to propagate through a network. The worm accidentally caused denial of services in an isolated instance, apparently due to a bit error. The game of "core wars" [34] was invented to allow programs to "do battle" with each other. Other variations on this theme have been reported by many unpublished authors. The term virus has also been used in conjunction with an augmentation to APL in which the author places a call at the beginning of each user defined APL function to invoke a preprocessor which augments the default APL interpreter [35]. The major difference between earlier efforts and our research is that a computer virus performs "infection". With this infection property, many major issues arise, most notably:
As an analogy to a computer virus, consider a biological disease that is 100% infectious, spreads whenever animals communicate, kills all infected animals instantly at a given moment, and has no detectable side effect until that moment. If a delay of even one week were used between the introduction of the disease and its effect, it would be very likely to leave only a few people in remote villages alive, and would certainly wipe out the vast majority of modern society. If a computer virus of this type spread throughout the computers of the world, it would likely stop most computer usage for a significant period of time, and wreak havoc on modern government, financial, business, and academic institutions.
The potential threat of a widespread protection problem has been examined [36], and the potential damage to government, financial, business, and academic institutions is extreme. In addition, these institutions tend to use ad-hoc protection mechanisms in response to specific threats rather than sound theoretical techniques [37]. Older military protection systems depend to a large degree on isolationism, but newer systems allow 'multilevel' usage, in which users of various levels of trustworthiness simultaneously coexist and communicate within a single system [38]. In most of these systems, the user with the lowest security clearance is the greatest threat from the standpoint of viral attack, because higher security level users can run programs written at the lowest security level, and thus get infected.
Several experimental and real world viral attacks have been carried out. We feel compelled to report those which have been substantiated by multiple trustworthy sources or which have been experimentally verified in the course of our research.
To demonstrate the feasibility of viral attack and the degree to which it is a threat, we performed several experiments. In each case, experiments were performed with the knowledge and consent of systems administrators. Implementation flaws were meticulously avoided because it was critical that these experiments not be based on implementation lapses, but rather on the fundamental nature of computer use.
Experiments have been performed on a variety of systems to demonstrate feasibility and determine the ease of implementing a virus on many systems. The following table summarizes the results of some representative experiments to date. The systems and languages are across the horizontal axis (Unix in C, Bell-LaPadula, Instrumentation, Unix shell, VMS command language, Basic, IBM PCnet, and PC under the DOS command language). The vertical axis indicates measures of performance (time to write the program, infection time, number of lines of code, number of experiments performed, minimum time to takeover, average time to takeover, and maximum time to takeover) where time to takeover indicates that all rights would be granted to the attacker within that delay from introducing the virus. N/A entries in the table indicate cases where results are either not applicable or not available. Most of these experiments have been confirmed by many researchers world wide.
| Unix-C| B-L | Instr |Unix-sh| VMS | Basic | PCNet |PC-DOS | ----------------------------------------------------------------- Write(h)| 8 | 18 | N/A | .25 | .5 | 4 | 8 | 4 | ----------------------------------------------------------------- Inf(sec)| .5 | 20 | N/A | <1 | <1 | 10 | 0.5 | 2 | ----------------------------------------------------------------- Code(l) | 200 | 260 | N/A | 1 | 9 | 100 | 100 | 25 | ----------------------------------------------------------------- Trials | 5 | N/A | N/A | N/A | N/A | N/A | 1 | <100 | ----------------------------------------------------------------- Min t | 5 min | N/A |30 sec | N/A | N/A | N/A |30 sec | 2 sec | ----------------------------------------------------------------- Avg t |30 min | N/A |30 min | N/A | N/A | N/A |30 sec | 2 sec | ----------------------------------------------------------------- Max t |60 min | N/A |48 hrs | N/A | N/A | N/A |30 sec | 2 sec | -----------------------------------------------------------------
Many attacks have also been reported in the "real world". Many attacks are well documented, but the vast majority of those found to date are very simplistic and perform damage in a very obvious and rapid fashion. Perhaps the two most damaging viruses that have been detected to date involved a use delay between infection and damage.
One of those was apparently started at Lehigh University in the fall of 1987. In this PC based virus, an infected operating system disk causes itself to be replicated into the operating system of other disks it comes in contact with. After 4 replications, it destroys the file system. This virus infected several hundred computers and caused hundreds of systems to lose all of the data on their disks before it was detected. Several hundred more were infected before a defense was designed. Consider now the ramifications of a trivial change to this virus which waits till 40 infections before performing damage. Certainly tens of thousands of computers worldwide would become damaged. We are not certain, nor can we ever be certain, that this virus isn't being stored on a backup disk somewhere by an uninformed user. It can of course reappear again and again.
Another very damaging virus was launched against the Amiga computer. In this case, the virus managed to get into the legitimate distribution system of Commodore, and was spread in programs sold legitimately by the company. Many businesses have had their records and programs destroyed by this virus, which they paid for along with a legitimate piece of software. Commodore apparently gets one or more reports per week of this virus, and apparently has no defense against it at this time.
On the very widely used "Compuserve" network, a virus was apparently planted to infect the initialization files of the Apple MacIntosh. This virus was designed to put an advertisement on the screen on a particular date and then delete itself. It was noticed by a programmer browsing through their system initialization files, and the perpetrator was kicked off of Compuserve "for ever". Compuserve has countered by providing a public domain program that constantly runs in the background checking for modifications to system init files, and asks the user if these are desired. This defense takes computer time, disk space, and in the end doesn't really prevent viruses from corrupting other files. It also introduces substantial overhead for the user who has to answer technical questions about operational procedures in order to be able to use the system, and may interfere with other programs that are already operational on the system.
Similar attacks have been reported at the University of Maryland, the University of Pittsburgh, the Hebrew University, and several other universities. In light of the history of nondisclosure from the private sector, we can expect that these university attacks are reminiscent of the situation in the industrial community.
We don't want to leave the impression that only the weak and unprotected users of personal computers have been attacked in this fashion. In fact, there is no question that several large computer companies have been successfully attacked, and that viruses have been spread throughout their timesharing systems, even where the most stringent protection is provided. The experimental demonstrations above showed that viruses spread throughout systems with Bell-LaPadula based protection where the user with the least privilege is the most dangerous from the standpoint of viral attack. RACF, ACF2, MULTICS, and most of the large list of other mainframe based protection systems are all extremely vulnerable.
In Germany, the employees of a company were about to go on strike, and one of them decided to leave a virus in the mainframe computer. As the strike pressed on, the computer slowed to a halt. Backups were used to restore the system, and it again ground to a halt. In the end, several weeks worth of work had to be abandoned in order to get back to a state where the system operated. Again, a virus of this sort could be made to delay for months or years, and cause catastrophic losses which backup tapes would not be able to prevent.
The Christmas chain letter that rifled through thousands of IBM mainframes in their worldwide network several months ago wass apparently not a virus. It replicated, but appears not to have infected any other programs along its way. Clearly it could have performed infection, and if it would have done so, it would have created worldwide disaster for the worlds largest computer company. In fact, these systems do not have any protection from the same sort of attack happening again, nor do they prevent the use of infection in such an attack.
Several of the major computer companies have reported successful attacks to the media, and according to less reliable sources, many of the computer system in silicon valley have been infected by pranksters and more serious attackers. In one case, some experimenters created an evolutionary virus which escaped into both Hewlett-Packard's and Apple Computer's internal systems. Experiments have demonstrated viruses on DEC's and Unisys's computers.
What we cannot fail to see that every major US computer manufacturer has sustained attacks, and that most of them have publicly stated that these attacks have succeeded and that there is no known defense at this time.
In general, we can limit information flow so as to form a POset of communicating information domains in a network or system [18,19,21,22]. In such a system, we can guarantee that a virus will spread only to those domains which are in the transitive flow path from its initial source [18]. The POset policy has advantages over the Bell-LaPadula [4] policy, the Biba [11] policy, and the lattice policy [5], in that it is more general than these, and encompasses properties of information networks as well as single processors. We have demonstrated methods by which collusions of multiple attackers can be limited in their damage [18], administrative methods by which such a network can be properly managed [18], methods for implementing distributed administration and management of such systems [19], a physical device for implementing these systems with provable implementation of policies [22], and have implemented an actual system which has these properties [21].
In a system with unlimited information paths, limited transitivity may have an effect if users don't use all available paths, but since there is always a direct path between any two users, there is always the possibility of infection. As an example, in a system with transitivity limited to a distance of 1 it is 'safe' to share information with any user you 'trust' without having to worry about whether that user has incorrectly trusted another user [1]. We have generalized this principle to arbitrary subsets of users and to arbitrary sequences of user actions [13]. In general, this problem becomes as complex as precise maintenance of information flow which has been proven NP-complete [5].
Although isolationism and limited transitivity offer solutions to the infection problem, they are not ideal in the sense that widespread sharing is generally considered a valuable tool in computing. Of these policies, only isolationism can be precisely implemented in practice because tracing exact information flow requires NP-complete time, and maintaining records of the flow requires large amounts of space [5]. This leaves us with imprecise techniques. The problem with imprecise techniques is that they tend to move systems towards isolationism because they use conservative estimates in order to prevent potential damage. When information has been unjustly deemed unreadable by a given user, the system becomes less usable for that user. This is a form of denial of services in that access to information that should be accessible is denied. Such a system always tends to make itself less and less usable for sharing until it either becomes completely isolationist or reaches a stability point where all estimates are precise. If such a stability point existed, we would have a precise system for that stability point. Since we know that any precise stability point besides isolationism requires the solution to an NP-complete problem, we know that any non NP-complete solution must tend towards isolationism [1,13].
We have shown that detection of a virus is undecidable [1,13], as is the detection of evolutions of viruses from known viruses. A very interesting result of the undecidability issue is that, in an environment where general purpose evolutionary mechanisms are used for the generation of both viruses and viral detection and correction systems, a situation analogous to the biological situation of survival of the fittest could result.
A biological analogy to computer viruses seems most appropriate in this case. The concept of following the biological lines of prevention, detection, and cure has been pursued to a small degree [13,30], but no significant progress has yet been made towards a systematic defense under this model.
Cure of viruses has been examined in some depth, and appears to present little hope in the general sense. The undecidability issues make the detection of a virus very hard. In addition, the tail chasing problem indicates that the cure of viruses can only be performed while services are denied [1]. This is similar to illness in biological systems. Finally, viruses stored on backups are rarely available during the cure's application, so reinfection after a cure is quite likely. In effect, the backup provides a media for the hibernation of the virus.
As an alternative to system wide defensive techniques against viruses, the survival of the fittest analogy provides an interesting means for self defense by individual programs. Rather than have every programmer design an independent self defense mechanism, we can imagine that a compiler might generate defenses automatically for programs compiled with it. A typical self defense involves detection and correction of internal errors [40]. The problems with this sort of defense are many and varied, and in general it does not prevent viral attack. The advantage of such a system is that it is easily implementable in a very short period of time, and that it makes the complexity of writing an undetected and uncorrected virus very high [23,27].
A recent result shows that we can systematically cause the complexity of undetected attack against programs and their data files to be made very large by the use of an evolutionary cryptographic checksumming technique [13,23,27]. We have prototyped a technique for providing protection in systems with no built-in protection mechanisms, and have successfully demonstrated its use in detecting viral attack. Source code for a software self defense program is included in the appendices of this paper.
Default protection mechanisms on most systems are poorly maintained by systems administrators. By simply setting the default protection to files so that other users cannot execute them, viruses are prevented from spreading between users except through programs that are specifically enabled for shared use. One important reason this is helpful is that it limits the ways in which viruses can spread, and makes the tracking of their progress and potential determination of their source much easier.
The use of user defined access controls can also aide this protection to a significant degree. Rather than limiting the allowable access to a large group of people, individual permission for other users to use programs reduces the potential spread. Although this does not prevent viral attack, it makes implementation of viruses less trivial.
User awareness is a critical aspect of protection. If users are aware of the threats against them, they may be better prepared to protect themselves. As an example, every time a file is modified, the operating system could notify the user of the change. This would make the user more aware of strange side effects of programs, and will allow the detection of many attacks by the user being attacked.
Perhaps the simplest modification to the operating system to this end is to output a message to the user's terminal every time a file is opened. This does not take a great deal of time or effort to implement and doesn't hinder typical operation, but it does provide the user with the ability to detect programs violating their perceived operating space. Requiring approval for writing to certain classes of files augments the notification process while decreasing convenience and increasing user awareness. The confinement of programs to limited authorization spaces has been shown infeasible because of covert channels [10], and precise tracking, as we pointed out earlier, is NP-complete [5].
Two types of system instrumentation were considered for detecting and tracing viral attacks. Although no technique will catch all viruses, many techniques may catch most viruses. The 'flow list' method whereby every user who might have had an effect on a file whether indirectly or directly is kept in an 'incoming flow list', and the statistical behavior method whereby the behavior of normal operation is observed and compared to the behavior under viral attacks to find good measures with which to detect viruses. Each was shown to be an improvement over systems with no detection mechanisms, but they are far from ideal. Flow lists tend to become large rapidly, and are NP-complete to precisely maintain. Statistical techniques tend to identify non-viruses, and if the nature of the technique is known, can always be avoided [1,13].
Programs that examine other programs' structure and behavior have been under investigation for quite some time for detecting cheating in computer science classes, and extensions of these principles are being explored for viral detection. These techniques appear to be very limited in their application, and offer little assurance. Even more importantly, such techniques may lead to a false sense of security.
The problem of computer viruses can be thought of as a reliability problem in which we have 'N' system users, 'M' of which are reliable. The problem we are faced with is that of getting reliable answers from a system with only 'M of N' reliable components. We have performed mathematical analysis of the effects of collusions on the spread of integrity corruption [17,18,19,21], and are presently considering issues related to redundant POset networks. Research in N-version programming has shown that it is very difficult to get multiple versions of the same program to operate with the same behavioral characteristics [41], and that even two correctly written programs may give different results if there specification is not sufficiently complete [42].
When we run a multiversion program we specify N executables, all written by different authors. The OS automatically invokes the N programs in parallel, and performs voting on all inputs and outputs [43-45]. The user is notified of disagreements, and the answer that is held by the majority of the programs (assuming there is one) is considered correct. This result is also fed into the other programs so that they can proceed on the basis of this result for further processing. If there is no majority vote, the program is aborted as having too severe an error for continuation.
Two problems with the use of fault tolerant software are that it requires considerably more effort to program, and it requires more hardware for the same system performance. The requirement of identical I/O behavior presents several problems. Two different methods of performing a calculation may yield very close, but differing results. The decision to take the average or disregard all results may have severe ramifications. The program as a whole can proceed no faster than the slowest of the algorithms used to compute the result, and faulty state information may propagate throughout a program, thus giving it the appearance of being untrustworthy when a single error caused the whole problem. More reliability can be gained by increasing N, but if performance is to remain the same, this requires a factor of (slightly more than) N increase in hardware and software costs.
Harrison, Ruzzo, and Ullman described the general principle of protection in information systems in 1976 [46], and showed that even some very simple sets of rights made it undecidable to determine the safety of a protection system. Lampson subsequently demonstrated that the confinement problem, wherein we attempt to prevent leakage of information by a supplier of an information service, is not likely to be solvable [10]. As a result of this early work, most further examination of these topics was considered fruitless.
The introduction of the computer virus problem [1,13], introduced the principle that a dramatic change in the methods by which we protect information must be considered. We used the "Universal Protection Machine" [13] to prove that information flows to the transitive closure of information flow, and that the "read" and "write" rights that we currently depend on so heavily, lead inexorably to a conflict between secrecy and integrity. If the integrity of information and the benefits of sharing, general purpose operation, and transitivity of information flow are to be maintained, we must abandon the premise of preventing information leakage as the primary function of protection systems, and embrace integrity protection as a primary goal.
A "protection system" is defined [46] as:
{S,O,R,P:(SxO)=>R,C}, where S = {s1,...,si}, the set of subjects O = {o1,...,ok}, the set of objects R = {r1,...,rl}, the set of rights and P:(SxO)=>R is a mapping from (S,O) pairs to right C = {c1,...,cm}, the set of commands
The most common rights associated with this model are "ownership", "read", "write", "execute", "append", "create", and "delete", but in general, any set of rights can be used to afford the desired functioning of the protection system, and those rights can correspond to any sequence of operations that can be performed by the system. Hence, we can include rights like "encrypt", "decrypt", "authenticate", "backup", and any number of other rights that we are able to practically implement.
The "commands" are a set of transforms on P which allow the rights to change with time. Typical transforms include "add-right", "delete-right", "add-subject", "add-object", "delete-subject", and "delete-object". With even these simple transforms, it is undecidable whether or not a given subject can eventually attain a given right to a given object [46].
As Lampson noticed [10], we may allow the provider of a service access to information in order to process it, but if we allow any state information to remain subsequent to the provision of that service, (e.g. the bill for that service), that information can be used to encode some aspects of the data input to that service. Therefore, we cannot effectively confine that information to the client of the service. This makes secrecy hard to maintain, but it does not in any way effect the integrity of the original data, nor does it prevent the assurance by the client that the service is properly provided.
The basic premise of [10] was that of protecting the secrecy of information, both from the standpoint of the provider and of the client of the information service. The provider of a service need not have general access to the client's information, but rather only to the information required for the performance of that service. More to the point, information requiring processing can be sent to the service for that processing, and the results sent back to the client after the service is completed. The client need not grant authority to the provider to act for the client in any way other than the performance of the requested service. This leads to the "data flow" concept which has been examined in some depth, but not in the context of a protection mechanism.
Since the results returned to the client can be examined by the client at will before subsequent reuse, we may effectively limit the corruption possible by the provider until such time as their results are reused. We can also prevent other data belonging to the client from being affected by the direct action of the provider.
We can further improve integrity by making programs used to provide services available for inspection by the client of the service. This provides the client the opportunity to verify that the provided service contains no undesirable code. This doesn't provide proof of the integrity of the service, but it restricts the successful attack to the most clever of providers. Furthermore, the use of sets of standards by which we judge provided programs allows us to prevent the use of inobvious or tricky programming practices which may hide corrupt services.
Although this mechanism is not sufficient to prevent viral attack in the general sense, it may provide a substantial degree of protection to those that take the time to use it with proper care. In addition, this mechanism provides a means for experimenting with the most general purpose sort of protection in order to increase our knowledge and understanding of the theory and practice of protection policy and implementation.
We are left with two major problems. The first is the provision of a mechanism by which we can transmit a problem to a provider, allow the service to be provided, and get the returned results back without granting the provider modification rights to information under the control of the client. The second, and much more difficult problem, is the demand for access to the source programs for all services provided by providers, which is often a highly guarded result of the provider's effort.
The method by which we attain the first goal is provided by the Unix 'setuid' facility [47]. This facility allows the provider of a program to grant the client the provider's rights during the execution of that program. Although many consider this to be a severe protection deficiency because it is difficult to use with proper caution, it is a vital feature in that it provides the underlying mechanism for allowing a server to provide a service without threatening the integrity of information owned by the client.
The basic "setuid" facility allows the granting of rights, but does not facilitate its use by users. For this reason, we developed the "access" program which provides a convenient method by which users may use the "setuid" facility to provide the desired results. This program was first demonstrated in 1982 as a method for permitting users to grant generic access rights to other users on a user by user basis. It has since been augmented to provide the mechanism described herein.
The access program operates by taking as arguments, the user ID of the provider, and the name the provider has specified for the service of interest. It then looks in a table of triples provided by the provider to determine if the request is authorized to the client, and how the request is to be serviced. The access table for each user consists of the name of the service as known to the client, the user ID of the client who has authority to use the requested service under the requested name (* for any user), and a set of commands to be carried out under the authority of the provider in order to provide that service.
The following example demonstrates an access control file:
test fc /bin/ls /usr/jones/fcstuf test john echo "How do you do" test * /bin/cat inputdata | program oops john /bin/ls /usr/jones/fcstuf help * read A;/usr/bin/grep "$A" /usr/lib/helpfiles
In this example, if the user "fc" requests service "test", access will be granted to list the files stored in directory "/usr/jones/fcstuf". If the user "john" makes the same request, a welcome greeting is given. When any other user makes the same request, the file "inputdata" is processes by the program "program", and the results are returned to the client as output from the access program. When the user "john" requests the service "oops", the same result is given as if "fc" requested "test". Finally, the command:
echo "list" | access <user> help
where <user> is the provider with the access file above, produces an output listing of all lines in "/usr/lib/helpfiles" that contain the word "list". This demonstrates the general method by which input and output may be derived through the use of the access program. An access control file may of course request services of other providers, etc.
The nature of the service provided is general purpose, and rights can be granted to any subject on an individual basis to anything that the provider has rights to. We thus have a general purpose mechanism for granting rights in an information system which fits the Harrison, Ruzzo, and Ullman model of a general purpose protection mechanism [46] and can be modeled on the UPM [13] to determine effects on information in the system being protected. The results of theoretical work based on these models can be experimentally verified using the "access" program under Unix as a laboratory, and results of this work can be directly translated into operation. We have provided a source code listing for the "access" program in the appendices.
In order to assure integrity in such a system, we should limit the ability to modify services to their owner, and provide read access to each user with the capability to use each service. The first condition prevents arbitrary corruption of the integrity of services, while the second condition provides a method by which the client of a service may verify the integrity of that service independently. Unfortunately, there is a social problem that has greatly hindered the attainment of the second condition. The problem is that providers of services often do not provide access to the source code of their services.
Recent changes in US copyright law, have made the copyright of software without a public record of the source code permissible. Thus, the provider's rights to intellectual property are protected, but the society does not benefit from the advances of its individuals. The basic premise of intellectual property rights is that in exchange for providing the public with access to intellectual property, rights to profit from intellectual efforts are guaranteed. The law as it has evolved provides the right to intellectual property without giving the society the benefits of access to results. Thus, we are stifling progress in the name of protecting intellectual rights, but by any historical standard, the intellectual right is that of recognition of authorship and reasonable profit from work, not exclusion of access to methods and guaranteed profits.
There is another social reason for the continual eroding of the integrity of information residing in information systems, that being the exclusion of software from the "implied warranty of sale" which is associated with all other products in today's market. The fact that most purchased software explicitly waives any warranty of any kind, implies that the author refuses to take responsibility for the contents. When combined with the special copyright provisions granted to software, this provides a situation in which the provider of a service need not grant access to assure the integrity of the provided service, need not assure the consumer of the suitability of that service, need not reveal the techniques used in that service to others wishing to augment it, and need not take any responsibility for any ill effects of that service. This is a sure recipe for integrity corruption.
Viral attacks appear to be easy to develop in a very short time, can be designed to leave few if any traces in most current systems, are effective against modern security policies for multilevel usage, and require only minimal expertise to implement. Their potential threat is severe, and they can spread very quickly through a computer system or network. They thus present a widespread and immediate threat to current systems and networks.
The proper use of the techniques outlined in this paper offers some immediate protection from simple viruses, and likely can be used to slightly reduce the risk. The more advanced forms of protection such as software self defense, N version programming, and the like require time to implement, test, and disseminate, and immediate efforts in this direction may be vital to the survival of computer use as we know it today. The chilling effect already encountered by this researcher indicates only the tip of the iceberg. As fear of viruses grow, we will likely see a rapid movement towards isolationist systems. A dramatic reduction in the creativity of programmers is likely to result from this isolationist attitude, and we may see a return to the "dark ages" of computing where everybody is on their own, and cooperation wanes.
A wide variety of defensive techniques have been considered, and many of them present vast new lines of research. Research in all of the areas listed above is underway, but most researchers in the US are sadly lagging behind the rest of the world. This is primarily due to the efforts of the US intelligence community to stifle open research in this area, and a too conservative attitude by other funding agencies in the US. If there is any hope of finding adequate defense against viruses, it lies in further scientific research.
We have provided an easy to use and general purpose method by which users using Unix can experiment with more general purpose protection mechanisms than those normally associated with information systems, and have in the process provided a means by which viral spread may be severely limited. We have provided sources for this protection mechanism so that its integrity may be easily verified by the users, and so that it can be used as a part of high integrity systems during the period that will be necessary in order to provide more advanced protection mechanisms.
We conclude that in depth examination of alternative protection rights is an important and line of research to pursue, and that the "access" program provides a means by which this research may be rapidly and effectively be performed. A concerted research effort in this area is already underway in the classified domain, but this provides little or no protection for the business, financial, and academic communities which support the government with their efforts. It is critical that we support research in the unclassified domain if we are to protect our technological infrastructure.
Although the technical aspects of viral defense have some hope of prevailing, the social problems of integrity protection seem much more difficult to resolve. The present situation is a recipe for integrity corruption and chilling of progress that has already taken a severe toll on the United States. It will continue to take its toll until integrity is viewed as the major requirement in information systems. It is only by making integrity a social priority, that we can hope to eradicate the corruptions that are running rampant through our modern information systems.
/* Copyright(c) 1988 Fred Cohen All Rights Reserved check: is written in C to demonstrate a cryptographic checksum ala F. Cohen, "A Complexity Based Integrity Maintenance Mechanism", Computers and Security, Nov. 1987. This software is provided in source form in order to allow its integrity to be verified by the reader. */ #include <stdio.h> #include "check.h" FILE *fopen(); static int key,randnum,stopprint,function; static char *sumfile, *progname; static int mtimes(a,b,c) /*modular multiplication*/ int a,b,c; {int d; d = 0; while (b != 0) {if (1 == (b & 1)) d = (d+a) % c; a = (a * 2) % c; b = b / 2;} return(d);} static int mexpt(a,b,c) /*modular exponentiation*/ int a,b,c; {int d,done; d = 1; while (b != 0) {if (1 == (b & 1)) {b = b - 1; d = mtimes(d,a,c);} else {b = b / 2; a = mtimes(a,a,c);}} return(d);} static int rand() /* RSA encrypt of a digit */ {randnum = 1 + mexpt(randnum,exponent,modulus);} .bp static int dochecksum(filename) /*gets the checksum for a filename*/ char filename[]; {int fid,checksum,fcount,rand2; char ch[chlen]; randnum = key; rand(); rand2 = randnum; if ((fid=open(filename,0)) < 0) return(-1); /*no such file*/ while ((fcount = read(fid,ch,chlen)) > 0) {int i; for (i = 0;i < fcount;i++) rand2 = ((rand2*17) % (modulus-2)) + ch[i]; randnum = ((randnum + rand2) % (modulus-2)) + 2; rand();} if (testing == TRUE) printf("\tchecksum %s => %d\n",filename,randnum); return(randnum);} static int putdata(filename,checksum,sumfile) /*append data record*/ int checksum; char filename[],sumfile[]; {FILE *fid; if ((fid = fopen(sumfile,"a")) == NULL) {fclose(fid); if (stopprint != 1) printf("file %s not summed\n",filename); return(-1);} /*failed*/ fprintf(fid,"%s %d\n",filename,checksum); if (stopprint != 1) printf("file %s summed\n",filename); fclose(fid);return(0); /*success*/} static int getdata(filename,sumfile) /* return stored checksum */ char filename[],sumfile[]; {char fname2[namesize]; int csumin,checksum; FILE *fid; checksum = -1; if ((fid = fopen(sumfile,"r")) == NULL) return(-1); /*failed*/ while (fscanf(fid,"%s %d\n",fname2, &csumin) != EOF) if (!(strcmp(filename,fname2))) checksum=csumin; fclose(fid); if (testing == TRUE) printf("\tgetfile %s => %d\n",filename,checksum); return(checksum);} .bp static int init(sumfile,progname) char progname[],sumfile[]; {int selftest; if (stopprint != 1) printf("self test - "); if ((selftest = getdata(progname,sumfile)) < 0) {if (stopprint != 1) printf("checksum file error - "); if (putdata(progname,dochecksum(progname),sumfile) < 0) return(-1); if (stopprint != 1) printf("checksum file created\n"); } else {if (selftest == dochecksum(progname)) {if (stopprint != 1) printf("self test successful\n"); return(0);} else {if (stopprint != 1) printf("program CORRUPT\n"); return(-1);} }; } static int checkall(sumfile) char sumfile[]; {char fname2[namesize],filename[namesize]; int csumin,checksum; FILE *fid; int errors;errors = 0; if ((fid = fopen(sumfile,"r")) == NULL) return(-1); /*failed*/ while (fscanf(fid,"%s %d\n",fname2,&csumin) != EOF) if (csumin != dochecksum(fname2)) {errors= -1; if (stopprint != 1) printf("file %s CORRUPT\n",fname2);} else {if (stopprint != 1) printf("file %s OK\n",fname2);} fclose(fid);return(errors);} static int checkfile(sumfile,progname) char progname[],sumfile[]; {int selftest; if (stopprint != 1) printf("test file %s - ",progname); if ((selftest = getdata(progname,sumfile)) < 0) {if (stopprint != 1) printf("no checksum\n");return(-1); } else {if (selftest == dochecksum(progname)) {if (stopprint != 1) printf("file OK\n"); return(0);} else {if (stopprint != 1) printf("file CORRUPT\n"); return(-1);} }; } .bp int checker(func,sumfile,filetocheck,thekey,printit) int func,thekey,printit; char sumfile[],filetocheck[]; {int result; key = thekey; stopprint = printit; result = -1; switch (func) {case 0: result = init(sumfile,filetocheck);break; case 1: result = checkfile(sumfile,filetocheck);break; case 2: result = putdata(filetocheck,dochecksum(filetocheck),sumfile); break; case 3: if (getdata(filetocheck,sumfile) == dochecksum(filetocheck)) {if (stopprint != 1) printf("file %s checked OK\n",filetocheck); result=1;} else {if (stopprint != 1) printf("file %s CORRUPT\n",filetocheck); result=0;} break; case 4: result = checkall(sumfile); break; default: result = -1;break; } return(result);} testchecker() {checker(0,"check.sum","check",17,0); checker(1,"check.sum","check",17,0); checker(2,"check.sum","check",17,0); checker(3,"check.sum","check",17,0); checker(4,"check.sum","check",17,0);} .bp /* Copyright(c) 1988 Fred Cohen All Rights Reserved Main: A cryptographic checksum ala F. Cohen, "A Complexity Based Integrity Maintenance Mechanism", Computers and Security, Nov. 1987. This software is provided in source form in order to allow its integrity to be verified by the reader. It includes a general purpose integrity checking program (main.c) which compiles into "checker". */ #include <stdio.h> #include "check.h" extern int checker(); int key; FILE *fopen(); #define checkerfile "checker" #define checkfile "checker.sum" main() {char which[10],filename[100]; printf("Please enter the check key:");scanf("%d",&key);fflush(stdin); checker(0,checkfile,checkerfile,key,0); while (1 == 1) {printf("\ncheck checks a previously summed file\n"); printf("sum sums a file for subsequent checking\n"); printf("all prints a history of all old checksums\n"); printf("help prints this message\n"); printf("quit exits the program, doing a new checksum\n"); printf("note that a wrong key will cause massive errors\n"); printf("check(c), sum(s), checkall(a), quit(q):"); scanf("%s",which);fflush(stdin); switch (which[0]) {case 'q' : checker(1,checkfile,checkerfile,key,FALSE); exit();break; case 's' : printf("file to be summed:"); scanf("%s",filename); checker(2,checkfile,filename,key,FALSE);break; case 'c' : printf("file to be checked:"); scanf("%s",filename); checker(3,checkfile,filename,key,FALSE);break; case 'a' : printf("Complete history being printed\n"); checker(4,checkfile,checkerfile,key,FALSE);break; default : printf("\nPlease choose one of the following\n"); break; } } } .bp /* Copyright(c) 1988 Fred Cohen All Rights Reserved check.h - "include"ed by all other programs */ #define FALSE 0 #define TRUE 1 #define exponent 10243 #define modulus 14351 #define chlen 512 #define namesize 127 #define testing 0 .bp /* Copyright(c) 1988 Fred Cohen All Rights Reserved Mantra: A self defending (once placed with a non-writable checksum file) password generator that created "computer mantras" ala F. Cohen, "Algorithmic Authentication of Identification", Information Age, 1984. This software is provided in source form in order to allow its integrity to be verified by the reader.*/ #include <stdio.h> #include "check.h" extern int checker(); int key; #define checkerfile "mantra" #define checkfile "mantra.sum" char* mantra[]={"ab","ac","ad","af","ag","ah","aj","ak","al","am","an", "ap","ar","as","at","av","aw","ax","az","ba","ca","da","fa","ga","ha","ja", "ka","la","ma","na","pa","ra","sa","ta","va","wa","ya","za","eb","ec","ed", "ef","eg","eh","ej","ek","el","em","en","ep","er","es","et","ev","ew","ex", "ey","ez","be","ce","de","fe","ge","he","ke","le","me","ne","pe","re","se", "te","ve","we","ze","ib","ic","id","if","ig","ij","ik","il","im","in","ip", "ir","is","it","iv","ix","bi","ci","di","fi","gi","hi","ji","ki","li","mi", "ni","pi","ri","si","ti","vi","wi","yi","zi","ob","oc","od","of","og","oh", "oj","ok","ol","om","on","op","or","os","ot","ov","ow","ox","oy","oz","bo", "co","do","fo","go","ho","jo","ko","lo","mo","no","po","ro","so","to","vo", "wo","yo","zo","ub","uc","ud","uf","ug","uh","uj","uk","ul","um","un","up", "ur","us","ut","ux","uz","bu","cu","du","fu","gu","hu","ju","ku","lu","pu", "mu","nu","pu","ru","su","tu","vu","wu","yu","zu"}; long n; rng() {n=(n*29+27)&0177;return((n%4)&037);} main() {int i,j; /* if you want to require a password by the user, then printf("Key:");scanf("%d",&key);fflush(stdin); otherwise: */ key=8763; if (0 != checker(0,checkfile,checkerfile,key,0)) exit(); n=time(0); i=(getpid()+time(0));srand(i); for (i=0;i<5;i++) {loop:j=(0377 & (rand() ^ rng())); if (j>185) goto loop; printf("%s",mantra[j]);}; printf("\n");} .bp /* Copyright (c) 1988 by Fred Cohen All Rights Reserved access - grants access on a case by case basis called by: access uid his-function-name $HOME/.access file formats <pseudoname><tab><user><tab><command to be executed> */ #include <stdio.h> #include <pwd.h> #define linelen 120 #define TRUE 1 #define FALSE 0 extern char **environ; struct passwd *getpwuid(); int whoami(idline) char idline[]; {struct passwd *pp; pp = getpwuid(getuid()); if (pp == 0) return(FALSE); sprintf(idline,"%s", pp->pw_name); return(TRUE);}; int workdir(idline) char idline[]; {struct passwd *pp; pp = getpwuid(geteuid()); if (pp == 0) return(FALSE); sprintf(idline,"%s/", pp->pw_dir); return(TRUE);}; int mapid(idline) char idline[]; {struct passwd *pp; pp = getpwnam(idline); if (pp == 0) return(-1); return(pp->pw_uid);}; .bp int nextline(line,fileid) char line[]; int fileid; {int i,cnt,eof,eoln,err; char ch; eof = FALSE;err = FALSE;eoln = FALSE; for (i = 0;((i < linelen) && (err == FALSE) && (eof == FALSE) && (eoln == FALSE)); i++) {cnt = read(fileid,&ch,1); if (cnt < 0) {err = TRUE; return(FALSE);} if (cnt == 0) return(FALSE); ch = ch & 0377; if (ch == '\n') eoln = TRUE; line[i] = ch;} line[i-1] = '\000'; if ((eof == TRUE) || (err == TRUE)) return(FALSE); else return(TRUE);}; int outstring(p,fileid) char p[]; int fileid; {int i; for (i = 0;p[i] != '\0';i++) if (write(fileid,&p[i],1) < 1) return(FALSE); return(TRUE);}; int copystring(dest,source) char dest[],source[]; {int j; for (j = 0;((j < linelen)&&(source[j] != '\000'));j++) dest[j] = source[j]; dest[j] = '\000'; if ((j == linelen)||(j == 0)) return(FALSE); return(TRUE);}; int cmpstring(line1,line2) char line1[],line2[]; {int i; for (i = 0; ((i < linelen)&&(line1[i] == line2[i]));i++) if (line1[i] == '\000') return(TRUE); return(FALSE);}; int appendstring(dest,source) char dest[],source[]; {int i,j; for (i = 0;((i < linelen)&&(dest[i] != '\000'));i++); for (j = 0;(((i+j) < linelen)&&(source[j] != '\000'));j++) dest[i+j] = source[j]; dest[i+j] = '\000'; if ((j == linelen)||(j == 0)) return(FALSE); else return(TRUE);}; int outline(line,fileid) char line[]; int fileid; {int i,ch,cnt,eof,eoln; for (i = 0,eof = FALSE,eoln = FALSE; ((i < linelen) && (eof == FALSE) && (eoln == FALSE)); i++) {if (line[i] == 0) ch = '\n',eoln = TRUE; else ch = line[i]; cnt = write(fileid,&ch,1); if ((cnt == 0) || (cnt == -1)) eof = TRUE;}; if (eof == TRUE) return(FALSE); else return(TRUE);}; int nextword(line,place,result) char line[],result[]; int *place; {int i,j; for (i = *place; ((i < linelen)&&(line[i] != '\000')); i++) if ((line[i] != '\t') && (line[i] != ' ')) goto gotone; return(FALSE); gotone: for (j = i; ((j < linelen)&&(line[j] != '\000')); j++) if ((line[j] != '\t') && (line[j] != ' ')) result[j-i]= line[j]; else {*place = j;result[j-i] = '\000';return(TRUE);}; result[j-i] = '\000';*place = j; return(TRUE);}; int cmdnextarg(line,argc,argv) char line[],*argv[]; int argc; {static int argnum = 0; if (argnum > (argc-1)) return(FALSE); if (copystring(line,(argv[argnum])) == FALSE) return(FALSE); argnum = argnum + 1; return(TRUE);}; docmd(cmd) char cmd[]; {outstring("starting access\n",2); system(cmd); return(TRUE);}; .bp main(argc,argv) int argc; char *argv[]; {int accfile,Exec; char pathname[linelen],inline[linelen],hisuid[linelen], myuid[linelen],uname[linelen],templine[linelen],myhome[linelen]; whoami(hisuid); if (cmdnextarg(inline,argc,argv) != TRUE) {outstring("no filename - ",2); goto bye;}; if (cmdnextarg(myuid,argc,argv) != TRUE) {outstring("no user ID given - ",2); goto bye;}; if (cmdnextarg(pathname,argc,argv) != TRUE) {outstring("no command name given - ",2); goto bye;}; if (FALSE != setuid(mapid(myuid))) {outstring("no such user ID - ",2); goto bye;}; workdir(myhome); if (appendstring(myhome,".access") == FALSE) goto bye; if ((accfile = open(myhome,0)) < 2) {outstring("couldn't get .access file - ",2); goto bye;}; while (nextline(inline,accfile) == TRUE) {int place; place = 0; if (nextword(inline,&place,templine) == TRUE) if (nextword(inline,&place,uname) == TRUE) if (cmpstring(templine,pathname) == TRUE) if ((cmpstring(uname,hisuid) == TRUE) || (cmpstring("*",uname) == TRUE)) docmd(&(inline[place+1])); }; close(accfile); bye: outline("ending access\n",2);};[Back to index] [Comments]


text:
Reynoldsburg 63, Cavs 61
Rebounding is part of the game… and Saturday Reynoldsburg was more effective than the Cavaliers.
The game's last rebound was a put back by Josh McCoy to end Chillicothe's season and propel the Raiders into the next round of the tournament.
The Cavs trailed 61-58 with 28 seconds remaining. Tommy Bolte dropped in a three at 15 seconds to tie the game at 61. Reynoldsburg pushed the ball up the floor and McCoy followed up a miss with the Raiders' 19th offensive rebound before the buzzer. With Raiders fans storming the floor, officials cleared them away and placed one second on the clock. Isaiah Johnson's long inbounds pass was stolen at the other end by Ahston Dulin to deny Chillicothe its final shot at continuing the season.
"That hurt us" said Cavs Coach Eric Huffer. "They had a lot of opportunities… we did hit tough shots and they really picked up the pressure in the second half and that bothered us."
The Cavs had won twelve of their previous thirteen matches. The season closed on a loss by the same margin as their previous three, by two-points. [CLICK HERE to see the Cavs 2013-14 season results]
Chillicothe (15-7), the lesser seeded team, traveled to 15th seeded Reynoldsburg Saturday. The Cavs were the aggressors early. Bolte, who led all scorers with 28, gave the Cavs a seven point lead, scoring the first 10-points. Isaiah Johnson (16 points) dropped in a baseline jumper over the first four minutes of the game. Bolte drained a three for a 15-7 Cavalier lead.
Reynoldsburg erased the margin, tying the game at 17 through the first period. Jarius Ward gave the Raiders their first lead hitting from beyond the arc at 20-17. Johnson dropped in another three knot the game at 24, then Nolan Taylor and Bolte teamed on a pair of field goals and the Cavs were back on top 29-24. The Raiders regained the lead with 1:35 left in the half but Johnson had the last say with another bomb to give the Cavs a 34-33 edge at the break.
There were 15 lead changes in the game, but the two clubs exchanged the lead on nine consecutive possessions during a 5-and-a-half-minute period in the middle of the game.
Trailing 44-40 with 3:51 left in the third quarter, Matt Benson and Johnson hit back-to-back baskets for a 44-44 tie. Bolte hit two more baskets and Nate Rosenbauer hit on a driving layup to give the Cavs a 51-44 lead through three quarters.
Then Reynoldsburg owned the last period, outscoring the Cavs 19-10.
The Raiders owned the edge in the rebound department 30-12 and at the line 9-of-12 to the Cavs' 7-of-8. Chillicothe held the advantage in all the other categories: 23-of-41 field goals to 23-of-53, hit 8-of-13 3's to 4-of-19 for 'burg and 10 turnovers to the Raiders' 11.
Other Cavs in the scoring column, Taylor with 8 points, Rosenbauer 7 and Benson 2. The Raiders had three players in double-figures, led by Travis Gleason's 16, 14 by Ward and 12 for Lloyd Chatman.
"We stayed with them and we got after 'em… I don't know how many teams can say they can guard that team five-on-five like that, man-to-man, aggressively, too."
The Raiders will host Briggs Friday night in the next round of the boys D-I Central District Tournament.
Chillicothe fans had much to be proud of their team this season. Huffer's first high school head coaching experience notched a 15-7 overall mark, 10-2 in the SCOL.


text: I ran the CD install again and ran the utility to chroot into old system at: /dev/ad6s1a. The directory structure looked normal but /var is empty, and I couldn't cd to other directories like PCBSD or home either. Seems to be a stripped down command set in this shell - pkg_version, pkg_info, and pkg_delete didn't work. ...Jeff --- On Mon, 7/26/10, Kris Moore <kris at pcbsd.org> wrote: From: Kris Moore <kris at pcbsd.org> Subject: Re: [PC-BSD Testing] Upgrade to 8.1 fails To: testing at lists.pcbsd.org Date: Monday, July 26, 2010, 12:36 PM On 07/26/2010 12:21, Jeff wrote: Tried like seven times now. Each time it spends about 5 min "cleaning up old filesystem" and then starts to remove packages. Now just hits this file and spends 10 seconds crunching with no disk activity then reboots. Odd that just removing a package would cause the kernel to fault. Is it possible the install CD is corrupt? I didn't verify written data when I burned it. Tried using a USB stick first but didn't work. Just tried copying the image file directly to the USB stick but got an error that BIOS couldn't find the boot loader. Can I use a live CD to manually uninstall or delete that package? If so, which live CD is best and where do I find it? ...Jeff You can try mounting the file-system manually via the command-prompt, then "chroot" into the system and try to remove that package. Another thing to check is see that actual kernel panic though. Try this, start the upgrade, then hit "ctrl-alt-f1" and watch it. It should panic and come up with some "press any key in 10 seconds to stop reboot". Stop the reboot, and send over the actual panic info, maybe we can figure out the issue :) -- Kris Moore PC-BSD Software iXsystems -----Inline Attachment Follows----- _______________________________________________ Testing mailing list Testing at lists.pcbsd.org http://lists.pcbsd.org/mailman/listinfo/testing -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pcbsd.org/pipermail/testing/attachments/20100726/75120e94/attachment.html>


text:
How to become a virtual bird
Click is at London's Barbican for Digital Revolution, an immersive exhibition of art, design, film, music and video games.
Spencer Kelly looks at one of the exhibits that lets you see yourself being eaten by virtual birds before sprouting wings yourself and taking to the sky.
Watch more clips on the Click website. If you are in the UK you can watch the whole programme on BBC iPlayer.
04 Aug 2014
- From the section Technology


text:
Corrected the artwork for Human As Disease, and there's three new cassettes out.
Still, the view is dim.
Distributors may inquire via email enemataprods (at) gmail .com
Dried Up Corpse / Distant Relative - split C20
Organic, junk-sounding noise and violence.
Harsh intensity from both projects.
Lalemus / Phantasm Nocturnes - split C80
Mechanical tribal horror-scapes from Lalemus.
Imploding death industrial / dark ambient from Phantasm Nocturnes.
Infirmary - The Spirit Cipher C80
Black holes, hard loops, and industrial caverns.
Static from nightmares and devils.
Human As Disease - Shatter Glass House C62
Droning static formations and hallucinatory textures.
This is the corrected artwork version with 2-sided card-stock print and specialized tape stickers.


text:
Special Packages
Pariya Resort & Villas Haad Yuan Koh Phangan
Your barefoot resort hideaway
Considered the "best" beach in Koh Phangan because of its snowy-white sand and clear cobalt-blue sea on its doorstep, Pariya Resort & Villas Haad Yuan, is the place to relax and unwind in tranquil surroundings. With the lush jungle-clad hills to its rear, the resort is a 20-minute speedboat ride from Koh Samui and just a 10-minute boat ride to Haad Rin/Rin Beach, the center of the island's nightlife and the world famous location of Full Moon Parties.
Koh Phangan or Phangan island is one of the idyllic islands which lies to the north of Koh Samui in the Gulf of Thailand.
Enjoying Pariya Haad Yuan Koh Phangan
The essence of the experience is in its tranquil and simplistic environment and that one …
Rin Nok Beach or Haad Rin Nok is internationally known for its Full Moon Parties. This spot is ranked as the third most …


text:
No history is available for the ECG shown in Figure 1. That said:
- How would you interpret this ECG?
- What clinical conditions should be considered?
|Figure 1: No history is available. What clinical conditions should be considered? (Reproduced from ECG-2014-ePub). NOTE – Enlarge by clicking on Figures – Right-Click to open in a separate window.
INTERPRETATION: The rhythm is sinus bradycardia and arrhythmia, with an overall heart rate just under 60/minute. All intervals (PR/QRS/QT) are normal. The axis is normal at +50 degrees. Voltage for LVH is present (deepest S in V1,V2 + tallest R in V5,V6 ≥35mm). The most remarkable changes are seen with respect to Q-R-S-T Changes:
- There are no Q waves.
- Transition occurs slightly early (between leads V2-to-V3) – with relatively tall R waves in leads V1,V2.
- There is diffuse, deep symmetric T wave inversion. T wave inversion is almost 15mm deep in leads V2,V3.
- Other subtle-but-real ST-T wave findings include 1-2mm of J-point ST depression in multiple leads – suggestion of ST segment coving in leads I, aVL, V2,V3,V4 – and a hint of ST elevation in leads III, aVR and V1.
Giant T Wave Syndrome
The overall impression is consistent with Giant T Wave Syndrome. Although some T wave inversion is common in many conditions – the term "giant T waves" is reserved for a select number of clinical entities that produce truly deep (>5 mm amplitude) T wave inversion. When this clinical picture is seen (as it is in Figure 1) – one should think of the following diagnostic entities.
- Apical (Yamaguchi) Cardiomyopathy.
- Severe CNS disorders (increased intracranial pressure).
- Stokes-Adams attacks (especially when due to severe bradycardia, complete AV block).
- Acute ischemia/coronary artery disease.
- Post-Tachycardia Syndrome.
- Massive Pulmonary Embolism (acute right heart strain).
Without any history – it is impossible to know which of the above entities is most likely:
- We doubt massive PE (pulmonary embolism) – because none of the other stigmata of acute right heart strain are present (no right or indeterminate axis, no right atrial enlargement, no T inversion in lead III, no tall R wave in lead V1). T wave inversion with acute PE is most often limited to right-sided leads (V1,V2,V3 and II,III,aVF) – and is usually not nearly as deep as seen here.
- Any of the other entities on the above list are possible.
- Increased voltage is consistent with apical cardiomyopathy (that may produce identical ST-T wave changes as seen here).
- Anterior ischemia/infarction from high-grade LAD (Left Anterior Descending) coronary artery narrowing/occlusion should be high on the list because of the J-point ST depression, ST segment coving, and subtle ST elevation in leads III, aVR and V1.
- Acute CNS disorders (stroke, subarachnoid or intracranial hemorrhage, seizure, coma, brain tumors, trauma) may produce some of the most bizarre ST-T wave abnormalities. That said – the QT interval will usually be prolonged with CNS disorders and there will often be manifest T wave broadening (neither of which is seen here).
- Finally – a less commonly appreciated cause of diffuse T wave inversion is post-tachycardia syndrome. Diffuse T wave inversion not due to ischemia/infarction may sometimes transiently be seen following conversion of sustained SVT/VT rhythms.
- For more information - GO TO:
- See Section 10.51 on Giant T Wave Syndrome -
- See ECG Blog #120 ( = Video-16) -


text:
CIGARETTES and money were stolen from behind the counter during a burglary at Lound Road Garage in Kendal last night.
The break-in occurred at around 11.30pm when the offenders used an object to smash the window to the front door and gain access to the shop area.
Police are looking for a dark coloured hatchback which is believed to have had two men in it at the time.
Anyone with information is asked to contact Cumbria Police on 101.