text:
TV preview: What to watch tonight
Posted: February 22, 2014|
Well the world has turned on it's axis once since last met so I suppose that makes it Saturday. What better way to usher everything primetime has to offer by locking some celebrities in a clear plastic box and torturing them with sadistic games thought up in someones garage?
Kicking off your Saturday night is The Cube: Celebrity Special on ITV at 6pm presented by Noel Edmonds wannabe Phillip Schofield. This week it's the turn of Boxer David Haye to enter the cube and make an utter fool of himself stressing out about bouncing balls into boxes. Sending athletes into an arena to do battle against challenges invented by the elite and presided over by a higher power deciding success and failure, all to entertain the masses? I know it sounds familiar but it's probably nothing.
How to make The Cube more interesting? Cut off the oxygen halfway through and watch in glee as David goes purple while still trying valiantly to roll a ping pong ball across a curtain rod.
Sticking with ITV until 7pm, and why wouldn't you, will bring you out at the brand new series of Ant & Dec's Saturday Night Takeaway. Like a takeaway it's a cheap impression of something you could probably make yourself but with more additives that leave a bad taste in your mouth. Yes the interchangeable geordie tweedle dum and tweedle dumber are back with another hilarious two months of pranks, capers and competitions.
If you'd seen the ad campaign that's been harassing regular ITV goers for the last fortnight you might think that the pair had really changed things up this their eleventh season. But nope, I don't know what I was expecting really. Maybe instead of hiding Eamonn Holmes's car keys they fake his wifes death. Front door kicked off it's hinges, raspberry jam hand prints leading to the safe and when the coroner, Dec in disguise, pulls back the white cloth...Waa hey! It's Ant.
Again, ITV's commissioning department have been slow in replying to my emails, but you know where you heard it first.
If you're still with me after all that there's The National Lottery: Who Dares Wins on BBC 1 at 8:30pm. Because that's what The Lottery needs, an element of risk.


text:
|Tolkien Gateway is 10 years old. Sign up today to edit TG and help us grow for years to come.
Beowulf and the Critics
|Beowulf and the Critics
|J.R.R. Tolkien
Edited by Michael Drout
|Arizona Centre for Medieval and Renaissance Studies
|Hardback with dustwrapper
Beowulf and the Critics was written in the 1930s and was probably delivered as a series of lectures to undergraduates. Tolkien's highly influential lecture, Beowulf: The Monsters and the Critics, was a redaction of this.
This edition of Tolkien's lecture series includes both versions of the text together with detailed explanatory notes.
Also included are two versions of the poem Iumonna Gold Galdre Bewunden (previously published in 1923 and 1937 respectively) along with an intermediate version (printed twice, the first time without the final stanza).
At least three impressions issued.
A third impression copy has been seen with a grey stripe across the bottom right corner of the dustwrapper stating "Winner of the 2003 Mythopoeic Scholarship Award in Inklings Studies".
The books is part of the series Medieval and Renaissance Texts and Studies, as volume 248.

subset: commoncrawl


text:
There's a lot I like about Apple's sense of design, when it comes to both software and hardware. They seem willing do adopt some good ideas from the outside (Leopard finally has multiple desktops), and include lots of things that I've not seen elsewhere (I like the side-buttons on the Mighty Mouse, and the way they let two fingers control a touch screen).
However, as someone who switches back and forth between more standard unix systems (OpenBSD and linux) and Mac OS, I initially had some gripes. I can switch between the user interfaces easily enough, but Apple keeps "improving" certain administration tasks in incompatible ways that really annoy me (though after taking some time to calm down, and find some factors that reduce the level of annoyance, these are not enough to make me return my new Mac that came with 10.5; after a few more days, I am now quite happy to have updated).
As recently as 4 months ago (June 2008), Apple referred to support for the Unix File System. However, the Disk Utility application does not offer it as a format (at least, not when partitioning the internal disk before installing), and when I start "terminal" and use the command-line "diskutil partitionDisk..." option, I get errors when I try to create a UFS partition.
Now that there is a case-sensitive option for HFS+, my first reason for choosing UFS is gone. The other (ability to use "tar" to create backups that I can put on any Unix system while preserving user and group id information) may also be o.k. now, according to what I've been reading: tar and other command-line utilities now reportedly hold onto the resource forks too (though they aren't useful on non-MacOS systems, they can be re-constituted on another MacOS file system, and the data forks that constitute all the important content of other files can be read on other flavors of Un*x.).
On the topic of file systems, I was able to create a ZFS partition with diskutil (after reading about command-line partitioning on Apple's document Mac OS X Server Command-Line Administration For Version 10.5 Leopard. The partition doesn't seem to mount automatically at boot, but perhaps I can mount it with diskutil...
My recollection is that, for a while, Mac OS X was doing uid/gid's in what I consider "the right way", i.e. every time you create a user they get their own group id too, and then you can just set your umask to 002, and give files some other group ownership any time you wanted to share them. (Yep -- a quick check of a 10.3 system confirms it creates a new gid for the new user I created.) I did this manually for a while on non-MacOS systems, and now Ubuntu seems to do it by default, but when I just created some accounts on a new Leopard machine, they all seem to come up with gid=20.
It seems that it will, at least, be easier to fix things, as one can get to uid/gid information by right-clicking on the user in System Preferences rather than having to launch Netinfo Manager. Once one looks in "help" and finds that there is an option to create groups in the "Accounts" dialog, this is actually a smoother interface than 10.3 had, though best of all would be the nice interface with the ability to create a new group with each new user...
According to Apple, there is some trouble joining a wireless network with hidden SSID (a "closed network"). My machine seems to go on and off the network just fine (using WPA2 personal as the security protocol), and let me connect to the outside world beyond my home network, but when I try to connect within my network, it can't look up other machines (by name or, if memory is correct, even by IP number). For example, when I try to use the finder to "Connect to server" to get to a file server on another system, no systems are listed, and if I type the machine name, it is not found.
The simplest fix for this would be to just un-hide the network ... but of course the AirPort Utility program can't find the network and thus can't configure it! Fortunately, I was able to connect to the base station by giving the IP address 10.0.1.1 and entering my password, and thus re-configure the base station to not hide the network, and will now reboot all machines and make sure this worked! (Yep, I can now connect just fine with ssh and Finder.)
With any luck they will fix this; for now, I'm hoping that the regular security plus registering MAC addresses will be enough.
I find it really annoying that firewire disk drives unmount when nobody is logged in, so if you have a user's home folder on a firewire drive, that user can't connect via ssh. Perhaps there is some way to overcome this. I took a quick look at System Preferences, but haven't tried a google search yet.


text:
Register now for free, or sign in with any of these services:
Want to set your local edition?
Select an edition for more focused local news coverage when you visit NOLA.com.
Don't worry. You can change this setting at any time to another local edition.
Xman you are so right on about the Six Flags thing. I have always said it would have been perfect right across the river from the CBD and the Quarters. You're also totally right about the racing track being in NO East.
Tyson Chandler and Deuce on the same day!! A watershed moment in New Orleans sports history no doubt. I totally agree with the other poster about the draft pick though. I heard last night that it would be OKC's 1st round pick as part of the deal. If that were the case I could stomach it a bit more.


text:
Washington, D.C. (SportsNetwork.com) - D'Vauntes Smith-Rivera knocked down 6- of-7 3-pointers en route to a game-high 31 points, as the Georgetown Hoyas cruised to a 77-60 win over the St. John's Red Storm in Big East Conference play from the Verizon Center.
Markel Starks chipped in with 12 points as the Hoyas (10-3, 2-0 Big East) improved to 8-0 at home leading into Wednesday's matchup at Providence, which begins a three-game road trip.
Max Hooper had 13 points off the bench and Sir'Dominic Pointer scored 11 for the Red Storm (9-5, 0-2), who suffered their sixth straight loss in the head- to-head series.
The Hoyas jumped all over St. John's right from the tip, as they raced out to a 26-8 lead and eventually took a 42-16 cushion into the break. Smith-Rivera outscored the Red Storm on his own with 20 first-half points.
After making only 6-of-28 field goals (.214) in the first half, St. John's made a game of it by shooting 56.7 percent (17-of-30) in the second stanza. However, the damage had already been done, and the Hoyas maintained a comfortable margin by sinking 16 free throws over the final 20 minutes.
Georgetown's offense was simply too tough for St. John's to keep pace, as the Hoyas shot 56.1 percent from the floor and made 9-of-13 threes for the game.
© 2015 Ramar Communications |
Site Map |
Terms Of Use |
Privacy Statement |
Copyright & Trademark Notice |
EEO Report |
FCC Public Files |
Closed Captioning |


text:
|The most helpful favorable review
|The most helpful critical review
1 of 1 people found the following review helpful:
By Joe from USA on 2013-01-06 01:21:08Things I liked:These pellets do serious damage. Hit like a hammer. Very accurate out of TX200 up to 50 yards.
What others should know:As long as these are used primarily for 50 yards and less, great buy.
0 of 0 people found the following review helpful:
By Jeffry from USA on 2011-08-01 09:36:35Things I liked:The manufacturing quality is very high. Fits chamber well.
Things I would have changed:Needs much better accuracy.
What others should know:I purchased these for pest control. In my Beeman R7, I am getting 3 inch groups at 30 feet from a shooting table. This is the only pellet that the R7 does not get better than dime size groups from. I would really like these pellets if I could get them to hit what I am aiming at. Because of the inaccuracy, these pellets can not be used for pest control in my R7. They may be fine in a higher velocity rifle.
CheckoutSubtotal (USD):
does not include shipping and tax


text:
Revitalize your home with quality roofing, siding, carpentry and gutter services from Viola Roofing & Contracting! We can install and repair all types of roofing, siding, windows. doors, decks and gutters. Call us today for a free estimate. In business since 2002, our owner-operated business looks forward to helping you. Contact Mike Viola in Hull, Massachusetts.
Thank you for your consideration and I hope you choose my company for your project. I would also like to state that you are not just buying a new roof, but instead, you are buying Roofing Company for life. My crew and I take pride in our craftsmanship and stand behind all of our work. . We want and expect to make the customers happy and fully satisfied every time!
Contact us by phone for a free estimate on your roofing
Hours of Operation:
24 Hours a Day – 7 Days a Week


text:
Posted 03 Feb 2012
Link to this post
I followed the example in http://blogs.telerik.com/blogs/posts/12-02-01/introducing-raddiagnostics-for-windows-phone.aspx.
I was unable to get this to work. The exception is not caught and no popup is displayed for a simple null-ref trap.
I put these stmts into the App() constructor (at the end after the call to InitializePhoneApplication().
var diagnostics = new RadDiagnostics();
diagnostics.EmailTo = "email@example.com";
var diagnostics = new RadDiagnostics();
diagnostics.EmailTo = "email@example.com";
Posted 06 Feb 2012
Link to this post
Hello Gary,
Thank you for trying out the beta!
Yes you should add one more thing in order to register the usage helper in Application.Launching:
// Code to execute when the application is launching (eg, from Start)
// This code will not execute when the application is reactivated
sender, LaunchingEventArgs e)
//1.0 is the app version. Change it with your app version.
Thanks, that solved the problem. I did get the popup and also the email with the exception info. Too bad the failing line number is not available since it is compiled as release configuration.
Posted 07 Feb 2012
Link to this post
Hello Gary,
yes - we can't show you the line number. Please let us know if you think any other info can be added to the diagnostic information already provided.
Kind regards,
the Telerik team
Posted 13 Feb 2012
Link to this post
I'm finding the dialog often doesn't appear on top of everything else, it's in the visual tree and you can tap it on screen if you get the right spot, but it's not visible!
Posted 14 Feb 2012
Link to this post
Hello Keith,
Thank you for reporting this. We are not aware of such an issue.
Basically we are using our RadWindow (RadMessageBox) to display the information. It basically adds itself as a child on the root element and should cover everything on the page.
Can you please share a scenario when the window is not on top of everything?
the Telerik team
I just added it our app and raised an exception on the navigated to of our first view model navigation and it fired the exception handler and phone buzzed but then the message box didn't appear. Then i navigated somewhere, it flickered on the screen and thean i hit back and it flickered on, then off. I then tapped where i thought the Ok button might be and it opened my email.
I can't easily share the app at this stage to be honest, but I'd prefer to log the errors into a cloud service if available anyways, so cancelling the message box is fine for now thanks.
Hi keith,
From your other tickets - we saw that you are using Caliburn. We recreated the scenario you described and it turns out that our RadWindow is having problems to show when used together with Caliburn _and_ you want to show it before the application is initialized. Unfortunately the root visual do not contain the root page when the OnNavigatedTo is raised and thus the Window can not be displayed correctly.
We will see how to address this scenario for a future release of the suite. Thank you for your cooperation and feedback!
Kind regards,
the Telerik team
Posted 27 Feb 2012
Link to this post
I'm using Caliburn Micro and it seems to work fine.
Copyright © 2002-2015 Telerik. All rights reserved.
Powered by Telerik Sitefinity CMS


text:
One of the four kittens rescued from piping outside of the Food City grocery store in Piney Flats Friday. (Jennifer Sprouse/Johnson City Press)
Fast action by a local grocery store's employees and a call to Washington County-Johnson City Animal Control saved the lives of four kittens that were found stuck in piping Friday afternoon.
"My associates gave me a call this morning prior to me coming in and let me know that there ... were some cats stuck in the pipes here, asking what we should do about it," Jason Hendrickson, store manager at the Food City in Piney Flats, said. "I encouraged them to call ... the authorities, call the shelter and animal rescue and just see what we could do. There were a total of four that we rescued. My associates were able to get three (kittens out) prior to animal control getting there."
Hendrickson said six of his employees worked to free the kittens by tying rocks to a netting laundry bag with rope and lowering it down to where the kittens could latch on.
The fourth kitten was a bit harder to free, according to animal control officer Andrew Barnett.
"We had trouble getting the other one, the fourth one, out," Barnett said. "We had to take some time to figure out how to get (the kitten) out of there. We ended up using sewer drain tape ... with a sponge on the end of it. There were four rescued. There's possibly one more deceased in there. We're not sure exactly what the other one may be. It may be a kitten, we're not sure."
He said the kittens were victims of animal cruelty and said he thinks they had been stuck in the piping at least overnight.
"Somebody actually had to put them in there as high as the pipes are. There's no way that the cats could be playing around and actually fall in," he said.
During the rescue, one of the kittens ran away once it was freed and Barnett said they've set a trap to lure the kitten.
He said two of the kittens had already been taken to the shelter and the fourth one to be rescued had already found a home to call his own with Food City employee John Peters.
Hendrickson said he was impressed by the action taken by his employees.
"I'm blessed with a very good team here at the store and ... they care about a lot of things. They care about taking care of customers, of course, but they also care about taking care of animals when the needs comes. We've had people drop animals off ... before in the past and we always take them to a shelter or a veterinarian or somebody. In this case, we had to have a rescue. I'm very proud of the team. It was the right thing to do and (I'm) proud of my guys."


text:
Submitted by Mary Bottari on
A Wisconsin worker was fired Thursday for reminding fellow workers that photo IDs required for voting are free under Wisconsin law.
A man identifying himself as Chris Larson called into "Sly in the Morning," a popular Madison radio program on WTDY-AM, and said he had been fired and escorted out of his workplace earlier in the day for sending out an email to remind employees to tell the public that they can obtain a state license for free. Larson said he worked for the Department of Safety and Professional Services, which is under Secretary Dave Ross.
The man was reacting to recent news stories that the Wisconsin Department of Motor Vehicles may be hiding the fact that the IDs, which are newly required for voting in Wisconsin, are free. Hours after his dismissal, a small crowd gathered in front of his place of employment to protest his firing.
Don't Ask Don't Tell = Poll Tax
When a draconian "Voter ID" law passed in Wisconsin back in May, Democrats charged that requiring citizens to obtain a special photo ID was an unconstitutional and illegal infringement on voting, much like the "poll taxes" of the Jim Crow era. To withstand a likely constitutional challenge, the Wisconsin GOP agreed the IDs should be free of charge.
Problem solved? Maybe not.
This week an internal memo was leaked from a top Department of Transportation official that instructed Division of Motor Vehicles service center workers to "refrain from offering the free version to customers who do not ask for it."
In other words if you did not specifically ask for the "free" ID, you would be charged $28 bucks for the privilege of voting.
Numerous voters have already had problems obtaining the ID.
Walker Voter ID Bill
Wisconsin had one of the most open and transparent voting systems in the United States until this year. No photo ID was required and students and families who recently moved to the state were allowed same day voter registration. At the same time, voter fraud was nonexistent. Republican Attorney General JB Van Hollen undertook an investigation after the 2008 presidential race and found only 20 problems in an election of 2,983,417 -- these were mostly former felons who did not know they could not vote.
The new Wisconsin Voter ID law changes voting requirements to require ID and allow only a narrow list of acceptable IDs -- including a driver's license and state-issued ID cards. While this change may sound benign to some, the truth is that many Wisconsin residents don't have these forms of identification, and for many, it may not be easy to obtain.
A 2005 Univeristy of Wisconsin-Milwaukee study found that about 177,000 of Wisconsin residents over the age of 65 do not have state-issued IDs. The overall percent of Wisconsinites with a valid drivers license is only 80 percent for males and 81 percent for females. Among African-Americans, only 45 percent of males and 51 percent of females have a valid drivers license. Fifty-nine percent of the state's Latina women lack the required identification.
The new law also targets a demographic that voted overwhelming in support of President Barack Obama in 2008 -- college students. The law states that student IDs need to be issued from an accredited public or private college, and have both a signature and a two-year expiration date. ID cards for the 182,000 students in the University of Wisconsin system and 300,000 in state technical colleges do not meet this standard.
To make it more challenging, you can only obtain the photo IDs at DMV stations, which keep irregular hours and do not exist in every county. Wisconsin Governor Scott Walker proposed closing 16 of those offices, but backed down after an outcry.
Voter Suppression, an ALEC Special
The Wisconsin law comes as part of a larger wave of voter suppression legislation that has swept the nation in the past year. This influx of bills after the Obama election was not a coincidence. The American Legislative Exchange Council (ALEC) provides "model" Voter ID bills to member legislators to replicate in their own state, yet disclaims any responsibility for the bills when they get draconian. According to Campus Progress which has campaigned against the bills, if every state in the nation passed these laws, 20 million citizens would be disenfranchised -- more than one out of every ten voters.
ALEC Co-founder Paul Weyrich was not fond of majority rule either. He once told a crowd, "I don't want everyone to vote. ... [O]ur leverage in the elections quite candidly goes up as the voting populace goes down."
It looks like Scott Walker, a proud ALEC supporter since 1993, and key members of his administration continue to follow Weyrich's lead.
Sara Jerving contributed to this report.
Anonymous replied on Permalink
worker fired
I whole-heartily disagree with the Wisconsin photo ID requirement, but did this worker use "company" property to send out this e-mail or did he send this through his personal account? Some companies/businesses are very strict in personal use of company property.
Where is the ACLU in all this bullshit that Walker is pushing?
Mutternich replied on Permalink
Here's where the ACLU is, as
Here's where the ACLU is, as of today:
BrandoC replied on Permalink
New Wisconsin Law
Brand new laws state that for Wisconsin residents, voting requires an identification card issued by a state bureau. The Wisconsin law, which cost $7 million to implement, is currently in effect. Numerous different organizations have said they will file suit against the case, but none have done so yet. State-issued ID cards for purposes of voting are supposed to be totally free, but state officials are making it hard to get that free registration card. Article resource: Free voter ID very difficult to obtain for some in Wisconsin
Anonymous replied on Permalink
worker fired
I wish to reply to the person who asked if the worker used "company" property to send the email. To fire him right on the spot and escort him off the premises for sending a non-threatening email when before there was always the "investigatory" process and then the disciplinary processes that took place prior to a firing--this speaks to what has now happened since Walker got rid of the union and collective bargaining. Workers don't have a voice, and they no longer have protection for using that voice. They can be fired for anything.
jimspice replied on Permalink
Click Like
You can "Like" the Give Chris Larsen his Damn Job Back" Facebook page here: http://www.facebook.com/#!/pages/Give-Chris-Larsen-his-Damn-Job-Back/232221316829902?sk=info


text:
The disclosure is directed to a system including a processor, a sensor interface responsive to the processor and memory responsive to the processor. The memory includes program instructions operable to direct the processor to implement a kernel-mode device driver for manipulating a journal based data system associated with data received via the sensor interface.
1. A system comprising:
a processor;
a sensor interface responsive to the processor; and
memory responsive to the processor, the memory including program instructions operable to direct the processor to:
implement a kernel-mode device driver for gathering data via the sensor interface and for manipulating a journal based data system;
implement a plurality of variable definitions in the journal based data system, each variable definition of the plurality of variable definitions being associated with at least one sensor and indicating a data type for environmental data gathered from the associated at least one sensor;
implement a plurality of variable update records in the journal based data system, each variable update record of the plurality of variable update records being associated with at least one of the plurality of variable definitions and having a value of the data type indicated by the associated at least one of the plurality of variable definitions;
gather, via the kernel-mode device driver, the environmental data from the at least one sensor; and
store the environmental data in at least one of the plurality of variable update records associated with at least one of the plurality of variable definitions associated with the at least one sensor.
2. The system of
3. The system of
4. The system of
5. The system of
6. The system of
7. The system of
8. The system of
9. The system of
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. A method for processing data from a sensor comprising:
storing, in memory, program instructions operable to direct a processor to:
implement a kernel-mode device driver for gathering data via a sensor interface and for manipulating a journal based data system;
implement a plurality of variable definitions in the journal based data system, each variable definition of the plurality of variable definitions being associated with at least one sensor and indicating a data type for environmental data gathered from the associated at least one sensor;
implement a plurality of variable update records in the journal based data system, each variable update record of the plurality of variable update records being associated with at least one of the plurality of variable definitions and having a value of the data type indicated by the associated at least one of the plurality of variable definitions;
executing, by a processor, the program instructions;
gathering, by the implemented kernel-mode device driver, the environmental data from the at least one sensor via the sensor interface; and
storing the environmental data in at least one of the plurality of variable update records associated with at least one of the plurality of variable definitions associated with the at least one sensor.
18. The method of
19. The method of
20. A computer readable storage medium having stored thereon sequences of instructions including instructions that will cause a processor to:
store, in memory, program instructions operable to direct the processor to:
implement a kernel-mode device driver for gathering data via a sensor interface and for manipulating a journal based data system;
implement a plurality of variable definitions in the journal based data system, each variable definition of the plurality of variable definitions being associated with at least one sensor and indicating a data type for environmental data gathered from the associated at least one sensor;
implement a plurality of variable update records in the journal based data system, each variable update record of the plurality of variable update records being associated with at least one of the plurality of variable definitions and having a value of the data type indicated by the associated at least one of the plurality of variable definitions;
execute the program instructions;
gather, by the implemented kernel-mode device driver, environmental data from the at least one sensor via a sensor interface; and
store the environmental data in at least one of the plurality of variable update records associated with at least one of the plurality of variable definitions associated with the at least one sensor.
21. The method of
The present application claims priority from U.S. provisional patent application No. 60/462,847, filed Apr. 14, 2003, entitled "METHOD AND SYSTEM FOR JOURNALING AND ACCESSING SENSOR AND CONFIGURATION DATA," naming inventor Michael Primm, which application is incorporated by reference herein in its entirety.
The present disclosure relates generally to methods and systems for journaling and accessing sensor and configuration data.
Collection and processing of sensor readings and other data in typical limited resource systems presents a number of significant implementation problems. Typical limited resource systems have limited memory and processing capabilities. Often, data is collected and produced during interrupt processing on the system, and is subject to very rapid change. In many cases, the timeliness of these changes is critical, and the duration of significant changes may be very short (milliseconds are not uncommon). As a result, a number of serious design problems emerge in such systems for collecting and processing data.
For example, typical systems often have difficulty quickly and efficiently reporting new sensor readings to collection systems. In addition, typical systems are often unable to prevent short-term (millisecond range) updates, which may be significant, from being "missed" by processing code, such as code for implementing value thresholds, or for reporting value updates across a network. Furthermore, certain typical systems are unable to allow "slow running" code, such as notification routines for sending data through e-mail or FTP, to view data in a "stable" state, so that a set of related values can be reported or processed in a consistent state ("temporal integrity"). Also, these systems often have difficulty delivering multiple data values consistently to collection systems, so that processing code does not observe temporary data inconsistencies ("transactional integrity").
Many typical systems write and rewrite single data structures, typically with some sort of semaphore or other mutual exclusion mechanism, and rely on frequent polling by data monitoring applications to observe problems or report changes. Other systems work on a "process on update" model, where the act of updating the data also includes immediately calling the necessary processing code, so that the data update is handled, but limits how much processing can be done before another data update can be reported and handled.
Large scale data processing systems, such as distributed relational database systems (RDBMS), often face variations of problems, such as frequent update, multiple users with differing rates of processing, and significant integrity requirements. A common mechanism used to aid in addressing these problems in many DBMS systems is the use of a data journal.
Unfortunately, such classic database systems are not suitable for limited resource monitoring systems for a number of reasons. First, they typically require large database applications, along with large amounts of file system based storage. Secondly, their client interfaces are exclusively "user-mode" useable as opposed to being useable by interrupt mode or kernel mode application code. Lastly, typical database systems lack the real-time to near real-time responsiveness needed both for data update and data access by limited resource monitoring system applications. Accordingly, there is a need for an improved system and method of accessing sensor and configuration data.
In a particular embodiment, the disclosure is directed to a system including a processor, a sensor interface responsive to the processor and memory responsive to the processor. The memory includes program instructions operable to direct the processor to implement a kernel-mode device driver for manipulating a journal based data system associated with data received via the sensor interface.
In another embodiment, the disclosure is directed to a system including a memory including a plurality of variable definitions, a plurality of variable update records, and a plurality of context records. Each variable definition of the plurality of variable definitions has an associated variable and includes an oldest update field and a latest update field. Each variable update record has an associated variable and includes a variable value, a next update pointer, and a previous update pointer. The previous update pointer of a first variable update record associated with one variable points to the oldest update field of a variable definition associated with the one variable. The next update pointer of a second variable update record associated with the one variable points to the latest update field of the variable definition associated with the one variable. Each context record of the plurality of context records has an associated current timestamp field and a context update field pointing to a third variable update record of the plurality of variable update records.
In a further embodiment, the disclosure is directed to a method for accessing a value associated with a variable at a target time. The method includes searching a variable record table for a variable record. The variable record has a variable identification associated with the variable, a latest update pointer, a creation time not greater than the target time, and a latest update time. The method includes selectively searching a set of update records starting with a first update record indicated by the latest update pointer and following a previous update pointer included in the first update record to a subsequent update record.
In another embodiment, the disclosure is directed to a method for managing memory. The method includes determining an oldest timestamp of interest, searching a set of update records starting at a specified start point and proceeding chronologically to subsequent update records until identifying a first update record with a timestamp newer that the oldest timestamp of interest, setting the specified start point to the record chronologically following the first update record and revising a variable record associated with the first update record.
The present disclosure describes a method and system for utilization of data journaling techniques to produce a real-time sensor monitoring and data processing system suitable for use in embedded monitoring appliances or, alternatively, in systems, such as PCs and servers.
The term 'monitoring appliance', as used in this disclosure, generally refers to a low-cost computing device built to perform a well-defined set of functions centered around the acquisition and processing of analog and digital sensor readings. Unlike personal computers (PCs) and other large scale computing devices, monitoring appliances typically have limited storage and limited computing power. Storage generally includes RAM and Flash memory. In general, mechanisms for collecting and producing the sensor readings in an appliance involves significant interrupt mode and kernel mode processing unlike monitoring applications on PC devices. Applications on PC devices typically do the bulk of data collection and processing in processes in "user mode," where full operating system functionality is available. In particular examples, the monitoring appliance may include applications for alarming and data communication through networks using standards such as HTTP, FTP, SMTP, SMS, and SNMP.
The disclosure presents a memory and processing-based system for implementing a journaling style data model (which may not have a file system or high-level operating system functionality). A journal based data model includes a set of variable updates. Such a journaling style data model may be used on a monitoring appliance. In one particular embodiment, the journaling style data model may be implemented in a kernel mode or as a device driver. Kernel-mode generally includes running with supervisor privilege within the kernel of the operating system. Device driver generally includes a specialized piece of code, either integrated with or loaded by the operating system kernel, that runs with kernel privilege and provides a service or access to a hardware device. In one exemplary embodiment, the system provides interfaces for interrupt, kernel, and user mode update and access to the data model, including transactional data update (with rollback) from interrupt, kernel, and user mode. The system may also include access to stable "snapshots" of the state of the data model as of a given time without copying the data model. The system may provide support for step-by-step traversal of the update sequence for the data model, allowing even slow applications to avoid missing short-term data events. Each step in the traversal provides a stable view of the whole data model at the point in time in the data model's history that corresponds to the time of the last update read. The system may provide support for efficiently reclaiming journal space as accessing applications move past the older updates. The system may also provide mechanisms for defining named variables of various data types, as well as supporting "meta-data" for these variables.
In one exemplary embodiment, a monitoring appliance monitors a space and, in some embodiments, equipment, such as computer equipment. The monitoring appliance may communicate data associated with the space and the equipment to a remote system. For example, the monitoring appliance may gather environmental data, such as temperature, air flow, humidity, leak detection, power quality, and motion detection.
The monitoring appliance includes a journaling database system. The monitoring appliance may also include or communicate with sensors or cameras. The journaling system may be a kernel-mode driver including a table of variable records, a plurality of variable updates, and a plurality of context records.
The sensor interfaces 106 may interact with sensors, such as analog or digital sensors. For example, the sensor interfaces 106 may gather temperature, humidity, airflow, video, audio, dry-contact, and other data from specific sensors. Network interfaces 116 may provide communications connectivity. For example, the monitoring appliance may communicate with wired and wireless networks, such as Ethernet, telephony, Blue Tooth�, 802.11, 802.16 and other networks.
Memory 118 generally takes the form of random access memory (RAM) and flash memory. However, permanent data storage may be provided. The memory includes tables and record sets 108, 110, and 112, which form the base data structures for the journaling data model 122. The table of variable definitions 108 contains records describing data objects within the data model. In a particular implementation, these records are arranged in a hash table, such as a table hashed using the name of each variable, to allow fast lookup. For faster access, the records describing each variable may be fixed in memory, allowing a pointer or some other index to be used as a handle for accessing a variable.
The global set of variable update records 110, also referred to as a global journal, includes an ordered journal of updates, providing a history of the value updates of sensor values. Each update record is also a member of a variable-specific update set, allowing the value history for a given variable to be easily accessed. In one particular embodiment, the global set or global journal 10 is implemented as a next update pointer in each update record.
The set of context records 112 describes "views" into the data model for each of the applications accessing the data model. Each context record may include a pointer into the global update journal and a corresponding update timestamp. The pointer indicates where in the history of the data model the context is referring. Context records may also include support for filtering the view of the data, for example, by restricting the view to selected variables that are of interest.
Memory 118 may also include other data 114 such as threshold data, application data, video data, audio data, alert and alarm contact data, and other data objects associated with performing monitoring functionality. Memory 118 may also include computer-implemented programs 120 configured to direct circuitry 104 to provide functionality, such as, for example, data monitoring, alert and alarm functionality, data transfer, and network communications. For example, the programs 120 may include a data monitoring application with data objects useful in comparing data to threshold values and useful in determining alarm conditions. The programs and instructions 120 may further include applications configured to contact, notify or alert other systems and personnel when alarm conditions occur. The programs and instructions 120 may further include applications, such as web servers and email applications, for transferring or communicating information and data. For example, the programs and instructions 120 may be configured to direct the circuitry 104 to communicate via the network interfaces 116 using communications standards, such as FTP, SNMP, SMTP, HTTP, and SMS.
Each variable record in the data model defines a uniquely named entity, typically using a textual name, with a specific data type. In a particular embodiment, each sensor in the system has an associated variable for which the current value is the sensor reading. Other data, such as configuration, error conditions, status, and security settings can be stored as variables. An exemplary structure for a variable record is represented in Table 1.
The variable records may be stored in or accessed via an open hash table, with the records hashed by the ID_string. As shown in
Variable records referenced in the hash table may be uniquely identified by ID_string in combination with creation time. Creation time is useful in handling the situation in which a variable is deleted and recreated during the lifetime of the journal. When the hash table is searched for a variable, the lookup is relative to a desired time reference, for example, either the present time or the context used to view the data. The combination of the creation time and the time of the last update of a given variable is used to select from among the records that may exist for a given variable ID. If the variable is deleted, the time of the last update is the time of the deletion. Likewise, if no variable record existed at the desired time reference, which may be before or after the variable was created or destroyed, the lookup can recognize the absence of the variable record and act accordingly.
Each variable record may also include descriptive data, such as the data type, attribute flags, and class of the variable. In a particular embodiment, a significant variety of data types are supported, including signed and unsigned integers (32-bit and 64-bit), single and double precision floating point numbers, Booleans, strings, string lists, timestamps, byte arrays and structured data values, such as lists of other data value primitives with ID strings for each.
This exemplary embodiment also supports a variety of attribute flags including basic access control, such as a read-only flag, a constant flag, and an undeletable flag; name scope control, such as a flag indicating that the variable ID is globally unique across multiple systems or locally unique; and persistence control, such as a flag for indicating that the variable should be saved to permanent storage and restored when the system is restarted.
In an exemplary embodiment, each variable record also includes a variable update record. This variable update record stores the "oldest" value of the variable, which provides the base-line version of the variable. The updates contained in the journal are, generally, assumed to be relative to the base-line values stored in the variable records. For example, if no update is in the journal, or if the update is after the time in question, the "oldest" value embedded in the variable will be used to describe the value of the variable.
Variable values may be stored in variable update records. In one particular embodiment, each variable record consists of the fields depicted in Table 2.
Variable update records may be linked into two different ordered sets. One set represents the value history of the specific variable, such as through using the next_var_update and prev_var_update pointers, and the other set represents the global value history or global journal for the variables in the system. In both cases, the order of the records may be sorted by update timestamp with records "before" a given record having a timestamp equal to or lower than that of a given record, and records "after" a given record having a timestamp equal to or higher than that of the given record. This ordering is naturally produced due to the insertion process, since newer updates will have higher timestamps than older ones.
In general, references to "timestamp" in this disclosure are intended to refer to numeric values representing an ordered sequence of time in history. Depending upon the implementation, timestamps may be literal timestamps with sufficient resolution so that matching values can be considered by the system to be "simultaneous" or an incrementing "version stamp" where each atomic update or set of updates receives a new value which is higher than all previous values, such as by using an incrementing counter. In general, the mechanism used for producing timestamps should satisfy the following exemplary rules:
For a given variable, the combination of the variable record and its update records form a doubly-linked circular list. For example, as shown in
Similarly, the update records, including those embedded in the variable record, are linked and ordered into a single list, representing the global value journal for the whole data system. As shown in
In general, when the value of a variable is updated, a new update record is created and initialized with a new value, an appropriate timestamp, and pointer to the variable record. The new update is added to both the end of the global journal (using the "journal_end" pointer) and the newest end of the variables local set of values (using the 'latest update' pointer in the variable record). The simple structure of the journal allows this operation to be quickly accomplished, even in interrupt mode with, for example, protection provided by interrupt disables, spin locks, or other system appropriate mechanisms. If interrupt mode update and/or access is not used, semaphores can also be used for providing concurrency protection.
Since the value history of a variable is likely to be of interest, deletion of a variable is treated as a special case of a value update. A special reserved value is stored in the value field of the update record, indicating that the current value is now "deleted". When the variable is being accessed for its value at a given point in time, the search of the hash table can quickly determine that a given variable record did not exist at a given point in time by comparing the desired timestamp to the creation time and to the value and timestamp of the latest update. If the creation time is newer than the timestamp, the variable did not exist yet. If the value is 'deleted' and the timestamp is before the desired time, the variable no longer existed at that time.
Stable reader access to the data model and journal may be accomplished using data records known as 'access contexts'. In a particular implementation, an access context consists of the fields depicted in Table 3.
The 'next_update' pointer is used to point directly into the update journal, allowing updates to be read, one by one, from the journal. When it is combined with the current_ts, the system can determine when more than one update occurred simultaneously. The updates can be read, one-by-one, and some may be found to have the same update timestamp.
In a particular implementation, the other fields (Type_Flags_Mask, Type_Flags_Value, cls, meta_flt) are used to "filter" the variables shown through the access context to only those of interest. Each of these fields, when defined, provides matching requirements for different fields in the variable record to be matched in order for a variable to be "of interest" to the access context. The other fields may be used to allow quick traversal of the update journal. Updates associated with variables not matching the filters are skipped without being reported to the reader of the access context.
Enumeration of the variable population and associated values at the given time represented by the access context may be accomplished by traversing the hash table of the variable records, skipping records representing variables that do not exist at the target time and records that do not match the access context's filters, and reading the values using the current timestamp as the target time. For large variable populations with frequent filtering, additional hashing or sorting of variable records with common filtered attributes may be performed to increase search efficiency.
Accessing the value of a variable at a given time may be accomplished as shown in
In a particular embodiment, the update list for a given variable is a simple, double-linked list, which may be traversed linearly to find a value. Linear traversal is generally desirable where the length of the update history for a given variable is small, timestamp comparisons are very fast, and most value queries are for either the current value (the first in the list) or one of the most recent values (those closest to the start of the search). In implementations where these assumptions may be inappropriate, use of a heap, binary tree, or other data structure providing a faster-than-linear lookup may be used.
Since the access contexts consist of a very small set of data, contexts can be easily created or copied. One common use of access contexts is for threshold processing. Threshold processing code may operate either by reading updates, one by one, and checking for threshold violations on those variables of interest that are changing values or by skipping forward by prescribed periods of time, and traversing all desired data. Checking one by one prevents the need to poll all variables frequently since the threshold code can assume that a variable representing a sensor still has the same value as the last time it was read unless a new value update is reported. If a problem is found, it is commonly the case that another program, such as a notification process for sending e-mail or generating reports, is invoked. By copying the access context and passing the copy to the notification program, the system provides that the notification process reports on the same system state, including the same sensor values and other configuration data, as present at the time that the problem was reported. Meanwhile, the threshold processing code can continue to process newer data updates, without waiting for the notification code in order to preserve the data state, and without causing the notification code to potentially report "newer" system state than intended. When the notification process is completed, it can close or release the access context, allowing the system to prune the journal of the older updates that are no longer of interest.
The journal supports being "pruned" based on retiring records in the journal older than the oldest timestamp of interest, as shown in
Pruning of the journal can be initiated for a variety of reasons, including closing of data model readers, resulting in changes in the oldest timestamp of interest; readers moving forward through the journal also causing such changes; or resource constraints, such as the population of update records exceeding a system prescribed limit or age limit.
Another use of data stabilization is for potentially long-running data processing, such as saving the variable data to disk or accessing the data across a network. The time-consistency gained by the access context allows the "slowness" of these mechanisms to not cause problems with their successful execution either by forcing the sensors and other data "updaters" to block or stop updating temporarily, or by requiring the production of a memory expensive copy of the data into fast storage, such as RAM, so that the slow processing can have a stable data image on which to operate. The option for such processes to "listen" for just the values that have been updated, by, for example, traversing the update journal, also allows for efficient incremental data communication such as only sending the data updates across a network, instead of a full copy of mostly-unchanged data.
Variable records also support a mechanism for providing additional "supporting data" for the variables. Such "metadata" provide a means by which additional information on the variables, such as units, value ranges, labels, access control, and other application-specific data can be "tied to" the variables.
In a particular implementation, each "metadata slot" is defined by a record containing the slot's ID string, its data type (supporting the same types as the variable data supports), and any access control information. Each "metadata slot value" contains a pointer to the record defining the slot, the value of the slot, and pointers for chaining with the other metadata slot values for a given variable.
Multi-update transactions may be implemented by accumulating a desired set of update records without adding them to the journal or the variables' update chains until the transaction is "committed". When committed, updates in the chain are given the same update timestamp, added to the global journal, and linked into each of the update chains for each of the update variables as if the updates were done one by one. Only the commit processing is performed within the "mutual exclusion" (interrupt disable or semaphore, as indicated earlier) section of the code. The transaction can be accumulated step-by-step without entering the critical section. Likewise, the transactions can be "rolled-back" by simply deleting the chain of updates before commit. Similarly, creation of new variable objects within a transaction is accomplished by accumulating the new variable records, and adding them (and setting the creation timestamp) when the commit is complete.
In a particular implementation, each variable can optionally be assigned to be of a certain class. Variable classes are defined by data structures that include a unique ID string, a pointer to a parent class (if any), access privileges, and a list of class-specific metadata values. Exemplary Classes are used in the following ways:
The exemplary implementation includes multiple access methods for the data model implementation. Exemplary methods of access include implementation of these functions:
An exemplary implementation is based around a kernel-mode device driver and provides a set of C-callable function calls providing the full set of data model capabilities. A kernel-mode implementation generally means running with supervisor privilege within the kernel of the operating system. A device driver generally means a specialized piece of code, either integrated with or loaded by the operating system kernel, that run with kernel privilege and provides a service or access to a hardware device. These interfaces are designed to be called either from interrupt-context or task-mode, allowing their use from other kernel-mode device drivers and subsystems.
A particular exemplary implementation provides a character device driver interface, including a full set of ioctl( )-based functions, for implementing the full set of data model capabilities. In addition, the character driver includes support for asynchronous (non-blocking) I/O, allowing select( ) to be used for timed waiting for updates from an access context.
In addition, a more friendly C-style interface may be provided through a shared library (which may be implemented using the character driver interfaces). An object-based C++ style interface may be used for implementation, as well. To allow easy use from scripting environments, several command-line interface tools may be implemented using the C-style library, providing access and modification mechanisms. The exemplary implementation may also include a set of CGI (Common Gateway Interface) modules implementing both query and update XML grammars for the data model. The Appendix depicts an exemplary XML grammar. These grammars may allow a full set of methods for querying the data model and returning subsets of the data model, as well as creating, modifying, and deleting data within the model. These XML-based web interfaces may provide a programmatically friendly way for a Java-based application provided as a GUI implementation, a centralized mass administration tool, and other third party applications to interact with the device implementing the data model. A query CGI may include support for both inputting an XML-based query (as form-data input of a POST) and returning the data in the response, or running pre-canned queries stored on the device and tied to defined URLs. An exemplary implementation may also include support for substitution of values derived from the data model into standard HTML documents using an XML-based macro grammar.
An exemplary implementation may include a custom SNMP subagent, which provides a mechanism for defining tables to the SNMP agent representing the values and metadata slots of variables of a given class. These mappings may provide a means by which variables in the data model, such as sensors and configuration data, can be easily published for access through standard SNMP access mechanisms.
Another exemplary implementation may include mechanisms for generating XML-based reports (using the same grammars as used for the Web Access), and delivering these reports using FTP to an FTP server, HTTP POST-ing (form data delivery) to a remote web server, or SMTP-based e-mail delivery.
A further exemplary implementation may include an application for utilizing the C-style library interface for monitoring data updates, and storing copies of the variables marked as persistent (using the type flags) to an XML-based file encoding. At system restart, this file may be used to drive the data model updates to restore those variables to the state corresponding to the last stored state. This same mechanism can be used for saving and restoring configuration data externally from the device.
The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments which fall within the true scope of the present invention. For example, the above data model and journaling application may be implemented on PCs and server systems. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description, including the APPENDIX.
Patent Citations
Non-Patent Citations
Referenced by
Legal Events
Original Image


text:
Sep 18 2013
Bacon Procrastination
Yesterday, I had absolutely zero laundry, homeschooling, housework, or cooking to do.
On Opposite Day.
My point is: Rather than do any of those things, I decided to do this instead.
Bacon Procrastination can be fun!
The time between this photo and the next photo was approximately .6 seconds.
Gone. It's gosh darn amazing my thumb is still there.
So then I did it again. Because remember: No other work to do whatsoever. On Opposite Day.
This time, though, I decided to teach Charlie the art of restraint. He got about this far before I used that cautionary "Ah, ah, ah!" sound, which translates in English to, "Oh, you'd better not, mister!"
And it worked! He backed off. Though, as you can plainly see, he really didn't want to.
But that's the thing about Basset Hounds. People assume they're just dumb dodo birds. But in reality, they are incredibly smart and capable of being trained.
It's just that they're usually unwilling to be trained.
In fact, I would say "Unwilling" is probably the number one trait of a Basset Hound.
But check this out: He actually went for it again, but he stopped himself just short of snatching it out of my hand. And all I had to say was another "Ah, ah, ah!"…
Before he backed off again. Oh, boy…just look at that face. He's mad now! Hahaha.
Yes, I'm easily entertained.
So after that, I gave him the go-ahead. I moved the bacon just a hair closer and said, "Here you go, Charlie!"
And he responded accordingly.
And since Charlie is a member of the church of No Bacon Left Behind…
He went ahead and finished off the rest.
By the way, I ran sort of a vintage action on these photos in order to try to make my hand look less frightening.
It didn't work.
Here's another Basset Hound tactic: Act like you don't care…
Then POUNCE with all the quickness of…a turtle.
A Basset Hound can sneak up on nothing.
Here's another Basset Hound tactic: Tug on Mama's heartstrings.
Gaze lovingly into her eyes, even as you're snatching the bacon out of her hand.
You'll look so adorable, she'll never even know what hit her.
Happily Avoiding Work,
Pioneer Woman
220 Comments and 21 Replies
Trini On Wednesday, September 18 at 2:21 pm
Ree, bacon and opposite day-way to go! It's 3 pm here in CT and I am still looking at the mess I made, of course in my kitchen and have yet to hop to it and clean. Today is opposite day for me—I'll get it done tomorrow Poor Charlie being tempted like that but what a sweetie pie…love him!
Andrea Olson On Wednesday, September 18 at 2:24 pm
Gosh this is loaded with cute. If you like dogs and bacon! And reading this gave me yet one more excuse not to work!
Molly S On Wednesday, September 18 at 2:28 pm
Casey Jo On Wednesday, September 18 at 2:52 pm
This made my bad day good again. My co-workers were wondering what was so funny and I simply told them they wouldnt understand!
Cherilynn On Wednesday, September 18 at 2:55 pm
LOVE Charlie's expressions!
Did Walter get any bacon???
Terry S On Wednesday, September 18 at 3:00 pm
Oh, Ree! Just when I'm about to compliment you on your "NOT AT ALL PRUNEY HAND" you go and tell me why. You silly girl!!!
Steph N On Wednesday, September 18 at 3:13 pm
I'm avoiding work…wish I had my big ol' doggie to share it with!
Kelly G On Wednesday, September 18 at 3:13 pm
Sweet Charlie! Those eyes would get me every time!
Nanette On Wednesday, September 18 at 3:14 pm
That looks like more fun that procrastinating on Pinterest!
Try what I did with my Peek a Pom, make him hold his head still while you lay it on top of his nose. Boo swings his head around after I lay a cookie there and snatches it in the air.
And that one look was saying you just and see what I do in your favorite shoes, when you took it away the second time.
Alice On Wednesday, September 18 at 3:15 pm
Mmmm bacon, and dogs. Dogs and bacon!
Karen M On Wednesday, September 18 at 3:16 pm
When my grandma was in her last month of life, she had gone deep into dementia and was not talking at all and eating very little. Some days I would visit her and even when she had her eyes opened and appeared to be awake, I don't know how aware she was that I was there, but I just tried to be with her everyday and enjoy the moment.
I had read about the power of smell and how it is the first of the five senses you develop and it is the last sense that stays with you. So I thought I'd bring my grandma some bacon and that somehow, this might trigger a happy thought for her or be a happy sensation.
When I brought it to her bed at the hospital, she said the first words anyone had heard it weeks! With her eyes closed, she said, "Is that bacon?" I'm not even sure she was even "awake".
"Yes, grandma, I brought you some bacon."
She said, "give me the crispy piece."
I popped it into her mouth. She smiled… her eyes were closed the whole time. She was really happy to enjoy such a simple thing.
This one of the very last conversations I had with her before she died. Bacon is VERY powerful stuff!
Anne P. On Wednesday, September 18 at 5:10 pm
Karen, you were very blessed to have had that last special time with your grandma…and she was so blessed to have had such a loving granddaughter as you!
Ann Francis On Wednesday, September 18 at 6:57 pm
I agree. I had a similar event with my Dad when he passed over in 1995. I was truly blessed.
Rhonda B On Wednesday, September 18 at 3:24 pm
He's soooo darn cute!
Jolie L. On Wednesday, September 18 at 3:39 pm
My, my, my Ree, you did have a little time for yourself yesterday, didnt you? By the way, my two Shitzus, they are brothers & everyone ask's if they are twins. Have you ever heard of "Twin Dogs" ? Well me & the boys do the same thing most days and we love it !!! What other human or animal gives us so much companionship, love & kisses as our dogs?
Unconditionally !!
AliciaC On Wednesday, September 18 at 3:40 pm
Oh how I needed that laugh today! Thanks!!!
jodi On Wednesday, September 18 at 3:47 pm
Today is OPPOSITE DAY? go figure. that explains it all…….
Kathy in CA On Wednesday, September 18 at 3:57 pm
It's tease the kids or the animals, right?
Lori Seggio On Wednesday, September 18 at 4:08 pm
I just love Charlie. He is so beautiful! Love ya and I'm glad you're taking a break. God bless xo
dan's wife On Wednesday, September 18 at 4:09 pm
Your thumbs should win an award.
Susan B. On Wednesday, September 18 at 4:09 pm
I'd like to be a doggy in your house!!
Jody On Wednesday, September 18 at 4:11 pm
I just read these to my 9 yr old son. He loves the charlie books and to see the pictures on here. He laughed @ all the captions.
AZAnnette On Wednesday, September 18 at 4:36 pm
Charlie, you are amazing, love those eyes!!!
Angela On Wednesday, September 18 at 4:38 pm
I loooove Charlie!!! When my basset, Jacqueline Basset, was a baby, my vet warned me that she would become incredibly stubborn when she reach 18 months old. And sure enough, almost to the day she reached 18 months, she was unwilling to do anything I wanted her to do. She would do the opposite. Those kooky bassets!!
Carol On Thursday, September 19 at 5:11 pm
Jacqueline Basset. lol
Carol On Friday, September 20 at 11:50 am
Could have been Angela Bassett too.
Jenny L. On Wednesday, September 18 at 4:41 pm
Charlie is so cute. My mini dachshund gets the same look and he's never met a piece of bacon (or anything for that matter) that he doesn't love.
Toby doesn't just give you the look – he barks to make sure you know he's there!
Paige Varney On Wednesday, September 18 at 4:50 pm
Goodness! He's too cute and clever.
Kay G On Wednesday, September 18 at 5:08 pm
What a precious series of pictures! Anyone who has ever had a dog can appreciate what you and Charlie were doing. I expected to see long strands of drool hanging out of his mouth–and wondered how you held your composure long enough to get all those close-ups. Absolutely priceless! Loved it!
erica On Wednesday, September 18 at 5:08 pm
My heart is owned by a Jack Russell, however, it's easy to see why Charlie is king of your heart, king of the ranch, king of cute, and last and most important, king of the beacon.
Carrie @ You're a Good Mom On Wednesday, September 18 at 5:13 pm
What better way to procrastinate than with BACON?! Love love love all the pictures…so adorable! (Both your hand and Charlie…)
jamminjan On Wednesday, September 18 at 5:14 pm
You really are too funny Ree! And so is Charlie…..
Norm Thomas On Wednesday, September 18 at 5:20 pm
My wife does the same thing to me!!
Sheila On Wednesday, September 18 at 5:23 pm
Procrastination must be in the air…I even did yard work today to avoid, laundry and cleaning out my hoarderesc closet. Love the pics…and the filter is awesome the clawlike crab hand was no where to be seen!
jayne in hustisford On Wednesday, September 18 at 5:24 pm
Charlie is so freakin cute
Thank you so much for the wonderful chuckles at the end of a long work day!!!
Love ya Ree!!
Hilary K. On Wednesday, September 18 at 5:34 pm
You know, not the best day today. Then I saw this. And I laughed. Thank you!!
Dawn On Wednesday, September 18 at 5:34 pm
LOVE that doggie!
HL On Wednesday, September 18 at 5:40 pm
BACON! Yum. Your hounds are so cute.
Kathy in DE On Wednesday, September 18 at 5:49 pm
MichelleB On Wednesday, September 18 at 5:54 pm
I love the different expressions you capture on Charlie's face. I must be easily entertained too, but along with your commentary, I really enjoyed your pics. I also enjoyed hearing you can be lazy like me!
Linda P On Wednesday, September 18 at 6:11 pm
Our Vet said we could be make a large donation to her children's college education funds if we gave our dog pork . . . just sayin'
Ann Francis of South Carolina On Wednesday, September 18 at 6:54 pm
Love the pictures! My two act pretty much the same way. One is a 13 year old toy French Poodle (Molly), and the other is a 4 year old Springer Spaniel mix (Katie Scarlett), the name fits. How do you set the camera?
Jan On Wednesday, September 18 at 6:54 pm
So cute, poor Charlie. Bassetts are very smart. I had a female named Jill and she loved to swing in our bench swing. She learned how to jump up in it and when it stopped she would jump down and do it again. She would do that for hours.
Melana On Wednesday, September 18 at 6:55 pm
That is so awesome that he is looking right in your eyes.
Lenaalyce On Wednesday, September 18 at 7:03 pm
We like to use "contrary" to describe our basset hound….
Lindsey F On Wednesday, September 18 at 7:11 pm
I seriously love this.
Debbie S. On Wednesday, September 18 at 7:13 pm
I love the pictures and laughed out loud! It made me want bacon too!
kay43026 On Wednesday, September 18 at 7:29 pm
Boys…of any species…love their bacon!!!
Gee On Wednesday, September 18 at 7:38 pm
You deserve a little avoidance!!
Angie Thomas On Wednesday, September 18 at 7:40 pm
I see another book on the horizon! Charlie and the Bacon Monster!! lol I love Charlie and you, of course.
Ana On Wednesday, September 18 at 7:48 pm
Soooo adorable.
Debra B On Wednesday, September 18 at 7:53 pm
I love Charlie !!!
Karen Miller On Wednesday, September 18 at 8:07 pm
We were blessed with bassets throughout my childhood. Each personality was unique, adorable, clever and melt you charming.Dear old Max had refined the art of chillin until…….a stick of butter appeared on the counter . He instantly was able to stand on back legs, stretch his neck like one of the "Incredibles" to down that yummy goodness without disturbing the butter dish and before Mom could turn around. Precious and cutest puppies ever!
Mardi B On Wednesday, September 18 at 8:07 pm
For bacon, I could look Charlie-souful into your eyes, Ree!
Lisa from PA (BassetMom) On Wednesday, September 18 at 8:23 pm
What a great way to spend quality time with Charlie! I love how us Basset people are so entertained so easily with our hounds! They are the best!
Teresa Brunker On Wednesday, September 18 at 8:30 pm
Oh Charlie!!! What a hard life it is!!! He has to really work hard for those treats : ) Thank you for the post Ree!!! Thank you Charlie for cooperating!!! It was a hard job but someone had to eat the bacon!!!
Gwen Lawson On Wednesday, September 18 at 8:32 pm
What a sweet baby lol specially the last picture. Miss my old man Vladi he had the same look <3
Chrissy Denise On Wednesday, September 18 at 8:38 pm
My 8 year old daughter has informed me that "someday" we will get one of those 'long earred' dogs like Ree has. Lol.
Nina On Wednesday, September 18 at 9:05 pm
This made me so happy and biggest LOL in forever. Thank you Basset Lover! I am one too. xoI
Sandi W. On Wednesday, September 18 at 9:15 pm
Basset Hounds and Bacon go together! It's good to have an 'opposite' day every once in awhile; it reminds us to stop and smell the roses…or should I say…the bacon! lol ;D
Linda W - tx On Wednesday, September 18 at 9:44 pm
I love that last picture of Charlie – he is such a sweetie-pie!
Maggie C On Wednesday, September 18 at 9:50 pm
I'm a card carrying member of Charlie's Church! Bacon is good!
Laura in San Diego On Wednesday, September 18 at 10:06 pm
Thanks for the dose of Basset Hound Cuteness!!!!!!!!
My four and seven year old girls love your dogs, too!
Collet in WV On Wednesday, September 18 at 10:17 pm
Your bassets are sooo adorable!! We have beagles…all named after vacuum cleaners…for obvious reasons!! They snarf up everything in their path!!!
donna harris On Wednesday, September 18 at 10:45 pm
Bless that precious pup Charlie! Charlie I would give you all the bacon you want, couldn't resist those eyes and face. Ree isn't nice to Opposite Days? Keep the photos coming, love them!
kristina C. On Wednesday, September 18 at 10:45 pm
I'm a Photoshop kind of gal . . .
Just thinking, if you masked your hand and duplicated the layer, then set it to "multiply" (ad infinitum or as many layers that make it work) see how that works . . .
jessica Brooke On Wednesday, September 18 at 11:36 pm
the last photo is my favorite!!!
cecelia On Wednesday, September 18 at 11:40 pm
I can smell that bacon A big handsome-face on that dog.
Heidi S On Thursday, September 19 at 12:36 am
I love bacon. Can I trade with Charlie next time you have nothing to do?
Kristy On Thursday, September 19 at 12:49 am
What a gentle-boy! My Duke would be as gentle. But, Lily, she is a more shark-like! Either bacon is the universal motivator.
Dianne On Thursday, September 19 at 12:56 am
Hilarious!! So cute!
Sherri Lynn On Thursday, September 19 at 1:58 am
Aw charlie you are soooo sweet:) bacon bacon…wasn't there a commercial about a dog wanting bacon…? p.s. love that so many people offered their support to Debra….:) hang in there Debra…everyone who has ever lost a pet knows exactly what your going through. hugs
Shelley On Thursday, September 19 at 2:54 am
Hah! I had the same kind of day….ignored the laundry, the dishes, and even dinner to just chill with my pups and a good read…even conned my hubby into bringing home take-out! 'Course he had to if he wanted any dinner! Every girl needs a "veg" day once in a while….we deserve it!
michelle On Thursday, September 19 at 4:39 am
He is so darn sweet and darling! I could look at his photos all day!
Sunshine On Thursday, September 19 at 6:12 am
Is it horrible that I was laughing hysterically at poor Charlie's predicament? I can't help it. Truly. It's the eyes. The look in his eyes just did it. lol Loved your captions for the pics, but with those expressive eyes of his, none were needed even! Too adorable!
Kitty Bug Jackson On Thursday, September 19 at 6:28 am
I love dogs and kitties:) and I also love "nothing" days:)
lisa G in TN On Thursday, September 19 at 7:00 am
PLEASE… NO bacon for your dogs. Feeding bacon and ham is the most common cause of pancreatitis caused by owners. It is deadly. I found this out the hard way when our dog got pancreatitis from me feeding him some bacon. He survived the attack…but just barely. The highest death rate for dogs from pancreatitis is after Easter and Christmas because people unknowingly feed their dogs left over ham. Just would never want it to happen to Charlie or Walter.
Toni Anne On Thursday, September 19 at 7:13 am
Thanks so much for the Charlie fix! I just love your Bassett's, where's Walter? How did he not come slowly running when he smelled bacon? Your lucky my beagle would have opened her mouth so wide for bacon I might have lost much more than a finger. Are the comments before me real? I'm sure a few pieces of bacon isn't going to kill him. I put my beagle on a very expensive diet through my vet. Within a month she was gaining weight, so I watched her like an eagle. I found out that she was eating leaves and bark off of the trees, worms and I'm sure anything else she could. If that didn't kill her I don't think a few strips of bacon would, it's not a steady diet. Thanks Ree for my morning smile.
Jennifer H. On Thursday, September 19 at 7:22 am
I love this! Makes my heart smile! You love your furry family members as I love mine!
Mary On Thursday, September 19 at 7:58 am
Yes…dogs…meat…heartstrings….yup. Got 'em here too.
Bev @ Bev Cooks On Thursday, September 19 at 8:46 am
Alyssa On Thursday, September 19 at 9:08 am
It must be that procrastination is in the fall air… I was supposed to be packing for our move the other day… Instead I went to Target, bought a table cloth, came home, cleaned my kitchen and arranged my table very prettily over my new table cloth. I'm in love with it. I almost bought a new bed spread too, but resisted the urge. I'll wait until after we move…
Shea Z On Thursday, September 19 at 9:21 am
How could you torture that poor sweet baby pup with bacon!? He just loves his bacon Mama!
TabithaB On Thursday, September 19 at 9:30 am
I'm so glad to know I'm not the only one who does things like this
Annie On Thursday, September 19 at 9:32 am
I love ya Ree, you take amazing pictures! Enjoy your blog, but please don't feed your dogs bacon!
kate-v On Thursday, September 19 at 9:36 am
that dog makes me laugh!
Amy B On Thursday, September 19 at 9:36 am
Dogs have such great personalities! What a sweetheart that Charlie is. Thanks for making me smile today!
janice n virginia On Thursday, September 19 at 9:46 am
Hi Ree, just want to say you make me smile, love your blogs, actually I"m kind off addicted to them! (in a good way). I used to have a bassett hound and I just love the laid-back personalty they have. The UPS man delivered a package one day and asked when he came to the door if our dogs was dead, so I stepped out on the porch and yelled "cleo!" and she raised her head & looked at me like "is it time for supper?" She had been napping in the yard under a shade tree and apparently had not moved when he pulled in our drive & walked right past her! At that time we were using the most wonderful vet who said he new of a male bassett hound who might breed with Cleo. Can you imagine a litter of them!! Well the owners of the male basstt agreed to let him come for a weekend tryst, we set it up. The dogs had a secluded area of our basement to spend time together and you know what happened? NOTHING!!! Apparently it was too much trouble. Another funny story about Cleo is that she would have false pregnacies and have milk! We have pictures of the cat nursing her! YES!!
Heather Saffer On Thursday, September 19 at 9:55 am
Oh boy, the discovery of bacon looks dangerous! My Donald has not yet learned bacon. Maybe someday…
Susan P Cooper On Thursday, September 19 at 9:55 am
Bacon is an obsession in my home… LOL. I need a day where I have nothing to do or rather take a day off. I think I'll go do that right now.
Jane's Adventures in Dinner On Thursday, September 19 at 10:20 am
Oh, I am sorely in need of an opposite day. Those eyes would get me every time.
Cindie On Thursday, September 19 at 10:26 am
I hope you had as much bacon as they did!
Deborah On Thursday, September 19 at 10:28 am
He needs MORE bacon!
Claudia On Thursday, September 19 at 10:52 am
LOL!!! That is tooooo funny. It looks like his eyes go further back the madder (is that a real word?) he gets…he is too cute.
Nicole On Thursday, September 19 at 11:18 am
OMG, cuteness! I actually wanted to bite the bacon out of your hand…it's almost lunch time here…haha
Love Charlie's face and expression.
Sandy T On Thursday, September 19 at 11:22 am
Oh my goodness. Too cute! I may need to do this sort of housework tonight. My dogs thank you!
Susi Matthews On Thursday, September 19 at 1:44 pm
Oh, those eyes! Yep, they know how to do pitiful better than anything else.
Funny though, that "ah ah" in the right tone of voice works on every human being and animal there is. Somebunny actually did a study on it and found that most animal mothers in nature have a sound like that and use it to correct their young, including humans.
I performed as a Living Statues for many years and it's HILARIOUS to watch people's reactions to that sounds. Stops 'em in their tracks, it does, no matter the age or gender.
Kristen R. On Thursday, September 19 at 2:46 pm
I was once chastised by my husband for feeding leftover bacon to our dogs. It's true. Men love bacon even when it's been sitting out all morning. Why hasn't anyone invented a bacon perfume yet?
Donna Miller On Thursday, September 19 at 2:48 pm
Thanks for always making me smile I love the "dog stories" I have been a dog lover all my life, they sure make life better!!!
Donna J. On Thursday, September 19 at 2:51 pm
The BEST post on Charlie!!
Joy On Thursday, September 19 at 4:33 pm
A mad look on Charlie? I'd say that's a "Sad" "Please, please, just one bite?' I would love to have 10 basset hounds, they are so adorable.
Then I would certainly be entertained 24 hours a day !!
Rie On Thursday, September 19 at 6:23 pm
I can avoid work at HOME very easily…Can't be done at work. LOVE the doggie pictures. We now have the sweetest, most well behaved, senoir dog. He was a rescue. Unfortunately I have to keep him on a special diet but I know those looks (espeically from our much beloved first dog). Can't give our new guy bacon but any treat he gets is filled with anticipation. Those eyes can melt a Mama's heart……
Rachel E On Thursday, September 19 at 6:34 pm
I just love Charlie! He is adorable! I am trying to convince my hubby that we need a Basset Hound but, he has yet to give in to me.. he will eventually
Gloria Sweigard-Valdez On Thursday, September 19 at 7:44 pm
Oh, but I do so admire your dedication to work avoidance! What a delightfully charming past time.


text:
Application Information
Scholarship Overview
This scholarship is for students from Kennett High School in Kennett Square, and Avon Grove High School in West Grove, Pennsylvania. To qualify for this scholarship, applicants must be recommended by guidance personnel or scholarship committees.
How easy is it to apply?
Not too bad
This scholarship's application process may have items such as essays that could take a couple hours.
How much competition is there?
Relatively little!
This scholarship has a relatively low number of applicants.
Class Year: Is this you?
- High school senior
Home State: Is this you?
- Pennsylvania
High School: Is this you?
- Avon Grove High School
- Kennett High School
More Requirements:
Must be recommended by guidance personnel or scholarship committees.


text:
Manage your Drupal sites even more efficiently with Drush, the shell interface for managing and scripting Drupal site development.
Extend your Drupal 7 sites with custom modules, which allow you to create everything from admin interfaces to forms.
"lynda.com has made it possible and affordable to retool and get back to work after raising my kids. I can't imagine working without this resource now." —Maureen C.
more from our members »