text:
I need to turn the embedding widget into a gre client. This would allow clients
to link against only the embedding library and then be able to use the gre to
load components instead of the old XPCOM way.
I've got a patch that does this but it breaks the crap out of static builds.
Does anyone still use those? I don't even know how to test them.
Created attachment 123081 [details] [diff] [review]
This patch moves the embedding widget out into its own directory. The only
thing that the embedding code knows how to do is start up the gre and talk to
the backend component. The backend component is basically what the
EmbedPrivate class used to do, accessed through an interface instead of
accessing the public members of the class directly.
the static builds are important. They give us a relative measurement of how
small we can make mozilla browser. Maybe the best approach would be to make
the static build disable using the GRE for TestGtkEmbed.
To test the static build, in your mozconfig file add these options:
ac_add_options --disable-shared
ac_add_options --enable-static
Doug and I were looking into the fact that with this patch I can't view https
pages. I've traced it back to a problem in nsNSSComponent::Init:
The call:
if (!mPref) {
mPref = do_GetService(NS_PREF_CONTRACTID);
NS_ASSERTION(mPref, "Unable to get pref service");
actually fails, and things go downhill from there. Something is pretty fishy.
Woops, I take that back. That call is actually succeeding. It can't find the
user's profile dir (in InitializeNSS:)
rv = NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR,
if (NS_FAILED(rv)) {
PR_LOG(gPIPNSSLog, PR_LOG_ERROR, ("Unable to get profile directory\n"));
return rv;
I've messed with the directory provider. I've probably screwed something up.
Created attachment 123151 [details] [diff] [review]
patch #2
This patch fixes clients who call one of the global widget functions before
creating a widget.
Created attachment 123988 [details] [diff] [review]
patch #3
Include recent accessibility changes and make it work with gtk 1.2 builds as
Comment on attachment 123988 [details] [diff] [review]
patch #3
Please continue to support the static build for TestGtkEmbed.
Please verify the dates on the licenses used.
You may want to consider moving the methods ifdef'ed by MOZ_ACCESSIBILITY_ATK
in nsIGtkEmbedStub.h to the end of that declaration.
You should see if you can try to remove these string libs. Doing so will
reduce your app size by ~100k however, it will restrict you to using only
+ $(DIST)/lib/$(LIB_PREFIX)string_s.$(LIB_SUFFIX) \
+ $(DIST)/lib/$(LIB_PREFIX)string_obsolete_s.$(LIB_SUFFIX) \
Are these files suppose to be the same? Could you just attach a diff of those
embedding/browser/gtk/widget/gtkmozembed2.cpp|h and
This patch will still require the embedder to have their library path pointing
at the gtkwidget. It might have been nice to completely decouple the widget
from the GRE. Is that planned?
> Please continue to support the static build for TestGtkEmbed.
I'm not even sure how to build the thing, although looking at the makefiles it
looks like an abomination. Can someone point me at a doc or something?
> embedding/browser/gtk/tests/Makefile.in
> You should see if you can try to remove these string libs. Doing so will
> reduce your app size by ~100k however, it will restrict you to using only
> nsEmbed(C)String.
> + $(DIST)/lib/$(LIB_PREFIX)string_s.$(LIB_SUFFIX) \
> + $(DIST)/lib/$(LIB_PREFIX)string_obsolete_s.$(LIB_SUFFIX) \
I can't. In fact, I just wasted the last two hours trying. It's far worse than
you could possibly imagine.
TestGtkEmbed.cpp includes two interfaces:
#include "nsIDOMKeyEvent.h"
#include "nsIDOMMouseEvent.h"
which through various twists and turns requires nsAString.h which pulls in
nsReadableUtils.h and then you end up with a link error:
../../../../dist/bin/libgtkembedmoz.so: undefined reference to
`Distance(nsReadingIterator<unsigned short> const&, nsReadingIterator<unsigned
short> const&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to
`Distance(nsReadingIterator<char> const&, nsReadingIterator<char> const&)'
The only way that I've even got things linking is to pull in string_s and
string_obsolete_s into the embedding shared lib and then making sure that the
final app links against embedstring_s. Otherwise, you get multiple definitions
of various symbols or it doesn't link because of missing symbols.
In fact, using just about any interface header requires in the end pulling in
our string headers and then our world turns to shit. If what I've just
experienced is even a taste of what our embedders are in for, they are going to
roast us. I had to remove all of the nsAString& arguments from nsIGtkEmbedStub
because of the linking problems from just that simple interface.
Why have we been working on this for 5 years and our string classes _still_ have
not been flushed out where something like this would be easy? It's a 4 inch
curb and we're tripping over it again and again.
> Are these files suppose to be the same? Could you just attach a diff of those
> changes?
> embedding/browser/gtk/widget/gtkmozembed2.cpp|h and
> embedding/browser/gtk/src/gtkmozembed2.cpp|h
They are pretty hacked up. It's easier to just look at the new file.
> This patch will still require the embedder to have their library path pointing
> at the gtkwidget. It might have been nice to completely decouple the widget
> from the GRE. Is that planned?
The widget will be the interface to the GRE. That's the idea.
to build a static-build, set the following:
ac_add_options --disable-shared
ac_add_options --enable-static
You should be able to #include nsAString just use the embed library -- that is
its whole point. Are you defining XPCOM_GLUE when building?
Created attachment 125322 [details] [diff] [review]
patch #4
Just checkpointing changes. Lots of good fixes in here, but still incomplete.
blizzard: FYI, the packaging branch that I am going to land immediately upon
open of 1.7a simplifies and makes sane the static build process. In addition,
the epiphany folks are very interested about getting gtkembed to be a GRE client
so that they can layer on top of the GRE.
There's code here to do it, ugly as it is. The biggest problem with doing this,
of course, is that strings aren't frozen so you can't use them in the widget
itself and that adds a whole mess of code.
The embedding people in question rely heavily on our strings impl and it will be
quite a shock to them when it's no longer available.
Also, I never did manage to get a working static build, so I wasn't ever able to
fix problems related to trying to the static bits in the makefile. That's what
kept me from really landing it.
Does the recent string changes improve the situation to be able to fix this one ?
Since nsEmbedString is API frozen it should be possible to use it in the widget
(and in gtkmozembed users too).
Hrm sorry this is the correct link to Darin mail:
And this is the bug:
I experimented a bit with the new string api and found
Maybe it should be marked as a dependency of this bug.
Created attachment 145167 [details] [diff] [review]
Attempt at a different approach
It depends on 238928 to be checked in. It works but I had to strip out several
things, see below.
The final target is to depend only on the SDK. That way we dont need the
intermediate interface of Blizzard patch.
What it does:
- Use only nsEmbedC?String. To transfrom between unichar and uft8 strings use
glib native API.
- Use xpcom glue and GRE startup API
- We need a way to convert from utf8/unichar to gtk1 strings (locale ?)
- nsProfileDirServiceProvider.h is not part of the sdk. It looks like we should
use nsIProfileService instead.
- We need to port the focus code to use nsIWebBrowserFocus.
http://bugzilla.mozilla.org/attachment.cgi?id=126558&action=view does it but
these is the issue with toplevel active state.
- We need a way to register dom listeners without passing through PIDOMWindow.
- We cant use nsIWidget (see 239132). So we need a different implementation of
ShowTooltip. Also I'm not sure what's the deal is with the extra screen window
stuff, though that needs to be solved differently too.
- Admittely the string code is not optimal, especially the utf8/utf16
conversion stuff. Suggestions are welcome.
Anyway, is there interest in a use-only-SDK approach ? If so I can keep working
on this and try to solve the problems. I'd be grateful for any, positive or
negative feedback.
I'm not sure what you mean by that. If you're asking if the embedding widget
should only use SDK-exported items, I think the answer is no. It's part of the
Mozilla build and should probably stay that way. It can use internal interfaces
since in theory it should be revved whenever the rest of the runtime is revved.
blizzard, the problem is that using not SDK api you inevitably include internal
string implementation and hence you cant use nsEmbedString.
At that point I dont see other possible solution to this bug then the interface
you added in your patch. Though that adds a lot of code and you dont seem to be
happy with it.
Is there any way we can move the work on this bug further ? I dont mind if it
takes time but atm it's just completely stalled. Apparently there is no plan to
freeze string api, apart the nsEmbedString bits. And we cant use nsEmbedString
if we want more than the SDK.
well, it would be theoretically nice for gtkembed/mfcembed to use only frozen
interfaces and exports, but that is currently impractical. Let's focus on
getting them working with the GRE at all, first... then we can look at what
might need to be frozen to make them frozen-happy.
I wasn't all that worried about using the interface split. That seemed to work
I was worried about the lack of decent strings and it's impact on things like
epiphany and galeon and other embedding clients. Suddenly not having those
classes around was going to suck because the GRE doesn't include them. But if
you don't mind, I don't mind. To me it was just kind of intractable.
> I was worried about the lack of decent strings and it's impact on things like
> epiphany and galeon and other embedding clients. Suddenly not having those
Hopefully, we will have solved most of the problems w/ nsEmbedString by the time
1.7 final ships. Here's some things that should help: bug 238088, bug 239303.
As per Darin comment I think nsEmbedString is shaping up in an acceptable way
for epiphany. I'm a bit worried about some internal apis that we are using (and
that will likely drag in nsString), I'll check ASAP what are the problems there.
I think we have two possible ways of doing the port. One is your interface
thing. The other is starting to move towards frozen interface usage and use
nsEmbedString. Darin agreed that we could fix 239132 to ease the process a bit.
That would allow to use nsIWidget that seem the only unsolvable problem with my
patch. Using nsIProfileService doesnt seem an issue. Focus behavior is borked in
any way but IHMO nsIWebBrowserFocus behavior is slightly better. I can cleanup
the string code with the changes darin is working on. The remaining issue that
I'd need to look in is DOM events.
The approach of my patch has the advantage to be moving gradually towards a more
stable API. If we introduce an interface in the middle, and make big changes to
the code for it, then we will be forced to maintain it forever.
Though that's your call. If you prefer we can just complete your patch (i.e. fix
static build). And I can see if there are problems with it in epiphany and how
we can solve them.
FWIW the DOM events problem needs to be solved for epiphany, with your interface
or without, if we dont want to regress functionalities.
I don't have any personal stake in using my patch vs. not using my patch.
You're doing the work at this point, so I suggest you do what you think is
right. In general, I think that moving to using embedding strings is the right
way to go. As for the stability of the interface, it hasn't changed much in the
last couple of years and I don't expect that it will change all that much going
forward. When I have changed things, I've changed them in such a way as to
maintain backwards compatibility whenever possible.
>In general, I think that moving to using embedding strings is the right
>way to go.
Ok, I think I'll deal with it this way.
1 Port gtkmozembed to use nsEmbedString
2 Port epiphany to use nsEmbedString
3 make gtkmozembed a GRE client
Sounds like a good plan to me. But boy are the galeon people gonna be pissed. :)
-> marco since he's working on it.
(In reply to comment #26)
> 1 Port gtkmozembed to use nsEmbedString
What exactly does that mean? Isn't the gtkmozembed widget part of Mozilla? Why
does it need to use nsEmbedString? Or what do you mean by use?
Why shouldn't it be implemented so its interfaces use a forward-declared
nsA[C]String, the implementation uses the internal stuff, and the clients using
the interfaces can use nsEmbedString?
Ok, I talked this with blizzard and I think I have a more clear idea of what we
The final target is to api freeze libgtkmozembed.so and decouple it from the GRE
(see dougt comment about this too). It will be installed in the system library
and will be our interface to the GRE. Users will just need to link to it to be
able to use mozilla SDK.
I can think to two ways to do this:
1 Have an intermediate, api stable, GRE component (see patch #4) that
libgtkmozembed.so use to interface to other mozilla apis
2 Use frozen only api in libgtkmozembed.so itself
My points against 1 are:
- it's a poor excuse to not be able to create an usable mozilla SDK :)
- it's much more difficult to use frozen api in the libgtkmozembed.so users code
(epiphany and galeon as examples) than in gtkmozembed itself. In fact they
currently depend on a lot of private api while gtkmozembed use mostly public
stuff. I'm pretty sure that by the time epiphany and galeon can work without
internal apis, there will be no problems to do the same for gtkmozembed.
At that point what will be the advantage to use internal, not frozen api ?
If we go for 2, we need to use api frozen strings at some point (nsEmbedString).
Now, even hoping to be able to implement something like epiphany or galeon with
frozen api is unrealistic on the short term. So we need a migration path.
I agreed with Blizzard that using a versioned libgtkmozembed.so can work well
enough for now. We could also have versioned .pc files. Starting from there we
can gradually move users (galeon/epiphany/devhelp basically) to nsEmbedString
and frozen interface. Once they are ready it will be easy to make libgtkmozembed
itself api stable.
So my revised "roadmap" is:
- make gtkmozembed a GRE client
- install it in system lib path, with a version
- port epiphany/galeon to frozen api
- port gtkmozembed to frozen api
The last step will allow us to remove the version from the library name and to
not link anymore string_s.la in gtkmozembed. Since gtkmozembed is pretty simple
code I dont think powerfull mozilla strings will be very useful, not worth the
added code size to the lib IHMO. Also, linking string_s in libgtkmozembed.so
allow embedders to use internal string api -> libgtkmozembed is no more api stable.
I hope this reply to your questions dbaron. Does it make more sense ?
Btw I have epiphany working with a gtkmozembed GRE client, with string_s linked
to libgtkmozembed.so. I had to remove some code that drag in xpcom pieces
(nsVoidArray for example) and so cause undefined references. They looks all
easily fixable though.
>The last step will allow us to remove the version from the library name
nit-pick: If libgtkmozembed.so is going to live in /usr/lib, then it should
definitely be versioned, and it should surely remain versioned forever :-)
>nit-pick: If libgtkmozembed.so is going to live in /usr/lib, then it should
>definitely be versioned, and it should surely remain versioned forever :-)
Oh yeah. The confusion rise from the fact that I was talking of two different
levels of versioning. blizzard suggested something like libgtkmozembed-1-6.so
(for mozilla 1.6) to deal with the not yet frozen interfaces issue. I'm guessing
the reason to not use sonames here is parallel installation.
From http://www106.pair.com/rhp/parallel.html :
Why aren't library sonames good enough?
Library sonames only address the problem of runtime linking
previously-compiled applications. They don't address the issue of compiling
applications that require a previous version
The same document also show how dealing with the different versions can be made
painless by using pkg-config.
So, until we have a not frozen api we could use
When we will have stable api libgtkmozembed.so.$(soname)
One issue is how to deal with frozen api revision. At least I'm assuming frozen
api will not be frozen forever and, for example, GRE 2.0 could have incompatible
changes. In that case we will certainly want to keep the ability to install in
parallel. But it's just matter to find a naming scheme that accomodates that too.
Just to clarify something about what I said; I really want the embedding widget
to use the GRE instead of firing things up by hand. I think that it should be
versioned as well, but that's second to using the GRE instead of how it does
things now. I also don't really care if the embedding widget uses internal
interfaces (although this means it should really be versioned.) I don't want to
introduce bogo-modularity here. It's just not appropriate.
what does this mean to uses that statically link the embedding widget and the
rest of the GRE goop?
Created attachment 145690 [details] [diff] [review]
use the GRE
The code is still rough but I think it gives an idea of what I want to do.
Comments would be very appreciated.
I had to change the profiles code to use nsIProfile because
nsProfileDirServiceProvider use nsIAtom stuff which is not part of the xpcom
glue. So it was causing undefined refs. Also I think using nsIProfile make
sense because it doesnt require to link a static library, it's supposed to be
public and it's what other embedding implementations use.
Unfortunately I've not been able to make EmbedStream works. Not linking
libxpcom breaks it because of nsIPipe. Pipe is not registered as an xpcom
component so I cant create the instance that way either. Any suggestion on how
to deal with this ?
(In reply to comment #34)
> what does this mean to uses that statically link the embedding widget and the
> rest of the GRE goop?
I guess the static build could continue to work as before. The changes I'm
making are 1 fixup the code that requires not-glue xpcom to be linked 2 use the
GRE startup/shutdown 3 move libgtkmozembed in system directory and version it.
They would not seem to affect the static build to me. It's possible I'm missing
something though, since my understanding of the static build is limited.
fwiw bug 99338 vetod exposing nsPipe
Created attachment 145736 [details] [diff] [review]
use the GRE (complete)
I'm adding a nsIWebBrowserStream interface. I think it make sense because it's
something generally useful for embedding. In fact it's used in two of our
internal implementations (photon and gtkmozembed), there are GNOME applications
using it through gtkmozembed and there are requests in the newsgroups for such
The patch should be more or less complete now. I'm missing scrollbars/prompts
strings in epiphany now, though that's very likely a problem with my
installation. Will verify before finalizing the patch and asking a review.
can you "cvs add" the file, and then diff -N so we can see the new interface? Or
if you don't have CVS access, can you just attach the new .idl?
you can use cvsdo <http://viper.haque.net/~timeless/redbean/> if you don't have
cvs access to add the file (as long as you don't need to create a directory,
which you shouldn't need to do).
(In reply to comment #39)
> can you "cvs add" the file, and then diff -N so we can see the new interface? Or
> if you don't have CVS access, can you just attach the new .idl?
The .idl is at the bottom of the attached patch (145736). I did get it using
diff -u /dev/null nsIWebBrowserStream.idl
Created attachment 145798 [details] [diff] [review]
use the GRE (ready for review)
Comment on attachment 145798 [details] [diff] [review]
use the GRE (ready for review)
Not sure how to deal with the new interface review. If you cant review it
please let me know and I'll split that part out and ask review to someone else.
webBrowser/nsEmbedStream.cpp/h is just a renamed copy of
The s/nsMemory::Alloc/g_strdup changes are not gratouitous. The GRE need to be
running for nsMemory to work. I could not think of another way to fix it
without forcing a startup call.
Comment on attachment 145798 [details] [diff] [review]
use the GRE (ready for review)
>Index: embedding/browser/gtk/src/EmbedPrivate.cpp
>@@ -387,6 +384,49 @@
>+ if (!sAppFileLocProvider) {
>+ nsCOMPtr<nsIDirectoryServiceProvider> directoryProvider;
>+ EmbedDirServiceProvider *embedProvider;
>+ embedProvider = new EmbedDirServiceProvider(nsDependentCString(sProfileDir));
>+ directoryProvider = do_QueryInterface(embedProvider);
>+ SetDirectoryServiceProvider(directoryProvider);
>+ }
This can be a lot simpler, because you already know the type of
nsCOMPtr<nsIDirectoryServiceProvider> dirProvider = new
>Index: embedding/browser/gtk/src/Makefile.in
>- $(DIST)/lib/libembed_base_s.$(LIB_SUFFIX) \
>- $(DIST)/lib/libprofdirserviceprovider_s.$(LIB_SUFFIX) \
>+ $(DIST)/lib/$(LIB_PREFIX)xpcomglue.$(LIB_SUFFIX) \
>+ $(DIST)/lib/$(LIB_PREFIX)string_s.$(LIB_SUFFIX) \
>+ $(DIST)/lib/$(LIB_PREFIX)embed_base_s.$(LIB_SUFFIX) \
Linking against string_s is going to cause problems... we don't NS_HIDDEN all
of the string implementations. How much trouble would it be to convert all of
gtkmozembed to use embedstring; what exactly is being linked in here?
>--- /dev/null 2004-02-23 22:02:56.000000000 +0100
>+++ embedding/browser/gtk/src/EmbedDirServiceProvider.cpp 2004-04-10 10:35:56.114747344 +0200
>+EmbedDirServiceProvider::GetFile(const char *prop, PRBool *persistant, nsIFile **_retval)
>+ if (strcmp(prop, NS_APP_APPLICATION_REGISTRY_DIR) == 0)
>+ else if(strcmp(prop, NS_APP_APPLICATION_REGISTRY_FILE) == 0)
>+ else if(strcmp(prop, NS_APP_USER_PROFILES_ROOT_DIR) == 0)
>+ else if(strcmp(prop, NS_GRE_DIR) == 0)
Does this actually work? The profiledirserviceprovider includes all sorts of
"sub-profile" keys such as the prefs file, localstore file, etc, and most code
is not designed to deal with these keys not being defined. This is a known
issue, which we probably need to discuss.
>+++ embedding/browser/webBrowser/nsEmbedStream.cpp 2004-04-09 01:06:03.000000000 +0200
>+ rv = NS_NewPipe(getter_AddRefs(bufInStream),
>+ getter_AddRefs(bufOutStream));
>+ if (NS_FAILED(rv)) return rv;
Check whitespace here... the patch has a line full of blanks.
>+nsEmbedStream::ReadSegments(nsWriteSegmentFun aWriter, void * aClosure,
>+ PRUint32 aCount, PRUint32 *_retval)
>+ char *readBuf = (char *)nsMemory::Alloc(aCount);
>+ PRUint32 nBytes;
Why use nsMemory::Alloc instead of malloc()? This buffer does not change
ownership across XPCOM boundaries, so using nsMemory is unnecessary.
> This can be a lot simpler, because you already know the type of
> EmbedDirServiceProvider:
> nsCOMPtr<nsIDirectoryServiceProvider> dirProvider = new
> EmbedDirServiceProvider(...);
> SetDirectoryServiceProvider(dirProvider);
Nice, fixed.
> Linking against string_s is going to cause problems... we don't NS_HIDDEN all
> of the string implementations. How much trouble would it be to convert all of
> gtkmozembed to use embedstring; what exactly is being linked in here?
There are two independent problems here:
1) We would not expose private string api to the gtkmozembed users anymore.
I think it's ok to expect they port to nsEmbedString since the api is shaping up
nicely. Though some of the private interfaces they use drag in nsString.h. I
know private interfaces should not be used but ... both epiphany and galeon use
some of them and we should probably provide a way to migrate gradually.
Do you expect problems if they keep linking to libxpcom at compile time until
they ported to nsEmbedString ? The GRE startup seem to handle the case where
libxpcom is already linked (GRE_HOME == ".")
2) We need to port gtkmozembed to use nsEmbedString.
I have that almost done in bug 239789. To complete it we need to checkin bug
239132 and to fix bug 81835 and bug 239716 (these two are necessary to port
epiphany/galeon too). Then we can either use nsIWebBrowserFocus instead of our
own implementation (my favourite solution, see bug 226708) or to make
nsPIDOMWindow.h nsEmbedString friendly. It currently includes nsIDocument and
nsString but both appear to be leftover headers?
> >+ else if(strcmp(prop, NS_APP_USER_PROFILES_ROOT_DIR) == 0)
> >+ else if(strcmp(prop, NS_GRE_DIR) == 0)
> Does this actually work? The profiledirserviceprovider includes all sorts of
> "sub-profile" keys such as the prefs file, localstore file, etc, and most code
> is not designed to deal with these keys not being defined. This is a known
> issue, which we probably need to discuss.
Yeah it seem to work fine. prefs.js for example is created in the right dir and
saved correctly. FWIW this is also what all other embedding clients and camino
are doing. If you could do an example of what you fear would not work I can
verify it.
> >+++ embedding/browser/webBrowser/nsEmbedStream.cpp 2004-04-09
01:06:03.000000000 +0200
> >+nsEmbedStream::Init(void)
> >+ rv = NS_NewPipe(getter_AddRefs(bufInStream),
> >+ getter_AddRefs(bufOutStream));
> >+
> >+ if (NS_FAILED(rv)) return rv;
> Check whitespace here... the patch has a line full of blanks.
> >+nsEmbedStream::ReadSegments(nsWriteSegmentFun aWriter, void * aClosure,
> >+ PRUint32 aCount, PRUint32 *_retval)
> >+{
> >+ char *readBuf = (char *)nsMemory::Alloc(aCount);
> >+ PRUint32 nBytes;
> Why use nsMemory::Alloc instead of malloc()? This buffer does not change
> ownership across XPCOM boundaries, so using nsMemory is unnecessary.
These was part of the original EmbedStream.cpp. Fixed them too.
Comment on attachment 145798 [details] [diff] [review]
use the GRE (ready for review)
Please upload your new patch.
Created attachment 145959 [details] [diff] [review]
port to nsEmbedString and address reviewer comments
Comment on attachment 145959 [details] [diff] [review]
port to nsEmbedString and address reviewer comments
Since finding a good api to attach listeners is problematic I made current code
work with nsEmbedString just with headers cleanups for now. I still plan to
look at it though.
I had to move the xpcom initialization in gtkmozembed2.cpp otherwise we cant
use nsEmbedString variable in the class.
The CloneString helpers repeated in several files are really ugly. We can
remove them once bug 239716 is fixed though.
Forgot to mention that AFAIK this should still work with current galeon/epiphany
code as long as they link with libxpcom.so at compile time. Obviously the whole
point of the GRE is missed that way, but I think it's good to not suddenly break
that code.
marco pointed out that attachment 145959 [details] [diff] [review] should fix bug 225952 too.
Created attachment 146611 [details] [diff] [review]
Use the new embed string clone api -> get rid of helpers
Comment on attachment 146611 [details] [diff] [review]
Use the new embed string clone api -> get rid of helpers
I'd really like to get this one in 1.8a so that we can address possible issue
in the 1.8 cycle. If there is anything I can do to ease the review (for example
split in stream interface addition/headers cleanups/gtkmozembed patch) please
let me know.
Comment on attachment 146611 [details] [diff] [review]
Use the new embed string clone api -> get rid of helpers
>Index: embedding/browser/gtk/src/EmbedContentListener.cpp
> #include "nsIURI.h"
>+#include <nsMemory.h>
>- nsXPIDLCString value;
>+ char *value;
> rv = catMgr->GetCategoryEntry("Gecko-Content-Viewers",
>- aContentType,
>- getter_Copies(value));
>+ aContentType, &value);
> // If the category manager can't find what we're looking for
> // it returns NS_ERROR_NOT_AVAILABLE, we don't want to propagate
>@@ -134,6 +133,8 @@
> if (value && *value)
> *_retval = PR_TRUE;
>+ nsMemory::Free(value);
nsMemory::Free is not null-safe, unfortunately. You should do a null-check
>Index: embedding/browser/gtk/src/EmbedPrivate.cpp
More angle-brackets.
>+ nsCOMPtr<nsILocalFile> binDir;
>+ if (sCompPath) {
>+ rv = NS_NewNativeLocalFile(nsEmbedCString(sCompPath), 1, getter_AddRefs(binDir));
>+ if (NS_FAILED(rv)) return rv;
>+ }
Use PR_TRUE instead of magic '1'.
I would encourage using NS_ENSURE_SUCCESS(rv, rv) for new error-checking which
isn't supposed to fail. You get useful debug spew if things go wrong.
>+ rv = NS_InitEmbedding(binDir, sAppFileLocProvider);
>+ NS_RELEASE(sAppFileLocProvider);
>+ sAppFileLocProvider = nsnull;
NS_RELEASE will automatically set the var to null, you don't need the second
But why do we have sAppFileLocProvider if we're just going to use it like a
local comptr?
>@@ -541,65 +542,46 @@
>+ nsCOMPtr<nsIWebBrowser> webBrowser;
>+ mWindow->GetWebBrowser(getter_AddRefs(webBrowser));
>+ nsCOMPtr<nsIWebBrowserStream> wbStream = do_QueryInterface(webBrowser);
>+ return wbStream->OpenStream(aBaseURI, aContentType);
Defensive coding nit: might you need to do a null-check on wbStream? (Here and
many places just like it below.)
>+ // Set the profile which the control will use
>+ nsCOMPtr<nsIProfile> profileService;
>+ profileService = do_GetService(NS_PROFILE_CONTRACTID, &rv);
>+ if (NS_FAILED (rv)) return rv;
NS_ENSURE_SUCESS() here and below
>Index: embedding/browser/gtk/src/Makefile.in
> pref \
>+ profile \
> windowwatcher \
>- profdirserviceprovider \
>+ profile \
You've got profile twice, once with mismatched indenting.
>@@ -1223,7 +1237,7 @@
> embedPrivate = (EmbedPrivate *)embed->data;
> if (embedPrivate->mWindow)
>- retval = ToNewUnicode(embedPrivate->mWindow->mTitle);
>+ retval = NS_StringCloneData(embedPrivate->mWindow->mTitle);
> return retval;
mismatched allocators here? aren't this and others below supposed to be
>Index: embedding/browser/gtk/tests/Makefile.in
>+ -lplds4 -lplc4 -lnspr4 -lpthread -ldl \
use $(NSPR_LIBS)
>Index: embedding/browser/webBrowser/nsWebBrowser.h
>@@ -108,6 +110,7 @@
> public nsIWebProgressListener,
>+ public nsIWebBrowserStream,
> public nsSupportsWeakReference
tab alert
Finally, we have to worry about using nsIProfile. I am in the process of moving
libprofile.so out of the GRE, because the new toolkit isn't going to be using
it... since gtkmozembed wasn't using the profile impl (I don't think) it wasn't
an issue I worried about, but this patch changes that. I really want to wean
everyone off using the old profile code if possible, and I'm afraid this is a
step in the wrong direction.
The profile problem is being a blocker. We cannot use the old toolkit profile
dir service static library as is because it uses nsString. We would have to
build two separate libraries from the same code (defined) see bug 241384.
Additionally I'm not convinced binding embedding to the old toolkit is a good
idea: for one it would be nice to have compreg.dat per user as in the new toolkit.
I tend to think embedding should either be able to reuse new toolkit profile
stuff (bug 239929) or to have his own.
Created attachment 147012 [details] [diff] [review]
address review comments
Created attachment 147013 [details] [diff] [review]
EmbedPrivate -w diff
> >Index: embedding/browser/gtk/src/EmbedPrivate.cpp
> >===================================================================
> More angle-brackets.
I fixed all the inclusion in that file while at it.
> But why do we have sAppFileLocProvider if we're just going to use it like a
> local comptr?
Not sure what you mean exactly, it can set by SetDirectoryProvider method so
it's not local. Anyway, my new patch doesnt touch that code anymore so there
should not be problems.
> >@@ -1223,7 +1237,7 @@
> > embedPrivate = (EmbedPrivate *)embed->data;
> >
> > if (embedPrivate->mWindow)
> >- retval = ToNewUnicode(embedPrivate->mWindow->mTitle);
> >+ retval = NS_StringCloneData(embedPrivate->mWindow->mTitle);
> >
> > return retval;
> mismatched allocators here? aren't this and others below supposed to be
> g_malloced?
I'm not sure if it's worth to fix these. I think they are just kept for
compatibility. Gtk1 didnt support utf8 and these was used to be able to convert
to locale. Clients may even be using nsMemory::Free, prolly not worth changing
this now.
> Finally, we have to worry about using nsIProfile. I am in the process of moving
> libprofile.so out of the GRE, because the new toolkit isn't going to be using
> it... since gtkmozembed wasn't using the profile impl (I don't think) it wasn't
> an issue I worried about, but this patch changes that. I really want to wean
> everyone off using the old profile code if possible, and I'm afraid this is a
> step in the wrong direction.
I had to resort doing my own implementation of profile dir service + lock, it's
based on your toolkit patch. In fact nsIProfile store the data in a unique
directory and keep it in the register. I think it's better for gtkmozembed to
have a single profile implementation, changing this back later would involve
some sort of importing pain ...
Created attachment 147014 [details] [diff] [review]
actually fix the last two comments
Comment on attachment 147014 [details] [diff] [review]
actually fix the last two comments
For EmbedPrivate.cpp you may want to look at the -w diff attached. There are
some changes in it in respect to the last patch you reviewed because of the new
profile approach. It's less intrusive though.
Comment on attachment 147014 [details] [diff] [review]
actually fix the last two comments
Yick, I hate forking the profile code yet again, but until we have a better
solution it will have to do.
Why must nsProfileLock.cpp be copied? How about just moving it to a common place?
brendan: we cannot link code using nsEmbedString and the "real" nsAString into
the same module; we would have to recompile that code using #defines to switch
between nsCString (for libprofile.so) and nsEmbedCString (for statically-linked
embedding consumers).
It's possible to do that for both nsProfileDirServiceProvider and nsProfileLock.
I'm a C hacker, I like macros ;-). Do what is right, but try not to duplicate
hunks of code of this size -- experience suggests we'll regret doing so.
Comment on attachment 147014 [details] [diff] [review]
actually fix the last two comments
This all looks fine. However, I have one request and that's that you rename
the PushStartup and PopStartup methods in the class, because you've moved that
code down into the actual widget code. They don't actually push or pop
anything anymore.
although i probably said it enough times, please do not break the static build.
Thanks for the reminder, before posting the final patch I'll actually do a
static build and verify (I'd not expect it to break but ...). Though I want to
get bug 241384 solved before anything else.
Looks like problems with this bug are never going to finish. There are two
issues with the static build:
1 nsStaticComponent.h drags in nsString
2 according to Darin embed and private strings cannot be mixed in the same
DSO. Since the static build link everything in one executable I guess this is
going to be an issue.
1 should not be too hard to fix but I cant think to any good solution to 2.
AFAIK the new toolkit semi-single-profile code has the same issue since it use
embed string in the dir service provider.
> 2 according to Darin embed and private strings cannot be mixed in the same
> DSO. Since the static build link everything in one executable I guess this is
> going to be an issue.
You can mix them in the same DSO provided you ensure that all the nsAC?String
methods (defined in nsStringAPI.h) are inlined. In an optimized GCC build this
is the case; however, in the debug builds we use -fno-inline, so the problem
would show up then.
Another option is to limit this code to use only the C-style API (i.e., the
NS_C?String* functions in nsStringAPI.h).
Can you combine a different underlying name (different symbol names) with a
macro (same code) to make (2) go away?
> Can you combine a different underlying name (different symbol names) with a
> macro (same code) to make (2) go away?
Possibly. Care to spell out what you had in mind?
Could you spell out exactly what the problem is, or point to something that does?
Er, I think I see what it is. So my proposed solution would be to reverse the
#defines here:
so that any compiler that didn't inline the inline methods inlined them with a
different name.
Also, while there, it might not be a bad idea to do something like adding this
to nsStringAPI.h:
#if !defined(NS_STRINGAPI_IMPL) && defined(nsAString_h___)
#error "Cannot include both nsStringAPI.h and nsAString.h"
and this to nsAString.h:
#if !defined(NS_STRINGAPI_IMPL) && defined(nsStringAPI_h__)
#error "Cannot include both nsStringAPI.h and nsAString.h"
(perhaps with a comment on the include guards in the opposite files that they're
used in such a manner)
This idea has the disadvantage that it would require including nsStringAPI.h
before including any headers that forward-declared nsAString/nsACString.
I filed bug 243109 regarding improvements to nsStringAPI.h/nsAString.h (such as
what dbaron has suggested here).
Created attachment 148650 [details] [diff] [review]
Fix the static build, use the new standalone profile dir service, rename Push/PopStartup
Making this depend on the external/internal strings definition problem even if
I'm not experiencing issues on a debug static build on linux.
Darin, is the problem supposed to show only on some platforms or is it broken
in a more subtle way than simply build and run?
> Darin, is the problem supposed to show only on some platforms or is it broken
> in a more subtle way than simply build and run?
Are you building with -fno-inline? I think the problem only shows up if the
nsAString methods declared in nsStringAPI.h are _NOT_ inlined.
> Are you building with -fno-inline? I think the problem only shows up if the
> nsAString methods declared in nsStringAPI.h are _NOT_ inlined.
Yeah I am. You can see a log of the TestGtkEmbed build here:
The dependent patches landed. We are left with the internal/external strings
conflict problem.
If no one is opposed I'd ask review for the latest changes and land it. My linux
static debug build compile and works fine.
If that's not ok please just speak up and I'll wait bug 243109 to be fixed.
Created attachment 149585 [details] [diff] [review]
split out the headers cleanup and stream interface addition
now that nsEmbedStream exists, and nsIWebBrowserStream, in cross-platform code -
can /embedding/browser/gtk/src/EmbedStream.* be cvs removed?
Well, until I can actually land my patch (still blocked on bug 243109)
EmbedStream is in use, so it should not be removed.
Comment 81 sounded like you could land this anyway, if nobody objected (nobody
did), but I don't see the review requests. The internal/external string thing
sucks, no doubt, but I'm not certain that it needs to block this progress based
on my reading of the bug and the patch.
What am I missing?
The patch is at this point bitrotten. Parts of it are already in the tree
though. The only part left is the actual embed string port, which will be easier
once bug 264274 is done.
The actual cvs mozilla-minimo source compilation results in a "Could not find a compatible GRE" when running the TestGtkEmbed. I'm posting it here because it is related to the TestGtkEmbed and the GRE, I think you can help a lot woth this!
I'm not sure that there's anything left to do in this bug: gtkmozembed clients can be GRE clients as of bug 299988. The "could not find a compatible GRE" warning is because you haven't either registered your build in /etc/gre.d as a GRE or set GRE_HOME envvar to override.
(In reply to comment #87)
> I'm not sure that there's anything left to do in this bug: gtkmozembed clients
> can be GRE clients as of bug 299988. The "could not find a compatible GRE"
> warning is because you haven't either registered your build in /etc/gre.d as a
> GRE or set GRE_HOME envvar to override.
But I'm compiling statically, then there is no xpcom to set the GRE_HOME, neither a /etc/gre.d directory.
You're compiling what statically? gtkmozembed is part of libxul now, so if there's no libxul there's no chance that there's an available gtkmozembed.


text:
What does 2009 hold in store for the world of fantasy sports? We surveyed our team of fantasy analysts and editors for the answers. Check out all twelve completed surveys by using the drop-down menu. (Some surveys were abridged to protect the innocent.)
Your name:
Brendan Roberts
But you wish to be referred to as:
Brendan or B-Rob
You're a shameless, unabashed fan of:
Cardinals baseball, Iowa Hawkeyes football and "Family Guy"
But we shouldn't hold it against you because:
The Redbirds are a proud and revered baseball franchise and I respect the game of baseball, the Hawkeyes were actually pretty good this year, and anybody with a (twisted?) sense of humor loves Peter Griffin and Co.
Your fondest sports wish for 2009 is:
A Hawkeyes national ti-- aw, who am I kidding, I just want my fantasy teams to do we- aw, who am I kidding, I just want to win lots of money playing fantasy sports.
Why will this happen/not happen?
The Hawkeyes? I won't go there. Winning lots of money? I have to. It's built into my budget as a part of my annual income now. Not winning would be like when Clark Griswold finds out he was enrolled in the Jelly of the Month club instead of getting a Christmas bonus.
Any sport, what is your biggest sleeper pick for 2009?
The Orioles' Matt Wieters will set the world afire, kinda like Geovany Soto did in 2008.
How high would you reach for that sleeper in a standard ESPN draft?
Considering he'll probably be ranked fairly low, I'd wait 'til everybody had a No. 1 catcher, then nab him before people think about backups. Probably somewhere around the 14th or 15th round.
Which player are you buying into but is most likely to disappoint you?
Kerry Wood. Just saying his name gives me the heebie-jeebies.
Which player are you not buying but will likely disappoint everyone else?
Well, my ol' standby is Jeremy Hermida. What a bust! But that's boring. How about Chipper Jones?
Any sport, who will be the best rookie to emerge in 2009?
I don't know if he'll be quite as effective, but I could see RB Shonn Greene doing for some team (from the second round of the draft) what Matt Forte did for the Bears this season. Call me a homer if you like, but do yourself a favor and pull up his highlight clips from this season on YouTube. The guy does it all, and against decent competition, too. He's a junior, so if he doesn't go pro this year, then copy and paste this for my answer next year at this time.
but everyone is going to think it's going to be?
Any other rookie back. Knowshon Moreno? Chris Wells? Javon Ringer?
Who will be
the first player drafted in fantasy football leagues? Adrian Peterson
the player everyone wishes they had drafted? Chris Johnson
the first player drafted in the NFL draft? Either Sam Bradford or Matthew Stafford. (Last I checked, the Lions need a quarterback.)
the first rookie drafted in fantasy football leagues? Michael Crabtree
the first player drafted in fantasy baseball leagues? Hanley Ramirez
the first pitcher? CC Sabathia (but it should be Johan Santana)
the first rookie? David Price
the player(s) who'll start the season in Triple-A to everyone's frustration? Nelson Cruz or Taylor Teagarden
the NHL's top scorer? Alex Ovechkin
the NBA's MVP? Kobe Bryant
the 2009 Sprint Cup champion? Carl Edwards
Mad Gabs
Fill in the blanks any way you want to create 10 more predictions for 2009.
In 2009, DeAngelo Williams will be on the hook for fewer fantasy points than teammate Jonathan Stewart.
There is no way that the Phillies will defend their title.
Matt Wieters will be this year's Geovany Soto.
Brett Favre will be in a tractor in Mississippi during Week 1 of the NFL season.
If David Price begins the season as a starter for the Rays then he will be a fantasy disappointment.
There will be no players that finish with more than 47 saves next season
but only three of the eight players that finish with 40-plus saves also did so in 2008.
Matthew Berry will wear a bra over his clothing one day at work to: a) pay off a bet and, b) try to shake his Tout team out of the doldrums.
This is the year that Alex Rodriguez finally suffers an injury that lands him on the DL.
2009 will forever be remembered as the year the Rays win the World Series.
The Name Game
A-Rod or Hanley Ramirez? Hanley
Tim Lincecum or Johan Santana? Johan
Evan Longoria or Garrett Atkins Longoria
Chase Utley or Dustin Pedroia? Pedroia
Manny Ramirez or Mark Teixeira? Teixeira
Tom Brady or Peyton Manning? Manning
Michael Turner or LaDainian Tomlinson L.T.
Randy Moss or Calvin Johnson? Moss
Antonio Bryant or Marques Colston? Colston
Brandon Jacobs or Marion Barber? Barber
DeAngelo Williams or Clinton Portis? Portis
Chris Paul or LeBron James? (For the rest of the season) LeBron
Danny Granger or Dirk Nowitzki? (for next season) Dirk
Derrick Rose or Kevin Durant? (for their careers) Rose (or neither)
Alexander Ovechkin or Sidney Crosby (for the rest of the season.) Ovechkin
Alexander Semin or Ilya Kovalchuk? (for next season) Kovalchuk
Steve Mason or Carey Price? (for their careers) Price
Jimmie Johnson or Carl Edwards? Edwards
Kyle Busch or Jeff Gordon? Busch
Playing with Numbers
Francisco Rodriguez saves: 39
A.J. Burnett wins: 16
CC Sabathia's ERA: 2.92
Yovani Gallardo wins and strikeouts: 13, 167
Manny Ramirez home runs and RBIs: 34, 110
Matt Holliday home runs and RBIs: 26, 103
Mark Teixeira home runs and RBIs: 38, 123
Jay Bruce batting average and home runs: .274, 28
Rafael Furcal average and steals: .294, 26
Rafael Furcal average and steals against the Braves: .406, 6
Adrian Peterson yards and touchdowns: 1,701, 19
Drew Brees yards and touchdowns: 4,489, 31
Tom Brady yards and touchdowns: 3,608, 24
Kurt Warner starts: 14
Braylon Edwards yards, touchdowns and drops: 1,088, 9, 13
Chad Ocho Cinco's yards and touchdowns: 863, 4
Chad Ocho Cinco ridiculous statements: 14 (12 of 'em before the season begins)
Basketball (end of 2008-09 season):
Danny Granger's PPG: 23.6
Allen Iverson's PPG: 19.4
O.J. Mayo's PPG: 19.5
Jose Calderon missed free throws: 24
Shaquille O'Neal and Dwight Howard's FTP: .567, .566
Tracy McGrady's missed games: 23
Carlos Boozer MRIs: 0
Hockey (end of 2008-09 season:)
Evgeni Malkin points: 107
Sidney Crosby points: 112
Alexander Ovechkin goals: 54
Alexander Semin goals: 43
Alexander Semin missed games: 14
Martin Brodeur wins: 39
Phil Kessel points: 74
Mats Sundin points: 54
Combined points for Ottawa's big three: 199
Speak now or forever hold your peace
What question do you wish you had been asked on this survey?
Why do you think Nelson Cruz will be a bust?
And the answer is?
Because no matter how hot he was in the minors, he's still a 28-year-old with a .251 average, a .312 OBP and 147 strikeouts in 557 major league at-bats.
What question are you glad you weren't asked?
Who would be the No. 1 pick in fantasy cricket?
Sucker! Now you have to answer.
Well, duh! Of course you'd have to go with Australian batsman Michael Hussey. (Thank God for ESPN's Cricinfo.com.)

subset: commoncrawl


text:
Love it, this 2015 experience again with all of you. I'm very happy to see the great energy, enthusiasm, Dedication, passion, love and happiness when each one of you pass through the GBRP doors. Thanks for all the smiles and chats! ;-) Keep it up the excellent work and remember to always try do your […]
Street Self Defense Seminar with Professor Aparecido 'Bill"
If you're even considering training please check this place out, or better yet call and schedule to try out a class with Ross. Gracie Barra has changed my families life in an amazing way. (more&helli
Great Place. Great atmosphere, you will meet great people while you learn an awesome martial art. The coaches and Professor Bill are unbelievable instructors and fun to learn from.
Gracie Barra Rohnert Park has a great family atmosphere. Besides the great Instructor in Professor Bill, he has TOP NOTCH Coaches who truly love BJJ and it shows when they teach. (more…)
Maybe you want to fight in the cage, maybe you just want to get off the couch, or maybe your 4 year old needs exercise and interaction with real focus. GBRP has got you and your family covered. (more
My boys have been learning at GBRP for 2 years and they love the classes. The kid's classes are really the best I've seen. They have multiple coaches on the mat in every class. (more…)
This is by far the best academy I have trained at so far. Professor Aparecido is extremely knowledgeable in BJJ and is very dedicated to helping his students to become the very best they (more&hellip


text:
Free DDL Porn Exclusive Full HD Porn Movies & Clips as Direct Downloads on Uploaded, Share-Online, Oboom, Openload, Rapidgator & co. Exclusive XXX Videos as Premium DDL-Warez Download.
This site does not store any files on its server. We only index and link to content provided by other sites.
Copyright © 2016 DDL-Porn.org » Posts » All Sex » BangBus Evie Olson 1080p


text:
Skip navigation
Oracle Community Directory
Oracle Community FAQ
Log in
My Oracle Support Community (MOSC)
Go Directly To
Oracle Technology Network Community
My Oracle Support Community
OPN Cloud Connection
Oracle Employee Community
Oracle User Group Community
Topliners Community
OTN Speaker Bureau
Java Community
Please enter a title.
You can not post a blank message. Please type your message and try again.
More discussions
Generic Linux
All Places
Server & Storage Systems
Oracle Linux
Generic Linux
This discussion is archived
1 Reply
Latest reply
on Jan 19, 2013 8:06 PM by Dude!
how to break out PXE boot loop, and get to "boot>" prompt?
Jan 19, 2013 7:04 PM
I believe the system is confgured to boot PXE, and we want to change it to the internal disk, since PXE is not setup.
how do I break out the PXE boot loop and get to boot> prompt, or what key I should hit? once I get to it, how do i list and see the bootable disk?
the following is the message I am getting from the console:
Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device and press a key
Edited by: 943714 on Jan 19, 2013 11:03 AM
I have the same question
Show 0 Likes
This content has been marked as final.
Show 1 reply
Re: how to break out PXE boot loop, and get to "boot>" prompt?
Jan 19, 2013 8:06 PM
in response to
The boot device is usually defined in the system BIOS or non-volatile memory. You probably need to restart the system, press F1 or DEL or ESC key to enter the BIOS (CMOS) setup. Then change the boot device order, giving the hard disk or DVD media a higher priority than the network device. In non of the attached devices have a bootable system, try starting the system using a standard OS installation DVD.
1 person found this helpful


text:
Elektriksiz yaşam
Ev yapımı klima
Ideas, tips and suggestions for How To Get Started Living Off Grid. One family's story of how they started and what they learned. The Homesteading Hippy via @homesteadhippy
Living off grid is a dream for many of us! Creating Your Off Grid Homestead is a great book that will help you on your journey.
There ARE other options for people that want to avoid drilling a well right away! #homestead #homesteading #offgrid
Thousands of people dream of going off the grid, living in some idyllic cabin in the woods by streams, oceanfront, or nestled in the mountains. It makes for a lovely picture but the reality of preparing to go off grid requires considerable research, forethought, planning, and organization. Of course, to go 'off grid' means different … … Continue reading →
Over 30 Years Living Off Grid By Herself Homesteading - The Homestead Survival .Com
How To Build a 400sqft Solar Powered Off Grid Cabin for $2k - How to build a nice small cabin powered by solar panels. Lamar Alexander built this cute little 400 square foot cabin for approximately $2000, and powers it with a 570 watt solar and wind power system.
How To Live Off the Grid - Living off the grid basically means living without the supply of gas, electricity and even water provided by local authorities. In the survival community, most are more concern with short-term ways to live off the grid in cases (EMP, natural disasters, etc) where essential supplies like electricity and water would be unavailable for a short period of time.
Check out Living Off the Grid: How Much Land Do You Need? by Pioneer Settler at http://pioneersettler.com/how-much-of-land-do-you-need-to-live-off-the-grid/
10 Mistakes to Avoid When Going Off The Grid


text:
Real Name: Teow Jo Chuing Joined: January 2016
No vehicles yet.
Stop and Go traffic
This might be worth adding to projekt6's advice on stop and ... ...
by leighv
Read more tips
© 2017 Fuelly.com - All Rights Reserved. Feb 28, 2017 7:25 AM CST
A simple & effecive way to track fuel consumption
Easy to understand the real cost of your vehicle


text:
Eva my dear, you are NOT screwed up. I think the mistake that been
made since the advent of modern science is that some people assume
science cannot coexist w/ religion. Who's to say the Big Bang wasn't
merely God snapping his (or her) fingers saying OK, the universe comes
into being now? Science merely explains the natural universe and
its forces which were ultimately created by a Divine will. They
don't have to be in different camps. The 6000 year theory was
obviously dreamed up by someone who knew nothing of carbon dating.
But people w/ bizarre and myopic attitudes exist in all walks of life.
More's the pity....
On 7/16/05, email@example.com <firstname.lastname@example.com> wrote:
> Thanks, Kitty. ; )
> I guess maybe it was a practical decision on Noah's part. I guess the
> Raptors and T-Rex wouldn't have gotten along with everyone else on the boat. And
> if Jurassic Park can't hold the dinosaurs, I guess a wooden ark would have no
> chance.
> Eva
> Long Island, NY
> Zone 6/7
> In a message dated 7/16/2005 12:10:14 A.M. Eastern Standard Time,
> email@example.com writes:
> Eva: > I can tell you -- I am seriously screwed up as a result.
> Rich: > I guess I could use that as a reason I'm the way I am.
> You folks puzzle me. Rich, you're fine the way you are (the man can dance!)
> and Eva, you are anything but screwed up. I had 12 yrs of parochial
> school - religion class every day. But I was fortunate that at the the time
> they were still teaching that, above all, it is important to think. Today
> it's different.
> The dinosaurs were too big for the ark, Eva, they'd've sunk it. ;+)
> Threatening a teenager with excommunication for asking questions - using
> your brain, Rich - is truly low. I don't need to know all the answers, but
> simple logic tells me the third rock has been here a lot longer than a few
> thousand years.
> Kitty
> neIN, Z5
> ---------------------------------------------------------------------
> To sign-off this list, send email to email@example.com with the
> message text UNSUBSCRIBE GARDENCHAT
Pam Evans
Kemp TX
zone 8A
To sign-off this list, send email to firstname.lastname@example.com with the
message text UNSUBSCRIBE GARDENCHAT


text: All' Angolo may be outside of your area. Please enter your delivery address to check availability Do you need any... Napkins & Utensils Continue to Checkout All' Angolo Back to Menu Your order refresh All' Angolo Your Shopping Cart is empty edit Delivery Address Please enter delivery address edit Delivery Time N/A* Add someone to this order Romagna Calzone Tomato, mozzarella, Fontina, ham, mushroom, spinach. x $12.50 Special Instructions: Label Item For: or Cancel


text:
Stellenbosch Bed and Breakfasts
Nothing beats waking up to a freshly prepared breakfast before you head off on your holiday adventures. You're spoilt for choice with 47 bed and breakfasts in Stellenbosch.
Affordable accommodation for everyone, from cheap and cheerful rooms to luxury suites. Don't miss out on our great deals from R200 per person sharing and keep an eye out for specials.
Booking bed and breakfasts in Stellenbosch couldn't be simpler with easy payment options and local support at your fingertips.
Book your perfect getaway today & get going!Still considering another weekend on the couch instead?
- Find out more about Stellenbosch, South Africa
- Explore things to do around Stellenbosch
- Find inspiration from 81 Reviews of Stellenbosch
- Plan your escape using our Stellenbosch Map
Did you know? Stellenbosch Accommodation is often misspelt. Here are some variations:
Stelenbosch Bed and Breakfast, Stelenbosh Bed and Breakfast, Stellenbosh Bed and Breakfast,


text:
Talk:The SpongeBob SquarePants Movie
|This is the talk page for discussing improvements to the The SpongeBob SquarePants Movie article.
This is not a forum for general discussion of the article's subject.
Article policies
|Archives: 1, 2
|This is not a forum for general discussion about The SpongeBob SquarePants Movie. Any such comments may be removed or refactored. Please limit discussion to improvement of this article. You may wish to ask factual questions about The SpongeBob SquarePants Movie at the Reference desk, discuss relevant Wikipedia policy at the Village pump, or ask for help at the Help desk.
|The SpongeBob SquarePants Movie has been listed as one of the Media and drama good articles under the good article criteria. If you can improve it further, please do so. If it no longer meets these criteria, you can reassess it.
|Current status: Good article
|This article is of interest to multiple WikiProjects. Click [show] for further details.
- 1 Dead references
- 2 Yes, i will make a list
- 3 Edit request on 16 August 2013
- 4 GA Review
- 5 Semi-protected edit request on 21 August 2014
- 6 Semi-protected edit request on 16 October 2014
- 7 Semi-protected edit request on 23 April 2015
- 8 Burger King: Kids Meal Toys
- 9 Semi-protected edit request on 11 June 2016
Dead references[edit]
The last two references about the logo concept no longer link to anything. 126.96.36.199 (talk) 10:21, 22 February 2013 (UTC)
Yes, i will make a list[edit]
Ok, BOVINEBOY2008, i will make a list of pop culture references in this movie. — Preceding unsigned comment added by 220.127.116.11 (talk) 20:39, 9 March 2013 (UTC)
Edit request on 16 August 2013[edit]
|This edit request has been answered. Set the
|answered= or
|ans= parameter to no to reactivate your request.
I want to add in information about the post-credits scene in the Plot section of the article. 22.214.171.124 (talk) 10:43, 16 August 2013 (UTC)
- If you create an account and then become autoconfirmed, you will be able to edit this and other semi-protected pages. If you want someone else to do the edit for you, you need to say exactly what you want added. RudolfRed (talk) 05:15, 17 August 2013 (UTC)
- The only post credits scene I can remember (off the top of my head) is the one where Mageina Tovah as the usher kicks all the pirates out of the cinema. That bit used to be in the plot section (As did Tovah's credit in the cast section), but they were removed here and here. Chaheel Riens (talk) 08:39, 17 August 2013 (UTC)
GA Review[edit]
|GA toolbox
- This review is transcluded from Talk:The SpongeBob SquarePants Movie/GA1. The edit link for this section can be used to add comments to the review.
Reviewer: Jionpedia (talk · contribs) 18:29, 29 September 2013 (UTC)
Will review it in the next coming days. Regards, --Jionpedia ✉ 18:29, 29 September 2013 (UTC)
- Hi Jionpedia! Thanks for taking time to review this article! Thanks again! :) Mediran (t • c) 09:27, 30 September 2013 (UTC)
- A perfect article. I fixed the minor problems, though.
Final analysis[edit]
GA review – see WP:WIAGA for criteria
- Is it reasonably well written?
- A. Prose quality:
- B. MoS compliance:
- Is it factually accurate and verifiable?
- A. References to sources:
- B. Citation of reliable sources where necessary:
- C. No original research:
- Is it broad in its coverage?
- A. Major aspects:
- B. Focused:
- Is it neutral?
- Fair representation without bias:
- Is it stable?
- No edit wars, etc:
- Does it contain images to illustrate the topic?
- A. Images are copyright tagged, and non-free images have fair use rationales:
- B. Images are provided where possible and appropriate, with suitable captions:
- Overall:
- Pass or Fail:
Great job Mediran. Don't get it delisted! Thanks, --Jionpedia ✉ 13:45, 23 October 2013 (UTC)
Semi-protected edit request on 21 August 2014[edit]
|This edit request has been answered. Set the
|answered= or
|ans= parameter to no to reactivate your request.
188.8.131.52 (talk) 13:53, 21 August 2014 (UTC)
- Not done: it's not clear what changes you want to be made. Please mention the specific changes in a "change X to Y" format. Chaheel Riens (talk) 15:11, 21 August 2014 (UTC)
Semi-protected edit request on 16 October 2014[edit]
|This edit request has been answered. Set the
|answered= or
|ans= parameter to no to reactivate your request.
22.214.171.124 (talk) 20:35, 16 October 2014 (UTC) can i get it for free [[Not done}} that is not an edit request - Arjayay (talk) 20:55, 16 October 2014 (UTC)
Semi-protected edit request on 23 April 2015[edit]
|This edit request has been answered. Set the
|answered= or
|ans= parameter to no to reactivate your request.
The SpongeBob SquarePants Movie is an American/British comedy drama film released in November 19, 2004 and was released in March 1, 2004 on VHS/DVD and was released by Blu-ray in June 23, 2012 — Preceding unsigned comment added by 2602:30A:C0FF:D220:71EF:A41B:481E:C948 (talk) 01:55, 23 April 2015 (UTC)
- Not done: it's not clear what changes you want to be made. Please mention the specific changes in a "change X to Y" format. Kharkiv07Talk 02:15, 23 April 2015 (UTC)
Burger King: Kids Meal Toys[edit]
At Burger King in each's kids meal, They sell twelve interactive movie toys like a "Puzzle Cube", "Motorized Toy", "Shake Up 'N' Down Squeaker Toy", "Wobbling Toy", "Spring Loaded Action Figure Toy", "Wind-Up Toy", "Water Tank Toys", "Disc Launcher", "Pull Back Toys", "Talking Record and Play Toy", "Spinning Top" and "Spinning Changin' Eyes"
- SpongeBob the Puzzle Twist Cube
- Patrick's Patty Wagon Ride
- SpongeBob SqueakPants
- Wobbling-Eye Plankton
- Karate Chop Sandy
- Walkin' Plankton
- Spongebob's Super Secret Float
- Squidward's Fired Slot
- Gary's Soft Shell
- Talk 'N' Go Spongebob Chatterbox Phone
- Patrick's Slip Swing
- Spongebob's Rolling Eyes
Semi-protected edit request on 11 June 2016[edit]
|This edit request has been answered. Set the
|answered= or
|ans= parameter to no to reactivate your request.
In footnote 167, there is a typographical error. "Moving Up pongebob Squarepants Sequel" should be changed to "Moving up Spongebob Squarepants Sequel" Source for this correction: http://www.thewrap.com/paramount-avoids-fifty-shades-by-moving-up-spongebob-squarepants-sequel/ AlineXu (talk) 18:35, 11 June 2016 (UTC)
- Wikipedia good articles
- Wikipedia CD Selection-GAs
- Media and drama good articles
- GA-Class film articles
- GA-Class American cinema articles
- American cinema task force articles
- GA-Class Animated films articles
- Mid-importance Animated films articles
- Animated films work group articles
- WikiProject Film articles
- GA-Class Animation articles
- Mid-importance Animation articles
- GA-Class American animation articles
- Mid-importance American animation articles
- American animation work group articles
- GA-Class Animation articles of Mid-importance
- WikiProject Animation articles
- GA-Class Comedy articles
- Low-importance Comedy articles
- WikiProject Comedy articles
- GA-Class Nickelodeon articles
- GA-Class Nickelodeon articles of Mid-importance
- Mid-importance Nickelodeon articles
- GA-Class SpongeBob SquarePants articles
- Top-importance SpongeBob SquarePants articles
- SpongeBob SquarePants work group articles
- WikiProject Nickelodeon articles
- Articles copy edited by the Guild of Copy Editors


text:
|Project Name
|Andkhoy-Qaisar Road Project
|Project Number
|Project Status
|Project Type / Modality of Assistance
|Source of Funding / Amount
|Strategic Agendas
|Regional integration
|Drivers of Change
|Governance and capacity development
|Sector / Subsector
Transport - Road transport (non-urban)
|Gender Equity and Mainstreaming
|No gender elements
|The project's main objective was to reduce poverty and promote economic and social development through continued support to the government to (i) reestablish the primary road network damaged during 2 decades of conflict and neglect, and (ii) help implement cost-recovery measures. The project comprised three components: (i) reconstruct and improve the Andkhoy-Qaisar road (210 kilometers [km]); (ii) install road tolling facilities, which include toll plazas, computers and communications equipment, and weighing machines for the project road and other primary roads being improved with external financial assistance; and (iii) provide project management support to the Ministry of Public Works (MPW), including by augmenting capacity through on-the-job training, additional staff, and a consultant team with project implementation expertise and experience.
|Project Rationale and Linkage to Country/Regional Strategy
|The project design and outputs at appraisal were relevant and consistent with the government's National Development Framework which was developed in 2002 and evolved into the National Development Strategy in 2008. This project was also aligned with the ADB's country strategy and program update, which focused on rehabilitation of the national road network, international link roads, and other key infrastructure. While the project involved rehabilitation and reconstruction of an important section of the primary road network, related policy and institutional reforms in the transport sector was addressed by the Post-Conflict Multisector Program.
|Promote economic and social development and reduce poverty in the project area
|Description of Outcome
1. Reduce transport costs and travel time on the project road.
2. Provide rural population with better access to social services, markets, and other economic opportunities.
3. Enhance project management capability of Ministry of Public Works (MPW).
|Progress Toward Outcome
|The PCR for L2140 AFG was completed in 2010. The loan remained open only due to the capitalization of interest charge. Loan closed on 30 June 2014.
|Implementation Progress
|Description of Project Outputs
A primary road section from Adkhoy to Qaisar improved to a standard that allows smooth passage of all types of vehicles, and equipped with facility for road tolling and axle-load control
Primary roads equipped with facility for road tolling and axle-load control
Project managers, accountants, engineers, and other administrative staff within MPW have experience in implementing large investment projects
|Status of Implementation Progress (Outputs, Activities, and Issues)
Completed with some delays due to security problems. Loan closed on 30 June 2014.
Cancelled at the request of the government as the implementing environment was not yet ready.
Cancelled at the request of the government as the implementing environment was not yet ready.
Cancelled at the request of the government as the implementing environment was not yet ready.
Completed with several EA staff trained throughout the project implementation.
|Geographical Location
|Faryab Province in north western Afghanistan
|Involuntary Resettlement
|Indigenous Peoples
|Environmental Aspects
|The environmental impacts associated with the Project mostly occur during construction. The potential adverse impacts are temporary and manageable. Mitigation measures are incorporated in the contract document.
|Involuntary Resettlement
|The road improvement are carried out along the existing alignment and on the existing embankment. In places where the existing embankment is not wide enough to accommodate the design width, shoulder width has been reduced to avoid resettlement impacts. However, after finalization of detailed design during implementation, if resettlement impacts are identified, resettlement plan will be prepared as per the Asian Development Bank (ADB) Policy on Involuntary Resettlement.
|Indigenous Peoples
|No impact on indigenous people or ethnic minorities in the project areas.
|Stakeholder Communication, Participation, and Consultation
|During Project Design
|Appropriate consultations occurred through four missions (a fact-finding mission, a special consultation mission, a pre-appraisal mission, and an appraisal mission) involving 172 person-days of ADB staff input. A wide range of stakeholders were consulted during project processing, including the government, the Embassy of Sweden, the United States Army Corps of Engineers, the European Commission, the World Bank, the United Nations Assistance Mission in Afghanistan, the United Nations Office for Project Services, and the World Food Programme. The project was at risk of cancellation during loan processing, but the issue was resolved through discussions between the government and ADB special consultation missions.
|During Project Implementation
|The contractors conducted briefings for workers on safety and cultural issues. Local consultations were organized to address safety, social, and cultural issues during implementation. Women were given employmentopportunities, with some working on project sites as cleaners and gardeners.
|Consulting Services
Consulting services will be required to assist the Ministry of Public Works in implementation of the Project. The consulting services will involve (i) certification of the force account works to be carried out by MPW, (ii) supervision of three civil works contracts to be procured by MPW and executed by international civil works contractors under the FIDIC conditions, (iii) supervision of supply and installation of weighing machines and tolling equipment, and (iv) project performance monitoring. The consultants will also provide on-the-job training to the counterpart staff in MPW. The consulting services will be provided by an international firm in association with domestic consultants. The firms will be selected and engaged in accordance with ADB's Guidelines on the Use of Consultants using the quality- and cost-based selection method for full technical proposals. The consulting services will require about 100 person-months of international consultants and about 500 person-months of domestic consultants over a period of 30 months. The consultants should have expertise in (i) highway, materials, structural, and environmental engineering, (ii) road tolling and axle-load control, (iii) road safety, (iv) civil works contract administration under the FIDIC conditions, (v) information and communications technology, and (vi) socio-economic benefit monitoring.
The Expression of Interest (EOI) must be received by ARDS PU at the address below not later than the end of the working day of 23 December 2004. Both hard copies and soft copies received through e-mail will be considered for shortlisting. Reference MPW/311 must be quoted on all correspondence and the Expressions of Interest.
Further information can be obtained from:
The Manager
Procurement Unit
Ministry of Reconstruction
Afghanistan Reconstruction and Development Services, Procurement Unit (ARDS PU)
Ministry of Planning Building
5 & 6th Floors
Malik Asghar Square
Kabul, Afghanistan
Digital phone: +93 20 210 3608
Email: [email protected] and [email protected]
|Procurement of goods, services and civil works to be financed under the Project will be carried out in accordance with ADB's Guidelines for Procurement, with flexible interpretation, wherever essential. Civil works contracts will be procured through international competitive bidding (ICB). Approval of Advance procurement action for civil works will be sought at the Management Review Meeting.
|Responsible ADB Officer
|Wu, Zheng
|Responsible ADB Department
|Central and West Asia Department
|Responsible ADB Division
|Transport and Communications Division, CWRD
|Executing Agencies
Ministry of Public Works
H. E Dr. Wali Mohammad Rasooli, Ministry of Public Works
First Macrorayan
Islamic Republic of Afghanistan
|Concept Clearance
|07 Mar 2004
|Fact Finding
|19 May 2004 to 03 Jun 2004
|17 Aug 2004
|15 Dec 2004
|Last Review Mission
|PDS Creation Date
|03 Mar 2007
|Last PDS Update
|25 Sep 2014
|Signing Date
|Effectivity Date
|15 Dec 2004
|07 Apr 2005
|08 Jul 2005
|30 Jun 2014
|30 Jun 2014
|Financing Plan
|Loan Utilization
|Total (Amount in US$ million)
|Net Percentage
|Project Cost
|Cumulative Contract Awards
|15 Dec 2004
|Cumulative Disbursements
|15 Dec 2004
|Status of Covenants


text:
A Network Virtualization Approach in Many-Core Processor Based Cloud Computing Environment
With benefits of Cloud Computing widely acknowledged more and more public and private Cloud deployed. Virtualization is one of the most important supporting technologies for Cloud. While main stream CPUs are marching to many-core architecture the performance improvement of virtualization on many-core processor platform is critical for future Cloud. This paper presents an approach to implement network virtualization on many-core processor platform. The approach uses processor core to control all network interfaces and handle all packets from the interfaces. The core reschedules packets to corresponding operating system or other processor cores.
Provided by: Institute of Electrical and Electronics Engineers Topic: Cloud Date Added: Mar 2011 Format: PDF


text:
Would you like to save as your currency permanently or for this visit only?
Very relaxing with the waves from the beach hitting the concrete pylons. Their was not enough service especially around the pool you had to call for service. The TV in the room very poor quality and no choice of TV stations for westerners.
!!!There is a major construction in the hotel!!! I had 2 night !!reservation, but left the hotel 1 day early to find another !!alternative as 8am to 7pm there is loud construction in the hotel. I !!spent 40 minutes with managers/FD staff who wanted me to charge for !!early departure...I Asked them to inform booking.com about the !!construction on the web-site!! They even told me that they informed !!their travel partners about this and was not their fault if I was not !!able to hear about it...amazing resolution, and handling...
Great food, facilities and confort. They are increasing their size having many constructions inside the hotel. that make us feel unsafety especially after a horrible situation that my fioncee and I passed over there.
the ocean view the entrance of hotel and the lobby
sea views and quiet location the renovation is in progress and a bit noisy at daytime
Swimmingpool Everything else ;(
The restaurant food was good,and so was the room service food quality. For 2 days in a row,someone was knocking my door in the middle of the night.Called front desk and no answer for 2 calls of twenty rings each.Panicked and called another number (2) which was also front desk to be given lukewarm answer not to worry and no need for security to go up! Also, requested for single king sized bed only to be checked into twin bed room.I was unable to change rooms due to high occupancy.
nice environment, nice pool and seafront old rooms, not perfectly clean, poor breakfast
Serene hotel with a nice architecture. Dispite its pretty distant location from Candidasa this hotel is well located to discover the east of Bali. The noisy room airco has only 2 positions: freezing & cooking.Shuttle service stops already around 5. The restaurant looks nice but the food is only moderate (with far too expensive drinks).
In terms of facilities, the hotel was superficially excellent - there were things like complimentary water with meals and at the poolside. If you like a holiday where the hotel takes care of everything for you in terms of organising activities and trips, this is probably the place for you. They also have complimentary shuttles to both Candidasa and Tenganan, which is great. I found it a bit too "organised", not to say claustrophobic. I had to give my room number constantly for things - even water by the pool - I began to wonder whether I should tatoo the number on my forehead! When I left the complex in the evening to have dinner elsewhere, I was questioned about where I was going like I was a kid. Drinks were overpriced, as was the food. The pool was very shallow, except right in the centre - great for kids but not much use if you wanted to swim.
coconut groove
very relaxing and romantic place where it is really easy to forget about... everything from your another life ;-)
Nice pool, and the beach was perfect for swimming and snorkeling. Restaurant is good but not really cheap. Superior room was ok but not too big. Cottages did not impressed us. If you dont have your own transportation you are trapped at the hotel. There are no taxis like bluebirds and we could also not see any in Candidasa. Hotel just offers own car and it was overpriced. They wanted 385.000 rupiah for the ride to the airport. Even more expensive than the prices from the airport that ususally are twice as much as the metered taxis.
Very nice pool/view/garden. I stayed many hours in the pool and relaxed with my girlfriend. Not crowded. For cheap meals go the nearby restaurant, that belongs to an indonesian/german couple (backside hotel). Expensive restaurant. There is not much you can do in Candi Dasa (at least at our time, in May), which is not the Hotel's fault.
A wonderful setting, calm and total relaxation - we adored this hotel. No insects. The chairs at the seafront restaurant are a bit old.
very good stuff and lovely just a location far from down town kuta but thats i didnt know it because its first time to visit bali and it must be stay one day in kuta area for 1 day so after that going to candi dasa beach
Service war wirklich in Ordnung und hilfsbereit. Seltsam war allerdings, dass das Personal, nachdem das Zimmer sauber gemacht wurde, später noch mal jemand im Zimmer war, das Licht angeschaltet, das Bett aufgeschlagen und die Minibar kontrolliert hat. Habe ich so noch nicht erlebt. Das Hotel an sich, ist ganz schnuckelig und gepflegt. Candidasa ist gut gelegen für Tagesausflüge ins Landesinnere, wofür ein Roller, Taxi oder ein Auto nötig sind. Der "Strand" in der Nähe des Hotels, ist super dreckig, bei Ebbe eine reine Müllhalde und zum schwimmen nicht zu empfehlen. Wer an einem weißen Sandstrand schwimmen gehen möchte, muss sich mit einem Boot dort hinbringen lassen.


text:
- 1(in some Eastern countries) a street or an area of a town where there are many small shops
- 2(in Britain, the US, etc.) a sale of goods, often items made by hand, to raise money for a charity or for people who need help See related entries: Helping others Word Origin late 16th cent.: from Italian bazarro, from Turkish, from Persian bāzār
BrE BrE//bəˈzɑː(r)//; NAmE NAmE//bəˈzɑːr//Helping others
Check pronunciation: bazaar


text:
146 Bridgewater Drive,South Lebanon OH, 45065
4 beds , 2 Full/1 Half baths
Status: Active
Berkshire Hathaway HomeServices Professional Realty
(800) 599-8936
Last Updated: 2/28/2017 6:17 AM
Description for 146 Bridgewater Drive South Lebanon, OH 45065
Custom construction in beautiful Rivers Edge in Kings Schools. Just minutes to upscale shopping, highways, recreational activities & golf. Flexible floor plan. Multiple sites to choose from. Established builder with over 30 years in the area.
Listing Information
South Lebanon
Public Water Service
Public Sewer
Natural Gas
School Information
Room Information
Family Room
Gourmet Kitchen
Interior Features
Central Air
Gas Heat, Forced Air
Full, Unfinished Basement
Insulated, Vinyl Frame
1, Gas Burning
Exterior / Lot Features
2 Garage Spaces, Attached Garage, Driveway, Off Street
Brick, Vinyl
Financial Considerations
Inside AccessTM
Current market conditions for 146 Bridgewater Drive
Active Market Trends
Source:MLS DATA
Median list price$365,000
Days on market154
Properties for sale35
Sold Market Trends
Source:MLS DATA
Median sold price$263,789
Sales to list price9,835.0%
Properties sold24
Median sq ft price$86
Arrows indicate 90 day trend
Listing Price History for 146 Bridgewater Drive
South Lebanon Real Estate
South Lebanon is located in Ohio. South Lebanon, Ohio 45065 has a population of 4,346.
The median household income in South Lebanon, Ohio 45065 is $45,000. The median household income for the surrounding county is $73,177 compared to the national median of $53,482. The median age of people living in South Lebanon 45065 is 32.5 years.
Loading nearby sales and history ...
Ask a Question?
Berkshire Hathaway HomeServices Professional Realty
(800) 599-8936
Start a no spam email conversation
My Drive Time
Enter your work address to view actual drive times with traffic for this property
Here is the weekday INRIX Drive Time from this property to .
When you register, you will receive ...
Weekday drive times
Plus all these great features
Register or login today to take advantage of Drive Time
Nearby homes for sale
Inside AccessTM
Recent sales nearby
South Lebanon Real Estate
Nearby Communities


text:
item(s) in cart
ROLL ON TO ZOOM INBack Forward
Liquid Force Slab Wakeboard, Blank
Key Features
Built to get everyone into rail riding
Exclusive Grind Base
Rounded Liquid Rail Sidewall
Quad SX Slider Fin setup
Our Price $399.99
Sale Price $249.94
Availability: Sold Out
detailsback to top
Product DescriptionThe Slab is built to get everyone into the rail riding game. It's an all wood core board that provides a stiff, yet snappy flex to pop off flat water with ease. With a durable GRIND base and a rounded Liquid Rail, the Liquid Force Slab Wakeboard offers just enough forgiveness to prevent the hard slams that are inevitable as you progress your way up the jibbing ranks. Whether it's your park and boat board or simply your rail riding quiver board, the Slab is ready to get you going. Slab 129: 50.8"L. For 60-130 lb. riders. Slab 134: 52.8"L. For 90-170 lb. riders. Slab 139: 54.7"L. For 130-200 lb. riders. Slab 144: 56.7"L. For 180-230 lb. riders.
Liquid Force Exclusive Grind Base
The ultimate in durability from a sintered base material while maintaining the hull shape.
Rounded Liquid Rail Sidewall
Elastomeric edges give you a rail with unsurpassed durability. The Liquid Rail will keep your ride together for session after session, and the newly rounded shape will ensure a forgiving ride.
CNC Profile 100% Wood Core
Thin tapered shape for lively response, rebound, and flex.
Lightweight Biax Glass Layup
The ultimate in durability from a sintered base material while maintaining the hull shape.
Quad SX Slider Fin Setup
videosback to top
manualsback to top
Click to view:
LF_Wake_Warranty_Safety (679.4KB)
LF_Wake_Warranty_Safety (679.4KB)


text:
A wet-shaver's delight, the Fendrihan Pure Badger Shaving Brush and Porcelain Shaving Bowl bundle is the perfect way to whip up a lather. Featuring the Fendrihan porcelain apothecary shaving bowl and the Fendrihan Pure Badger Shaving Brush, you save $10 when buying both as a set.
To make the Fendrihan porcelain apothecary shaving bowl, we went back to the drawing board with all of our collected years of experience. Short sides and a wide mouth makes lathering a breeze, while the conveniently-located knob handle lets you twist and turn to catch every bit of lather. Crafted from beautiful, European porcelain, it's the latest in our series of custom-design shaving accessories.
Elegant and simple, the Fendrihan Black Handle Pure Shaving brush features a thick knot of genuine pure badger hair. Emblazoned on the base of the black handle is the Fendrihan name.
Brush dimensions:
Knot diameter: 23 mm
Bristle loft: 55.5 mm
Handle height: 49.5 mm
Overall height: 105 mm
Handle diameter at narrowest point: 28 mm
Mug Dimensions:
Diameter: Base 2.5" (6.5 cm)
Top 4.3" (11 cm)
Height: 2.8" (7.2 cm)
Standing dignified on any counter top, this handsome Oak Wood Soap Bowl by Fendrihan makes the perfect addition to your morning wet shave. Its warm wood grain and stunning simplicity create an irresistible ambience, setting the perfect mood for a soothing shave. This bowl accommodates standard sized soaps, including brands such as Trumper, D.R. Harris & Co., Taylor of Old Bond Street, and Fendrihan's own 135 g shaving soap. Do yourself a favour, and complete your wet shave with the right essentials: you won't be disappointed.
Want to save money? Buy this bowl and soap together here or buy the soaps separately here.
Weight: 3.9 oz (111 g)
Interior diameter: 3.3 inches (85 mm)
Interior height: 1.2 inch (30 mm)
Fendrihan's Porcelain Shaving Bowl is a classic piece that distinguishes your bathroom and simplifies your shaving regimen. Portly and capacious, this thick apothecary bowl is shorter and broader than most: it holds plenty of shaving cream, offering ample space for stirring your brush to create a rich, stable lather, directly in your bowl, keeping your bathroom clean and your shaving ritual, contained. With a convenient knob that stems from the mug's side, you can lift or move the bowl whenever you need to. Across its face, you'll find the signature Fendrihan logo, establishing its mark of high quality. Seat this dazzling bowl atop your bathroom counter, and indulge in a lavish morning shave, every morning.
Diameter: Base 2.5" (6.5 cm)
Top 4.3" (11 cm)
Height: 2.8" (7.2 cm)
Made in RomaniaView full product details
Paired with a handsome Oak wood bowl, you can select whichever Fendrihan 65 g deluxe shaving soap suits your desire. With intoxicating fragrance blends, like Lemon Soda and Coconut & Vanilla, there's no shortage of exquisite soaps to choose from, and if you prefer clean and simple, you can always opt for the Unscented soap with aloe vera and avocado. Whichever path you choose, you can rest assured that your choice will be a good one: each one of these soaps is the result of careful design by German soap artisans, who laboured to endow each tablet with perfect fragrance balance and a mill for a rich lather. Pick one, and seat it in its partner bowl: your morning wet shave will be nothing short of delightful.
Select your fragrance from the drop down menu
Buy soaps without the bowl here. Or check out the bowls without soaps here.
Dark oak
Weight: 82 g
Interior diameter: 65 mm
Vegan. Contains no Parabens.
Weight: 2.3 oz (65 g)
Diameter: 2.4" (62 mm)
Made in Germany
Life without its quaint delights just doesn't feel the same. Fendrihan's Oak Wood Soap Bowl is one of those indispensable goods that brightens your day and helps your morning shave run smoothly. This palm-sized polished wooden bowl boasts an elegant wood grain, suitable for any counter top. It fits small-sized shaving soap brands, including Muller, Edwin Jager, and Fendrihan's own 65 g soap. Find a nice spot for this wooden piece in your bathroom: it'll make each wet shave a warmer, more memorable experience.
Want to save money? Buy this bowl and soap together here or buy the soaps separately here.
Weight: 2.9 oz (82 g)
Interior diameter: 2.6 inches (65 mm)
Interior height: 1 inch (25 mm)
Accompanied by a richly grained Oak wood bowl, you have your choice of selecting one of Fendrihan's 135 g luxury shaving soaps: Ranging from Coconut & Vanilla to Sandalwood & Lavender, all the way to Unscented with aloe vera and avocado, you have an abundance of soaps to choose from, all made with exceptional quality in Germany. Each one is the result of devoted collaboration with soap artisans, designed for exceptional fragrance balance and milled for a perfect lather. No matter which one you select as yours, you'll find your shave to be smoother and your skin, more moisturized, and with the polished shaving bowl to house your soap, you can enjoy a gentle shave in exquisite style. Do what feels right, and make your wet shave regimen luxurious with Fendrihan's shaving soap and bowl.
Select your fragrance from the drop down menu
Buy soaps without the bowl here. Or check out the bowls without soaps here.
Weight: 3.9 oz (111 g)
Interior diameter: 3.3 inches (85 mm)
Interior height: 1.2 inch (30 mm)
Vegan. Contains no Parabens.
Weight: 4.8 oz (135 g)
Diameter: 3.3" (83 mm)
Made in Germany
The perfect companion for your shaving soap is this Classic Shaving Porcelain Bowl in Black. Sharp and stylish, it will add a little character to your bathroom counter and will help you in achieving a rich later. A silver rim and two discreet images of a shaving brush and straight razor on the front add extra charm.
Top Diameter: 4 3/4" (12.3 cm)
Base Diameter: 2" (5.2 cm)
Depth: 2" (5.2 cm)
Made in Germany
Elegant and epicurean, Geo F. Trumper's Oxford Blue Shaving Soap and Mug makes the perfect gift for the discerning gentleman. Stout and sleek, this royal blue mug stands firmly planted atop your bathroom counter, evoking a special aura in the room. Included with the mug, you'll find a hand-sized puck of Oxford Blue shaving soap, lending a clean and powdery element to your morning wet-shave.
Seat the shaving soap in the top chamber, and pour water over the puck: the excess water will flow into the bottom compartment, keeping your counter clean and your lather, fresh. The belly of the mug also holds steaming hot water that keeps your lather warm and slick. Indulge in a peaceful wet-shave experience, and keep this charming mug where it can be appreciated.
Soap Weight: 50 g
Made in EnglandView full product details
An elegant companion for your preferred shaving soap is this Classic Shaving Porcelain Bowl. Use it to help you prepare your lather and keep your soap all in one convenient place. A silver rim and two discreet images of a shaving brush and straight razor on the front add extra charm to the bowl and your bathroom.
Top Diameter: 4 3/4" (12.3 cm)
Base Diameter: 2" (5.2 cm)
Depth: 2" (5.2 cm)
Made in Germany
Present this accomplished gift set to establish any wet shaver's grooming routine. Features an ivory porcelain shaving mug, handmade imitation ivory Super Badger Shaving Brush and drip stand companion, all printed with the Edwin Jagger logo. Edwin Jagger's own Sea Buckthorn shaving soap is ideal for all skin types and fits snugly into the mug. Its fragrance is delicately fruity, light and refreshing and specially formulated using nearly entirely natural plant ingredients. Achieve a supremely thick lather to soften facial hair, the skin itself is soft and supple. The brush is made with an imitation ivory handle and the knot is packed with high quality badger hair for a firm feel.
The soap:
Edwin Jagger set the standard for impeccable male grooming back in 1988, established by Neil Jagger. The family-rub business comprised of integrity, promise and inspired design has grown to become a global leader in grooming products for both men and women, offering an exclusive range of luxury wet shaving products. Traditional English quality, along with state-of-the-art design is manufactured into everything Edwin Jagger creates and produces.
Comes packaged in an attractive Edwin Jagger gift box.
Made in Sheffield, EnglandView full product details
Remember: Your login details and gift vouchers won't work on our other sites.


text:
my want a hotel room for one peson for 10 days in nairobi kenya at the near about 80 dollr per day.. from 22 march 2013 to 2 april 2013
That period coincides with Easter weekend, so there will be a Easter Supplement Fee
Try Sentrim Boulevard & Pride Inn for the said Price range.. Google up the hotel website.
Would recommend Meridian Court hotel within that budget
They also serve Indian food, contact them to check availability
Good luck
-:- Message from TripAdvisor staff -:-
This topic has been closed to new posts due to inactivity. We hope you'll join the conversation by posting to an open topic or starting a new one.
To review the TripAdvisor Forums Posting Guidelines, please follow this link: http://www.tripadvisor.com/pages/forums_posting_guidelines.html
We remove posts that do not follow our posting guidelines, and we reserve the right to remove any post for any reason.


text:
You are not currently logged in.
Access JSTOR through your library or other institution:
Gerhard Masur (1901-1975)
Harold Eugene Davis
The Hispanic American Historical Review
Vol. 56, No. 4 (Nov., 1976), p. 630
Published by: Duke University Press
Stable URL: http://www.jstor.org/stable/2514196
Page Count: 1
- Item Type
- Article
- Thumbnails
Preview not available
Preview not available
Page Thumbnails
The Hispanic American Historical Review © 1976 Duke University Press


text:
Home ›
Hannah Just Because Gifts
31 items found
You can send Just Because Gifts to British Virgin Islands in the following cities.
What our Customers Say about our Service
Fantastic! Here was the feedback from the recipient: " they did such a nice job of stacking up the chocolate boxes and wrapping with a nice red ribbon and gift card - it was very professional and nicely done".
Easy for me because I did not have the hassle of having to pack it and mail it to Japan myself (expensive). "
A Walker - USA - Jul 13, 2015
"I cannot thank Gift Baskets Overseas enough for ensuring that our son's 21st birthday was exceptional! He is currently in the Czech Republic and we wanted to send him something that had to be delivered on this actual birthday. I worked with Gift Baskets Overseas and he did indeed receive his surprise and on his birthday! I cannot tell you how important that was to us. They even sent me updates as to when they had contacted him and the time of delivery! Unbelievable customer service and total commitment of providing the very best. This is highly unusual in today's world. I will continue to use them and I would suggest anyone who wants to send the very best and have knowledge that it will actually be delivered and arrive on time - use Gift Baskets Overseas! Thank you for making his day so memorable!"
Paola L. - Menlo Park CA, USA - May 11, 2010
"We are really impressed by your service and prompt delivery and our family in the UK are to quote "extremely grateful for their lovely gift" Cheers"
Jeff Colley - Perth, Western Australia - December 14, 2012
"I had a last minute idea to send my friend in Belize a birthday gift basket. As a first time customer, I am delighted with the service. It was delivered right on time and my friend loved it. I especially loved the handwritten note with my message that was included because it gave the basket a personalized touch, as if I'd written it myself. I will definitely be using this company again."
Dinorah Blackman - Panama - Dec 11, 2014
Read more testimonials or leave your feedback here.


text:
February 16, 2017
Love's Travel Stops has opened a new facility in Knoxville, Ill., along Interstate 74. It is the company's 14th location in the state.
January 12, 2017
Love's Travel Stops has increased its network of over 410 locations in 40 states, adding new travel stops in Syracuse, Neb., and Angelton, Texas.
December 20, 2016
Love's Travel Stops set a company store-opening record in 2016 by adding 47 new stores to its network of locations in 40 states.
November 21, 2016
Love's Travel Stops has opened two new locations in Domino, Texas and in White House, Tenn., adding nearly 190 truck parking spaces in total.
September 28, 2016
Love's Travel Stops & Country Stores has announced it will expand its truck maintenance program at all travel stop locations nationwide.
August 26, 2016
Loves Travel Stops has donated $25,000 to the Salvation Army to help with relief efforts in Louisiana after severe flooding devastated the region.
July 12, 2016
The Love's Travel Stop in Guthrie, Okla., off Interstate 35, is now offering Fast-Fill compressed natural gas for heavy-duty trucks.
June 10, 2016
Love's Travel Stops has opened a new location in Boardman, Ore., the company's third location to open in the state.
April 4, 2016
In a partnership with Love's Travel Stops, Great Dane will offer AdvantEdge emergency roadside service at Love's locations.
March 29, 2016
The Pennsylvania Department of Transportation has contracted with Love's Travel Stops subsidiaryTrillium CNG to open 29 compressed natural gas facilities in the state.
March 28, 2016
Love's has finalized an agreement to purchase compressed natural gas provider Trillium CNG, officially adding 37 CNG stations to the company's network of facilities.
February 2, 2016
Love's Travel Stops has agreed to purchase compressed natural gas provider Trillium CNG in a deal that will add 37 public-access CNG locations to the truck stop company's network.
June 3, 2015
Love's has launched the TirePass full-service inflation system that offers drivers a way to check and automatically inflate tires while refueling.
February 24, 2015
In eastern Texas, natural gas has seen successes within the highly traveled corridor linking three huge metro areas.
February 16, 2015
Michelin says fleets will benefit from a reduced number of road service calls, improved CSA scores, improved fuel economy and longer tire life with its fully digital, nationwide fleet tire monitoring program called Michelin Tire Care.
February 10, 2015
Love's is offering 99-cent-per gallon compressed natural gas at select Midwest locations to mark the recent opening of a fast-fill CNG location in San Antonio. The deal will begin on Valentine's Day and run for two weeks.
November 14, 2014
Love's opened a new travel stop in Columbus, Miss., at U.S. Highway 82 and State Highway 50.
October 31, 2014
Love's Travel Stops opened a new location in Muscle Shoals, Ala., at the intersection of State Highway 157 and U.S. Highway 72.
October 21, 2014
Love's is adding compressed natural gas (CNG) to a Travel Stop location in West Memphis, Ark., along Interstate 40. The location will feature fast-fill pumps for heavy duty trucks as well as a fueling option for passenger vehicles.
September 10, 2014
Love's Truck Tire Care is now available at more than 200 of the company's travel stops across the U.S.
We offer e-newsletters that deliver targeted news and information for the entire fleet industry.
The expert, Scott Sutarik from Geotab, will answer your questions
The expert, Steve Carlson from Xantrex, will answer your questions
On the Spot: First Impressions of Volvo's SuperTruck
Ultimate Test Drive: New Cascadia Sleeper Lounge [Video]
Ultimate Test Drive: Freightliner's New Cascadia Pt. 2 [Video]
Ultimate Test Drive: Freightliner's New Cascadia Pt. 1 [Video]
SAF-Holland CBX23 AeroBeam and FW35TT Fifth Wheel
ERoad ELD Commercially Available
Haldex Adds Smart Trailer Control Module
Two New Aero Options from Flowbelow Aero