text:
For what many considered a slow start this season, it sure has been a rollicking past few days, huh? I'm talking more specifically for the folks who watch the live feeds or those who follow them here and on other sites. It's hard to believe so much has happened in just three days – and we're talking only two full days! It's enough to make your head spin! Before I get into the full report of the overnight events, I just want to set a timeline of sorts because, if you blinked, you may have missed an important event.
Thursday night in the live show: George won HOH, had to immediately make nominations, chose James and Erika.
Thursday after the live show: James won POV and George put Howie on the block in his place.
Friday: Howie was evicted from the house and a new HOH Competition was won by Mike Boogie.
Saturday: Mike Boogie nominated Janelle and James. Janelle won POV.
Phew! Even if I don't like the turn of events or the houseguests winning or losing, I have to say it… it's interesting and I can't wait to see what happens next!
Here are the events of the late night and overnight period after Janelle won the POV in that Big Brother House of Wayward Boys and Girls:
- Danielle and Erika were in awe of Janelle's ability in competitions. Erika says she's not good with strategy, but her strength is in comps.
- James was screaming, yelling, fussing, moaning. He said that Janelle cheated in the POV competition. According to him, they were told "no physical contact" and he claims Janelle stole the Marcellas doll out of his hand and yelled "Give me that!" [Jackie's note: I don't know if snatching the doll would constitute physical contact or not. It's contact with the doll, but not necessarily with James. It sounds like he should have had a better grip on it to me. Or, it's also possible that in the heat of the competition, things might not be as he thinks. Could they both have been reaching for the doll at the same time? He says he was reaching under her. Could she have seen him going for it and took it first? I don't know. The producers told him there is nothing on video that shows any rules broken.]
- Danielle and Erika talked about approaching Janelle to team up against Chill Town.
- Mike Boogie and Will seem to be absolutely fine with the Janelle win. They plan to vote out James.
- Janelle said to Mike: "Did you see me take that doll right out of his hands?" So, she must have. But would it constitute any sort of violation? [Jackie's note: Again, my feeling is that it wouldn't be considered physical contact with James. He should have hung onto the doll if it was that important. If you're playing basketball, stealing the ball is part of the game. You have to be on guard and control the ball (doll). Physical contact is also disallowed in basketball, much like this BB comp.]
- George thinks he did the right thing by making sure Janelle stayed in the house.
- Danielle and Erika think George will go on the block and the vote will be to send James packing. They both think that George has teamed up with Janelle. (They're right.)
- Danielle thinks if the vote could be 2-2, Mike would have to do the dirty work and be the one to alienate jury votes. She thinks he'd vote out James.
- Will told Janelle he's just trying to make "good TV." But he's very happy with her win.
- Will told Janelle that George will go up and they'll tell the "others" that he's leaving, but it's James who will go home – implying that Mike would break a tie and vote out James.
- James is still fusssing and throwing himself around on the bed, bending everyone's ear with how he's been wronged. Danielle, George and Erika took turns listening to him and letting him vent. He's repeating the same stuff again and again – complaining that Janelle wins everything, fussing about the Prom Queen vote, saying the game is rigged and Janelle is more important to them than he is, on and on. And on.
- At times James' voice breaks and it's evident that he's doing all he can to keep from crying. [Jackie's note: As much as I think that whatever Janelle did in the POV will be considered within rules, I'd probably pout like James myself if it were me. I think he knows that the POV was something he had to win to stay in, so it was important he do so… and he didn't. Is his fate sealed?]
- Up in the HOH bathroom, Will and Mike were talking about voting James out this week… until James came to the door. Then they were agreeing with him what a "[bleepin'] ho" Janelle was and how James got screwed. When James went away, they both talked again about how he must go.
- George told Janelle that people (James?) were mad at him because he didn't backdoor her, but he's glad she's still in the house.
- Erika and Danielle push for a meeting with the producers to clear up the POV comp issues. Meanwhile, BB called the houseguests into the Diary Room one by one to discuss it. James wasn't in there even two minutes. [Jackie's note: I can't help but think that his behavior over this might make him his own worst enemy in getting his point (if he has one) across.]
- Danielle is frazzled. She told George she's spent and just wishes she could go home. [Jackie's note: Danielle's a toughie. She'll get her second wind, I'm sure. It's been a rough few days for all the houseguests… except maybe Woogie.]
- Janelle is a bit afraid to be near James – she knows he's viciously angry at her. Meanwhile, James claims he doesn't want to sleep in the same room with Janelle – probably a wise decision.
- Will regarding James: "When he doesn't get his way, he's like an angry four-year-old boy pumped up on PEZ."
- Will and Janelle talked about being friends after the show. He said he talked to Kaysar pre-season, but Janelle said it must have been a "loose agreement" to work with him. Will admitted it was.
- Will also said the Erika made a lot of pre-season agreements with people and has a hard time covering "everyone's back."
- Will and Janelle talked about how obvious the James/Danielle alliance is as well as James' bad acting abilities. [Jackie's note: But… but… James said in the DR what a great acting job he was doing!]
That's where we stand as I post this report. It seems unlikely that the POV will be re-done. It doesn't seem that James has any case in his gripe or something would have been done about it by now. Janelle won the POV and James will just have to carry on and get working on securing votes to stay if he can.
Part 2:
- First, let me say that today is a bit of a replay from the overnight hours for the most part. Although I may be showing my age, I'm reminded of the old Herman's Hermits song with the line, "Second verse, same as the first!"
- The producers have apparently told the houseguests that they will NOT be re-doing the POV competition and the results stand.
- James is bitter about it all and the game itself. He's a broken record going on about Janelle cheating and how the producers like her better than they like him. [Jackie's note: Another age clue – I'm reminded of Tom and Dickie Smothers with their "Mom always liked you best!" routine.]
- Danielle asked James who he thinks Janelle will go after. He told her Chill Town and Erika. Then he added that she (Janelle) has lost four votes in this fiasco. [Editor's note: But she's still in the house. She would have NO votes if she gets evicted… duh, James!]
- When Danielle asked him who Mike Boogie is putting in Janelle's place, he thinks it will be George and hopes it's not Erika.
- James is pretty sure that Janelle's vote will be to evict him no matter who goes on the block with him. "She's been gunning for me since the first week."
- BB had to remind the houseguests dozens of times not to talk about their Diary Room sesssions. Between that talk and the fussing about the producers, we're getting blocked a lot.
- Shades of Will, Danielle's been doing her own shmoozing of the other houseguests. She's good at it, but I think Will has the edge. It comes across looking like damage control since she's likely to lose her ally James.
- Danielle and James both want George to go up on the block with James. Both (yes, James, too) think that it's probably a given that James will be voted out. Except for fussing about producers, James is doing no campaigning to stay at this time and his behavior seems to have many houseguests either walking on eggshells around him or avoiding him altogether.
- Mike Boogie and Will aren't committing to putting any specific person up on the block at this time.
- Janelle said James is a whiner and Will agreed and added, "It's pathetic."
- Even Danielle has told James and others that they have to move on – "It is what it is."
- Danielle told George that she thinks "America's favorite is Janelle." (George asked her the question, she didn't just bring it up this time.) She also told him that she thought he's probably very popular, too. She doesn't think she herself is popular.
And that's about it. James has been hiding under covers sulking as of late and things are basically small-talk chitchat.
Part 3:
Before I go into what's been happening on the feeds, I want to touch on a few things from tonight's show as the feeds were blocked for the competitions and such.
The POV comp that James won reminded me of one of the ones from another season – using items from past comps to retrieve a key. Instead of shackles, they were in cages for the one I'm thinking about. While he complained about how Howie and Janelle reacted to wins, James did the same exact thing. Oh, I would, too. You can't win something without gloating just a bit, can you?
In a way, I can't blame George for his decision, although I think it would have been nice if he had informed Howie so that he wasn't blindsided. We didn't see that meeting awaiting the POV in the Red Room, but heard a few mentions of it later on the feeds.
Howie did go out very badly. Sigh. I'm not one for any sort of physical violence, but I couldn't help but notice how tough-guy-talk Mike is when he's surrounded by folks while being filmed. He knew Howie wouldn't hit him and he egged it all on. Too much testosterone goin' on, boys! At least Danielle just jumps up and down and punches air. Sheesh. James and Janelle were the only votes for Howie to stay. Janelle's vote was the only sincere one – James had said on the feeds that he was going to vote thinking of the jury.
The talk on the feeds was right about the HOH being humiliating to the houseguests. As a matter of fact, I didn't care so much for either of the comps themselves tonight. It looks like they were slapped up without much creativity or thought process behind them. I hope that's not an indicator of the remaining comps this season. Oh… and Mike acted way too weird after winning, but did you notice Erika jumping up and straddling him? Or Danielle running to hug him? So much for those folks claiming that S6 showing off their alliances, eh?
One more note: I don't like Mike. I didn't like him in his season; I don't like him now. But James annoys me, too. Both are overbearing so-and-so's!
Oh, well. Onto the afternoon's happenings in that Big Brother House of Misplaced Distrust:
- James slept. James hid under blankets. James sulked. James ranted about producers and Janelle. Nothing to see here. Move along, move along.
- Will begged BB to give them something to do. [Jackie's note: That's lacking this season. They have cards and checkers, both of which are boring to watch on the feeds. But, dang… give them a crafts project or something.]
- James refused to wear his microphone because he's "not a part of the show."
- Will started kicking a ball around the house for something to do and managed to kick himself in the leg. Drama!
- Danielle once again told James he has to move on when he started complaining to her about the POV again.
- James said he wants to see a copy of his contract to see if/how much money he'd lose if he just turns in his DOR and leaves the house. [Jackie's note: A DOR is a voluntary exit from the game. Technically, as Mike told James during one of his fussings, you can turn the handle on the panic door and leave at any time. They can't go out the front door, but there is an emergency exit.]
- James thinks he'll be destroyed in the editing and Janelle will be the Princess.
- Erika slept most of the day.
- James doesn't think Erika's website has as many hits as his website does. [Jackie's note: Erika was last on the show two seasons ago!]
- Woogie, for reasons only known by themselves, lied to Erika and Danielle claiming that Marcellas got the money and plasma TV in that graveyard comp.
- James has talked to Janelle yet. He's yelled to her and about her, but no talk.
- They have the chess game, so Will decided to learn how to play.


text:
i.e. doesn't require all data to be in memory, by using some
buffered disk-based implementation
marking m15
I thought this was a request for outside help; why is it a bug assigned
to me? I think the milestone should be a much bigger number than m15,
since I don't plan to ever fix this bug in the forseeable future. Is
that what m15 means? This is kind of like assigning some layout engineer
a bug that says "make browser smaller and faster than smallest and fastest
known browser client". Kind of a dozen milestones effort.
The bug assigned to you because you are the module owner for database, according
to bugzilla.
m15 is a holding place for "way far out there bugs", for now.
I created this bug from the old http://www.mozilla.org/mailnews/jobs.html
It's good to have you, Mr. Mork, associated with this bug, because if some
external db guru finds it, (by searching for all HELP WANTED bugs) and decides
to tackle it, they'll be able to find you easily.
Sorry for the whining and complaining; I was just hit by a thrill
of fear when I read this bug. :-)
Bulk-resolving requests for enhancement as "later" to get them off the Seamonkey
bug tracking radar. Even though these bugs are not "open" in bugzilla, we
welcome fixes and improvements in these areas at any time. Mail/news RFEs
continue to be tracked on http://www.mozilla.org/mailnews/jobs.html
Reopen mail/news HELP WANTED bugs and reassign to firstname.lastname@example.com
cc'ing some interested parties.
see http://www.jwz.org/doc/mailsum.html for some ideas on how jwz did it in 3.0
Seth, jwz repeated several times that he's don't like the idea of
using universal db package for message DB.
Do you disagree with him? Is there something wrong with the way
it was done in 3.0?
Also, does dbm already loaded by mozilla (I guess you mean 'dbm'
by 'open source database')? If not, ad hoc solution may be better
than overhead of loading universal db code, isn't it?
And what about interfaces? Should they remain unchanged or some
changes allowed?
sleepycat db has come up from time to time.
we should also discuss what we need for folder summaries, and what we need for
addressbooks (local, and replicated online ldap)
way in the future, but cc some people who know about the issues of large,
replicated dbs.
Last time I thought about this, I took a quick look at <http://www.sqlite.org/>
and it seemed to have potential. Itss on-disk footprint is within a small
number of K of mork; it appears mature, claims to have small memory footprint
and be speedy, and is in the public domain (!).
another issue that has come up (query for bugs about replication of ldap
databases) is using a db that doesn't require us to read the entire db into disk.
it's a big deal for ldap replication (think about the size of phonebook.mab with
100,000 entries. dmose has numbers on this.)
I think bienvenu owns a bug about fixing mork to allow for this, but when we get
to this, we might decide to just move the addressbook over to something like
SleepyCat has a big licensing issue: people who ship non open-source
applications using it have to pay SleepyCat money. People who want to re-brand
Mozilla currently do not have to deal with any code that requires this.
Including code with a licensing requirement of this sort is likely to be an
issue. See <http://www.sleepycat.com/licensing.html> for details on the licensing.
Update to license link:
Since the creation of the Mozilla Foundation, don't all "redistributions" of
mozilla require access to the source?
for sql style query:
sqlite is Public Domain and seems well commented
In the context of application interoperability and desktop integration, maybe
data like news articles, mail messages, address books, bookmarks and so on
should be stored application independent by proposing a suitable standard. The
sqlite idea is a nice idea. How about creating a new standard where modern
desktop environments like KDE and GNOME provide a general SQL data managment
daemon for storing application-independent user-data, eg. by running a
user-selected SQL server in user-space?
It would be pretty cool. Applications could even access these resources
concurrently and register as listeners to them. It would provide efficient
locking, transactions, ...
I basically see two solutions to that problem:
1.) provide an SQL user-space backend and "teach" Mozilla to use it. It could be
integrated with the regular Mozilla distribution package and Mozilla could fire
it up if there is no such service already running on the user's machine. That
would allow to share the data source, eventually, between Mozilla and other
desktop apps -- a feature long requested by many users who don't want, for
example, be limited to specific browsers (bookmarks sharing while the apps are
running!) or mail clients.
2.) Drop the goal of developing a general and efficient data backend by
implementing task-specific solutions. I think that this would be somewhat backwards.
someone @mozilla.org should probably contact freedesktop.org if there's a way to
create something in this way. I guess that could help quite a bunch of people...
hmm, just saw that my comment #16 was slightly off-topic as this is only about
the backend to make such things work, sorry.
I meant to answer what comment #15 said about collaborating with e.g. Gnome and
KDE on having a standard for storing app independent user data.
Ignore my comment for the heart of this bug report. Sorry again for kinda
spamming you (and doing it again now).
(In reply to comment #10)
> Last time I thought about this, I took a quick look at <http://www.sqlite.org/>
> and it seemed to have potential. Itss on-disk footprint is within a small
> number of K of mork; it appears mature, claims to have small memory footprint
> and be speedy, and is in the public domain (!).
and sqlite is now in headed to bigger and better things in Firefox
Is there a schedule for implementing this for Mail/News? (sqlite, MozStorage)
no one has volunteered to do all the heavy lifting required to do this.
Conversation from IRC on this topic:
<Mnyromyr> it would help if MailNews could forget its Mork knowledge first, ie. just use some interfaces without assuming anything about the inner workings
<Standard8> yeah but you'll probably find there's other parts of the code that assume a mork style database or something.
<Standard8> Address book is very bad on that for example
<KaiRo> I think doing bug 11050 with mozStorage would probably be good
<Standard8> you could probably fairly easily get an ab running on mozstorage, you'd then have to figure out how to rework all the uses like import, address collection to not assume its a mork database.
<Mnyromyr> just hacking mailnews to use X instead of Mork doesn't help a bit
<Mnyromyr> the most important task imo is a clean interface between any DB and its users
<KaiRo> I think for the stuff that is in .msf files, it might make sense to rework things a bit and make this either a global storage for all of mailnews or at least for a whole account, going away from per-directory summary files
<KaiRo> at least for message IDs it would be really good to know them at an app level
<KaiRo> well, doing things like marking cross-posts read in all affected newsgroups, saved search folders, and much other stuff would be easier to implement when this is not per-folder
<Joshua> I would think that per-account is probably the best method
* NeilAway notes that IMAP claims it deletes the .msf when your uidvalidity changes
<Joshua> this is how I think the database should be handled
<Joshua> 1. Make the switch in addrbook
<Joshua> 2. Switch nsMsgDatabase and friends in mailnews/db/msgdb/
<Joshua> 3. Combine *.msf to per-account levels
<Joshua> 4. How to handle profile migration ???
<KaiRo> I think 2+3 need to be one step, as you probably need to change APIs/calls for both steps in the same places anyways, so you can do them at once
<KaiRo> and 4 should be a non-issue as we need auto-import even in existing profiles
<KaiRo> I don't think that auto-re-import is a good idea. do it one time when no sqlite is present but msf(s) is/are, and ignore everything else when a sqlite is there. when someone wants us to force re-importing, he should kill his sqlite
And now you finally get someone willing to work on this. ;)
My starting point is going to be in addrbook.
The planned schema for the addressbook:
CREATE TABLE Cards (
CardKey INT NOT NULL PRIMARY KEY AUTOINCREMENT,
[ xxx CHAR for all defined names in nsAddressBook.idl ]
CREATE TABLE OtherProperties (
CardKey INT,
Property CHAR,
Value CHAR
Most likely some of the values should be INTs and not CHARs, but there's no harm in declaring all CHARs, so...
More tangential: SQLite does permit you to search across databases.
It feels too simple.
If this is morphed into "Make address book use mozStorage" (which sounds sensible as a first step towards eliminating Mork from MailNews), then it probably should move into the "MailNews: Address Book" component and get the QA contact changed to email@example.com so that address book people will get bugmail.
Joshua, thank you for being willing to pick up the conversion. My main comments at the moment are these:
Firstly, the bug for the address book conversion is bug 382876 so any address book specific stuff I'd like to be covered there.
Secondly, whilst the move to a sqlite database although should be fairly easy, we need to make sure it is implemented in a way that is easy for us to use and doesn't hold back future dev - the database will be at the heart of our address book so it needs to be flexible and manageable.
So I'd like to ask that you put some basic requirements and a design (e.g. schema, which classes) together on the wiki pages (http://wiki.mozilla.org/MailNews:Address_Book e.g. MailNews:Address_Book_Sqlite_Design) so that we can have something that can be used for a discussion to ensure we get this right.
One requirement, for example is mailing lists which from your schema is hard to see where they fit in.
I'm not stopping you playing around with the implementation whilst we agree this, I'd just like to be sure that what we end up with will be the right thing.
(In reply to comment #22)
> More tangential: SQLite does permit you to search across databases.
If you're thinking that this will solve the search all address books at once bug, it won't unfortunately - the way the address books are separated is the problem here, not the fact that you can't search across multiple files.
(In reply to comment #22)
> More tangential: SQLite does permit you to search across databases.
Obviously Mark answered the question above, but in general, yes sqlite allows you to query across different sqlite databases.
(In reply to comment #22)
> CREATE TABLE OtherProperties (
> CardKey INT,
> Property CHAR,
> Value CHAR
> );
> Most likely some of the values should be INTs and not CHARs, but there's no
> harm in declaring all CHARs, so...
On the off chance that the app (or an extension) will store additional data in the OtherProperties table besides just the information that the user entered into the "Custom" fields of the address card, it would be worth making the "Value" column a BLOB.
Because SQLite uses manifest typing instead of static typing <http://www.sqlite.org/datatype3.html>, consumers would still be able to store strings in the column, but SQLite wouldn't do any type conversion on the values, so consumers would be able to store other values in it too whose types are preserved.
See the content pref service's "prefs" table <http://lxr.mozilla.org/mozilla/source/toolkit/components/contentprefs/src/nsContentPrefService.js> for an example of this kind of EAV schema implemented in an SQLite database with the "value" column given the BLOB type designation so that the database engine assigns it NONE affinity (i.e. does no type conversion).
But see the Places annotation service's "moz_annos" table <http://lxr.mozilla.org/mozilla/source/toolkit/components/places/src/nsAnnotationService.cpp#251> for a counter-example of an EAV schema that gives the "content" column the LONGVARCHAR type designation, which has TEXT affinity (i.e. the engine tries to coerce values to "text form" before storing them).
Not a primary focus for thunderbird3.
Created attachment 348353 [details] [diff] [review]
Experimental common mork/mozstorage interface
This patch represents a first look at one possible approach to dealing with databases in mailnews, namely to define a set of common interfaces, nsIGdb, that can be used to implement a variety of stores. I wanted to see how hard that would be, and what one possible implementation would look like. As I understand it, the original mdb interface was conceived to be such a general interface, yet the actual usage seems to have become a non-extendable front-end for Mork.
This patch compiles and works (barely), and has replaced the Mork calls in db/msgdb and in nsFolderCache.cpp with their IGdb equivalents. The program will switch between Mork and Mozstorage backends by replacing the components names as NS_MOZSTORAGEGDB_CONTRACTID or NS_MORKGDB_CONTRACTID in 2 places. Unit test test_mozstoragegdb.js works for the mozstorage version, the mork version was done earlier and not been updated, so it currently does not work.
As to how hard, it took about one week to do the initial Gdb interface implementation in mailnews and its mork implementation, and another week and a half to do a mozstorage Gdb implementation, including tweaking the Gdb design to work a little better with the SQL model.
My real goals are not to replace mork with mozstorage (as requested in this bug), but rather to investigate methods of adding a common database technology to mailnews that could be used as the basis for certain classes of collaborative applications, such as contact or project management. The mail code here is really not the best demonstration of this - address book would be much better. So I think that the next direction I would like to go, rather than to optimize this for the msgdb case, would be to adapt it to address book. For AB, the obvious immediate benefit could be a shared network address database if I did, for example, a MySQL implementation of IGdb.
As to the way forward in the TB3 timeframe, one possible approach might be to replace the Mork calls in msgdb and foldercache with their Gdb equivalents, but leave Mork as the default. This could probably be done without the performance regressions that plagued bug 418551, yet would open up possible experiments with extensions that are currently not possible.
We've discussed this over IRC, but I'll still summarize my comments here for those where weren't there.
> As I
> understand it, the original mdb interface was conceived to be such a general
> interface, yet the actual usage seems to have become a non-extendable front-end
> for Mork.
This is not something I profess to know in detail (you'd have to ask bienvenu), but my understanding is that the lineage went like this:
When Mozilla was made open-source back in late 1998, Netscape had some proprietary components, one of these being the database implementation. The nsIMdb* interfaces were constructed mostly (IIRC) based off of this old database implementation.
Trying to say much more is difficult, as it is now been almost 10 years since David McCusker first started work (his first post to n.m.p.mail-news on this topic was on December 2, 1998). According to some of the documents, one of the requirements boiled down to "don't use a real database," which SQLite is and which is where I think we truly need to go. Some of McCusker's later posts seem to indicate that he considered other implementations... an implementation in XML (!), LISP (!!), and RDF (!!!), all of which would essentially be trivial ports of the mork implementation. So I don't think the idea of plugging other DBs into the framework was ever seriously considered.
The database APIs that I think we want need much more than mork can provide. An API trying to support mork and real databases at the same time will fast discover that the advantages offered by the latter will have to be neutered in order to support mork.
> My real goals are not to replace mork with mozstorage (as requested in this
> bug), but rather to investigate methods of adding a common database technology
> to mailnews that could be used as the basis for certain classes of
> collaborative applications, such as contact or project management.
I still hold the belief that it would be easier to get mozStorage to work with other backends then to create our own glue interfaces.
> As to the way forward in the TB3 timeframe, one possible approach might be to
> replace the Mork calls in msgdb and foldercache with their Gdb equivalents, but
> leave Mork as the default.
In terms of pluggability, I think the message database and the folder cache rank near the bottom (note that I differentiate message backend from message database). It would be far better in the short- and even mid-term to focus on one area of extensibility at a time. I think being able to say, "XXX is easily pluggable" (for example) would be a far better goal to say, "well, you can sort of plug something in XXX, and sort of plug something in YYY, and sort of..."
The folder cache serves only a minor purpose, internally, in mailnews (you can delete your folder cache before starting up and the only effect would be a slower startup), while the message database subordinates to the local message storage backend, so I think trying to be able to change what the msf file is stored as is more useless than you would think. Both are more or less internal to mailnews code. Something that should be (in theory) not internal is the address book, where being able to satiate our usages with LDAP or various system address books is probably a better (certainly more easily attainable) goal than trying to change what our *.mabs are stored as.
> This could probably be done without the performance
> regressions that plagued bug 418551, yet would open up possible experiments
> with extensions that are currently not possible.
Bug 418551's performance regressions stem pretty much entirely from my inexperience with database design. Judging from your implementation of the SQL interfaces of nsIGdb, I think trying to use the SQL backend would be much less performant than my current implementation.
What is the status on this? Mork is causing me great pains with Thunderbird as it routinley hangs occupying 100% of my CPU and all the backtraces lead to thunderbird being "stuck" on an msf file in the mork code. One specific msf happened to be 192MB today (the mail folder itself houses around 300K messages on an imap server)
This has been causing issues since T-bird 3 and has not relented.
Related "Fedora" bugs about the issue.
This issue is also causing me pain. I am trying to wean a number of users across several organisations off Outlook and onto something open source and more secure/useable/reliable.
However, they all have some monster mailboxes in their systems that end up freezing their mailers solid because of thsi issue. As in many cases this was their first step into open source, it is not a good advert for the cause.
Does this problem relate to the use of mbox format? If maildir format was used then huge volumes of mail would not be a problem - or am I being naive here?
Not related at all - mbox/maildir is for storing the messages themselves; mork is used to store summary information about the messages.
Um, Are we doing this or not? This Bug started in 1998 a lot of things have happened since 1998.
Is there any progress regarding this bug?
I still get periodic hangs associated with high CPU activity, the same as I always have.
(In reply to Rika Pi from comment #35)
> Um, Are we doing this or not? This Bug started in 1998 a lot of things have
> happened since 1998.
> Is there any progress regarding this bug?
This is still desirable. It just so turns out that changing the database backend requires rewriting most of our database APIs. And that happens to be something that doesn't get done easily.
Is there anything we can help in? (I'm mainly a bug tester)
Also sorry for posting on this bug,
Have we made bugs for rewriting those APIs.
I as I hear from you it's hard, but we must start somewhere.
Thank you btw for answering my question!
*** Bug 1101159 has been marked as a duplicate of this bug. ***
*** Bug 1124075 has been marked as a duplicate of this bug. ***
How much work need to do to deal with this issue?
(In reply to Yonggang Luo from comment #41)
> How much work need to do to deal with this issue?
You need to:
1. Design a database schema
2. Profile the new database logic to optimize it
3. Rewrite the entire database API to be synchronous instead of asynchronous
4. Write a schema migrator
5. Test the above to make sure that dataloss is difficult or impossible.
Steps 1 and 4 are easy. Step 3 is insanely difficult.
Taking an asynchronous implementation and using it synchronously is typically quite easy as long as you don't have re-entrance concerns. (If you do then you drop the result in a work queue instead of calling right away.) It doesn't usually require API change, though it might make the code clearer to do so later.
What's the hard case for the Mork APIs? (I can't believe I asked that in 2015.)
One of the challenging aspects of adapting the existing usages of Mork to another DB is that the uses have relied on particular features of Mork that do not map easily to SQL. In the mail summary database, is is how threading is organized. In address book, mailing lists.
The direction that Joshua has promoted IIUC is to try to use a DB that could work with js worker threads. Practically that means IndexedDB.
So our hope is to have a fairly radical rewrite of interactions with the message DB rather than try to map the existing APIs onto mozStorage. The next step forward with that would probably be some experiments with js worker threads and IndexedDB, simulating some typical requirements of the message summary database, to get some ideas of how that might work.
(In reply to Mike Shaver (:shaver -- probably not reading bugmail closely) from comment #43)
> Taking an asynchronous implementation and using it synchronously is
> typically quite easy as long as you don't have re-entrance concerns. (If you
> do then you drop the result in a work queue instead of calling right away.)
> It doesn't usually require API change, though it might make the code clearer
> to do so later.
> What's the hard case for the Mork APIs? (I can't believe I asked that in
> 2015.)
We have synchronous read operations expected quite literally everywhere in our codebase (as well as almost literally every add-on). We also have weird expectations about how the objects involved work that is anathema to transacational database design. Since mork is a completely in-memory database store, that design leaks through to our database APIs since most individual CRUD operations are O(very fast).
Since it's a ubiquitous interface, it's virtually certain to be used somewhere where we can't actually be re-entrant. The idiosyncrasies in the design make it difficult to bolt the synchronous API on an underlying asynchronous implementation by changing a "few" things to be async. I have design notes for how to build a parallel asynchronous API that could be built on the current database implementation, but they need wider discussion and I don't think there's a compelling, urgent reason to discuss them now.
Something else I realized while writing this up is performance--Mork is in-memory, so operations like "get every header in the database" is rather fast (~building a list of pointers) at the cost of making "open this database" slow and using high memory consumption. More traditional databases instead make the tradeoff of making open fast, making search and filter efficient, and making individual CRUD operations relatively slow.
Oh, so when you said
"Rewrite the entire database API to be synchronous instead of asynchronous"
you meant "wrap the indexedDB API in a synchronous one", not "rewrite the mozStorage API to be synchronous".
(In reply to Mike Shaver (:shaver -- probably not reading bugmail closely) from comment #46)
> Oh, so when you said
> "Rewrite the entire database API to be synchronous instead of asynchronous"
Gah, I meant to say "rewrite the entire [message] database API to be async instead of sync." >_>
I wanna to know if indexdb can be storage in locale filesystem? If not, I would worried about that
(In reply to Yonggang Luo from comment #48)
> I wanna to know if indexdb can be storage in locale filesystem? If not, I would worried about that
IndexedDb, localStorage(DOMstorage), sessionStorage, are implemented using SQLite in Mozilla family, so data is saved in xxx.sqlite files under profile directory. Mozilla family utilized mozStorage for IndexedDB, localStorage(DOMstorage), sessionStorage.
dom.storage.enabled=true, dom.indexedDB.enabled=true is already defaulted in Tb too, so feature itself is already available in Tb too.
localStorage is already held in Tb's profile too as <Profile>/webappsstore.sqlite.
localStorage consists of single Table only. (same in sessionStorage)
CREATE TABLE webappsstore2 (scope TEXT, key TEXT, value TEXT, secure INTEGER, owner TEXT)
User can update key/value set only in assigned scope=uri of site=origin in "same origin policy" by getItem()/setItem()/removeItem/clear() only.
This is replacement/enhancement of cookie. "value" can be JSON text, so JavaScript object is saved after convertion to JSON data by user himself.
IndexedDB file is perhaps not held in Tb yet, because <Profile>/storage/persistent is not seen in Tb's profile.
IndexedDB consists of multiple Tables. Main one for data storing is Table named "object_data".
CREATE TABLE object_data (id INTEGER PRIMARY KEY, object_store_id INTEGER NOT NULL, key_value BLOB DEFAULT NULL,
file_ids TEXT, data BLOB NOT NULL, UNIQUE (object_store_id, key_value), FOREIGN KEY (object_store_id)
REFERENCES object_store(id) ON DELETE CASCADE)
As seen in Table definition, BLOB is used for "key_value" and "data". JavaScript object <-> JSON is perhaps done by IndexedDB.
In IndexedDB, data is added by IndexedDB.add(Key-value, JavaScript Object) like call.
In both HTML5 DB, data is added by function_for_add_data(Key,Value), and is saved in .sqlite file of Firefox/Thunderbird.
HTML5 DB in Firefox/Thunderbird can be called "Wrapper of SQLite Database with utilizing JSON".
If IndexedDB, conceptually, msgDBHdr can be stored in IndexedDB by IndexedDB.add(messageKey, msgDBHdr) like call.
One of biggest issues in "Scalability of mail database in Tb" is "Entire data of .big .msf file should be read upon folder open if huge mail folder".
Impact of this kind of issue can be relieved by splitting msgDBHdr to two parts : msgDBHdrCore + msgDBHdrOthers.
- msgDBHDrCore holds "important data only for thread pane display" + pointer to msgDBHdrOthers
- msgDBHdrOthers holds other data not required to show Thread Pane, and holds data required to show mail.
- Following is possible.
Keep msgDBHDrCore in MorkDB, push out msgDBHdrOthers to FolderCache like one, change FolderCache like one to IndexedDb.
If JavaSctipt, Thread is pretty simply expressed : A Thread = { messageKey of top mail : [ array of Child_Mail ], Child_Mail = { messageIKey : [ array of Child_Mail] }, and can be saved in IndexDB easily..
"Account definition" like one can be held in IndexedDB, if account definitions is re-structured as JavaScript Object.
For other simple data, even pretty simple localStorage, it can be used as replacement of FolderCache like one, MailRelatedObject.stringProperty( ...) like one, virtualFolders.dat like one, .msgFilterRules.dat like one.
If FolderURI is treated as URI of site == scope in localStorage == origin in "same origin policy", it can be used as easy-to-use pretty simple "Cache of displayed mail data".
save : setItem("MessageKey="+messageKey, "data needed to show mail in message pane" which was converted tp JSON)
read : var data = getItem("MessageKey="+messageKey) ; Show data at message pane.
Anyway, data is held in ".sqlite. file", and the ".sqlite. file" is held under profile directory, and is held in file system of local HDD or file share server.
Because of "SQLite DB with journal", integrity of saved data is guaranteed by SQLite and file system, and there is no need to protect Tb from "manual deletion of .msf file by user" :-)
(In reply to Joshua Cranmer [:jcranmer] from comment #45)
> Something else I realized while writing this up is performance--Mork is in-memory,
> so operations like "get every header in the database" is rather fast (~building a list of pointers)
> at the cost of making "open this database" slow and using high memory consumption.
> More traditional databases instead make the tradeoff of making open fast, making search and filter efficient,
> and making individual CRUD operations relatively slow.
If high-performane of Mork-DB which is in-memory DB is needed, I don't think there is reason to stop using Mork-DB.
I think following is possible aas first step of imprvements.
(1) Stop to use Mork-DB for data which is relatively static data, such as Thread Column choice/order/width.
(2) Reduce Mork-DB size as many as possible. : push out data which is not needed for folder open from Mork-DB, such as StringProperty like one.
I think spliting current msgDBHdr to "msgDBHdrCore + Pointer to msgDBHdrOthers" + "msgDBHdrOthers" is possble.
And, if data for msgDBHdrOthers can be held in SQLite DB without performance penalty, it's helpful for imprvements in search etc.
(3) Change .msf file to SQLite DB.
Mork-DB is a collection of "Key=Value pair". This can pretty easily be mapped to simple/flat DB, and it's already avilable as localStorage in Fx/Tb.
One of biggest problem in Mork-DB which is in-momory DB is:
Because of in-memory DB, periodical saving data to physical file is needed. The physical file is called .msf file for long time.
If this is changed to localStorage lke one, "periodical saving data to physical file" can be replaced by localStorage.setItem(Key,Value),
and by "journaling of SQLite", there is no need to worry about file loss due to power failure, system crash, file deletion by user, and so on.
"Insert data or replace data + Commit" is sufficiiet to keep backup of in-memory DB data in physical file.
For improvements in search, filtering etc.
Database outsize of Mork-DB, "DB constructed over current Mork-Db", is possible: See Gloda DB which is special SQLite DB with special tokenizer.
Search is usually batch type or bulk type. "Select Where" is pretty powerfull in search. There is no need to search msgDBHdr.
Many Indexes for mail data can be created in addution to Mork-DB, independently from Mork-DB.
I am working it and have ideas about it.
Will this fix #1165583 and #1100940?
If yes, those should be marked as dupe of this one (but it's not a big deal).
If no, then they are incorrectly marked as incomplete.
*** Bug 1165583 has been marked as a duplicate of this bug. ***

subset: commoncrawl


text:
Polly Findlay
Competition: win tickets to see the RSC's The Alchemist
By Editorial Staff
Sign up to be in with a chance of seeing the show
The Alchemist (Swan Theatre, Stratford-upon-Avon)
Polly Findlay directs Ben Jonson's satire
5 Minutes with: Polly Findlay - 'Directing Svengali was a lesson in complete economy'
The director of The Alchemist on the RSC, Derren Brown and the show that was a turning point
RSC's Doctor Faustus, The Alchemist and more arrive in London
The RSC have announced their new season of shows transferring to the Barbican this year
Matt Trueman: Rufus Norris has had an extraordinary first year
By Matt Trueman
Following the National Theatre's new season announcement, Matt Trueman reflects on Rufus Norris's first year as boss of the National Theatre
Then and Now: National Theatre
By Emily Cole
This week we take a look at how the National Theatre has changed over the years
Matt Trueman: Set designers are not loonies. They're artists.
By Matt Trueman
Trueman reflects on the Evening Standard Awards shortlist for best set design and responds to comments made recently about Lizzie Clachan's design for As You Like It at the National
As You Like It divides the critics
By Emily Cole
Polly Findlay's production received mixed reviews at the National
Ben Power on Husbands and Sons and working with Rufus Norris
The National Theatre's fast-rising deputy artistic director talks about his new work and his new job
Rosalie Craig to replace Andrea Riseborough in National's As You Like It
Patsy Ferran and Mark Benton will join the cast of Polly Findlay's production


text:
ICMAD Cosmetic Innovator of The Year (CITY) Awards History
In 1995, ICMAD created a recognition program to honor outstanding and innovative entrepreneurs for their achievements in the cosmetics and personal care industry. The first "Cosmetic Entrepreneur of the Year" was presented at the 1996 ICMAD Annual Meeting at The Museum Club in New York City.
The program was expanded in 2000 to honor both established entrepreneurs, who were active in the industry for more than five years and to recognize emerging manufacturers, distributors and suppliers in business for less than five years. Six "Cosmetic Entrepreneur Awards for Leadership" were presented at the ICMAD Annual Meeting in New York City and featured guest celebrity presenter Phyllis George, who announced the six winning companies.
In 2004, ICMAD revised the competition to present awards for the results of the innovative talents of independent entrepreneurs in the beauty industry. The Cosmetic Innovator of The Year program annually honors and promotes the most creative new products, package designs and marketing programs in our industry.
In 2016, ICMAD's expert judges had the difficult task of reviewing more than 120 entries before selecting the finalists in 14 categories, from Color Cosmetics to Innovative Launch Campaign. The winners were announced at ICMAD's 43rd Annual Meeting.
From left-right, ICMAD Chairman Dr. Robb Akridge, Clarisonic, the 2016 Keynote Speakers Tish & Snooky Bellomo, Manic Panic NYC, Pam Busiek, President & CEO, ICMAD, and Master of Ceremonies, Harlan Kirschner, The Kirschner Group.


text:
20 mile radius
Please introduce a postcode to use this feature
City Lit - where London learns
The biggest appeal of the Access Course to me was the speed of it. I didn't want...more
This badge shows that the course provider you are looking at has scored on average 4 or more out of 5 stars from at least 30 other users who have taken the time to post a review on Hotcourses
Suitable if you have completed module 1 or...more
Duration: 11 weeks
Part time evening
No Qualification
The City College is an independent institution of further and higher education catering for local and international students.
A difficult topic broken down to a level which made it easy to take in. The scen...more
Enrolment Duration: 1 Year Hours of Training: 20 hours Overview This interactive online course will help you to develop your business vocabulary and work-related language skills. It is the...more
Duration: Variable
No Qualification
Learn a language with uTalk: over 150 to choose from. Used by over 30 million people worldwide. Simple, fun and with immediate results.
This was great course for even the beginner. I was able to not only completed t...more
Start speaking Turkish today with the uTalk app. Learn at your own pace to build your confidence and pick up practical vocabulary you'll actually use in the real world (because we know you'd rather learn...more
Duration: Variable
No Qualification
We provide distance learning education on over 100 exciting career and lifestyle focused courses; from business and event to design and health.
In this course students can speak the Turkish language in real life within 30 days. They will begin to speak the basic sentences and attaining their new language in as little as 30 minutes. After...more
Duration: Variable
Course Provider Diploma/Certificate/Award
Every year, Cactus Language Training teaches 10,000 learners over 30 different languages across 200 locations round the globe.
Amazing experience in my 5-week
I enrolled in their 5-week French course because I needed to improve my french A...more
This badge shows that the course provider you are looking at has scored on average 4 or more out of 5 stars from at least 30 other users who have taken the time to post a review on Hotcourses
Cactus Language is the UK's leading language course provider. If you need to improve your language skills in a short period of time, or require lessons that fit around your busy schedule, this flexible...more
Duration: Variable
Multiple levels
No Qualification
Topic Area 1 Home and local area • Life in the home; friends and relationships • Local area, facilities and getting around Topic Area 2 Health and sport • Sport, outdoor pursuits and healthy lifestyle...more
Duration: 1 hour
No Qualification
Duration: Variable
Course Provider Diploma/Certificate/Award
German is one of the most commonly taught languages in the world and is widely spoken but if that's not a good enough reason to study it, then surely learning a language that's connected to some of the world's most impressive...
If the presents that arrive in the Hotcourses office when anyone returns from a holiday are anything to go by, for most of us one of the best things about travelling somewhere new is the new foods you try along the way. Yet, although there are some...


text:
Invaluable cannot guarantee the accuracy of translations through Google Translate and disclaims any responsibility for inaccurate translations.
Show translation options
Lot 363: An Italian silver coffee pot
Selected lots of jewellery, fine silver, old masters and works of art from Roman collections
by Colasanti Casa d'Aste
25 October 2016
Roma, ItalyLive Auction
Looking for the realised and estimated price?
An Italian silver coffee pot
silver plain surface, moor shaped handle, weight 1180 gr.
Venice, ca. 1940
h. 28 cm.
Browse more items


text:
Monster Rancher Advance
Title Data
- Genre:
- Strategy > General
- Developer:
- Tecmo
- ESRB Descriptor(s):
- Comic Mischief
Release Data
Data and credits for this game contributed by Bass0r, Ubersuntzu, Cosmic!, Blueberry Buttface, and oliist.
Know Something We Don't?
You can submit or update game data or submit game credits to help us keep our data up-to-date.


text:
Dementia is a collective term for a range of conditions that affect various aspects of the way we think including memory, judgement, understanding and language. This is often accompanied by changes in personality and the ways in which the affected person interacts with those around them.
As time goes on and the dementia worsens, the person's ability to look after themself deteriorates, eventually to the point where they need full-time care and treatment.
Dementia is rare before the age of 60 but the risk of developing it increases rapidly after that with the incidence rising from around one in 20 in people aged over 65 to as many as one in five people aged over 75.
Three main types of dementia are recognised although it's important to understand that people who develop dementia often show signs of a combination of these - this is often referred to as 'mixed dementia'.
Alzheimer's disease makes up at least half of all dementia cases and involves the brain shrinking in size, a loss of neurons (brains cells) and reduced amounts of neurotransmitters (brain chemicals that send messages between neurons). Small plaques also form throughout the brain although their involvement in Alzheimer's disease isn't yet fully understood.
Vascular dementia involves the gradual blocking of tiny blood vessels in the areas of the brain responsible for thinking. This deprives the brain tissues beyond the blockage of blood and oxygen causing them to become damaged and die.
It's like having countless strokes that are so tiny they go unnoticed, but over time their collective effect builds up until thought processes become increasingly affected. Vascular dementia therefore has the same range of risk factors as cardiovascular disease and makes up around 25% of all dementia cases.
Dementia with Lewy bodies causes around 15% of dementia cases and involves the development of abnormal protein deposits called Lewy bodies with the neurons of the brain. Like the plaques that occur with Alzheimer's disease, it's not clear exactly what part the Lewy bodies play in the dementia process but they are know to significantly affect the normal workings of the brain.
A small proportion of dementia cases can also be caused by a wide range of other conditions that affect the brain such as alcoholism, significant or repeated head trauma and ongoing vitamin B deficiency.
You are also at increased risk of developing dementia if your DNA contains certain genes associated with Alzheimer's and if you already have other associated conditions such as Parkinson's disease, type 2 diabetes, cardiovascular disease and depression.
Preventing dementia
Dementia is a global health concern and it's on the rise - in fact, the number of people killed by dementia has increased three-fold in the last 20 years and dementia prevalence is expected to double to 75 million by 2030.1
Although medications can help with some cognitive and behavioural symptoms, there is no cure for dementia and it can't be reversed. Dementia is therefore a condition where a preventive lifestyle is particularly vital, especially from middle-age onwards.
Dementia is a terrible and distressing disease that slowly erases a person's ability to think, remember and function - but although increasing age is the most significant risk factor, it is not a natural part of the ageing process and you can take steps to reduce your risk by:
• Eating a healthy complex carbohydrate-based diet rich in fruit, vegetables and oily fish and low in fat, sugar and salt
• Maintaining a healthy body weight
• Keeping alcohol intake within healthy limits
• Avoiding tobacco use and second-hand tobacco smoke
• Keeping mentally active
• Maintaining healthy social relationships.
By following these simple lifestyles, you'll significantly reduce your risk of developing not only dementia but also a whole host of other common and life-threatening health conditions including cardiovascular disease, diabetes and cancer. You'll have a better chance of a longer life - and you'll also live that life with greater health and energy.
1. The Epidemiology and Impact of Dementia - Current State and Future Trends: World Health Organization (2015)


text:
Wego.com.sg recently found 30 hotels in Bento Goncalves, Brazil. Book last minute hotel or find great hotel deals such as Dall'Onder Vittoria Hotel for S$147 per night. Save more on cheap hotels with rates from as low as S$147 per night.
Filters help you save time when choosing where to stay. Try clicking on a few now...
Bento Goncalves Hotels 5 Star Hotels Bento Goncalves 4 Star Hotels Bento Goncalves 3 Star Hotels Bento Goncalves Cheap Hotels Bento Goncalves Cheap Accommodation Bento Goncalves
Flights to Brazil Flights from Brazil Brazil Airports Brazil Airlines


text:
Cloudephant WordPress Theme Released
Cloudephant theme is another free WordPress theme by Led24.de for the WordPress community. The theme is a 2-column wide desing, perfect for personal and small blogs.
This theme comes with one plugin, and is a regular WordPress 2.7.1 theme which requires absolutely no editing or customizing in the code. The Led Leisten theme is widget ready, and has built-in gravatar support .
View Demo or Download (0,49 Mb, mirror, .psd)
Common Features
- Works on Wordpress 2.5+
- Tested on IE6/7, Firefox, Opera, Safari
- xHTML & CSS Validated
- Widgets ready - easily arrange sidebar and bottom bar
- Gravatar ready
- Page templates for archives and links page
- Theme options admin panel
Change Log
Version 0.1 (February 21th, 2009):
Initial release of Cloudephant WP theme.
- Creative Commons Attribution 3.0 license
- you may not remove the credit links
- you may not resell or distribute the theme archive
- for personal non-commercial use


text:
Live Webcam Feed of Cricket Pitch!
Cricket in East Meon is almost as old as the game itself. There is reference to a match in 1796 between a combined East Meon and Petersfield side and a combined Hambledon and Portsmouth side.
Where cricket was played in the village in the 18th and 19th centuries, and how enduring it was, is not known, but it was clearly thriving at the end of the 19th century when in 1894 the Charity Commission approved a scheme for the exchange of a fuel and field garden allotment on Oxenbourn Down for the present cricket ground on land then known as Pill Meadow.
The scheme laid down some quite demanding rules, including: "(7) Persons of known profligate character, intoxicated persons, and beggars shall be excluded from the Ground." Whether this proved unduly inhibiting to the raising of a side, or whether other considerations came into play, is not known, but in 1958 a new scheme made the Parish Council trustees of the ground under byelaws that were rather less stringent.
This is the arrangement that prevails today. The cricket played on the ground today is traditional village cricket—not league, not limited overs (except for evening games)—against other villages and visiting sides of various sorts.
The playing membership is almost entirely from the village—quite unusually these days. The standard of cricket is remarkably high, and this has been encouraged by a pitch that has been transformed in recent years from a rough and rustic track to a sound playing surface.
This has been achieved through a huge commitment of time and effort by those involved (principally Richard Dampney). There is—infusing everything that is done before, during and after games—a great sense of fun and camaraderie. The club is supported by an array of Vice-Presidents. It is an institution of which East Meon can be proud.
Click here for a map of where to find East Meon cricket ground.
The Izaak Lions are a pub cricket team belonging to the Izaak Walton Pub. They use East Meon pitch for their home matches


text:
[[folder:Main Characters]]
!!!Peter Parker/Spider-Man
Bitten by a radioactive spider on a school field trip, young Peter Parker attempted to cash in on his new powers, and signed up for a pro wrestling contest, and pinned the champion. When the promoter cheated him out of his winnings, Peter stood by as a thief robbed the promoter.
The same thief later killed his Uncle. Peter began using his newfound powers responsibly and began fighting crime. One of the first criminals he faced was The Green Goblin. When The Goblin learned that it was Peter under the mask, he attacked his Aunt May, and kidnapped the girl he loved, Mary Jane. After a dramatic battle, The Green Goblin revealed himself to be Norman Osborn. Seconds later, The Goblin was killed when he accidentally impaled himself on his glider.
He later began studying at ESU, along with his dream girl Mary Jane and his best friend Harry, the son of The Green Goblin. Harry isnt aware that his Dad was The Green Goblin, and hates Spider-Man, believing he murdered him. Peter makes his living by selling pictures of Spider-Man to J. Jonah Jameson. After being ripped off one too many times, he decided to start selling video footage to Empire 1, where he met Indy, a research assistant who took a great shining to Peter.
Peter is still in love with Mary Jane, but feels that being with her would only jeopardize her safety again, which often leads to awkward feelings between the two of them, especially as he recently began seeing Indy [[spoiler: before he was tricked into throwing her off a building by the Gaines twins]].
[[spoiler: Vowing never to let Spider-Man hurt anyone else, Peter threw his Spider-Man costume into the river and stopped being Spider-Man]].
* AdaptationalAttractiveness: Looks NOTHING like the movie version of Peter the show is based on.
* BadassBookworm
* BewareTheNiceOnes: Kraven found this out the hard way.
* ComesGreatResponsibility: Averted, This is the first adaptation do so but Peter never uses the trademark phrase nor does he ever refer to it.
* DeadpanSnarker
* ExpressiveMask
* GeniusBruiser
* HeroesWantRedheads
* HeroWithBadPublicity: Among the worst he has ever received by the end of the series.
* LightningBruiser
* UnstoppableRage: Unleashed upon Kraven after [[spoiler: the Gaines Twins create a mental illusion, causing him to think that Kraven killed Mary Jane]].
* YouFightLikeACow: It wouldn't be Spider-Man otherwise.
!!!Mary Jane Watson
Mary Jane has been the object of Peters desires since he was in the 2nd grade. After previously being engaged to Flash Thompson, she later moved onto Harry before she fell for Spider-Man, after he saved her life. Later realizing that she loved Peter, Peter rejected her love because he didnt want to cause her any further harm due to his double life as Spider-Man.
She later began majoring in drama at Empire State University, where she remained good friends with Peter and Harry. She still has feelings for both Peter and Spider-Man, not knowing they are really the same person.
* BettyAndVeronica: Competes with Indy for Peter's affections.
* DistressedDamsel: Though she ''is'' able to defend herself from time to time, and was the reason Spider-Man figured out destroying Shikata's sword would stop her. She even tried to do it herself.
* FieryRedhead: However, The length of MJ's hair is noticeably shorter than her other versions.
* GreenEyes
* HeroesWantRedheads
* NotSoDifferent: After her ordeal with Christina, she suddenly realizes as she talks about it with Peter that Christina's whole "soul mates" obsession is too similar to her earlier attempts at forcing Peter to share intimate knowledge with one another.
* StoodUp: Well, she ''thinks'' this is what Peter has done to her several times in the series, but really he is prevented from turning up by unforeseen circumstances (battling villains, interrogated by the FBI, involved in a hostage situation, etc).
!!!Harry Osborn
Never short of snappy one liners, Harry Osborn is the best friend of Peter Parker, the two of them live together off-campus and attend Empire State University together. Harry tends college for the social life, rather than the education, as he controls the majority of the stock from his late Fathers company, Oscorp.
Despite being Peter and MJs best friends, he hates Spider-Man, blaming the wall crawler for his fathers death, unaware that he was The Green Goblin. Still struggling to come to terms with his Dads death, Harry is often found drinking or trying his luck with the ladies.
* AdaptationDyeJob: Creator/JamesFranco has reddish-brown hair in the role and most other versions of Harry are straight-up redheads. This Harry is blond.
* TheAlcoholic: Was heading this way. Nearly every episode had him drinking something with alcohol in it.
* BrilliantButLazy: As evidenced by the quote:
--> Kids. Try to get them to spend their time wisely, like, watching R-Rated [=DVDs=]. But noooo... they can't wait to do their web research.
* DeadpanSnarker: Possibly more so than even Peter in this series. As opposed to his comic book incarnation.
* StrongFamilyResemblance: Looks quite similar to his father, Norman Osborn. Commented upon by MJ.
[[folder:Supporting Characters]]
!!!Indira "Indy" Daimonji
* BettyAndVeronica: With MJ over Peter.
* CanonForeigner
* DeadpanSnarker
* GirlishPigtails
* HotScoop: Aiming to be one of these eventually.
* {{Meganekko}}
* [[spoiler: StuffedInTheFridge: Peter is tricked into pushing Indy off the roof of a building by the Gaines twins. The series ends with Indy in a coma, and her chances of awaking were slim to none. This is one of the factors in Peter giving up being Spider-Man.]]
!!!J. Jonah Jameson
* AlliterativeName
* DaEditor
* DeadpanSnarker
* AscendedExtra: Became Harry's girlfriend after being a background character throughout the series.
* [[YouGottaHaveBlueHair You Gotta Have Pink Hair]]
[[folder: Villains]]
!!!Lewis Wyler/Turbo Jet
* BitchInSheepsClothing: When he fights Spider-Man in public, he claims he's making a difference for the people. In private, he calls the very same people stupid for assuming he's a hero in the first place.
* CanonForeigner
* DirtyCoward: Seriously hurts a random bystander in his efforts to make an escape.
* {{Expy}}: Of Rocket Racer.
* InsufferableGenius: He has a very low opinion of pretty much everybody around him.
* KickTheDog: The minute his facade gets blown, he tosses a decoy he was trying to steal at an innocent bystander and severely injures her. She can even be heard sobbing in pain.
* VillainWithGoodPublicity: He becomes beloved by the people living in Villeroy Towers because circumstances led them to think he's helping them in their protests to keep their homes. In his last fight with Spider-Man, Spidey reveals to the protesters just how little Turbo Jet actually cares about them. In his frustration at being backed in a corner, he pretty much confirms what Spidey reveals.
!!!Wilson Fisk/The Kingpin
* BadassNormal
* FatBastard
* GeniusBruiser
* LightningBruiser
* ManipulativeBastard: In his first appearance, he tricked Spider-Man into stealing a chip for him by pretending he was working for the government.
* RoleReprisal: The late Creator/MichaelClarkeDuncan reprises his role from ''Film/{{Daredevil}}'' movie as ComicBook/TheKingpin.
* ScaryBlackMan
!!!Curt Connors/The Lizard
* AdaptationalVillainy: Curt himself is nastier and more bitter than his usual portrayal, even pre-Lizard.
* BeastMan: Upon becoming The Lizard.
* FamilyUnfriendlyDeath: Got his arm cut off ''again'' by an air-conditioning exhaust fan, then fell from a helicopter. And his body is actually shown after the fall.
* HealingFactor: Similar to his mainstream counterpart.
* KilledOffForReal
* MadScientist
* PetTheDog: Before Curt became the Lizard, he was saved by Spider-Man during a robbery. As he's giving a statement to the police, he gets slightly pissed at the officer claiming Spider-Man and the robbers were working together even though he just said Spider-Man ''saved'' him.
* RoaringRampageOfRevenge: His arm was lost when Oscorp were testing a new explosive device in the same area as the swamp he was gathering samples from, known as [[FunWithAcronyms WAFER]] (Wide Area Fragmentation Explosive Round).
* WallCrawling
* ActionGirl
* CanonForeigner
* FaceDeathWithDignity: Starts looking very despondent when her sword is broken, but she recomposes herself and bows to Spider-Man, acknowledging his victory.
* HealingFactor: She can use her sword to heal wounds and gain youth by exposing it to moonlight.
* {{Hypocrite}}: She talks about honor, but is more than willing to use M.J. as leverage to finally get her fight with Spider-Man. Also, despite earlier making comments about not being scared by death, she visibly loses her cool the moment Spider-Man gets her sword (the thing that keeps her young). At the very least, when the sword gets broken, she bows in defeat before dying.
* KilledOffForReal
* NobleDemon: Initially, she was hired by a rich collector to capture Spider-Man alive for him. After fighting Spider-Man for the first time and acknowledging him as a WorthyOpponent, however, she gives back the money to her employer after admitting she can't assure she'll not kill him, even mentioning it would be dishonorable to catch him for such a reason.
* NoImmortalInertia: She dies seconds after her sword is broken.
* ReallySevenHundredYearsOld
* OffWithHisHead: She kills the guy who hired her to capture Spider-Man after she calls of their deal because he was interrupting things between her and Spidey.
* TheOnlyOneAllowedToDefeatYou: She cuts off one of her troops' trigger-fingers because he opened fire on Spider-Man, and ''no one'' decides how to take down an opponent but her.
* WorthyOpponent: Sees Spider-Man as such.
* BadassNormal
* BitchInSheepsClothing: Subverted. Despite her antagonism with Spider-Man, her kindness towards Harry, Peter, and M.J. was genuine.
* CanonForeigner
* DatingCatwoman: Harry manages to fall for her civilian persona, Cheyanne, much to Peter's surprise. This is the reason why Spider-Man tries to get her to stop being a criminal.
* DontYouDarePityMe: She gets annoyed at Spider-Man's frequent attempts to figure out her FreudianExcuse and his constant pleading that she's better than this, demanding to know why he even gives a crap.
* {{Expy}}: Of Black Cat.
* ItsPersonal: She's a thief who is only interested in stealing objects that have emotional value to the people they belong to, saying if it's important to them that makes them worth stealing.
* [[DaddyIssues Mommy Issues]]: She hints at them. When Spidey asks why she's doing this, Talon makes vague comments about how "It all starts with the mother."
* SassyBlackWoman
* SugarAndIcePersonality: A SpoiledSweet rich girl who Harry has serious feelings for and saves M.J. at one point, and also a cat burglar only interested in stealing things people would genuinely be despondent to lose and willing to manipulate the police into getting Spider-Man off her back.
* ButtMonkey: In their encounters with Spider-Man, Alexei was usually the first guy wound up in webs.
* CanonForeigner
* {{Jetpack}}
* AntiVillain: Due to the fact that she received actual brain damage. She's nuts and she did try to kill M.J., but she legitimately believes that it's what Spider-Man wants because her mind is telling her that. Christina needs medical attention and a good psychiatrist.
* AxCrazy: It sort of helps that her psychosis manifested as a result of actual brain damage thanks to her malfunctioning ESP crown. That being said, she takes M.J. hostage with her acid gun and it makes it clear she'll use it on her, laughing at the idea of her organs splayed out on the ground in a puddle.
* CanonForeigner
* CloudCuckoolander
* EyeTwitch: During her last attempt on M.J.'s life.
* {{Goth}}
* IJustWantToBeLoved
* KilledOffForReal: Averted. Despite being trapped in an elevator as it plummeted to the ground, she just ended up on a stretcher with a neck brace.
* LoonyFan: Oh so very much. She believed she was soul-mates with Spider-Man long before she got zapped.
* LoveMakesYouEvil: As long as she can get Spider-Man, she doesn't seem to think there's anything wrong in committing murder to get him despite one of the things she finds attractive about him is his heroism.
* LovingAShadow: She loves Spider-Man, but more precisely she loves the image of him and the hallucinations her brain is creating. Christina thinks the only reason the real Spider-Man isn't with her now is because he doesn't know he loves her and needs coaxing.
* MadScientist: She built a glue gun in high school that turned out to be highly acidic and dangerous, and her ESP crown actually does let her read minds. The wiring is a mess, though.
* MotorMouth
* MulticoloredHair: Her hair is black with streaks of orange, yellow, and green.
* {{Nosebleed}}: Whenever she hallucinates or whenever she is acting particularly psychotic her nose will begin to bleed, most likely an indicator of her brain damage.
* PerkyGoth: Very excitable and claims she can get along with almost anyone.
* PsychopathicManchild: As she has M.J. hostage:
-->'''Mary Jane''' (''Scared''): How do you know it's you Spider-Man wants? How do you know it's not someone else?
-->'''Christina''' (''Laughing and holding her acid gun to M.J.'s face''): Then ya better hope it's not ''you!''
* RescueRomance: Tries to pull this off. She expects Spider-Man will save her when she walks off the roof of a ''very'' tall building, and he does. But the "romance" part doesn't take off. She gets sad and angry later on because she was "Just trying to be a good girlfriend."
* SanitySlippage: Despite her StalkerShrine, she didn't become dangerous until after her ESP crown electrocuted her. Instead of giving her powers, it made her hallucinate that her pictures of Spider-Man were talking to her and ordering her to do whatever it took to make sure they became a couple, including kill Mary Jane.
* SlasherSmile: Especially after she goes after M.J..
* StalkerShrine: Naturally she has one to Spider-Man in her closet.
* StalkerWithACrush: For Spidey.
* ThatLiarLies: When M.J. asserts she's not interested in Spider-Man. "You LIE! I don't like liars!"
* WrenchWench: Not so much for cars, but she has jury rigged an acid gun, and an ESP crown, although the latter has some issues...
* {{Yandere}}
!!!Max Dillon/Electro
* AxCrazy
* BecauseYouWereNiceToMe: Why he tries to convert Sally into an electrical being like him, thinking she actually loves him.
* CompanionCube: Ditches Peter for a partner in a class project, for a AI computer version of himself.
* DisproportionateRetribution: ''KILLED'' a college senior because he was constantly pranking him. To be fair, one of those pranks nearly got him DROWNED IN CEMENT!
* FaceHeelTurn: He started off as one of Peter's friends from high school and didn't turn into a villain until halfway into the show.
* IJustWantToHaveFriends
* KilledOffForReal
* OneWingedAngel: When drained of electricity, he turns into a thin, clawed version of himself
* PsychoElectro
* WoobieDestroyerOfWorlds: He has some issues, yes, but it's hard not to feel bad for the guy.
!!!Dr. Zellner
* CanonForeigner
* MadScientist.
!!!The Biker Twins/Jack and Mack
* CanonForeigner
* DumbMuscle
* ThoseTwoBadGuys
* BadassNormal
* EnemyMine: Works together with Kraven, a guy she would usually kill, to get vengeance on Spider-Man. [[spoiler:But that's just an illusion.]]
* HeroAntagonist: Though she was attempting to assassinate an important politician, she had really good reasons to do so; the man was actually a terrorist attempting to infiltrate the White House.
* KnightTemplar: Her mission had a honorable goal, but she was willing to use methods such as stealing weapons, taking teenagers hostages (and wanting to kill them herself when it didn't work as planned), and putting a bomb on the mayor's car.
* NeverFoundTheBody
!!!The Gaines Twins/Roland and Roxanne
* CanonForeigner
* CreepyTwins
* KilledOffForReal
* {{Manipulative Bastard}}s
* MindControl
* NonActionGuy: Roland. When he makes the notion that they should be trying to kill Kraven themselves, rather than mind-controlling Spider-Man into doing it, Roxanne points out that his senses are too keen in order for them to get close enough and brings up a NoodleIncident of "the last time you [Roland] used your tiny little hands to fight." Later when he switches from using his mental powers to attempting to attack Spidey with a pipe, he does indeed get his ass kicked.
* YouKilledMyFather: Kraven the Hunter captured their parents for scientific experimentation, which eventually killed them, but it also gave Roland and Roxanne their mental abilities. Rather than try and kill him themselves however, they opt for Spider-Man to do it by manipulating him.


text:
RAMADA Hotel Siegen, Siegen
- Free WiFi and free parking
Main amenities
- 94 guestrooms
- Restaurant and bar/lounge
- Indoor pool
- Breakfast available
- Sauna
- 7 meeting rooms
- 24-hour front desk
- Air conditioning
- Computer station
- Front desk safe
- Laundry service
- Meeting rooms
For families
- Free cribs/infant beds
- Rollaway/extra beds (surcharge)
- Private bathroom
- Laundry facilities
- Hair dryer
- Elevator/lift
What's around
- Upper Castle (0.6 mi / 0.9 km)
- Lower Castle (0.7 mi / 1.1 km)
- Nikolaikirche (0.9 mi / 1.5 km)
- Oberes Schloss (0.9 mi / 1.5 km)
- Siegerlandmuseum (0.9 mi / 1.5 km)
RAMADA Hotel Siegen, Siegenfrom $69
- Business Single Room (Breakfast Excluded) Hot Deal 1
- Business Single Room
- Business Double Room
- Business Single Room (Breakfast Excluded) Hot Deal 2
- Standard Double Room
- Standard Single Room
- Standard Single Room (Breakfast Excluded) Hot Deal 2
- Standard Double Room (Breakfast Excluded) Hot Deal 1
- Comfort Single Room
- Business Double Room Hot Deal 2
- Business Double Room Hot Deal 1
- Comfort Double Room
- Standard Single Room Hot Deal 1
- Standard Single Room (Breakfast Excluded) Hot Deal 2
- Standard Single Room (Breakfast Excluded) Hot deal 1
More great choices
At a glance
Key facts
Hotel size
- This hotel has 94 rooms
- This hotel is arranged over 8 floors
- Check-in time starts at 3 PM
- Check-out time is 11 AM
- Express check-in
Required at check in
- Credit card or cash deposit required
- Government-issued photo ID required
Travelling with others
- Pets allowed *
- Restrictions apply *
- 1 per room
- Free WiFi in public areas
- Free WiFi in rooms
- Free self parking
- RV/bus/truck parking
Nearby Four Star Siegen hotels
In the hotel
- Buffet breakfast daily (surcharge)
- Restaurant
- Bar/lounge
- 24-hour room service
- Indoor pool
- Sauna
- Number of meeting rooms - 7
- Meeting rooms 6
- Conference space size (feet) - 273
- Conference space size (meters) - 25
- Computer station
- 24-hour front desk
- Concierge services
- Dry cleaning/laundry service
- Laundry facilities
- Luggage storage
- Multilingual staff
- Number of buildings/towers - 1
- Year Built 1971
- Elevator/lift
- Safe-deposit box at front desk
- Designated smoking areas
In the room
- In-room climate control (air conditioning)
- Air conditioning
- Iron/ironing board (on request)
- Private bathroom
- Bathtub or shower
- Hair dryer
- Pay movies
- Satellite TV channels
- Desk
- Free WiFi
- Access via exterior corridors
Top Siegen hotels
Nearby hotels
Also popular with travelers from the USA
Special features
DiningKaisergarten - This restaurant specializes in international cuisine and serves lunch and dinner.
Kroenchenbar - This bar serves lunch and dinner.
RAMADA Hotel Siegen, Siegen's small print
Also known as
- Hotel Ramada Siegen
- Siegen Ramada Hotel
- Hotel Siegen
- Hotel Siegen Ramada
- Ramada Hotel Siegen
- Ramada Siegen
- Ramada Siegen Hotel
- Siegen Hotel
- Siegen Hotel Ramada
- Siegen Ramada
Pet-friendly rooms can be requested by contacting the property at the number on the booking confirmation.
Optional extras
Rollaway beds are available for an additional charge
Buffet breakfast is offered for an extra charge of EUR 14 for adults and EUR 7 for children (approximately)
Pets are allowed for an extra charge of EUR 15.00 per pet, per night
We have included all charges provided to us by this hotel. However, charges can vary, for example, based on length of stay or the room you book.
Recent reviews
Good 3.7 /5 from 91 reviews
Great stay!
Hotel stay was good, but they Did not recognise the booking done via Hotels.com app, even though there was a prepayment and non refundable deal. They managed to sort it out before departure.
i never thought ramada hotel would be so wierd. it was my second time and lift was not working and heating was still the problem and before when i was here, airconditioning and interneta was not working. it is 4 star hotel but very old hotel building.
It is a nice and simple hotel which gives you all the comfort you need in an humble way! The staff provides the Wyndham standards as I could see. The breakfast is pretty nice and the free parking is very convenient. The staff is quite helpful and kind. Nevertheless, the rooms could be larger, more comfortable and heated better. Be careful with the nice staff! They may give you the key card of an occupied room.
Stayed two nights here and unfortunately never got to use the pool or sauna! Rooms were big ,comfortable,and clean. Breakfast was good and plentiful as was the restaurant for evening meals with a TV in the bar for football. A short walk up the hill there are a few bars and restaurants including an indian. Overall an ok hotel maybe a bit overpriced! But not if you make use of facilities,would and will be returning shortly.
Is the description of this hotel not correct? Tell us


text:
Their consortium wants to dust off plans to build a pair of 30-storey skycrapers to flank the existing tower, 1 Canada Square, enlarging the development from the present 4.5 million sq ft to 12 million.
A source close to the bidders said: "It is their intention to build out the complex, market conditions warranting." A group of banks which now owns Canary Wharf is considering their offer.
Canary Wharf was originally meant to have three towers, dominated by the 50-storey 1 Canada Square, the tallest building in the UK. The other towers now seem likely to be built, although construction may not finish until next century.
Occupants of the complex can expect severe disruption, noise and dust when work resumes.
Some see Paul Reichmann's involvement as a personal mission to vindicate his family's original concept. The family firm, Olympia & York, the project's developer, went bust in 1992. The new consortium includes CNA Financial Corporation, a US insurance business majority-owned by Loewes Corporation, the corporate vehicle of Lawrence Tisch. It also has the backing of Mutual Series Fund, headed by Michael Price, who is currently pressing Chase Manhattan Bank to increase its returns to shareholders.
The other consortium member is Prince Al-Waleed, the 38-year- old nephew of the King of Saudi Arabia. He has gained a reputation as a contrary investor, who is prepared to buy into businesses during troubled times, and reap the rewards as they recover. He is also willing to back his hunches with substantial sums of cash. He rode to the rescue of Euro Disney when he supported its emergency rights issue and in the process acquired a 24 per cent stake in the stricken theme park. Among his other holdings are substantial interests in the US bank Citicorp, Saks Fifth Avenue, the Plaza Hotel of New York, and the Four Seasons and Fairmont hotel chains.
Canary Wharf is now almost three-quarters let after several years standing mostly empty. Most recently the investment bank BZW signed up as a tenant. Canary Wharf's chief executive, Sir Peter Levene, is confident the remaining space can be filled by the end of next year. The extension to Docklands of the Underground's Jubilee Line will add to the development's appeal. However, the City of London Corporation is fighting back after rivalry flared up earlier this year. It has granted planning permission for a further 16 million sq ft of prime developments on its home ground, including the Paternoster Square development of 800,000 sq ft, and London Bridge Phase II. These and other sites will come on the market at a rate of about 2 milion sq ft a year until the turn of the century.
Average rents in Canary Wharf are around pounds 15 a sq ft, against rents of about pounds 30 for prime City office space.
The investment bank Deutsche Morgan Grenfell's decision to stay in the City, redeveloping its Winchester House address on a rent of pounds 40-pounds 42 a sq ft from 1998, was widely seen as setting a new benchmark for City rents. Canary Wharf is expected to be able to lift its rents as rents rise in the City.
One property analyst said: "Canary Wharf offers so many unique advantages to any buyer. Paul Reichmann knows the value of this project down to the last penny, and hopes to pick it up at a discount to its net asset value." The site includes lucrative hidden tax breaks, totalling up to pounds 200m, as well as existing foundations for the undeveloped blocks, which represent savings of millions of pounds.
While Canary Wharf remains in the hands of the banks, however, expansion plans will stay on the shelf.
- More about:
- Banking
- Canary Wharf
- Insurance
- Savings


text:
Pit Bull Guitars – P Bass Pickguard – Red Pearloid
3 Ply "P Bass" style Pickguard.
Fits all "PB" style Pit Bull Guitars bass kits.
In stock
Prices are in the currency selected below. Please note that these converted prices are only approximate – your checkout total will be in Australian Dollars (AUD), with the final exchange rate determined by ANZ eGate or PayPal.
Ph 08 9272 9775 (in Australia)
Ph 618 9272 9775 (International)
Adam Boyle
Pit Bull Guitars
C/- 37 Grosvenor Rd
Please note: this is the Registered Office of Pit Bull Guitars, there is no product at this address. We are an e-Store and do not have a showroom for viewing product.
Copyright Pit Bull Guitars 2016


text:
The Crossroads of the Aether
A group for those who like to cook--and EAT! Please share your historical or steampunk-inspired recipes-- cocktail formulas too! Entertaining tips are welcome!
Members: 126
Latest Activity: yesterday
Started by Captain. Last reply by Captain yesterday. 83 Replies 1 Like
About 50 tea sandwich recipes: http://www.foodnetwork.com/recipes/articles/50-tea-sandwiches.html…Continue
Tags: crustless
Started by Captain. Last reply by Captain Aug 16, 2016. 36 Replies 3 Likes
There were just too many good ideas in this forum thread to not crosspost:…Continue
Started by Philomena Viola Hrip. Last reply by Captain Apr 26, 2016. 9 Replies 0 Likes
I love old books, I often cannot afford the prices of rare tomes, so I try to find facsimiles available on the web or at local libraries. Here are a few online sources I would like to share and…Continue
Started by Luveday Tyreman. Last reply by Captain Nov 20, 2014. 5 Replies 1 Like
http://www.mrsbeeton.com/index.htmlFrom the introduction:"Comprising Information for theMistress, Housekeeper, Cook, Kitchen-maid, Butler,…Continue
Mix the alcohols...set aside. Put cinnamon stick in to infuse.
Whisk the eggs together, well beaten. Whisk in the heavy cream, adding slowly to incorporate (make an emulsion).
Whisk in the milk, adding slowly.
Whisk in the nutmeg and sugar.
Warm slowly over low heat, stirring.
Add the alcohol, whisking lightly to prevent the ingredients from separating.
originally posted by Jim Reising:
"Benedictine spread...a cucumber based spread... was invented in Louisville by Jennie Benedict who had a restaurant at the turn of the 20th century. Her establishment was the meeting place for all the society folks in Louisville. She must have been quite a gal, way ahead of her time. She ran her restaurant, wrote a homemakers column in the Courier Journal, and was quite active in aiding orphans and neglected children.
So what does she have to do with steamboats? She was selected to christen the big, fast sidehwheel CITY OF LOUISVILLE when it was launched in 1894. She rode over to Howard's Shipyard on the BOSTONIA, climbed up on the new hull, broke the bottle champagne over the bow and rode the boat down the ways and into the river.
So now if you're ever on JEOPARDY and the final question is "who christened the famous boat CITY OF LOUISVILLE?" You can answer "Jennie Benedict the inventor of Benedictine spread".
(you can tell it's way too hot for me to go out and cut the grass, since I'd rather sit here in the a/c on the ol' lap top and write meaningless trivia on .org.)"
Now the recipe: http://www.tasteofhome.com/recipes/benedictine-spread
Thank you for posting this cornbread recipe. I am especially glad to see another "all cornmeal" cornbread recipe rather than the half flour ones. This is one of mine:
I like to fix "healthy" corn bread in a cast iron skillet. Grease the bottom of your skillet and dust with corn meal since the trick is to remove it cleanly from the skillet.
Preheat oven to 400F. Adjust recipe to make a good batter but get it in the oven soon since the sodas and buttermilk seem to react a little. Bake about 20 minutes or until golden brown and a knife comes out clean. Loosen the sides with a butter knife to help the bread come out of the skillet cleanly. The applesauce keeps it moist without adding oil
By "healthy" this recipe came from an area in the Appalachian mountains where normal cornbread was made with bacon grease and a generous helping of "cracklins" or the little chewy leftovers from rendering pig fat to lard.
When I was a child, my family gathered for the holidays at my Grandmother's farm. Of all the food there, everyone remembers her cornbread which she kept the recipe a closely guarded secret.
After she died in 1991, the cornbread was a notable absence so I began to recreate her recipe.
Several attempts later found me closing in on the formula. I was using the same brand of cornmeal as she did and noticed on the back a recipe for cornbread.
It was hers.
All those years of her refusing to give the recipe to anyone who asked, the whole time she was using the recipe off the back of the Alabama King cornmeal package.
The new packages have replaced bacon grease in the ingredients with the vileness of vegetable oil, but it is the same amount as the original bacon grease version.
The cornbread pan was hers and has the casting date of 1908 stamped on the back.
Anti-aging chocolate from England: http://www.esthechoc.com/ Very modern yet very steamy.
You are correct about molded foods in the middle ages too. But before packaged gelatin (c. 1845) it had to be cooked down from bones and tendons which was tedious and pricey. http://www.thesteampunkempire.com/group/wondrous-inventions-of-the-... Antique tinned copper mold pans are still fairly cheap and findable for experimental Victorian chefs.
Just an option for the next SP gathering.
Not just Victorian....if you watch A MAN FOR ALL SEASONS about Henry the VIII's period, one scene has a molded dish on the table.
A little more on the Victorian rage of molding food: http://www.historicfood.com/moulds.htm
© 2017 Created by Hephzibah Marsh. Powered by


text:
LD Logs D-Pol and Condense
View Single Post
Senior Member
Max Brawn
Join Date: Oct 2012
Posts: 1,867
Training Exp: 3.5 years
Training Type: Volume
Fav Exercise: Deadlift
Fav Supp: Caffeine
Reputation: 76586
LD Logs D-Pol and Condense
Special thanks to Randoja and team over at Purus Labs for giving me the opportunity to log 30 days of D-Pol and 40 servings of Green Apple Condense.
D-Pol Nutrition Facts
Condense Green Apple Nutrition Facts
About Me
Lifting seriously for 4 years, starting with a focus on bodybuilding, then moving towards a focus on powerlifting, and now focusing again on muscular size and symmetry.
Lifting Log:
Currently Lifting 4x week on a body part split designed by Steve which incorporates bulldozer sets, high volume, and low to moderate rest periods. Calories range from 2500-3500+ depending on the day, but my goal right now is to add mass.
D-Pol Review Criteria
* Mood
* Energy
* Body Composition
Condense Review Criteria
* Taste and Mixibility (for the first dose)
* Energy
* Pump
* Other (endurance, crash, etc...)
Thanks for checking in and joining me along for the ride. If you have any questions, comments, concerns, please do not hesitate to voice them!
Sponsored Links
View Public Profile
Send a private message to linedriver465
Find More Posts by linedriver465


text:
- PressReleasePoint Main
- Submit Press Release
- Free PR Website List
- PR Resources
- Press Releases
- Our Services
- About Us
- Contact Us
Home ›
NIKE, Inc. Intends to Deploy New, High-IQ Network for Enhanced Flexibility and Improved Application Performance
SUNNYVALE, CA – August 14, 2014 – Juniper Networks (NYSE: JNPR), the industry leader in network innovation, today announced that NIKE, Inc. (NYSE: NKE), the global leader in athletic footwear, apparel, equipment and accessories, has agreed to work with Juniper to co-create a new highly scalable next-generation data center cloud and retail network infrastructure.
As part of its ongoing work to meet the changing needs of its business and customers globally, NIKE intends to deploy key components of Juniper Networks® MetaFabric™ architecture to support current and future business goals. Additionally, MetaFabric will serve as the basis for virtualizing multiple NIKE data centers around the world.
Through the open standards-based architecture of MetaFabric, comprised of proven routing, switching, security, management and orchestration solutions, NIKE can expect to realize improved application performance across the company as well as advanced network orchestration via automation and data analytics.
Juniper Networks will work with NIKE to provide:
- A carrier-class, ultra-scalable, secure network architecture, providing a foundation upon which to virtualize multiple NIKE data centers globally.
- Advanced orchestration via automation, management, and data analytics across all domains
- Co-creation on future developments for NIKE's network
Supporting Quotes:
"NIKE is focused on elevating and accelerating innovation in our products, services and our digital ecosystem. This requires progressive and agile technology solutions that keep pace with our growth, which is what Juniper's solutions offer."
- Anthony Watson, chief information officer, NIKE
"Enterprises are re-engineering their business models in light of changing customer behavior and emerging technologies. Managing this transformation requires an intelligent and comprehensive, High-IQ network infrastructure that seamlessly adapts to business demands. It also requires building private clouds that deliver applications with high performance and agility. Juniper's technologies enable customers to realize the benefits of carrier-class, ultra-scalable cloud data center solutions that are virtualized, secure and flexible enough to accommodate the performance demands of their clients anywhere, anytime."
- Shaygan Kheradpir, chief executive officer, Juniper Networks
Additional Resources:
About Juniper Networks
Juniper Networks (NYSE: JNPR) delivers innovation across routing, switching and security. From the network core down to consumer devices, Juniper Networks' innovations in software, silicon and systems transform the experience and economics of networking. Additional information can be found at Juniper Networks (www.juniper.net) or connect with Juniper on and .
Juniper Networks and Junos are registered trademarks of Juniper Networks, Inc. in the United States and other countries. The Juniper Networks, Junos logo, and MetaFabric are trademarks of Juniper Networks, Inc. All other trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners
Statements in this press release concerning Juniper Networks' prospects, future products and prospective benefits to customers are forward-looking statements that involve a number of uncertainties and risks. Actual results or events could differ materially from those anticipated in those forward-looking statements as a result of certain factors, including the possibility of failure of the parties to reach a binding agreement, and other factors listed in Juniper Networks' most recent report on Form 10-Q filed with the Securities and Exchange Commission. All statements made in this press release are made only as of the date of this press release. Juniper Networks undertakes no obligation to update the information in this release in the event facts or circumstances subsequently change after the date of this press release. Any future product, feature, enhancement or related specification that may be referenced in this press release are for information purposes only, are subject to change at any time without notice and are not commitments to deliver any future product, feature, enhancement or related specification. The information contained in this press release is intended to outline Juniper Networks' general product direction and should not be relied on in making a purchasing decision.
Copy this html code to your website/blog to embed this press release.
Post new comment
More like this
- Juniper Networks Transforms Network Economics With Industry's Most Scalable NFV Solution
- Juniper Networks Introduces Junos Software Disaggregation to Dramatically Expand Customer Choice and Network Automation
- Juniper Networks Introduces the Unite Architecture to Bring Cloud Performance, Automation and Simplicity to Enterprise Networks
- Juniper Networks Delivers Unprecedented Automation, Scale, and Performance with New Data Center Cloud Spine Switches
- Juniper Networks Innovation Showcase Features New Lineup of Breakthrough-Performance Networking Products
This press release is licensed under a Creative Commons Attribution 3.0 Unported License. Read full copyright information here.


text:
- Overview
- Specs
- Reviews
Race Face Ride XC CranksetThis signature Race Face mountain bike crankset with a new external bottom bracket system delivers superior performance at an excellent value.
- External bottom bracket system makes crank installation/removal easier than ever and offers 3mm of adjustable chainline
- Net-forged 6061 aluminum crankarms with aggressive styling provide a high strength to weight ratio
- 7075 aluminum outer chainring with extensive CNC machining enhances shifting accuracy and aesthetics
- Lightweight, forged and CNC machined chromoly spindle increases strength and power transfer
- Bottom bracket cups are forged and CNC machined with 6066 aluminum for maximum efficiency
- Triple wiper sealed bearings with factory-filled, Phil Wood waterproof grease for excellent retention, contaminant elimination and long life
Race Face Ride XC Crankset
- bb - compatibility:
- X-Type (included)
- bcd:
- 104mm
- lengths:
- 175mm
- material:
- Aluminum
- ring material:
- Outer: Aluminum; Inner: Steel
- rings:
- weight:
- 995g
- rating:
- 4.5
? Place an order in the next Hours Minutes . Overweight charges may apply to some items.Based on delivery to . Change location
Not the correct shipping zip code? Update your information below.
Enter a valid zip code
Please select options for this product
Find in Store Check availability for
Item availability can change quickly and is not guaranteed.
Stores Within 50 Miles of:
Enter a valid zip code
Please select options for this product
Item availability can change quickly and is not guaranteed.
Please contact your local store to confirm status.
Shipping See options for delivery
Estimated Delivery for
Type Estimated Arrival Date
Two Day
Next Day
Next Day Saturday
Change Shipping Destination
Enter a valid zip code
Please select options for this product
- Important Shipping Information
- Additional processing time may be required prior to shipping.
SPECIAL OFFERTake An Extra 15% Off This Item! Discount Taken In Cart. See details
Extra 15% Off: Offer valid 2/22/17 only. Promotion valid at all Performance Bicycle Stores, Performancebike.com and by phone. In-store present coupon to receive discount. Online no coupon code required, discount taken in cart. Extra 15% off is not valid on bikes/frames, GoPro, Garmin, Speedplay, Stages, Wahoo, Team Performance Memberships/Renewals, gift cards, Spin Doctor Services or Service Plans, paid training program fees, previous purchases, shipping or sales tax. Some brand and/or item exclusions may apply to this promotion – visit Terms and Conditions for details. Offer cannot be combined with any other coupon.