Monthly Archives: November 2014
Open SQL Server Management Studio as different windows user 1
Have you ever required to open SQL Server Management Studio Application (SSMS instance) as different windows user from your local machine? Sometimes we require to "Run SSMS instance as different Windows user" another machine which is not available physically to us. In such type of scenarios we can open our local SSMS instance as different windows user at our local machine. In this article we are going to learn how we can open SSMS instance as different windows user. If you are still not required this till now, may be sometime in future you will be required to do the same.
Now to accomplish this task i.e. to open SSMS as a different windows user, we have below approaches;
 1. Using Run as different user option in windows explorer
 2. Using runas command in command prompt
 3. Using runas command with ".bat" file
We will cover all the above techniques below.
1. Using
More
Deterministic and non-deterministic functions in SQL Server 6
In this topic "Deterministic and non-deterministic functions", we are going to discuss the deterministic and non-deterministic functions in sql server. Lets start with "what is a deterministic function in sql server?". It's a common interview question also. I will elaborate the definition of deterministic as well as non-deterministic functions and also provide some good examples. So after reading this article you will be able to distinguish deterministic and non-deterministic functions.
Deterministic Functions
The functions which always return same output when they called with a particular set of input values in the same state of the database are known as deterministic functions.
SELECT ISNULL('ABCDEF', '1')
Above t-sql code will always return the output as 'ABCDEF' and thus ISNULL is a deterministic function. Below is the list of some other deterministic functions.
ISNULL, ISNUMERIC, DATEDIFF, POWER, CEILING, FLOOR, DATEADD, DAY, MONTH, YEAR, SQUARE, SQRT etc.
Non-deterministic Functions
The functions which may return … More
Finding dependencies of a table in sql server
Many a times we face the problem of finding the foreign key relationships, triggers and stored procedures that are referring to a particular table. The below query will help you in identifying the following things:
 1. Find the entire hierarchy of all the parent tables and the corresponding parent table column names and their respective child(s).
 2. Find the entire hierarchy of all the child tables and the corresponding child table column names and their respective parent(s).
 3. The name of the triggers the table is referring to.
 4. The name of the stored proc which uses the table.
Let me elaborate this with the help of an example to have better understanding.
Let's say I have created 3 tables as follows:
CREATE TABLE parent
(
parent_col1 int primary key,
parent_col2 int
)
GO
CREATE TABLE Child1
(
Child1_col1 int primary key,
Child1_col2 int Foreign key references parent(parent_col1)
)
GO
CREATE TABLE Child2
(
More
Tracing deadlock with Extended events
In last two articles, we have learned how to capture deadlock using SQL Server Profiler and Tracing deadlock with Trace Flag 1222 and Trace Flag 1204. Now in this post we are going to learn a very useful method of tracing deadlock with Extended Events. These events are less resource intensive and light weight in comparison of SQL Server Profiler. We use these events to capture interested information to be analyzed now or later from heavy load servers (Like production server).
If we don't have any clue about deadlock being occurred in midnight at our production server and because of heavy load on server, we can not use SQL Server Profiler their. Extended events are very useful because of very few resource utilization. We can create a session and start it to capture only those events in which we are interested. Extended events are very useful in such types … More
Tracing deadlock with Trace Flag 1222 and Trace Flag 1204
In previous article, we have already learned that how we can trace a deadlock situation with SQL Server Profiler. In case you don't read, click here. And to understand locking, blocking and deadlocking in sql server, click here. In this post we will learn how we can use "trace flag 1204 and trace flag 1222" to trace a deadlock.
In this article we are going to learn how we can trace SQL Server deadlock and extract the deadlock information from captured data. We will use DBCC TRACEON command, Trace Flag 1204 and Trace Flag 1222 to capture the details.
What is DBCC (Database Console Commands)?
DBCC statements act as Database Console Commands for SQL Server. We can run it using TSQL programming language. It provides commands related to various categories like Maintenance, Miscellaneous, Informational and Validation.
Deadlock
As we know that Deadlock in SQL Server is a situation … More
Tracing deadlock with sql profiler 3
Hi folks, In this article "Trace deadlock sql profiler", we are going to learn, how we can capture a deadlock in a graphical form in sql server using an inbuilt tool of sql server named "SQL Server Profiler".
First of all note that, don't try to reproduce this sample deadlock and start SQL Server Profiler trace on your production server unless you are well versed of Profiler and event tracing. I recommend to do all these stuffs on you local machine to learn capturing deadlocks using SQL Server Profiler.
We are going to cover below points in this article;
 1. What is a deadlock?
 2. How to create a demo purpose deadlock?
 3. Using SQL Server Profiler to capture deadlock details and graphs.
 4. Understanding the deadlock important events in sql server profiler.
What is a deadlock?
A short note on deadlock:
Deadlock occurs when two sessions are waiting for a lock to clear … More
Get total number of rows for all tables
How to get total number of rows for all the tables in a particular database? In this post we are going to learn how we can get "total number of rows for all tables" in a database.
We will use the inbuilt system views of SQL Server to generate this list. Sometimes we need to pick some high record containing tables for some demo or any other purpose.
To get the desired output, first select the database for which you want to extract the list of tables with total number of rows as below;
USE AdventureWorks2012
GO

Now use the below query and have a look on its output;
SELECT SCHEMA_NAME(ST.schema_id) + '.' + ST.Name AS TableName, MAX(SP.rows) AS TotalRows
FROM SYS.Tables ST
INNER JOIN SYS.partitions SP on SP.object_id = ST.object_id
GROUP BY SCHEMA_NAME(ST.schema_id) + '.' + ST.Name
ORDER BY TotalRows DESC
OR
SELECT SCHEMA_NAME(ST.schema_id) + '.' + ST.Name
More
SET XACT_ABORT in SQL Server 2
What is SET XACT_ABORT in SQL Server?
In this post "SET XACT_ABORT in SQL Server", we will discuss about the XACT_ABORT command. SET XACT_ABORT controls the atomicity of any user defined transaction. By default SET XACT_ABORT is OFF. It specifies whether SQL Server automatically rollback and abort a transaction if any error occurred in any statement of the transaction. If SET XACT_ABORT is ON, if any run time error occur in any t-sql statement of the transaction, entire transaction is terminated and rolled back. If SET XACT_ABORT is OFF, only that statement which raised the error is rolled back and transaction continues the processing of other statements.
Note that if the severity of the error is high, entire transaction can be rolled back even if SET XACT_ABORT is OFF.
Scope of XACT_ABORT
Scope of XACT_ABORT is at connection level and remains until either reconfigured or connection is closed. Note that … More
Locking, Blocking and Deadlocking in sql server 2
Lock vs Block vs Deadlock
Have you ever asked to differentiate lock, block and deadlock in sql server during your interview session? In this article we are going to differentiate these frequently confused terms – Lock, Block and Deadlock. So lets have a look on "Lock vs Block vs Deadlock"
These terms sound the same but are different in their meanings. Have a look on below definition to understand it.
Lock
When any session needs access to a piece of data from Database, a lock of some type is placed on that data to maintain the isolation property of database. Locking is different from blocking.
Block
When a session needs to wait for a resource being locked by another session, this process is called as blocking. e.g. If session "A" is waiting for a resource "R" being used by session "B", you can say that session "B" is blocking session … More


text:
After naming Oshiwara, an upcoming railway station in the Western line of Mumbai suburban railway to Ram Mandir, the Maharashtra government passed a resolution to change the name of Elphinstone Road railway station to Prabhadevi.
Chief Minister Devendra Fadnavis said Shiv Sena leaders and residents of the Elphinstone locality had demanded the change in the name, according to Firstpost. Meanwhile the details for the change in name have been sent to the Ministry of Railways in Delhi.
Apart from renaming the Elphinstone Road, Chief Minister has also proposed renaming of two other places, Chhatrapati Shivaji Terminus railway station to Chhatrapati Shivaji Maharaj Terminus railway station and Chhatrapati Shivaji International Airport to Chhatrapati Shivaji Maharaj International Airport.
The station is currently named after John Elphinstone, 13th Lord Elphinstone, The Governor of Bombay during British Era from 1853 to 1860. And the Prabhadevi temple which is situated in the vicinity was built about 300 years ago and is significant to the city's history. The Mumbai International Airport was earlier known as Sahara International Airport and renamed to Chhatrapati Shivaji International Airport in 1999, whereas the government had renamed the Victoria Terminus to Chhatrapati Shivaji Terminus in 1996.
Various political parties have demanded that the names of three Mumbai suburban railway stations be also changed. They are Dadar railway station to Chaityabhumi, Grant Road railway station to August Kranti and Charni Road railway station to Gaondevi.

source: m-a-p/FineFineWeb


Camtasia vs. Filmora (2021)
Camtasia vs Filmora
Camtasia vs. Filmora
In a world where digital products are becoming increasingly important, you need tools that will enable you to get the best outcomes. For example, recording and editing videos carry a great deal of significance in the current digital age, where content is a massively valuable product. But, the big question to content creators is whether they know the right tools to use.
Well, Camtasia and Filmora are common tools of the trade in the content creation space. It's for this reason that the Camtasia vs. Filmora debate happens to be a significant one. In this article, we compare Camtasia and Filmora to see which one you would consider.
Both video editing software tools have features that define their individual functionalities. The features in each of them operate differently and produce unique results depending on their levels of advancement.
This is an excellent way of comparing them to allow users to choose the one that fits their needs and preferences the best. Here are some of the features contained in Camtasia and Filmora.
The first feature that both software have is transitions. Essentially, transitions are the animations that bridge the gap between video clips. Camtasia has a total of 31 transitions, while Filmora has a total of 233 transitions.
So, certainly, in terms of the numbers, Filmora emerges as the winner here. Moreover, the quality of transitions in Filmora is higher than the one in Camtasia.
Video Effects
Video effects are important because they increase the value of videos by making them look better. Well, in regards to video effects, Camtasia has 10 video effects. Some of the video effects contained in Camtasia include colour adjustment and clip speed.
Related: Adobe Premiere Pro vs. HitFilm Express
Filmora contains 287 video effects. Clearly, the number of video effects in Filmora is higher than the one in Camtasia. The advantage of using software with many video effects is that you have a wide spectrum to choose from to improve the appearance of your videos.
If you're looking for video editing software with a wide variety of video effects, then your choice should be Filmora.
Audio Effects
Filmora Audio Effects
Filmora Audio Effects
How do audio effects compare in Camtasia vs Filmora comparison? Both Camtasia and Filmora can edit audio files. Additionally, they can get rid of unnecessary background noise, which affects the quality of your content. However, Filmora has better and advanced capabilities for audio editing when it comes to individual capabilities than Camtasia.
It is possible to fine-tune the pitch of audio recordings for both of them in the same vein. The bottom line here is that Filmora has more features for editing audio compared to Camtasia.
Cursor Effects
Camtasia has 16 cursor effects that you can apply. Some of the effects include: highlight, spotlight, magnify, and cursor smoothing. On the contrary, Filmora has fewer cursor effects compared to Camtasia. If you're looking for editing software with a wide variety of cursor effects, Camtasia is the better option.
Screen Recorders
Both Camtasia and Filmora have good screen recording abilities. While they have different options for screen recording, they definitely have commendable screen recorders.
Ease of Use
Ease of use is a major consideration that software users factor in when choosing the tool to use. Given that there are beginners in content creation, they would rather opt for easy to use software compared to the complicated one.
Anyway, it all depends on the needs of a user and their level of skill in usage. When you compare Camtasia and Filmora, you'll find that both are easy to use to a great extent. None of them is complicated.
Related: Adobe Premiere Pro vs. Corel VideoStudio
However, Filmora happens to have advanced features. It is also worth pointing out that Filmora has features that help to boost its productivity, which encourages users to use it. Ultimately, with some bit of training, you'll be in a position to use these software tools with a lot of ease.
Camtasia vs Filmora Pricing
Camtasia vs FilmCamtasia vs Filmora – Pricing
One of the factors that many content creators consider when considering video editing software is price. Basically, both Camtasia and Filmora have different pricing plans that users can choose from.
For this article, let's compare their one-time price plan. For Camtasia, the one-time price plan costs $249.99 for a single license. Users who would like to have access to future versions of the software should buy the Maintenance plan at $49.75 annually.
The one-time cost for Filmora is $79.99. If you would like to have access to the latest versions of the video editing software, you can do so by paying $49.99 annually. Clearly, the cheaper video editing software is Filmora.
The price of a software tool depends on multiple aspects, including the features and others. These are the things you consider when settling on the one you'll opt for.
Related: Adobe Premiere Rush vs. Elements 2021
System Requirements for Functionality
The best advice that software experts advise users is that they should have the best hardware to produce superior quality videos. That being said, you can still use minimum system requirements and achieve good outcomes.
Both software tools have different system requirements for their operations. For Windows systems, Camtasia can use a minimum system requirement of Windows 10, while in Filmora, you can use a minimum of Windows 7.
For the processor, a minimum of 2.8GHz is fine for Camtasia, while Filmora can do well with 2 GHz. The minimum RAM specification for Camtasia is 8GB, while that for Filmora is 4GB. In terms of disk space, the minimum for Camtasia is 4GB, while that for Filmora is 10GB.
Which one is for you?
From all the features compared, I suggest going with Filmora. It requires less RAM, it's cost-effective, and it offers additional functionalities. Unless you have a specific option that you like in Camtasia, Filmora is the way to go.
Links: Camtasia vs. Filmora
Wind up
Now, having compared Camtasia vs Filmora, you're able to settle for the one that best fits you. It all comes down to what you want for your video editing projects. Your tastes, preferences, and needs are imperative when deciding to use either Camtasia or Filmora.
For example, if you're looking for an editing software tool with more advanced features, you can opt for Filmora. Also, if you want more cursor effects applications, Camtasia is the option to go for. The takeaway here is that both are great options depending on one's needs and preferences.
Leave a Comment
Scroll to Top


text:
In the steampunk genre, I was wondering if some kind of steam powered death ray could be done. After a couple of search on google, here's what I found. It seems astronomers observe natural masers in space. The article mention a 1.3cm wavelength with water vapour at 1000K:
Once we have a maser, perhaps we can pump a laser. Imagine: a steampunk laser powered by steam!
Applied to rockets, you'll have steampunk space exploration!
Maybe it's not practical, but it may inspire some good fiction.


Take the 2-minute tour ×
I am getting this error when I GetById() on an entity and then set the collection of child entities to my new list which comes from the MVC view.
I don't quite understand this line:
Why would I change the relationship between 2 entities? It should remain the same throughout the lifetime of the whole application.
The code the exception occurs on is simple assigning modified child classes in a collection to the existing parent class. This would hopefully cater for removal of child classes, addition of new ones and modifications. I would have thought Entity Framework handles this.
The lines of code can be distilled to:
var thisParent = _repo.GetById(1);
thisParent.ChildItems = modifiedParent.ChildItems();
share|improve this question
6 Answers 6
up vote 59 down vote accepted
You should delete old child items thisParent.ChildItems one by one manually. Entity Framework doesn't do that for you. It finally cannot decide what you want to do with the old child items - if you want to throw them away or if you want to keep and assign them to other parent entities. You must tell Entity Framework your decision. But one of these two decisions you HAVE to make since the child entities cannot live alone without a reference to any parent in the database (due to the foreign key constraint). That's basically what the exception says.
What I would do if child items could be added, updated and deleted:
public void UpdateEntity(ParentItem parent)
 // Load original parent including the child item collection
 var originalParent = _dbContext.ParentItems
 .Where(p => p.ID == parent.ID)
 .Include(p => p.ChildItems)
 // We assume that the parent is still in the DB and don't check for null
 // Update scalar properties of parent,
 // can be omitted if we don't expect changes of the scalar properties
 var parentEntry = _dbContext.Entry(originalParent);
 foreach (var childItem in parent.ChildItems)
 var originalChildItem = originalParent.ChildItems
 .Where(c => c.ID == childItem.ID && c.ID!= 0)
 // Is original child item with same ID in DB?
 if (originalChildItem!= null)
 // Yes -> Update scalar properties of child item
 var childEntry = _dbContext.Entry(originalChildItem);
 // No -> It's a new child item -> Insert
 childItem.ID = 0;
 // Don't consider the child items we have just added above.
 // (We need to make a copy of the list by using.ToList() because
 // _dbContext.ChildItems.Remove in this loop does not only delete
 // from the context but also from the child collection. Without making
 // the copy we would modify the collection we are just interating
 // through - which is forbidden and would lead to an exception.)
 foreach (var originalChildItem in
 originalParent.ChildItems.Where(c => c.ID!= 0).ToList())
 // Are there child items in the DB which are NOT in the
 // new child item collection anymore?
 if (!parent.ChildItems.Any(c => c.ID == originalChildItem.ID))
 // Yes -> It's a deleted child item -> Delete
Note: This is not tested. It's assuming that the child item collection is of type ICollection. (I usually have IList and then the code looks a bit other.) I've also stripped away all repository abstractions to keep it simple.
I don't know if that is a good solution but I believe that some kind of hard work along these lines must be done to take care of all kinds of changes in the navigation collection. I would be happy as well to see an easier way.
share|improve this answer
So what if some are only changed? Does that mean I still have to remove them and add them again? – jaffa Apr 4 '11 at 17:10
_USER_: No, you can also update existing items of course. I've added an example how I would probably update the child collection, see Edit section above. – Slauma Apr 4 '11 at 18:33
_USER_: Lol, if I knew that you are going to modify your answer I would not write my answer... – Ladislav Mrnka Apr 4 '11 at 19:53
_USER_: No, no, I am glad that you wrote your own answer. Now at least I know that it's not complete nonsense and much too complicated what I did above. – Slauma Apr 4 '11 at 20:27
I would add a condition when retrieving the originalChildItem in the foreach:...Where(c => c.ID == childItem.ID && c.ID!= 0) otherwise it will return the newly added children if the childItem.ID == 0. – perfect_element Mar 1 at 17:02
This is a very big problem. What actually happens in your code is this:
 - You load Parent from the database and get an attached entity
 - You replace its child collection with new collection of detached children
 - You save changes but during this operation all children are considered as added becasue EF didn't now about them till this time. So EF tries to set null to foreign key of old children and insert all new children => duplicate rows.
Now the solution really depends on what you want to do and how would you like to do it?
If you are using ASP.NET MVC you can try to use UpdateModel or TryUpdateModel.
If you want just update existing children manually, you can simply do something like:
foreach (var child in modifiedParent.ChildItems)
 context.Entry(child).State = EntityState.Modified;
Attaching is actually not needed (setting the state to Modified will also attach the entity) but I like it because it makes the process more obvious.
If you want to modify existing, delete existing and insert new childs you must do something like:
var parent = context.Parents.GetById(1); // Make sure that childs are loaded as well
foreach(var child in modifiedParent.ChildItems)
 var attachedChild = FindChild(parent, child.Id);
 if (attachedChild!= null)
 // Existing child - apply new values
 // New child
 // Don't insert original object. It will attach whole detached graph
// Now you must delete all entities present in parent.ChildItems but missing
// in modifiedParent.ChildItems
// ToList should make copy of the collection because we can't modify collection
// iterated by foreach
foreach(var child in parent.ChildItems.ToList())
 var detachedChild = FindChild(modifiedParent, child.Id);
 if (detachedChild == null)
share|improve this answer
But there is your interesting remark about using.Clone(). Do you have the case in mind that a ChildItem has other sub-child navigation properties? But in that case, wouldn't we want that the whole sub-graph is attached to the context since we would expect that all the sub-childs are new objects if the child itself is new? (Well, might be different from model to model, but let's assume the case that the sub-childs are "dependent" from the child like the childs are dependent from the parent.) – Slauma Apr 4 '11 at 20:35
It would probably require "smart" clone. – Ladislav Mrnka Apr 4 '11 at 20:39
What if you don't want to have a Child's collection in your context? _URL_ – kirsten g Nov 27 '13 at 4:55
I've no idea why the other two answers are so popular!
I believe you were right in assuming the ORM framework should handle it - after all, that is what it promises to deliver. Otherwise your domain model gets corrupted by persistence concerns. NHibernate manages this happily if you setup the cascade settings correctly. In Entity Framework it is also possible, they just expect you to follow better standards when setting up your database model, especially when they have to infer what cascading should be done:
You have to define the parent - child relationship correctly by using an "identifying relationship".
If you do this, Entity Framework knows the child object is identified by the parent, and therefore it must be a "cascade-delete-orphans" situation.
Other than the above, you might need to (from NHibernate experience)
instead of replacing the list entirely.
_USER_'s comment reminded me that detached entities are another part of the overall problem. To solve that, you can take the approach of using a custom model binder that constructs your models by attempting to load it from the context. This blog post shows an example of what I mean.
share|improve this answer
Setup as identifying relationship won't help here because the scenario in the question has to deal with detached entities ("my new list which comes from the MVC view"). You still have to load the original children from the DB, find the removed items in that collection based on the detached collection and then remove from the DB. The only difference is that with an identifying relationship you can call parent.ChildItems.Remove instead of _dbContext.ChildItems.Remove. There is still (EF <= 6) no built-in support from EF to avoid lengthy code like the one in the other answers. – Slauma May 7 '13 at 21:39
I understand your point. However, I believe with a custom model binder that loads the entity


Ramesh T A
Rookie - 294 Points (28th August 1950 / Madurai, Tamil Nadu, India)
Who has really the boon of freedom in the world?
Plants, animals, men or birds want freedom forever;
Peace and happiness everybody loves to enjoy here.
The joy everyone enjoys is not ready to sacrifice ever;
The strongest dominates to maintain its freedom ever.
Survival depends upon the favourable situation only;
Life goes on for all living beings big or small somehow.
Living on land, swimming on sea and flying in air there's
Survival of many beings in the world striving for satiation.
Land survivors cannot live in the sea and fly in the air;
Survivors of both on land and sea cannot fly in the sky;
Living on land man can survive on sea but not in the sky;
Of all the creatures only sea gulls and albatross survive
On land, sea and sky as they only have boon of freedom!
Submitted: Wednesday, March 10, 2010
Do you like this poem?
0 person liked.
0 person did not like.
Read this poem in other languages
This poem has not been translated into any other language yet.
I would like to translate this poem »
word flags
What do you think this poem is about?
Comments about this poem (A BOON OF FREEDOM! by Ramesh T A )
Enter the verification code :
 - Rookie - 31 Points Leonard Dabydeen (3/10/2010 10:31:00 AM)
 This prosaic read certainly invites discussion, Ramesh. If we were to juxtapose creatures for survival in the triangle of land, sea and sky - are we to feel satiated that only the'strong' shall survive? Or is it that'survival depends upon the favourable'? If'sea gulls and albatross survive/On land, sea and sky as they only have boon of freedom! ', what makes other 'creatures' less favourable to obtain this position?
 A thoughful write, indeed. Thanx for sharing.
 Leonard (Report) Reply
Read all 1 comments »
Trending Poets
Trending Poems
 1. If, Rudyard Kipling
 2. Invictus, William Ernest Henley
 3. If You Forget Me, Pablo Neruda
 4. Still I Rise, Maya Angelou
 6. Sonnet XVII, Pablo Neruda
 7. Dreams, Langston Hughes
 8. Annabel Lee, Edgar Allan Poe
 9. Daffodils, William Wordsworth
 10. The Road Not Taken, Robert Frost
Poem of the Day
poet Tu Fu
Tonight at Fu-chou, this moon she watches
Alone in our room. And my little, far-off
Children, too young to understand what keeps me
Away, or even remember Chang'an. By now,
...... Read complete »
Modern Poem
poet Francis Ledwidge
New Poems
 1. From Virgin To Woman, Luis Estable
 2. Catch it without sigh, Aftab Alam
 3. Go Now, Unto Your Silent Sleep {Ariel's.., Frank James Ryan Jr...FjR
 4. The S E E R...(r), Frank James Ryan Jr...FjR
 5. Vatsyaynaa, Were You A Specialist of Kaa.., Bijay Kant Dubey
 6. Born Teaher, dr.k.g.balakrishnan kandangath
 7. Is it over, TSOHGEHT SHEEHY
 8. Of The Nurturing...(r), Frank James Ryan Jr...FjR
 9. Spirit, M.J. Lemon
 10. Dreams, Akhtar Jawad
[Hata Bildir]


text:
Dolly Sods Wilderness Description
Dolly Sods Wilderness is part of the Monongahela National Forest system. Much of the land in the higher elevations consists of eco-systems that are more commonly seen much further north in Canada.
The 17,000 acre wilderness has 47 miles of hiking trails, many of which follow old logging roads and railroad grades. The area is very popular with hikers, backpackers, cross-country skiiers, and campers.
Note: During World War II, the military used this wilderness area as a training ground. Many of the mortar and artillery shells used still exist, some of which could still be live.
The trails and campsites were surveyed in 1997, at which time 15 shells were discovered, some of which were live.
These were exploded on site. Please do not wander off of the designated trails as there could be live ordnances.
Note: For a printed map of the trails in the Canaan Valley, we highly recommend the 'Explorer Trail Map' by Voila Interactive Concepts.
This map was meticulously compiled by a local resident and is an excellent guide of the vast trail network in the Canaan Valley. You can find
it at local outdoor shops such as Blackwater Bikes in Davis and at the Timberline Resort store.

source: HuggingFaceFW/fineweb-edu


Group Chat with Teams
From Help Wiki
Revision as of 15:57, 28 December 2020 by Krusea (Talk | contribs) (Pin a Chat)
Teams can be used for group chats with anyone with an Evergreen account.
 - Group chats can be named
 - You can chat with anyone with an Evergreen account
 - You do not need to be on a Team with someone to chat with them
Start a Chat
You can include up to 250 people in a group chat (not recommended).
 1. In the Teams app click the Chat icon on the left sidebar
 2. Click New Chat (the pencil icon) at the top of the chat list
 3. Enter the names of the people you want to add to the chat
 4. Click the down arrow at to the far right of the names field
 5. Enter a name for the group chat
 6. Type a message and click send
Add More People
More people can be added after the chat has started. When new users are added you can select who much of the chat history they can see.
 1. Click the view and add participants icon in the top right of the chat window
 2. Select Add people
 3. Enter the name or email of the new participant.
 4. Select how much of the chat history the new users can see
 - Don't include chat history
 - Include history from the past number of days - Enter a number
 - Include all chat history
 5. Click Add
Pin a Chat
Pinning can be used to keep track of chats
 - Pinned chats appear at the top of the chat list
 - Drag the chats to re-order them
 - You can have 15 pinned chats
 1. Select the chat in you chat list
 2. Select More Options (the three horizontal dots)
 3. Select Pin
Add Files


Home > Class Reference > %SYS namespace > %iKnow.Classification.Methods.naiveBayes
class %iKnow.Classification.Methods.naiveBayes extends %iKnow.Classification.Methods.Base
This classification method relies on the Naive Bayes theorem to calculate the probability a document belongs to a category based on probability scores for the individual terms.
Given this probability-based approach, the document vector local weights and normalization settings are fixed at "binary" and "none" respectively.
Method Inventory (Including Private)
Methods (Including Private)
method %BuildClassificationMethod(ByRef pClassifier As %iKnow.Classification.Definition.Classifier, pVerbose As %Boolean = 1, pIncludeBuilderParams As %Boolean = 1) as %Status [ Language = objectscript ]
Inherited Members
Inherited Properties (Including Private)
Inherited Methods (Including Private)


How to Remove .Php Extension From A URL In Nginx?
12 minutes read
To remove the .php extension from a URL in Nginx, you can use the following configuration in your Nginx server block:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
location / {
 try_files $uri $uri/ $uri.php?$args;
}
location ~ \.php$ {
 include snippets/fastcgi-php.conf;
 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
}
Explanation:
 1. The location / block checks for the existence of requested files or directories. It first tries to serve the requested URL as is ($uri), then it checks if a directory with the same name exists ($uri/), and finally, it appends .php to the URL and passes the arguments ($uri.php?$args) if the previous checks fail.
 2. The location ~ \.php$ block is responsible for handling PHP files. It includes the fastcgi-php.conf configuration snippet to ensure proper PHP-FPM handling. The fastcgi_pass directive specifies the PHP-FPM socket file, which may vary depending on your PHP version/configuration.
 3. The fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; line sets the path to the PHP script file based on the document root and the requested script name. This ensures that PHP-FPM knows which file to execute.
 4. The include fastcgi_params; line includes additional FastCGI parameters that are typically required by PHP-FPM.
By utilizing this Nginx configuration, the .php extension will be automatically removed from the URLs while allowing the server to correctly handle the PHP files.
Best Nginx Books to Read in December 2023
1
NGINX Cookbook: Over 70 recipes for real-world configuration, deployment, and performance
Rating is 5 out of 5
NGINX Cookbook: Over 70 recipes for real-world configuration, deployment, and performance
2
Nginx HTTP Server: Harness the power of Nginx to make the most of your infrastructure and serve pages faster than ever before, 4th Edition
Rating is 4.9 out of 5
Nginx HTTP Server: Harness the power of Nginx to make the most of your infrastructure and serve pages faster than ever before, 4th Edition
3
NGINX Unit Cookbook: Recipes for Using a Versatile Open Source Server
Rating is 4.8 out of 5
NGINX Unit Cookbook: Recipes for Using a Versatile Open Source Server
4
NGINX Cookbook: Advanced Recipes for High-Performance Load Balancing
Rating is 4.7 out of 5
NGINX Cookbook: Advanced Recipes for High-Performance Load Balancing
5
Nginx Troubleshooting
Rating is 4.6 out of 5
Nginx Troubleshooting
6
Nginx HTTP Server - Third Edition
Rating is 4.5 out of 5
Nginx HTTP Server - Third Edition
7
Nginx Simplified: Practical Guide to Web Server Configuration and Optimization
Rating is 4.4 out of 5
Nginx Simplified: Practical Guide to Web Server Configuration and Optimization
8
Mastering NGINX - Second Edition
Rating is 4.3 out of 5
Mastering NGINX - Second Edition
How can we redirect URLs without the .php extension to the corresponding URL with the extension?
To redirect URLs without the .php extension to the corresponding URL with the extension, you can use an Apache .htaccess file or server-side scripting.
 1. Using .htaccess file (Apache server): Create or modify the .htaccess file in the root directory of your website if it doesn't already exist. Make sure the mod_rewrite module is enabled on your server. Add the following lines to your .htaccess file: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php [NC,L] Save the .htaccess file and upload it to your server.
 2. Using server-side scripting (e.g., PHP): Add the following code to the top of your PHP file to check if the requested file with .php extension exists, and if not, redirect to the URL with the extension: Save the PHP file and upload it to your server.
Both approaches will redirect requests for URLs without the .php extension to the corresponding URL with the extension, ensuring a seamless user experience while maintaining proper URLs.
What does the .php extension in a URL indicate?
The .php extension in a URL indicates that the webpage is written in PHP (Hypertext Preprocessor) scripting language. PHP is a widely-used server-side scripting language that is primarily used for web development. When a web server receives a request with a .php extension, it recognizes that it needs to process the PHP code before sending the HTML response to the client's browser.
How can we open the nginx configuration file?
To open the nginx configuration file, you can follow these steps:
 1. Open a terminal or command prompt.
 2. Navigate to the directory where the nginx configuration files are located. The default location is usually /etc/nginx/. You may need root/administrator privileges to access this directory.
 3. Use a text editor to open the configuration file. Here are a few common options: Nano: sudo nano nginx.conf Navigate through the file using the arrow keys. Press Ctrl + O to save changes, and Ctrl + X to exit the editor. Vim: sudo vim nginx.conf Press i to enter insert mode, make changes, press Esc to exit insert mode, then type :wq and press Enter to save changes and exit Vim. GNU Emacs: sudo emacs nginx.conf Use the Emacs commands for editing, saving, and exiting the file. Sublime Text: sudo subl nginx.conf If Sublime Text is installed, it will open the file in a new window where you can make changes. Save the file and close the window to exit. VSCode: sudo code nginx.conf If Visual Studio Code is installed, it will open the file in a new window where you can make changes. Save the file and close the window to exit. Note: You can use any text editor you prefer.
Remember to use sudo (Super User) or have appropriate permissions to access and modify the nginx configuration file.
Best Web Hosting Providers in 2023
1
AWS
Rating is 5 out of 5
AWS
2
DigitalOcean
Rating is 4.9 out of 5
DigitalOcean
3
Vultr
Rating is 4.8 out of 5
Vultr
4
Cloudways
Rating is 4.7 out of 5
Cloudways
Are there any limitations to removing the .php extension using nginx?
Yes, there can be some limitations to removing the .php extension using Nginx. Some of the limitations include:
 1. File conflicts: If you have files that share the same name without the .php extension, there can be conflicts in serving the correct file. For example, if you have both "about.php" and "about" files, Nginx may have trouble distinguishing the correct one.
 2. URL conflicts: If you have URLs that conflict with existing directory names or other server configurations, removing the .php extension can cause conflicts. For example, if you have a directory named "about" and also want to serve "about.php" as "about", Nginx may have difficulty serving the correct resource.
 3. Directory indexing: By default, Nginx may not allow directory indexing when removing the .php extension. This means that if you access a directory without specifying a file, Nginx will not show the directory contents, resulting in a 403 Forbidden error.
 4. Cached resources: If you have previously accessed a PHP file with the .php extension, it might be cached by proxies or the client's browser. Removing the .php extension will not automatically update the cached resources, leading to potential issues with outdated content.
To mitigate these limitations, you can configure Nginx to handle such cases explicitly using location directives or by employing other techniques such as rewriting URLs, managing your file and directory structure appropriately, and ensuring proper cache management.
What happens if the requested URL without the .php extension does not exist?
If the requested URL without the .php extension does not exist, the web server will return a "404 Not Found" error. This means that the server could not find the requested resource or page.
Facebook Twitter LinkedIn Telegram Whatsapp Pocket
Related Posts:
To override the location directive in Nginx, you can modify the Nginx configuration file (usually located at /etc/nginx/nginx.conf, /etc/nginx/conf.d/*.conf, or /etc/nginx/sites-available/*) or create


Export (0) Print
Expand All
Adding Text Boxes (Report Builder 2.0)
Add a text box to a report when you want to display literal text for titles, descriptions, and labels, or dynamic text based on expressions. An expression can contain literal text, point to a field in the database, or calculate data. All expressions are shown as placeholder text so that you can format numbers, colors and other appearance properties. You can also combine placeholders with literal text in order to format text with multiple fonts, colors, styles, and actions. For more information, see Formatting Text and Importing HTML (Report Builder 2.0).
Every cell in a table or matrix (a tablix data region) contains a text box, which can be formatted in the same way as stand-alone text boxes in a report. To show repeating text boxes in a free-form layout, arrange multiple text boxes in a list data region. Use a list when you want to repeat the form for multiple values, for example, a customer information sheet repeated once for each customer. Use a rectangle container when you want to control the text box layout and white space below the last text box. For more information, see Working with Data Regions (Report Builder 2.0).
By default, text boxes are a set size. If you want to allow a text box to expand vertically based on its contents, right-click the text box and click Text Box Properties. On the General tab, check Allow height to increase. To allow the text box to shrink based on its contents, check Allow height to decrease. These options correspond to the CanGrow or CanShrink properties in the Properties pane, respectively.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Community Additions
ADD
Show:
© 2015 Microsoft


AWS Systems Manager
User Guide
The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>
You can return to the original look by selecting English in the language selector above.
Working with OpsItems
This section describes how to configure the options available in an OpsItem. For information about creating OpsItems, see Creating OpsItems.
A related resource is the impacted resource (the resource that needs to be investigated or the resource that triggered the Amazon CloudWatch Events event that created the OpsItem). Each OpsItem has a Related resources section. If CloudWatch Events creates the OpsItem, then the system automatically populates the OpsItem with the Amazon Resource Name (ARN) of the resource. You can also manually specify ARNs of related resources. For some ARN types, OpsCenter automatically creates a deep link that displays details about the resource without having to visit other console pages to view that information. For example, you can specify the ARN of an Amazon EC2 instance. In OpsCenter, you can then view all of the details that Amazon EC2 provides about that instance. To view a list of resource types that automatically create deep links to related resource, see Supported Resources Reference.
Note
You can manually add the ARNs of additional related resources. Each OpsItem can list a maximum of 100 related resource ARNs.
To view and add related resources
 1. Open the AWS Systems Manager console at _URL_
 2. In the navigation pane, choose OpsCenter.
 3. Choose the OpsItems tab.
 4. Choose an OpsItem ID.

 A new OpsItem on the OpsCenter Overview page
 5. To view information about the impacted resource, choose the Related resources details tab.

 Viewing the Related Resources tab for an OpsItem
 This tab displays information about the resource from several AWS services. Expand the Resource details section to view information about this resource as provided by the AWS service that hosts it. You can also toggle through other related resources associated with this OpsItem by using the Related resources list.
 6. To add additional related resources, choose the Overview tab.
 7. In the Related resources section, choose Add.
 8. For Resource ARN, enter the ARN of the related resource, and then choose Add.
 Note
 If you don't know the ARN of the resource, you can manually create it. For information about how to create an ARN, see the Amazon Resource Names (ARNs) and AWS Service Namespaces in the Amazon Web Services General Reference.
Editing OpsItem Details
The OpsItem details section includes information about the OpsItem, including the description, title, source, OpsItem ID, and the status, to name a few.
 Viewing details in the console about an OpsItem
For OpsItems that were created automatically, Amazon CloudWatch Events populates the Title, Source, and Description fields. You can edit the Title and the Description fields, but you can't edit the Source field.
About OpsItem Status
When you edit an OpsItem, you can specify a status. The Status list includes the following options:
Status Details
Open
Active in the system, but not being worked on by an engineer.
In progress
Active in the system and being worked on by an engineer.
Resolved
Not active in the system, but available in Search and when using the Resolved filter on the OpsItem Overview page. You can edit a resolved OpsItem to change the status to Open or In progress.
You can view reports about OpsItem statuses on the Summary tab. For more information, see Viewing OpsCenter Summary Reports.
About OpsItem Priority
When you edit an OpsItem, you can choose a priority for that OpsItem by choosing a value between 1 and 5. We recommend that your organization determine what each priority level means and a corresponding service level agreement for each.
About the Notifications Field
When you edit an OpsItem, you can specify the ARN of an SNS topic in the Notifications field. By specifying an ARN, you ensure that all stakeholders receive a notification when the OpsItem is edited, including a status change. You may find it helpful to create different ARNs for notifications about different types of AWS resources or different environments. For more information, see the Amazon Simple Notification Service Developer Guide.
Important
The SNS topic must exist in the same AWS Region as the OpsItem. If they are in different regions, the system returns an error.
To edit OpsItem details
 1. Open the AWS Systems Manager console at _URL_
 2. In the navigation pane, choose OpsCenter.
 3. Choose an OpsItem ID to open the details page.
 4. In the OpsItem details section, choose Edit.
 5. Edit the details of the OpsItem according to the requirements and guidelines specified by your organization.
 6. When you are finished, choose Save.
Working with Related and Similar OpsItems
The Related and Similar OpsItem features are designed to help you investigate operations issues while providing context about the scope of an issue. In the Related OpsItems section, you can specify a maximum of 10 IDs for other OpsItems that are related to the current OpsItem. OpsItems can be related in different ways, including a parent-child relationship between OpsItems, a root cause, or a duplicate.
 Viewing related OpsItems.
The Similar OpsItems feature is a system-generated list of OpsItems that may be related or of interest to you. To generate the list, the system scans the titles and descriptions of all OpsItems and returns OpsItems that use similar words.
 Viewing similar OpsItems.
To add a related OpsItem from Similar OpsItems
 1. Open the AWS Systems Manager console at _URL_
 2. In the navigation pane, choose OpsCenter.
 3. Choose an OpsItem ID to open the details page.
 4. In the Related OpsItem section, choose Add.
 5. For OpsItem ID, specify an ID.
 6. Choose Add.
Working with Operational Data
Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB. You can enter multiple key-value pairs of operational data.
Important
Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm.
 Viewing operational data for an OpsItem.
You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. Operational data that is not searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).
To add operational data to an OpsItem
 1. Open the AWS Systems Manager console at _URL_
 2. In the navigation pane, choose OpsCenter.
 3. Choose an OpsItem ID to open the details page.
 4. Expand either Operational data.
 5. If no operational data exists for the OpsItem, then choose Add. If operational data already exists for the OpsItem, choose Manage.
 6. For Key, specify a word or words to help users understand the purpose of the data. The key can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm.
 7. For Value, specify the data.
 8. Choose Save.
After you create operational data, you can edit the key and the value, remove the operational data, or add additional key-value pairs by choosing Manage.
Note
You can filter OpsItems by using the Operational data operator on the OpsItems page. In the Search box, choose Operational data, and then enter a key-value pair in JSON. You must enter the key-value pair by using the following format: {"key":"key_name","value":"a_value"}
Reducing Duplicate OpsItems
OpsCenter uses a combination of built-in logic and configurable deduplication strings to help avoid creating duplicate OpsItems. Deduplication built-in logic is applied anytime the CreateOpsItem API action is called. When creating the OpsItem, Systems Manager creates and stores a hash based on the deduplication string and the resource that trigged the OpsItem. When a request is made to create a new OpsItem, the system checks the deduplication string of the new request. If a matching hash exists for this deduplication string, then Systems Manager doesn't create a new OpsItem.
Note the following information about OpsCenter and deduplication:
 - Deduplication strings are not case sensitive. If the system finds a matching deduplication string in an OpsItem, regardless of casing, the new OpsItem isn't created.
 - If the system finds a matching deduplication string in an OpsItem, and that OpsItem has a status of Open, then the new OpsItem isn'


text:
Current QOF targets are little more than process-driven, tick-box measures, according to London GP Dr Mark Levy, who was appointed respiratory expert advisor for QOF at NICE last year.
Indicators that measure the actual outcome of care are needed to drive standards in chronic disease management, even if they are unpopular with some in the profession, he said.
Dr Levy told GP: 'We need more outcome-driven QOF indicators like, for example, readmission for acute asthma. That will drive change.'
He added: 'That's the thing that would make a difference. And it's not just asthma, it's most chronic diseases'.
But he admitted the idea may be unpopular with GP leaders. 'The GP politicians would say no, [because] you can tick a box to say you have done an asthma review, but you can't tick a box to say [you have] reduced readmissions.'
In a speech at the European Respiratory Society (ERS)) annual congress in Amsterdam, the Netherlands this week, Dr Levy singled out key issues that still persist among primary care treatment for asthma: 'Systemic steroids are still underused. Objective measures [to assess patients] are still underused. There is inadequate routine management and national guidelines are not being followed.'
Dr Levy also urged GPs to encourage patients with asthma who smoke to stop as a first step to reducing hospital admissions: 'Patients come into GP surgery, we ask them if they smoke. We tick the box, but we don't take it further.'
He is leading a National Review of Asthma Deaths, a project by the Royal College of Physicians to investigate how and why 1,200 people die from asthma each year. Around nine in 10 asthma deaths are believed to be preventable.


text:
This study on behalf of the Workers' Group of the European Economic and Social Committee aims to analyse early initiatives launched in the context of the European Pillar of Social Rights (EPSR) and to provide the EESC with concrete policy recommendations to ensure its effective implementation.
Four key findings stand out. First, the Pillar has, within a very short time span, relaunched an ambitious EU 'Social Agenda' which has the potential to create new rights for citizens. Second, the Pillar is already strongly influencing the substantive messages of the 2018 cycle of the European Semester. Third, the Social Scoreboard is a step forward but needs further refinement. Fourth, national trade unions seem aware of the Pillar and are generally happy with its content but highly doubtful that they will be involved in its implementation.
To ensure effective implementation of the Pillar, we recommend that it be given adequate financial resources and clearly defined governance tools through an ambitious but realistic roadmap. The EESC should play an important role in monitoring the implementation of the Pillar at EU and national levels and should act as a hub to gather and synthesise national trade unions' and civil society's proposals for effective implementation.

source: openbmb/Ultra-FineWeb


text:
Kemler History, Family Crest & Coats of Arms
- Origins Available:
The surname Kemler is an occupational surname. Further research revealed that the name is derived from the Old German word "kämmerer," which means "chamberlain." A chamberlain was the person in charge of the noble household; to him would fall the duty of ensuring that the castle and court of the noble ran smoothly. This is a surname of office, a subset of the larger set of occupational names.
Early Origins of the Kemler family
The surname Kemler was first found in Swabia, where this family name became a prominent contributor to the development of the district from ancient times. Literally the name refers to the courtly administrative position of chamberlain.
Early History of the Kemler family
This web page shows only a small excerpt of our Kemler research. Another 162 words (12 lines of text) covering the years 1148, 1346, 1796, and 1833 are included under the topic Early Kemler History in all our PDF Extended History products and printed products wherever possible.
Kemler Spelling Variations
Spelling variations of this family name include: Kammerer, Kaemmerer, Kaemmer, Kammer, Kammerherr, Kemmerer, Kaemmerling, Kaemmler, Kemmerling, Kemmler, Kamerer, Kamer, Cammerer, Caemmerer, Cammer, Camer, Camerer and many more.
Early Notables of the Kemler family (pre 1700)
Notables with the surname Kemler during this period were Jacob Friedrich Kammerer (b.1796), descendant of a line of prominent sieve makers around Stuttgart, who was one of the colorful figures of his time. He was self-taught in Greek, Latin, and chemistry, and was a talented player of the flute, clarinet, and piano. He was popularly known as the inventor of the phosphorescent match stick. In 1833 he was sentenced to two years imprisonment for taking part in the Frankfurt revolution. He escaped to Strassburg, where he built a silk hat factory. In Zurich he built a variety of factories producing match...
Another 117 words (8 lines of text) are included under the topic Early Kemler Notables in all our PDF Extended History products and printed products wherever possible.
Kemler migration to the United States +
Some of the first settlers of this family name were:
Kemler Settlers in United States in the 19th Century
- John Kemler, who arrived in Allegany (Allegheny) County, Pennsylvania in 1844
Contemporary Notables of the name Kemler (post 1700) +
- Joan R. Kemler, American Democratic Party politician, Connecticut State Treasurer, 1986-87; Appointed 1986
Related Stories +
- ^ Filby, P. William, Meyer, Mary K., Passenger and immigration lists index : a guide to published arrival records of about 500,000 passengers who came to the United States and Canada in the seventeenth, eighteenth, and nineteenth centuries. _PHONE_ Cumulated Supplements in Four Volumes Detroit, Mich. : Gale Research Co., 1985, Print (ISBN 0-8103-1795-8)
- ^ The Political Graveyard: Alphabetical Name Index. (Retrieved 2015, December 11) . Retrieved from _URL_


text:
This specific ISBN edition is currently not available.View all copies of this ISBN edition:
Produced in association with the Ramblers, this walking guide covers North Wales and combines detailed route descriptions with information on the local history and wildlife.
The second largest National Park in the British Isles, Snowdonia offers a variety of challenging walks, from the high peaks to lowland valleys and gorges. The guide also includes some walks outside the Park.
∑The introduction gives information about the topography, geology and history of the area, and describes the flora and fauna inhabiting it.
∑The main section of the book comprises 30 walks. Each walk has a key illustrating principal features, such as level of difficulty and type of terrain, a route profile indicating altitude and distances, as well as a fact file summarising useful information, such as start and finish points, duration, safety advice and points of interest.
∑Illustrated with colour maps from the Ordnance Survey each walk is then described in detail with clear, easy-to-follow instructions. As well as route descriptions, the text gives the history of the main landmarks along the way plus information on the natural history of the area, and is accompanied by stunning colour photographs.
NEW FOR 2010
∑ Overview map on inside front cover showing start points of the walks.
∑ Walks are colour coded to indicated level of difficulty: green for the simpler walks, then amber for moderate walks, then red for the more challenging walks aimed at more experienced walkers.
∑ Front cover flap contains the key to symbols used in the text and on the route maps. Ideal as a book mark during use.
"synopsis" may belong to another edition of this title.
Richard Sale is a full time writer and photographer, who has written numerous books on outdoor/leisure themes.
"About this title" may belong to another edition of this title.
Book Description Condition: Fair. This is an ex-library book and may have the usual library/used-book markings inside.This book has soft covers. Clean from markings. In fair condition, suitable as a study copy. Please note the Image in this listing is a stock photo and may not match the covers of the actual item,500grams, ISBN:9780007351404. Seller Inventory # _PHONE_
Book Description Condition: Good. Ships from the UK. Former library book; may include library markings. Used book that is in clean, average condition without any missing pages. Seller Inventory # 39562345-20
Book Description Condition: Fair. This is an ex-library book and may have the usual library/used-book markings inside.This book has soft covers. In fair condition, suitable as a study copy. Please note the Image in this listing is a stock photo and may not match the covers of the actual item,500grams, ISBN:9780007351404. Seller Inventory # _PHONE_
Book Description Paperback. Condition: Very Good. The book has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains undamaged. Seller Inventory # GOR004817051
Book Description Condition: Fine. Book is in Used-LikeNew condition. Pages and cover are clean and intact. Used items may not include supplementary materials such as CDs or access codes. May show signs of minor shelf wear. Seller Inventory # _PHONE_-2-2


Frozen Pinewood River
Frozen Pinewood River
by Jakub
submit your photo
Hall of Fame
View past winners from this year
Please participate in Meta
and help us grow.
Take the 2-minute tour ×
There must be a mathematical description of the difference that an extension tube makes to a lens -- is it something that can be easily described?
(For example, with teleconverters you can say things like "a 2x teleconverter will turn a Y-mm lens into a 2Y-mm lens, and will lose you 2 stops." Is there something similar for extension tubes?)
If there's nothing much you can say about magnification, in general, what about the change in closest focal distance? Is that also lens-dependent?
What about if we factor out the lens: is there any general way to compare the effects of (say) a 12mm and a 24mm extension tube on the same lens?
share|improve this question
add comment
3 Answers
up vote 10 down vote accepted
I do believe there are some formulas you can use. To Matt Grum's point, I have not tested these with zoom lenses, and to my current knowledge, they apply only to prime (fixed focal length) lenses. You did not specifically specify zoom lenses, so...
The simplest way to calculate the magnification of a lens is via the following formula:
 Magnification = TotalExtension / FocalLength
 M = TE / F
To calculate the magnification with an extension tube, you need to know the total extension...that is, the extension provided by the lens itself, as well as that provided by the extension tube. Most lens statistics these days include the intrinsic magnification. If we take Canon's 50mm f/1.8 lens, the intrinsic magnification is 0.15x. We can solve for the lenses built in extension like so:
 0.15 = TE / 50
 TE = 50 * 0.15
 TE = 7.5mm
The magnification with additional extension can now be computed as follows:
 Magnification = (IntrinsicExtension + TubeExtension) / FocalLength
 M = IE + TE / F
If we assume 25mm of additional extension via an extension tube:
 M = 7.5mm + 25mm / 50mm
 M = 32.5mm / 50mm
 M = 0.65x
A fairly simple formula that allows us to calculate magnification fairly easily, assuming you know the intrinsic magnification of the lens (or its intrinsic extension.) If we assume the wonderful 50mm lens is the lens you are extending, to create a 1:1 macro magnification, you would need 50mm worth of extension. The problem here is that if you add too much extension, the plane of the world that is in focus (the virtual image) might just end up inside the lens itself. Additionally, this assumes a "simple" lens, one with very well-defined and well-known characteristics (i.e. a simple single-element lens.)
In a real-world scenario, having a clear understanding of any particular lenses characteristics is unlikely. With lenses that focus internally, or zoom lenses, the simple formula above is insufficient to allow you to calculate exactly what your minimum focusing distance and magnification can be for any given lens, focal length, and extension. There are too many variables, most of which are likely to be unknown, to calculate a meaningful value.
Here are some resources that I have found that provide some useful information that might help in your endeavor:
share|improve this answer
Your lack of parenthesis threw me for a momentarily loop. Should be Magnification = (IntrinsicExtension + TubeExtension) / FocalLength? – rfusca Dec 11 '10 at 1:55
_USER_: You are correct, I forgot to stick in parens. Its totalExtension / focalLength, so intrinsic and tube extension lengths have to be added together. – jrista Dec 11 '10 at 4:25
Oddly enough, the 50mm f/1.8 is the lens (well, OK, one of the lenses) I'm extending -- and those links look really useful, too. Thanks! – Matt Bishop Dec 11 '10 at 12:29
add comment
I think it can be described, in fact Wikipedia has the relevant formula:
1/S1 + 1/S2 = 1/f
Where S1 is the distance from the subject to the front nodal point, S2 is the distance of the rear nodal point to the sensor, and f is the focal length. Since extension tubes increase S2, it then allows you make S1 smaller, thus you can focus much closer to the subject.
share|improve this answer
That formula assumes you know the front and rear modal points which in general aren't manufacturer specified, so you'll have to measure them for each lens. Plus the formula isn't valid for lenses which change focal length when focussing, so I don't think it's quite what the questioner as after. – Matt Grum Dec 10 '10 at 15:11
With a simple (i.e. single-element) lens, the focal length never ever changes (unless you change the shape of the lens -- or unless you're being very specific and talking about different colors of light, or the like), and this is absolutely correct (in fact, moving the position of the lens is all you're doing to change the focus anyway, so an extension tube just lets you move it further). For complex (multi-element) lenses, I don't understand the optics principles well enough to be sure if the same holds true. But the film plane is always the "target" of the focus, right? So... I'd think so. – lindes Dec 10 '10 at 17:51
Some of my sources for learning (which I'll hopefully later pull together in an answer of my own -- no time for that now, though): -- and in particular, these two: and – lindes Dec 10 '10 at 18:14
_USER_ Grum - I think the equation illustrates the principle behind it which seems to be the crux of the question. At least it did to me. :) – John Cavan Dec 10 '10 at 18:28
_USER_ Cavan - the formula illustrates well why extension tubes decrease the minimum focussing distance, but I think the questioner was looking for a formula that he can use to judge what length extension tube you need to buy for a given lens in order to increase magnification x times, which unfortunately is not possible in the general case... – Matt Grum Dec 10 '10 at 18:39
show 3 more comments
edit to respond to follow up questions given you know the effects of a tube of a certain length on a certain lens you can work out the missing values from John's equations you should be able to get an estimate of the effect of a different length tube. Again the values will be subject to the foibles of the lens focussing method, but should give you a good enough idea.
In general no. There is a formula, of course, but you need to know the internal configuration of the lens and usually some elements of the lens design.
Extension tubes usually change the effective focal length slightly (the actual focal length of the lens is a property of the bending power of the glass so doesn't change when you move it) but how much depends on the lens design. A lot of it is to do with the angle at which the light rays leave the back of the lens. If you take an object space telecentric lens (a special type of lens where the rays exit parallel to each other) then the distance to the film plane doesn't matter since the rays are parallel they wont converge or diverge any more.
If you look at the back of a wide angle lens the rear element is very close to the rear of the lens. Now look at a telephoto lens, there will be a gap between the last piece of glass and the mount, as if the lens already has an extension tube. An extension tube will behave quite differently on these two different lenses. The method of focus (internal vs. external) also affects the results of adding extension tubes.
So in short I'm afraid there is no formula that's as simple as the one for telecoverters.
share|improve this answer
Is it truly accurate to say that the focal length changes? My understanding of optics in any detail is in its infancy, but my understanding thus far is that by moving the lens (which is all an extension tube really does), the focal length won't change (though perhaps the magnification might? Or what we've collectively started calling the "effective focal length"), but rather, the distance changes for the focal plane, which causes the in-focus plane to change... I'll try to find some resources and post them in an answer. I -think-, though, that this answer is factually questionable. I think. – lindes Dec 10 '10 at 16:44
Whether or not the focal length changes and to what degree depends on the lens, as I stated. For the simplest case of a pinhole lens it's easy to see that the focal length changes if you move the pinhole further from the camera, since the focal length is defined as the distance from the pinhole to the imaging plane! – Matt Grum Dec 10 '10 at 17:21
Ahh,


text:
The tempest caliban character analysis
Everything you ever wanted to know about caliban in the tempest, written by masters of this stuff just for you. About the tempest character list summary and analysis act i: character analysis prospero ariel caliban miranda character analysis prospero. Analysis and discussion of characters in william shakespeare's the tempest. Prospero, miranda, ariel, caliban, ferdinand , alonso, antonio, how to write a review of a research paper sebastian what do prospero and ariel set out as bait for. Get everything you need to know about caliban in the tempest analysis, related quotes, timeline. Prospero is one of shakespeare's most memorable and magical characters as this prospero character analysis reveals. Shakespeare's presentation of colonialism in 'the tempest' - theme analysis updated on is also illustrated by the contrasting characters of caliban and. Read the tempest -analysis of major characters- from the story the tempest by bebekmerah (reza prasetya) with 983 reads shakespeare, tempest prospero prosper.
The tempest characters analysis features noted shakespeare scholar william hazlitt's famous critical essay about the tempest's characters character of caliban. Character analysis: caliban the character of caliban is generally thought to be one of the author's master-pieces it is not indeed pleasant to see this character on. Focussing on act 1, scene 2 of the tempest, john gordon analyses the characters of ariel and prospero through the frame of magic and power. Essay on the characters of prospero and caliban in the tempest 1551 words | 7 pages and intellect in the tempest during the time of shakespeare, society had a. Character analysis of the tempest caliban and ariel the responses which the characters in the tempest offer to their immediate surroundings reveal much about their.
Transcript of the tempest: character sheet prospero rightful duke of milan father to miranda, master of ariel and caliban miranda daughter of prospero. A list of all the characters in the tempest the the tempest characters covered include: prospero, miranda, ariel read an in-depth analysis of caliban. From a psychoanalytic perspective, both caliban and trinculo of shakespeare's the tempest are interesting characters caliban is very sexual and bitter, while. A complete powerpoint lesson plan shakespeare teaching resource provoking a class discussion about caliban's character and to prompt a comparative essay with.
The tempest is a tale of magic shakespeare's caliban: character analysis shakespeare's the tempest: summary, characters & analysis related study materials. The tempest shakespeare play is a tragicomedy or romance lesson plans include the tempest summary, literary conflict, vocabulary & tempest characters. Everything you ever wanted to know about the characters in the tempest, written by experts just for you. Hence, the chief focus of a post-colonial investigation of the tempest is through the character of caliban 23 critical discourse analysis of caliban's critics.
William shakespeare's the tempest: caliban analysis william shakespeare's the tempest: caliban william shakespeare portrays the character caliban as a. You do a brilliant job describing shakespeares character caliban and how he i like how you took a different approach in your analysis of "the tempest. An essay or paper on character analysis of the tempest caliban and ariel explain how ariel and caliban serve as character foils for each other be sure to. Caliban, from 'the tempest', is one of shakespeare's most memorable and magical characters, as this analysis reveals.
The tempest caliban character analysis
There are lots of characters in shakespeare's play the tempest character analysis to his character in this speech caliban's language is poetic. Caliban's conspiracy with stephano and trinculo to murder prospero mirrors more characters from the tempest take the analysis of major characters quick.
- Learn vocabulary, character analysis of ariel and caliban in tempest terms, and more with flashcards, games, and other study tools we see a huge turning point for.
- Did you know that shakespeare literally created a monster in this lesson, we'll explore the complex character of caliban and his importance in the plot of 'the tempest.
- Caliban in shakespeare's the tempest critically analysed in terms of various relevant critical responses from darwinism to post-colonialism.
- Lilla grindlay explores the character of miranda in act 3, scene 1 of the tempest, considering language, form and a feminist interpretation.


Daily Life
Do we really need an app to tell us who our 'toxic' friends are?
There is no denying that our smart phones are getting, well, smarter. They can monitor our fitness down to the steps we walk and the calories we consume. Tell us how much sleep we're getting and remind us of the things we need to get done.
But, despite all these advances, would you let your smartphone choose your friends?
The creators of the "Pplkpr" (an abbreviation of "people keeper") think that you should. Pplkpr is part phone app, part wristband. The wristband monitors your heart rate, detecting even the subtlest of changes and sends the information to the app via Bluetooth.
The app notices when you are experiencing an altered emotional state and by pairing this information with the names of the people you have interacted with (which are loaded manually), the app helpfully informs you how your friends make you feel.
Taking this a step further, the app then makes suggestions: who you should spend more time (or in other words, who should be "auto-scheduled" into your life) and who should be axed. It can even remove contacts from your address book – virtually deleting the friendship.
There is no denying that some friendships are bad for us and that those friendships have a negative effect on our wellbeing.
According to psychologist and digital nutritionist Jocelyn Brewer, the psychological effects of toxic friendships can include self-doubt, lowered self-esteem and confidence.
"You might feel like you don't get your own needs met in the friendship because you invest in it and get drawn into the other person's issues above and beyond your own. Lack of connection can contribute to a range of effects, like feeling lonely, sad and unworthy," Brewer explains.
But do you need an app to tell you that your toxic friend is making you feel bad? Brewer certainly doesn't think so.
"I think apps like these are lazy ways of dealing with or even avoid having to deal with, some of the core aspects of being human, like how we relate, communicate and then make choices about who we have in our lives," says Brewer.
"If we need to rely on plugging data into an app instead of using (and honing) your own senses and cognitions to navigate relationships then humans really have a problem."
Brewer also notes that by relying on this sort of app to help analyse our feelings about friendships then we risk losing our sense of self-awareness.
"If we outsource this process of noticing and tuning into our emotions we might as well let robots run the planet," she says.
So, without the use of a smart phone, how do you tell if you are stuck in a toxic friendship?
Brewer suggests looking for the following signs: "Do you feel like you are 'walking on eggshells' and anxious about their unpredictable reactions or behaviour?
"Do you feel like you have to drop everything and rush to solve this person's crisis which turns out to be a major 'first world problem'? Do you feel like your support and advice falls on deaf ears and you regularly want to yell 'I told you so' when the next chapter of the obvious drama unravels?"
Brewer's list resonates for Beth Harris who recently ended a toxic friendship with an old school friend.
"For a while she was fun, but then she became a nightmare... she was totally self-absorbed. There was always a drama and if I wasn't there to talk to her about it over and over and over again she would get pissy with me," she explains.
Harris noticed that the friendship was taking its toll on her emotional well-being and decided to "break up" with her toxic friend. She told her that she didn't want to "hang out" any more and "unfriended" her on social media. And remarkably, she did all this without the help of a smart phone app.


How is viscosity index calculated for unknown oil?
The viscosity index of unknown lubricating oil is determined by comparing it with two standard oils. The two types of the standard are paraffinic base oil Pennsylvanian oil or Gulf oil or low viscosity standard having a viscosity index of zero( V.I=0).
The viscosities of the unknown lubricating oil sample are determined at 100 0F and 210 0F by any standard viscometers like redwood, Engler or saybolt. If the difference between the values is low then the oil is considered good lubricant else not.
From the list of high viscosity standard, the oil which has same viscosity at 2100 as the under test is selected and its corresponding viscosity at 1000F is noted as H.
Similarly, from the list of low selected standards, the oil which same viscosity at 210F as the oil under test is selected and its corresponding viscosity at 1000F is noted as L
The viscosity index (V.I) of lubricating oil is calculated using the following formula-
V.I= (L-U)/(L-H)×100
Where
V.I→ viscosity index of lubricating oil.
L→ viscosity of naphthenic base oil or Gulf oil or low viscosity standard at 1000F
H→viscosity of paraffinic base oil or Pennsylvanian oil or high viscosity standard at 1000 F
U→ viscosity of unknown oil sample under test at 1000F
Leave a Reply
Your email address will not be published. Required fields are marked *


Home Support Projectors EB Series Epson PowerLite EB-L200SX
How do I connect speakers to the product?
 - See below.
 Connecting to External Speakers
 You can connect the projector to external self-powered speakers and control the volume using the projector's remote control.
 You can also connect the projector to an amplifier with speakers.
 Set the Audio Out Device setting to AV System in the projector's Signal I/O > HDMI Link menu. When an audio/video system is not connected to the projector, audio is output from the external speakers even if Audio Out Device is set to AV System.
 If you want to output audio from the external speakers when the projector is turned off, you need to select Always On as the A/V Output setting in the projector's Signal I/O menu.
 Note: The projector's built-in speaker system is disabled when you connect external speakers.
 1. Make sure your computer or video source is connected to the projector with both audio and video cables as necessary.
 2. Locate the appropriate cable to connect your external speakers, such as a stereo mini-jack-to-pin-jack cable, or another type of cable or adapter.
 3. Connect one end of the cable to your external speakers as necessary.
 4. Connect the stereo mini-jack end of the cable to your projector's Audio Out port.
 Related references
 Input Signal Settings - Signal I/O Menu
Published: Dec 10, 2020 Was this helpful? Thank you for the feedback!
Was this helpful?
Please tell us why this was not helpful.
Please enter a valid email address


text:
States will need to take away license privileges from any professional driver who tests positive for drugs and alcohol sooner under a new rule issued by the Federal Motor Carrier Safety Administration.
FMCSA says the rule is needed because too many commercial drivers are continuing to drive because states have not taken steps to remove their license privileges after they have received citations.
This rule requires state licensing agencies to access and use information from FMCSA's Drug and Alcohol Clearinghouse indicating that driver or applicant may not lawfully operate a commercial motor vehicle (CMV) The state agencies are expected to be in "substantial compliance" with the new rule no later than Nov. 18.
Under the rule, states must not issue, renew, upgrade or transfer a commercial driver's license (CDL), or commercial learner's permit (CLP) for anyone prohibited under FMCSA's regulations from driving a CMV due to one or more drug and alcohol violations.
The state agencies also must remove the CLP or CDL privilege from the license of someone subject to the driving prohibition, resulting in a downgrade of the license until the driver complies with return-to-duty (RTD) requirements.
Currently, most state licensing agencies don't receive drug and alcohol violation information about CDL or CLP holders who are licensed in their states, FMCSA pointed out.
As a result, they are unaware when a CMV operator is subject to the driving prohibition. As a result, the driver continues to hold a valid CDL or CLP in spite of the driving prohibition.
By ordering state licensing agencies to downgrade the driver's licensing status by removing the commercial driving privilege, FMCSA also said the final rule also will permit all traffic safety enforcement officers to readily identify prohibited drivers by conducting a license check during a traffic stop or other roadside intervention.


text:
May 24 2013 Latest news:
Monday, September 17, 2012
THOUSANDS of people enjoyed the sunshine and entertainment on display as one of the area's largest steam rallies attracted another fine turnout.
The Grand Henham Steam Rally is in its 38th year, and proving to be as popular as ever.
With the weather befitting the occasion, thousands descended on the Henham Estate, near Southwold.
Reflecting on the agricultural past, a major tractor icon and a special celebration of harvesting were showcased in the two exhibition arenas.
The history of Ford and Fordson was honoured during a special pageant as one of the most famous tractor brands in the world was recognised.
An appreciative audience was then educated and entertained by another special pageant – from the sickle to the combine harvester – as harvesting through the ages told the story of how man has gathered in the harvest over the centuries.
The rally attracted steam engines from all over the country along with hundreds of vintage tractors, vintage and classic cars, commercial and military vehicles, vintage motorcycles and cycles and Suffolk and Shire heavy horses.
Rally chairman Mike Powell-Evans said: "Each year we try for something slightly different, and this year we have gone back to our agricultural past for pageants demonstrating the development of harvesting and the history of the tractor icon.
"Our main objective as a charity is to raise awareness of the place in history of mechanically-propelled vehicles and their part in shaping the land and the way we live today."


text:
Also found in: Dictionary, Thesaurus, Encyclopedia.
concha of auricle[TA]
the large hollow, or floor of the auricle, between the anterior portion of the helix and the antihelix; it is divided by the crus of the helix into the cymba above and the cavum below.
Farlex Partner Medical Dictionary © Farlex 2012
A concavity on the median surface of the auricle of the ear, divided by a ridge into the upper cymba conchae and a lower cavum conchae. The latter leads to the external auditory meatus.
See also: concha
Medical Dictionary, © 2009 Farlex and Partners


text: One of the most important factors potentially affecting the walking motion is the lower limb muscle mass. It is possible the mass of the lower limb muscles is correlated with walking motion. We investigated the relationships between walking motion by 3D motion analysis and the mass of the thigh muscle with ultrasound imaging. Our data demonstrated significant correlations between the mass of the thigh muscles and some of the joint kinematics measured at the hip, knee and ankle. These results suggest the knee extensor muscles mass regulates knee joint in association with the lower extremity movements at the onset of walking in free speed.


text:
5 Measurement: 5 LED indicators for more accurate testing
High Precision Probe: Made of high-precision materials, the test is accurate
High Quality Material: With black surface treatment, the product is rust-proof, durable and wear-resistant
Anti Slip Design: The product is frosted, comfortable in touch feel, not easy to slide down
Simple Operation: Press the switch to turn on the power supply, and the green LED indicates that the battery is normal, If the green light is not on, it means the battery needs to be replaced
1. Brake fluid tester is suitable for determining brake fluid quality.
2. Brake fluid tester determines the humidity change of brake fluid according to the change of conductivity.
3. Humidity is clearly displayed by light emitting diodes. High water content will lower boiling point and then affect braking performance.
4. Red indicates that the brake fluid needs to be replaced immediately, green indicates that the brake fluid is in good condition, and yellow indicates that the brake fluid remains in good condition but will change.
5. Designing cable-free connectors, fast and convenient.
Directions For Use:
5 LEDs indicate percentage of water in brake fluid:
0% LED: Water content in brake fluid.
1% LED: water content, H2O ≤ 1%, brake fluid above standard.
2% LED: water content, H2O ≤ 2%, still usable.
3% LED: water content, H2O ≤ 3%, brake fluid recommended to be replaced.
4% LED: water content, H2O ≥ 4%, brake fluid must be replaced.
1. please wipe it clean with dry cloth or paper towel after use, which can prolong the service life of the test pen.
2. Due to international air transportation, we will not provide batteries.
1x Brake Fluid Tester (1.5V AAA battery not included)
There are no reviews yet.


."
Choose the trigger command, enter it in the box, and click "Add Slash Command Integration." For our example, we'll configure our trigger as /troll.
Under Integration Settings, we will need to configure a URL, Method, Name, Icon, and (optionally) Autocomplete help text.
The URL will be the address of the host processing our slash command and returning the output. For our example, the server will be listening on port 8080.
The Method can remain POST. The options provided are POST and GET.
We'll fill in the remaining info and click save.
Slash command setup
Note the token string. We will use that to filter unwanted requests to the server.
Now when we run /troll brody in Slack, it will send a request with "troll" as the command attribute, "brody" as the text attribute, and the other applicable information detailed above to the configured URL.
Server Setup
The server will consist of a Python script and a troll dictionary text file. You can either run it on a VPS or a PaaS provider, like Heroku. Using a VPS provides additional easy customizations, such as pulling our troll dictionary from a text file rather than a hardcoded dictionary, so this example will do that.
In short, our script will act as a web server and wait for Slack requests. When a request is received, the script validates the Slack token, looks in troll_dict.txt for a name (key) matching the provided name, and returns a random troll associated with that name to Slack. Slack will post the message into the channel from which the slash command originated.
Two important things to keep in mind when processing slash commands requests:
 - Responses must be received by Slack within three seconds of the outgoing request. Otherwise, Slack will discard the response. If the script may take significant time to process a slash command request, use incoming webhooks for the response. (For an example of that, check out the story bot in the next section.)
 - Responses can either be In Channel or Ephemeral. In Channel responses are posted in the channel the slash command originated from and are visible to everyone in that channel. Ephemeral responses are only visible to the user who ran the slash command. For more info, check out Slack's documentation.
Our server script will rely on the Python Bottle framework to handle processing the incoming and outgoing requests. Install Bottle if it isn't already:
pip install bottle
Next, we put our script, trollbot.py, and our dictionary of trolls, trolldict.txt, up on the server.
Modify the following settings in trollbot.py, as needed:
 - Change the slack_token variable on line 19 to your slash command's token. This is required for the script to work properly.
 - Modify the file path for trolldict.txt in the trollfile variable on line 22 if the file is not in the same directory as trollbot.py.
 - To change the port, modify the serverport variable on line 23.
Update trolldict.txt with your dank trolls using the format:
name%%troll
If multiple trolls are provided for one username, the script will select one randomly. As a caution, single quotes can cause the script to error out if they aren't escaped properly.
Now we're ready to go! Start the server:
python trollbot.py
Here's a demo of the script in action:
Trollbot Demo
Other Evil Ideas
Of course, there's more evil that can be had using webhooks and slash commands in Slack.
Spamming Chat
Nothing beats a good old-fashioned spamming. With incoming webhooks, spam is as easy as a while true loop.
while true
do
curl -X POST --data-urlencode 'payload={"username": "SpookyBot", "icon_emoji": ":ghost:", "channel": "#spam", "text":":ghost:"}' _URL_
done
A Bash script is available here for ease.
Chat spam
Slack limits incoming webhooks to one message per second, but it does "allow bursts over that limit for short periods." In my "testing" I've found the bursts are generous. In fact, if you run a few of these loops in parallel, you can post so much that it causes everyone's Slack app to slow down to the point of being unusable. Not that I know that from experience…
Storytime Bot
Everyone likes a good story. Why not add a nice, long story to Slack that can be triggered with a slash command? The source for this example is available on GitHub here.
The Slack and server setup are the same as the troll bot example above, with a few exceptions:
 - We also need an incoming webhook configured
 - We'll use a different trigger word
 - The script is storybot.py
 - The story itself will be put in story.txt, which is configurable with the storyfile variable on line 22.
Since the story will take longer than the three seconds Slack expects its response within, we'll return an ephemeral response to the user who triggered the story as an acknowledgment and use incoming webhooks to post the story. The story will be pulled from a text file with each message's text on a new line. To pace the story correctly, we'll add some random sleep times between lines.
When the command /storytime is issued, the bot will run.
StoryBot
Using the script provided, it would be trivial to add more stories to the bot and trigger different ones with the slash command, like /storytime spooky.
Twitter Fame Checker Bot
Twitter can be a great source of useful, and less than useful, information that can be pulled into Slack. For instance, we could pull trending posts in a certain hashtag or see if a certain mountain in Seattle is "out." Instead, we'll make a slash command to pull a provided user's internet fame (Twitter follower count) and post it in the channel.
To set this up, we'll need to set up a slash command. In my example, I use the following syntax:
/famecheck [Twitter handle]
Place the final script on your server and modify the Slack slash command token (line 22) and, optionally, server port (line 24). The script uses Beautiful Soup to parse the follower count from Twitter. Install Beautiful Soup if it's not present on your server:
pip install beautifulsoup4
Beautiful Soup usage is out of the scope of this post, but here is the the code that handles the follower parsing:
web_page = urllib2.urlopen(twitterurl).read()
soup = BeautifulSoup(web_page, 'html.parser')
c = str(soup.find('a', {'data-nav':'followers'}).contents).split('data-count="')[1].split('"')[0]
The script concatenates the follower count with a random snarky phrase about fame (pulled from a hardcoded list on line 37) and returns an In Channel message:
Famecheck Bot
Errors are returned as an Ephemeral message.
Providing a mechanism for your Slack bots to parse web content opens the door to countless other lulz, but that's an exercise left to the reader to determine and implement.
Looking Forward
Slack also provides a Bot User API, which allows users to interact with third-party applications via natural chat. The API provides a wealth of options and could prove useful for both work and teh lulz.
This post focused on Slack; however, most of the functionality covered should be possible on competing platforms. Both HipChat and Microsoft Teams provide APIs for third-party integrations.
Summary
We covered the incredibly useful incoming webhook and slash command APIs in Slack and demonstrated a few ways they can be used for work, such as integrating Cobalt Strike with Slack, and for fun, such as annoying coworkers. The post only scratches the surface of how powerful Slack integrations are. If these examples interested you, I encourage you to check out some of the cool ways people have integrated third-party applications with Slack and try it on your own. I'd love to hear about any Slack bots you come up with, especially those designed to annoy and harass those in your Slack team!
Want to leave a comment? Visit this post's issue page on GitHub (you'll need a GitHub account).


Taubman College
Course List
Term Winter 2011
Class ARCH 585
Class Title Advanced Building Technology
Description "The objective of this course is to explore state-of-the-art building and environmental technologies. Recent advancements in building technology promoting intelligence and automation are reviewed and explorations of a new generation of buildings and building technologies are pursued. The main topics of the course are: 1. Direction of technological advancements. 2. Building automation and intelligent building technologies. 3. Advanced lighting, daylighting, heating, ventilating, and air-conditioning systems. 4. Prototype buildings of the future. "
Prereq graduate standing or permission of instructor
Crosslist none
Required No
Elective No
Selective Yes
Meets T 8:30-11:30am 2222 A&AB
Credits 3
Faculty Jong-Jin Kim
Syllabus not available


Chinese Iron Balls
How Iron Balls Are Made
How to Videos
Chinese Iron Balls
Chinese Iron Balls originated in Baoding, China. Baoding, China is said to have three treasures. The first is the iron ball, the second is a sauce made from fermented flour, and the third is potherb mustard. These treasures have been passed down through the generations for over 300 hundred years.
The iron balls were used as a therapy exercise. A pair of balls are held in your hand and rotated in circles around each other. As you rotate, your fingers get a work out and your dexterity improves. It takes a lot of practice to be able to rotate the balls in both directions. Usually it is easy to rotate a pair clockwise, but takes skill to rotate counterclockwise.
The reason the iron balls are good for therapy besides the physical exercise, is that the Chinese believed the iron balls pressed on certain acupuncture points on the hands. This action enhanced the flow of a persons chi energy which promoted good health and long life.
Today they are still used by tai chi classes, physical therapists, musicians, stressed out people, and people with carpal tunnel syndrome just to name a few. Since they have so many applications, they go by many names such as chinese stress balls, health balls, exercise balls, tai chi balls, and baoding balls
Steel Balls Esferas Chinas
© 2014 ironballs.org, All Rights Reserved. Contact


text:
Dr. Ken Lee, Associate Professor of Physical Medicine at the Medical College of Wisconsin, was severely injured by a car bomb while stationed in Baghdad, Iraq in 2004 as a commander of a Wisconsin Army National Guard medical battalion.
Dr. Lee suffered multiple injuries, including brain trauma, resulting in five major surgeries and a long road to recovery. It was during his own road to recovery that he discovered the benefits of adaptive sports, which he is now sharing with others, positively impacting many lives.
Specifically, Dr. Lee's work with James Veltri is particularly remarkable. James served in the Navy as a fireman and was shot in the back while breaking up a fight and became paralyzed. He encountered several challenges following his injury, including opioid addiction. However, with the help of Dr. Lee and adaptive sports he was able to persevere, and is now working toward a college degree.
A few other notable athletes that he is currently working with include:
Dr. Lee's story is one that illustrates how mutual understanding and a strong desire to help those in need can build the way to a healthier world.
Latest press releases, stories and resources.


Consulting on electricity production power plants
The services provided in the field of consulting and research on the development and supervising of electricity production power plants are:
1. Operation simulation of electricity production power plants with or without the Renewable Energy Sources power plants penetration.
2. Maximisation of R.E.S. power secure penetration in autonomous electricity systems. Estimation of dynamic security.
3. Design and development of algorithms for the R.E.S. and hybrid power plants penetration simulation in electricity systems under alternative optimization criteria (maximization of annual R.E.S. penetration, optimization of the required investments economic indeces, minimization of the project's life cycle cost etc).
4. Study, dimensioning optimization and operation simulation of electricity production pilot plants (e.g. hydrogen production and storage from R.E.S., combined operation of a R.E.S. power plant and a desalination unit etc).