text:
Q: Can a static method be overridden in C#? I was told that static methods are implicitly final and therefore can't be overridden. Is that true?

*

*Can someone give a better example of overriding a static method?

*If static methods are just class methods, what is the real use of having them?

A: Well You can't override a static method. A static method can't be virtual, since it's not related to an instance of the class.
The "overridden" method in the derived class is actually a new method, unrelated to the one defined in the base class (hence the new keyword).
This is an important thing to understand: when types inherit from other types, they fulfil a common contract, whereas static types are not bound by any contract (from the pure OOP point of view). There's no technical way in the language to tie two static types together with an "inheritance" contract. If you would "override" the Log method in two different places.
If you think about overriding static methods it, it doesn't really make sense; in order to have virtual dispatch you need an actual instance of an object to check against.
A static method also can't implement an interface; if this class is implementing an IRolesService interface then I would contend that the method should not be static at all. It's better design to have an instance method, so you can swap out your MockRoleService with a real service when you're ready

A: You don't override a static method. You hide it. See this answer for more info.
Some reasons to use static methods:

*

*They are a little bit faster than instance methods. Also see this msdn article which gives performance numbers to back this up (inlined static call avg 0.2 ns, static call avg 6.1ns, inlined instance call avg 1.1 ns, instance call avg 6.8 ns)

*Less verbose to write out - don't need to instantiate a class to get to them (and instantiation can also affect performance)

A: (1) Static methods cannot be overridden, they can however be hidden using the 'new' keyword. Mostly overriding methods means you reference a base type and want to call a derived method. Since static's are part of the type and aren't subject to vtable lookups that doesn't make sense.
E.g. statics cannot do:
public class Foo {
    public virtual void Bar() { ... }
}
public class Bar : Foo {
    public override void Bar() { ... }
}

// use:
Foo foo = new Bar(); // make an instance
foo.Bar(); // calls Bar::Bar

Because statics don't work on instances, you always specify Foo.Bar or Bar.Bar explicitly. So overriding has no meaning here (try expressing it in code...).
(2) There are different usages for static methods. For example, it's being used in the Singleton pattern to get a single instance of a type. Another example is 'static void Main', which is the main access point in your program.
Basically you use them whenever you don't want or cannot create an object instance before using it. For example, when the static method creates the object.
[update]
A simple hiding example:
public class StaticTest
{
    public static void Foo() { Console.WriteLine("Foo 1"); }
    public static void Bar() { Console.WriteLine("Bar 1"); }
}

public class StaticTest2 : StaticTest
{
    public new static void Foo() { Console.WriteLine("Foo 2"); }
    public static void Some() { Foo(); Bar(); } // Will print Foo 2, Bar 1
}

public class TestStatic
{
    static void Main(string[] args)
    {
        StaticTest2.Foo();
        StaticTest2.Some();
        StaticTest.Foo();
        Console.ReadLine();
    }
}

Note that if you make the classes static, you cannot do this. Static classes have to derive from object.
The main difference between this and inheritance is that the compiler can determine at compile-time which method to call when using static. If you have instances of objects, you need to do this at runtime (which is called a vtable lookup).

redpajama_set_name: RedPajamaStackExchange


Bitcoin Mining List Bitcoin Mining List, Bitcoin Mining List.Mining Surplus is your online resource for new and used surplus mining equipment.
Mirrors and enables advanced search options to browse the EVE-Online forums.Hi, I have been working over the past week on version of ccminer supporting neoscrypt algo for and I have decided to release it as a crowdfunded project. At first, miners used their central processing unit (CPU) to mine.
Hangzhou based Canaan Creative, the second largest Bitcoin mining hardware manufacturer in China is reportedly considering to bring its IPO to the Stock. The household used many mobile phones and ASIC miners to mining bitcoin and. some miners and seized their machines as well as mining equipment,.Assuming that you already have at least minor knowledge in Bitcoin Mining Hardware, we will now be tackling the best Bitcoin.
It seems that free Bitcoins are given to whoever can mine the.
Play Purchase equipment upgrades Games on Y8.com. Upgrade your players to the maximum capacity by gathering coins or points and going to the shop to bring your player.Learn more about bitcoin mining: your investment to get started, helpful terminology and whether you can make money doing it.
Bitcoin Mining Equipment, Bitcoin Mining Equipment Suppliers Directory - Find variety Bitcoin Mining Equipment Suppliers, Manufacturers, Companies from around the.I will be more than happy to bitcoin mining list work with you.
Bitcoin Mining Hardware Guide The best Bitcoin mining hardware has evolved dramatically since 2009. Often changes in mining rewards lead the Bitcoin price and as such are a very useful.
The electronics firm ZTE has found success in the American market like few other Chinese technology. systems and the mining of. Find and save ideas about China business news on Pinterest. on sale shop supplies supply sets equipemnt.
Plan your season and take note of the hotly anticipated indie.Search, order and filter through all Bitcoin mining companies, mining pools, bitcoin mining equipment and.Does Bitcoin mining serve any purpose other than rewarding the people with the best mining equipment.Jaegers, assassins, and superheroes await you in our bitcoin mining equipment us Winter Movie Guide.To learn about Bitcoin Mining Equipment visit our website - Bitcoin Currency to know about Bitcoin investing, BlockChain, ClubCoin Wallet and Bitcoin Mining.
Mining Pools - CryptoCompare.com. Search, order and filter through all Bitcoin mining companies, mining pools, bitcoin mining equipment and ASICs and ethereum cloud.
Significant savings from refrigerator and freezer coil cleaning. Significant savings from refrigerator and freezer.Bitcoin Mining Hardware. before the necessary upgrades and new equipment that is to.
Copyright © 2017 Bitcoin mining equipemnt list.	The WP Theme by Ben Alvele, Alvele.com.


text:
Navalny's wellbeing satisfactory, penitentiary officials say
A general practitioner examines him daily, according to the regional branch of the Federal Penitentiary Service
Alexey Navalny
© Press Office of Moscow's Babushkinsky District Court/TASS
VLADIMIR, April 19. /TASS/. Blogger Alexey Navalny, who is serving out his sentence in a penal colony in Russia's Vladimir Region, is in satisfactory condition, the regional branch of the Federal Penitentiary Service said in a statement.
Moscow slams 'fairy tales' about Navalny's custody, tells US to not violate rights at home
"Alexey Navalny's health condition is considered to be satisfactory. A general practitioner examines him daily. The patient has given his consent that vitamins be prescribed to him," the statement reads.
Navalny, wanted for repeatedly violating his probation over his suspended sentence in the Yves Rocher case, was detained at Moscow's Sheremetyevo Airport on January 17, 2021. On February 2, Moscow's Simonovsky District Court sentenced him to an actual prison term of 3.5 years.
Navalny is serving out his jail sentence in Penal Colony No.2 in the Vladimir Region. On April 5, he was taken to the prison infirmary with symptoms of an acute respiratory disease detected during a routine medical checkup. According to the regional penitentiary authorities, Navalny was moved back to his unit on April 9 since his condition had improved. His tuberculosis and coronavirus tests came back negative and a panel of doctors came to the conclusion that he was in satisfactory condition.
Protests in Kazakhstan
Arrests of Almaty rioters, looters continuing, as number rises to 2,600
A total of 127 firearms and 4,077 ammunition were seized

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Making a win-lose record query in Access Sorry in advance if I make some grammatical mistakes. The thing is that I'm making a MMA database with tables such as "Fighters" and "Fights".
In the table "Fights" I have two fields: WINNER and LOSER, so, in order to see how many fights are won or lose by a fighter I made two queries: one counting the wins and another one counting the losses. But I feel that is kinda useless.
Queries in SQL view:
SELECT FIGHTS.WINNER, Count(FIGHTS.WINNER) AS WIN
FROM FIGHTS
GROUP BY FIGHTS.WINNER;
___

SELECT FIGHTS.LOSER, Count(FIGHTS.LOSER) AS LOSE
FROM FIGHTS
GROUP BY FIGHTS.LOSER;

Resulting:
WINNER              WINS
Raquel Pennington   1
Sara McMann         1
Sarah D'Alelio      2
Sarah Maloy         1
____

LOSER               LOSE
Kaitlin Young       2
Lacey Schuckman     1
Lisa Ellis          1
Meghan Wright       1

I'd like a query that shows the losers and vice versa, so it could be something like this:
WINNER              WINS
Raquel Pennington   1
Sara McMann         1
Sarah D'Alelio      2
Sarah Maloy         1
Kaitlin Young       0
Lacey Schuckman     0
Lisa Ellis          0
Meghan Wright       0
___
LOSER               LOSE
Kaitlin Young       2
Lacey Schuckman     1
Lisa Ellis          1
Meghan Wright       1
Raquel Pennington   0
Sara McMann         0
Sarah D'Alelio      0
Sarah Maloy         0

I tried a lot of different combinations, queries, but it always ended messed up with names duplicated, incorrect records...
If I get to make this queries then the rest is piece of cake. I feel that I'm halfway there, but I'm totally blocked.
If you need screenshots or more info just ask, english is not my first language and it's hard to explain myself. Thanks in advance.

A: Using two tables - Fights and Fighters:

This query will return the total Wins/Losses:
SELECT  Fighter
        , COUNT(F1.WINNER) AS Wins
        , COUNT(F2.LOSER) AS Losses
FROM    (Fighters LEFT JOIN Fights F1 ON Fighters.Fighter = F1.Winner)
                  LEFT JOIN Fights F2 ON Fighters.Fighter = F2.Loser
GROUP   BY Fighter

Giving this result:

In design view the query would look like this:
(Note: I haven't aliased the table names or result fields so the resulting query will have CountOfWINNER and CountOfLoser as field names).


Here is a riverside view of the Jaymar mill operation in the 1940s.
Does anyone know how many times the Jaymar mill burned. I can remember two times.
Does anyone know how they received their logs? Flume? Log raft? Truck?
"In 1887, after living in Portland, he came back to Hood River for good. The Natural Ice Co. of Portland sent him up here to cut ice, which was once 14 inches thick near the Jaymar mill area. As many as 5,000 tons of ice a year were shipped out of Hood River in these pre-refrigeration days."
An article in the July 31, 1954 Eugene Register Guard says the mill is the third largest in the HR Valley. It normally employs 35 to 40 workers and was established shortly before WWII. Due to prices of lumber and labor costs the mill has announced that it is going out of business and will dismantle.
It looks like that hill in the back ground is the hill that is now fully contained within the Hook. Looks like the mill would be inside the hook also if it were still around.
That land - at least part of it - is the frizzby park directly across and north of the skate park?
Yes, that's the same hill that is within the hook. You can still see some pilings left from this operation between the opening of the Hook and Well's Island.
The mill property included land on the other side of the railroad tracks which is now the skatepark and the undeveloped parcel which is used for Frisbee golf.
Jaymar left a big pile of sawdust burning in a gully south of the mill.


text:
Timeless will return for a two-hour finale in December
Timeless fans, affectionately known as "Clockblockers," will have more reasons to enjoy the holidays. That's because the NBC time-travel adventure series will be coming back to wrap-up in a two-hour series finale this December. When we last...
Timeless' Season 3 is dead for good; movie still being negotiated but uncertain
It's the 11th minute of the 11th hour (or is it the 59th) for Timeless. The NBC show has amassed a loyal and dedicated following, only to suffer a slump in its ratings for the second season which led to its cancelation. Fans waited to se...
from flixist
Timeless has been officially canceled... but a movie could happen
In a move that's sure to surprise and disappoint many of its fans, NBC has officially canceled Timeless after two seasons. The long-awaited decision came off the heels of the show's faltering ratings, coupled with the cancelation-turned-ren...
Missing Timeless? Catch the Spanish show that it ripped off
If you're one of the thousands of fans eagerly anticipating whether NBC's show, Timeless, would be renewed or canceled -- for the second time, mind you -- then no doubt you're also looking for another series to watch. Something that scratch...
Timeless is currently in limbo, and it's all your fault
Time-travel and comedy, two things that go hand-in-hand like peanut butter and jelly, bacon and eggs, or rum and coke. We've seen the popularity of films like the Back to the Future trilogy, Bill & Ted's excellence in the genre, and A...
Liam Hemsworth is Timeless
Just in case you guys got confused, that's LIAM Hemsworth, not Chris Hemsworth of Thor fame (and hot bod fame). They're brothers, though, so it's easy to get confused. At any rate, Hemsworth #2 is starring in Timeless, another in an expandi...
Bad Boys for Life"Bay to the bone"
The Wave"Wave it away"
Weathering With You"Raindrops keep falling on my head"
VHYes"VHellYeah!"
Underwater"Dang, ocean, you scary"
Like A Boss"Well, it's watchable"
1917"The long (take) and winding road"
The Mercenary"God told me to kill"
Uncut Gems"Tell 'em Howie Bling sent ya"
The Witcher - Season One"Toss a coin to your Witcher"
Recap: The Mandalorian Season 1, Episode 8 - The Redemption"So anyway, they started blasting"
Final Space Season 2"Clash of the titans"
Cats"Wow"
Bombshell"Dirty bomb"
Recap: The Mandalorian Season 1, Episode 7 - The Reckoning"Gang's all here"
Star Wars: The Rise of the Skywalker"Subversion reversion"
South Park - Season 23"Goin on down to Tegridy Farms"
6 Underground"Blood, Babes, and Bay"
Recap: The Mandalorian Season 1, Episode 6 - The Prisoner"Like Ocean's 11, but stupid"
Black Christmas"Paint it black and SHUT THIS DOWN"
Jumanji: The Next Level"Level Up"
Recap: The Mandalorian Season 1, Episode 5 - The Gunslinger"Rookie mistakes"
Dark Waters"The Incredible Hulk vs Systemic Pollution"
Daniel Isn't Real"Daniel is real good"
Runaways (Season 3)"Not much running in this one"


May 11, 2017 . Animation was very clear.n i understood ..plzz dryer and mixer,evaporater k liye bhi animate ki jiye... Read more. Show less. Reply 1. Aslesha.I Shynn2 weeks ago (edited). Thank you..plzz more animated videos on mixing equipment.yr animation is osm.. Read more. Show less. Reply 1. Cancel.
Ball Mill, A Type Of Grinder, Is A Cylindrical Device Used In Grinding .
Stock Footage of ball mill, a type of grinder, is a cylindrical device used in grinding (or mixing) materials.
Nov 22, 2011 . Computer Animation showing a plant with a Super Orion Ball Mill SO and a Turboplex Classifier ATP designed, engineered and manufactured by Hosokawa Alpine Au.
Sep 13, 2016 . Roller Mill Grinding in the Pet Food Industry Duration: 5:38. Shelby Krieg 196,929 views · 5:38. Ball mill animation demo grinding machine how does a ball mill work Duration: 2:00. Henan Bailing 2,874 views · 2:00 · MBMMLLC : Gold mining hammer mill maintenance and operation video Duration:.
Jan 21, 2018 . Hey guys in this video we are going to learn about size reduction , it's mechanisms and mill used for size reduction i.e. Ball mill &its principle , construc.
Jul 5, 2017 . Ball Mill Critical Speed & Working Principle Duration: 5:40. 911 Metallurgy Corp. 139,897 views · 5:40 · 3D Animation Demo & working site of Ball Mill Duration: 2:45. Henan Bailing 186,446 views · 2:45. Ball Milling Method Duration: 1:43. LearnEngg 52,469 views · 1:43 · Overflow Discharge Ball.
Jul 1, 2017 . https:// A Laboratory Ball Mill, because the calibrated grinding energy measurements are generally made under a specific set of parameters which do not necessarily correspond to plant operating conditions, pertinent corrections are necessary for proper basis of.


text:
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: authorization.proto

/*
Package authorization is a generated protocol buffer package.

It is generated from these files:
	authorization.proto

It has these top-level messages:
	AuthorizationPolicy
*/
package authorization

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// Permission specifies the permission a role can take.
type Permission int32

const (
	// LOG indicates whether access to resources will be logged.
	Permission_LOG   Permission = 0
	Permission_READ  Permission = 1
	Permission_WRITE Permission = 2
)

var Permission_name = map[int32]string{
	0: "LOG",
	1: "READ",
	2: "WRITE",
}
var Permission_value = map[string]int32{
	"LOG":   0,
	"READ":  1,
	"WRITE": 2,
}

func (x Permission) String() string {
	return proto.EnumName(Permission_name, int32(x))
}
func (Permission) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

// AuthorizationPolicy contains an authorization policy.
type AuthorizationPolicy struct {
	// roles is a map of roles keyed by labels used in RoleLabels.
	Roles map[string]*AuthorizationPolicy_Role `protobuf:"bytes,2,rep,name=roles" json:"roles,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// resource_to_role_labels specifies the authorization policy keyed by resource
	// map_id|app_id concatenation as a string.
	ResourceToRoleLabels map[string]*AuthorizationPolicy_RoleLabels `protobuf:"bytes,3,rep,name=resource_to_role_labels,json=resourceToRoleLabels" json:"resource_to_role_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}

func (m *AuthorizationPolicy) Reset()                    { *m = AuthorizationPolicy{} }
func (m *AuthorizationPolicy) String() string            { return proto.CompactTextString(m) }
func (*AuthorizationPolicy) ProtoMessage()               {}
func (*AuthorizationPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *AuthorizationPolicy) GetRoles() map[string]*AuthorizationPolicy_Role {
	if m != nil {
		return m.Roles
	}
	return nil
}

func (m *AuthorizationPolicy) GetResourceToRoleLabels() map[string]*AuthorizationPolicy_RoleLabels {
	if m != nil {
		return m.ResourceToRoleLabels
	}
	return nil
}

// Resource contains the resource being accessed.
type AuthorizationPolicy_Resource struct {
	// map_id contains the Key Transparency map identity for this entry.
	MapId int64 `protobuf:"varint,1,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
	// app_id contains the application identity for this entry.
	AppId string `protobuf:"bytes,2,opt,name=app_id,json=appId" json:"app_id,omitempty"`
}

func (m *AuthorizationPolicy_Resource) Reset()                    { *m = AuthorizationPolicy_Resource{} }
func (m *AuthorizationPolicy_Resource) String() string            { return proto.CompactTextString(m) }
func (*AuthorizationPolicy_Resource) ProtoMessage()               {}
func (*AuthorizationPolicy_Resource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }

func (m *AuthorizationPolicy_Resource) GetMapId() int64 {
	if m != nil {
		return m.MapId
	}
	return 0
}

func (m *AuthorizationPolicy_Resource) GetAppId() string {
	if m != nil {
		return m.AppId
	}
	return ""
}

// Role contains a specific identity of an authorization entry.
type AuthorizationPolicy_Role struct {
	// principals contains an application specific identifier for this entry.
	Principals []string `protobuf:"bytes,1,rep,name=principals" json:"principals,omitempty"`
	// permissions contains the set of permissions this role is granted.
	Permissions []Permission `protobuf:"varint,2,rep,packed,name=permissions,enum=authorization.Permission" json:"permissions,omitempty"`
}

func (m *AuthorizationPolicy_Role) Reset()                    { *m = AuthorizationPolicy_Role{} }
func (m *AuthorizationPolicy_Role) String() string            { return proto.CompactTextString(m) }
func (*AuthorizationPolicy_Role) ProtoMessage()               {}
func (*AuthorizationPolicy_Role) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 1} }

func (m *AuthorizationPolicy_Role) GetPrincipals() []string {
	if m != nil {
		return m.Principals
	}
	return nil
}

func (m *AuthorizationPolicy_Role) GetPermissions() []Permission {
	if m != nil {
		return m.Permissions
	}
	return nil
}

// RoleLabels contains a lot of role labels identifying each role.
type AuthorizationPolicy_RoleLabels struct {
	Labels []string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty"`
}

func (m *AuthorizationPolicy_RoleLabels) Reset()         { *m = AuthorizationPolicy_RoleLabels{} }
func (m *AuthorizationPolicy_RoleLabels) String() string { return proto.CompactTextString(m) }
func (*AuthorizationPolicy_RoleLabels) ProtoMessage()    {}
func (*AuthorizationPolicy_RoleLabels) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{0, 2}
}

func (m *AuthorizationPolicy_RoleLabels) GetLabels() []string {
	if m != nil {
		return m.Labels
	}
	return nil
}

func init() {
	proto.RegisterType((*AuthorizationPolicy)(nil), "authorization.AuthorizationPolicy")
	proto.RegisterType((*AuthorizationPolicy_Resource)(nil), "authorization.AuthorizationPolicy.Resource")
	proto.RegisterType((*AuthorizationPolicy_Role)(nil), "authorization.AuthorizationPolicy.Role")
	proto.RegisterType((*AuthorizationPolicy_RoleLabels)(nil), "authorization.AuthorizationPolicy.RoleLabels")
	proto.RegisterEnum("authorization.Permission", Permission_name, Permission_value)
}

func init() { proto.RegisterFile("authorization.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 354 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x5b, 0x6b, 0xfa, 0x30,
	0x1c, 0xfd, 0xb7, 0xb5, 0xfe, 0xed, 0x4f, 0x36, 0x4a, 0xdc, 0xa5, 0xf6, 0x61, 0x94, 0x31, 0x58,
	0x11, 0xe6, 0x83, 0x7b, 0x91, 0x5d, 0x1e, 0xc4, 0xc9, 0x10, 0x84, 0x49, 0x10, 0xf6, 0x58, 0x62,
	0x0d, 0x2c, 0xac, 0x36, 0x21, 0xa9, 0x82, 0xfb, 0xd2, 0xfb, 0x0a, 0xa3, 0x8d, 0x9b, 0x75, 0x38,
	0xe8, 0x5b, 0x7b, 0x7a, 0x2e, 0x3d, 0x27, 0x81, 0x16, 0x59, 0x65, 0x6f, 0x5c, 0xb2, 0x0f, 0x92,
	0x31, 0x9e, 0x76, 0x85, 0xe4, 0x19, 0x47, 0x47, 0x7b, 0xe0, 0xe5, 0x67, 0x0d, 0x5a, 0x83, 0x32,
	0x32, 0xe5, 0x09, 0x8b, 0x37, 0x68, 0x08, 0xb6, 0xe4, 0x09, 0x55, 0x9e, 0x19, 0x58, 0x61, 0xb3,
	0x77, 0xd3, 0xdd, 0xf7, 0x3a, 0x20, 0xe9, 0xe2, 0x9c, 0x3f, 0x4a, 0x33, 0xb9, 0xc1, 0x5a, 0x8b,
	0x14, 0x9c, 0x4b, 0xaa, 0xf8, 0x4a, 0xc6, 0x34, 0xca, 0x78, 0x94, 0x83, 0x51, 0x42, 0xe6, 0x34,
	0x51, 0x9e, 0x55, 0xd8, 0x3e, 0x54, 0xb1, 0xdd, 0x3a, 0xcc, 0x78, 0x1e, 0x30, 0x29, 0xe4, 0x3a,
	0xe5, 0x44, 0x1e, 0xf8, 0xe4, 0xf7, 0xa1, 0xf1, 0x2d, 0x41, 0xa7, 0x50, 0x5f, 0x12, 0x11, 0xb1,
	0x85, 0x67, 0x04, 0x46, 0x68, 0x61, 0x7b, 0x49, 0xc4, 0x78, 0x91, 0xc3, 0x44, 0x14, 0xb0, 0x19,
	0x18, 0xa1, 0x83, 0x6d, 0x22, 0xc4, 0x78, 0xe1, 0xc7, 0x50, 0xcb, 0x7d, 0xd0, 0x05, 0x80, 0x90,
	0x2c, 0x8d, 0x99, 0x20, 0x89, 0xf2, 0x8c, 0xc0, 0x0a, 0x1d, 0x5c, 0x42, 0xd0, 0x3d, 0x34, 0x05,
	0x95, 0x4b, 0xa6, 0x14, 0xe3, 0xa9, 0x5e, 0xe8, 0xb8, 0xd7, 0xfe, 0x55, 0x65, 0xfa, 0xc3, 0xc0,
	0x65, 0xb6, 0x7f, 0x05, 0xb0, 0xfb, 0x59, 0x74, 0x06, 0xf5, 0xed, 0x20, 0x3a, 0x66, 0xfb, 0xe6,
	0x13, 0xcd, 0xd2, 0x45, 0x91, 0x0b, 0xd6, 0x3b, 0xdd, 0x14, 0x1d, 0x1c, 0x9c, 0x3f, 0xa2, 0x47,
	0xb0, 0xd7, 0x24, 0x59, 0xd1, 0xa2, 0x40, 0xb3, 0x77, 0x5d, 0xf1, 0x78, 0xb0, 0x56, 0xdd, 0x99,
	0x7d, 0xc3, 0x5f, 0x43, 0xfb, 0xcf, 0x69, 0x0f, 0x24, 0x0e, 0xf7, 0x13, 0xab, 0x5e, 0x08, 0x6d,
	0x5a, 0xca, 0xed, 0x74, 0x00, 0x76, 0xdb, 0xa0, 0xff, 0x60, 0x4d, 0x5e, 0x9e, 0xdd, 0x7f, 0xa8,
	0x01, 0x35, 0x3c, 0x1a, 0x3c, 0xb9, 0x06, 0x72, 0xc0, 0x7e, 0xc5, 0xe3, 0xd9, 0xc8, 0x35, 0xe7,
	0xf5, 0xe2, 0xce, 0xde, 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff, 0xd6, 0x43, 0x2b, 0x46, 0xca, 0x02,
	0x00, 0x00,
}

redpajama_set_name: RedPajamaGithub


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Uses of Interface org.apache.xmlrpc.server.RequestProcessorFactoryFactory (Apache XML-RPC 3.1.3 API)
</TITLE>

<META NAME="date" CONTENT="2010-02-06">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

      Overview
      Package
      Class
    Use
      Tree
      Deprecated
      Index
      Help

 PREV
 NEXT

  FRAMES
 NO FRAMES

  All Classes

Uses of Interface
org.apache.xmlrpc.server.RequestProcessorFactoryFactory

Packages that use RequestProcessorFactoryFactory

org.apache.xmlrpc.server

org.apache.xmlrpc.webserver

Uses of RequestProcessorFactoryFactory in org.apache.xmlrpc.server

Classes in org.apache.xmlrpc.server that implement RequestProcessorFactoryFactory

static class
RequestProcessorFactoryFactory.RequestSpecificProcessorFactoryFactory

          This is the default implementation of RequestProcessorFactoryFactory.

static class
RequestProcessorFactoryFactory.StatelessProcessorFactoryFactory

          This is an alternative implementation of RequestProcessorFactoryFactory.

Methods in org.apache.xmlrpc.server that return RequestProcessorFactoryFactory

 RequestProcessorFactoryFactory
AbstractReflectiveHandlerMapping.getRequestProcessorFactoryFactory()

          Returns the mappings RequestProcessorFactoryFactory.

Methods in org.apache.xmlrpc.server with parameters of type RequestProcessorFactoryFactory

 void
AbstractReflectiveHandlerMapping.setRequestProcessorFactoryFactory(RequestProcessorFactoryFactory pFactory)

          Sets the mappings RequestProcessorFactoryFactory.

Uses of RequestProcessorFactoryFactory in org.apache.xmlrpc.webserver

Methods in org.apache.xmlrpc.webserver that return RequestProcessorFactoryFactory

 RequestProcessorFactoryFactory
XmlRpcServlet.getRequestProcessorFactoryFactory()

          Returns the servlets RequestProcessorFactoryFactory.

Methods in org.apache.xmlrpc.webserver with parameters of type RequestProcessorFactoryFactory

 void
XmlRpcServlet.setRequestProcessorFactoryFactory(RequestProcessorFactoryFactory pFactory)

          Sets the servlets RequestProcessorFactoryFactory.

      Overview
      Package
      Class
    Use
      Tree
      Deprecated
      Index
      Help

 PREV
 NEXT

  FRAMES
 NO FRAMES

  All Classes

Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.


text:
> Scotland
> Meldrum House offers a great stay and fine drams
Meldrum House offers a great stay and fine drams
By Morag Bootland - 31st October 2019
Meldrum House
Meldrum House is a grand old building with a coat of arms above the door and a set of impressive stone steps running down the outside of the building that any Princess would be proud to sweep down.
Situated close to the town of Oldmeldrum it's only a 45 minute drive from the centre of Aberdeen, but is surrounded by glorious countryside.
I arrived and checked into my huge room in the new wing of the hotel, which opened in 2016, with its fabulous views across the 18-hole golf course to the paddock that is home to the hotel's resident Highland cows.
Which, having lived in Scotland for all of my 44 years, and having the same name as most of the females of this particular species, I should probably not get over-excited about. But they're so endearing that I just can't help cooing (sorry) over their cuteness. There are also bedrooms in the old part of the building and in the newly renovated Stables.
I didn't have long to take in these impressive surroundings before we headed to the Cave Bar for lunch. Being an uncharacteristically glorious day in Scotland we decided to take the opportunity and enjoy lunch al fresco. The Cave Bar dates back to 1236 and would have been the larder and storeroom for Meldrum House.
Room 606 – the Club Room
The menu is perfect for lunch with light bites, sarnies and lots of breakfast goodies being the order of the day. My posh fish finger sandwich was just what the doctor ordered and set me up nicely for the excitement that the afternoon would bring.
Hopping on our luxury coach, the sense of excitement built as we drove towards the Ardmore distillery. This was a really special treat as the distillery isn't open to the public and we were to be shown around by Ardmore's own Alistair Longwell, Senior Manager of Scotch Maturation and Distilling.
Alistair told us the story of how this distillery, close to the village of Kennethmont, was established by Adam Teacher in 1898. Situated right by the tracks at the highest point of the Northern Railway Line, some 600 feet above sea level, the distillery still draws its water from natural springs rising on Knockandy Hill. In the early days of the distillery its proximity to the railway line meant whisky could be easily transported to Glasgow and its many whisky shops.
Of course there was time for a sample of Ardmore's Legacy whisky before returning to Meldrum House to enjoy whisky cocktails in the splendid drawing room.
Meldrum House sits in beautiful surroundings
Our appetites buoyed by the fresh air and our minds awash with whisky knowledge we were treated to a private whisky dinner inspired by Glen Garioch, Meldrum's local distillery. A piper ensured our delicious haggis bon bons, paired with Glen Garioch's Founder's Reserve made the best possible entrance. The duo of beef was the perfect
showcase of Scotch beef, the 12 hour cooked cheek full of flavour and the 55 degree fillet melting in the mouth with a delicious bourbon cask glaze. Virgin Oak panna cotta with toasted marshmallows.
Yet more whisky followed, this time paired with some excellent Scottish cheeses and a fabulous selection of chutneys.
Our visit took place just ahead of the relaunch of the fine dining restaurant at Meldrum House. Sad as I was not to have the opportunity to sample the hotel's new pride and joy it makes a return visit a certainty and I look forward to trying out the menu at Pineapple.
A secret treat awaited us just across the courtyard after dinner. Teetering over the flagstones and up the stone staircase we were greeted by the opportunity to taste yet more Glen Garioch under the expert guidance of their Visitor Centre Manager Fiona Sanderson in the hotel's candlelit doo' cot. I'm told that several couples have chosen this as the perfect place to get engaged and I'm not surprised, as the candles flickered in the stone nooks that once would have ben the nesting place of a flight of doves.
The Glen Garioch Distillery
That huge comfy bed was calling me, so a swift nightcap in the cave bar was the last hoorah of a fabulous day.
Feeling remarkably fresh after a good night's sleep and a hearty breakfast we boarded the coach heading for Glen Garioch distillery and their Legends of the Garioch tour. Starting out in the hills and villages surrounding the distillery we learned all about the people and the land that helped create one of Scotland's oldest distilleries over 220 years ago. Trying out a few drams en route and some local treats that paired beautifully with each one, experiencing the sheer joy that is a buttery with whisky marmalade was a real highlight.
Heading to Glen Garioch's distillery in the village of Old Meldrum in a unique location situated on a crossroads we tour around the visitor centre and distillery where we had the opportunity to meet some of the people involved in creating Glen Garioch. I was really struck by the passion that each of them have for the whisky that they create here in the heart of this village and watching the distillery's neighbours walking their dogs through the crossroads and children passing by to get to school it is clear what a massive part of the community this distillery is.
Back at Meldrum House yet more treats were in store with a very special lunch. The Legends of the Garioch menu is a feast of local produce, combined with, you guessed it, Glen Garioch's whisky. I'd love to tell you more, but I've been sworn to secrecy. But what I will say is that it's absolutely worth the visit and was the perfect way to round off a fabulous Aberdeenshire adventure.
Meldrum House Country Hotel and Golf Course, Oldmeldrum, Aberdeenshire AB51 0AE
www.meldrumhouse.com
Ardmore Distillery
www.ardmorewhisky.com
Glen Garioch Distillery, Distillery Road, Oldmeldrum
www.glengarioch.com
Click HERE for more travel news from Scottish Field
Ardmore,
Ardmore Distillery,
distilleries,
distillery,
Glen Garioch,
hotels,
Meldrum House,
oldmeldrum,
scotch,
Scotland,
Mains of Taymouth kicks off 2022 with eco friendly supplier
Mains of Taymouth Country Estate and Golf Course at Kenmore, has further strengthened its eco credentials. Read More
SPECTRA is green as light festival as set to return
Spectra, Scotland's Festival of Light, is returning to Aberdeen next month. Read More
Have you lost a kitten, Daniel Craig or Yoda on a staycation?
Where would you find an Indian wedding necklace made of £50 notes, a tartan wedding dress, a golf buggy, a 5ft wedding cake piñata, two tickets to H... Read More


text:
Home / Blogs / Internationalist Communist Tendency's blog
On this day [15 January] exactly a century ago Rosa Luxemburg and Karl Liebknecht were brutally murdered in cold blood by Freikorps troops under the command of the Social Democratic Party. It decapitated the leadership of the young German Communist Party which then oscillated between putschism and opportunism for the rest of its existence. The consequences were that the world revolution, which the revolutionaries in Russia had counted on, did not take place.
This led the Russian Communists down the road, not to international socialism, but to the construction of a new form of capitalism which, however, was falsely baptised as "socialism". Under Stalin this became one of the most horrific anti-working class regimes of the twentieth century. Today the criminals of Social Democrats who murdered Luxemburg and Liebknecht hypocritically pretend they had nothing to do with it whilst Stalinists and Trotskyists who defend the former USSR as somehow communist all reveal their anti-working class credentials. After almost a hundred years of counter-revolution a capitalist system, whose crisis increases every day, offers us nothing but more misery, war, and environmental degradation but a new generation is arising which is taking up the last challenge to the ruling class thrown down by Rosa Luxemburg a few days before her death:
"Your "order" is built on sand. Tomorrow the revolution will "rise up again, clashing its weapons," and to your horror it will proclaim with trumpets blazing: I was, I am, I shall be!
The article which follows is from the current edition of Revolutionary Perspectives (available for £4 post free)
The "Spartacus" Revolt
In early January 1919, just days after the formation of the Kommunistische Partei Deutschlands (the Communist Party of Germany, KPD), the new, supposedly socialist German government sacked the head of the Berlin Police, Eichhorn, who was popular among the genuine socialists. The KPD joined in the calls for a demonstration against this act, which was just the latest in a series of provocations against the workers of Berlin. This demonstration succeeded in preventing Eichhorn's successor from taking office. Against the votes of the KPD, who correctly believed a revolutionary uprising was premature, the "revolutionary shop stewards" and left wing of the centrist Independent Social Democratic Party now formed a revolutionary committee to overthrow the government.
A general strike was declared and ten days of street fighting ensued. In the course of the fight part of the revolutionary committee split to enter negotiations with the government, thus paving the way for its eventual victory. The day after the fighting was over, Karl Liebknecht and Rosa Luxemburg, leaders of the KPD, were murdered by government troops along with the hundreds of workers who had already been cut down.
Background: The Sozialdemokratische Partei Deutschlands
To understand the background of these events, we first have to look at the Social Democratic Party of Germany (SPD). This was founded as the Sozialistische Arbeiterpartei Deutschlands — Socialist Workers' Party of Gemany — in 1875, as the merging of the Sozialdemokratische Arbeiter-Partei (SDAP, "our people", according to Marx and Engels) and the larger Allgemeiner Deutscher Arbeiterverein (ADAV, General German Workers' Union, who were, roughly speaking, Lasalleans).1
Despite the ADAV being over 60% larger than the SDAP, Marx and Engels judged the merger as ill-advised and were extremely unhappy about the unification programme, yet eventually Marxist views triumphed in the new party. However, this came about after a long struggle under conditions where the party was subject to suppression, under Bismarck's Anti-Socialist law, passed in 1878 after the SDAP demonstrated that they had significant electoral support.
Indeed, the victory of Marxism was aided by state repression which made the Lasallean idea of collaboration with the state as a socialist programme look faintly ridiculous. Not only that, but the party itself grew while operating in illegality. There were several reasons for this. Firstly, parliamentary representatives were exempt from the suppression (they had to stand for election as individuals). Secondly, the Party was very successful in organising despite its illegality. Thirdly, Bismarck also tried to steal the Party's clothes by passing social reforms. The latter tactic backfired by being too transparent, and the Party got the credit for the reforms. A final factor, probably the most decisive, was the enormous growth of capitalist industry in Germany in the period of the Party's illegality.
By the time Bismarck was sacked and the Anti-Socialist Law abandoned in 1890, the Party, which soon changed its name to the SPD, had not only grown, but had laid down the basis for uninterrupted further growth in membership and electoral success for over a decade and a half.
The pre-WWI SPD was famous for dominating an alternative world to official Germany, with many aspects of working-class life being under its sway, from sports and cultural activities to, of course, politics. Hundreds of newspapers were published by the Party across Germany. All this made it difficult to imagine political life on the left outside its orbit. But the health of the Party was only apparent. Despite Marxism being officially triumphant, it was so in name only.
In the years leading up to WWI, the SPD was eaten away from within by nationalism. Some of its leaders, especially David and Legien (who headed the union apparatus), were out and out imperialists and racists. They were opposed by many on the left of the Party who were formally commited to resisting war. However, the identification of the Party mainstream with the German state, that is, to their own bourgeoisie, was an overriding factor.
This contradiction was very evident in the days leading up to the outbreak of world war. As late as 25 July 1914, the SPD called for an anti-war demonstration. Three days later, 10,000 workers were on the streets of Berlin. Yet, on 4 August, the SPD representatives in the Reichstag voted2 for war credits which enabled the German Empire to finance the war. Its right wing leaders had secretly agreed to do just that a month before the war broke out.
The 4 August was correctly seen by the left as a betrayal of the class by the SPD, with Luxemburg being particularly devastated. However, it neither led to a split, nor to what may have been better, preparations for a split in order to bring the maximum numbers out of the SPD.3
Although the left of the SPD was shocked by the Party's betrayal, they were not completely paralysed by it. They began to organise against the war, with Liebknecht being the first to vote against war credits when they were extended in December 1914. Amongst other successes, there was an anti-war demonstration organised by Karl Liebknecht, which brought 10,000 people onto Potsdamer Platz, Berlin, on May Day 1916. Even though Liebknecht was arrested for high treason after speaking at this demonstration, the number attending shows that there was scope for gathering up opposition to the war into organisations consistently opposed to it and therefore to the SPD.
Nevertheless, the central plank of the left's conception of their activity was to win back the SPD to the "true path".
Only by pouring merciless scorn on all our half-measures and weaknesses", on our own moral collapse since August 4, and on the liquidation of our entire system of tactics employed since August 4 can the reconstruction of the International begin. Rosa Luxemburg4
Thus the task was seen as reconquering the old Second International and its parties, not as opposing them as agents of the bourgeoisie, its system and that system's wars.
By contrast, the betrayal was treated as exactly that by Lenin along with a large swathe of the Russian Bolsheviks. Social Democracy for them was henceforth a bourgeois party and the Second International would have to be replaced by another, communist International. Lenin's view was reflected in those organisations in Germany who operated against the war outside the SPD, like the Internationale Sozialisten Deutschlands (International Socialists of Germany, ISD) and the group around the Lichtstrahlen (Shafts of Light) publication.
In their attempt to re-conquer the SPD, Luxemburg and Liebknecht formed a group inside the Party, the Spartakusbund (Spartacus League), which signed up to the centrist Manifesto written by Karl Kautsky, even though it was far from representing their own politics. In time, the SPD reacted by expelling its centrist and left wings, who then founded the Unabhaengiger Sozialdemokratischer Partei Deutschlands (Independent Social Democratic Party of Germany, USPD), on the basis of the centrists' politics, with the Spartakusbund, but without the ISD and Lichtstrahlen. This lack of a clear break with the politics of social democracy, evidenced by the Spartakusbund joining with the centrists in the USPD, was to cost the proletariat dear.
The October Revolution in Russia saw a massive transfer of power to the proletariat organised in the form of Soviets. This revolution was understood by Lenin and many of the Bolsheviks at the time as merely the first step in a world revolution. Moreover, without further steps on the road to a global seizure of power by the working class, the Russian step was bound to be reversed. Or, as he put it in March 1918, "Without a German Revolution we are doomed".
And as Luxemburg put it:
In this sense theirs [the Bolsheviks'] is the immortal historical service of having marched at the head of the international proletariat with the conquest of political power and the practical placing of the problem of the realisation of socialism, and of having advanced mightily the settlement of the score between capital and labour in the entire world. In Russia, the problem [our stress] could only be posed. It could not be solved in Russia.5
Failing to Answer
On 30 October 1918, reacting to the German Admiralty's demands that they sacrifice their lives in a pointless battle for "honour", the sailors on two battleships in Kiel mutinied, but then surrendered in the face of threats of being torpedoed. 400 mutineers were taken prisoner.
A mass assembly of sailors demanded the release of the prisoners, and the authorities responded by banning further assemblies and sent out armed patrols. In the face of this action by the state, the sailors did not back down but instead began disarming the patrols. One of the larger patrols opened fire on the sailors and, against this backdrop of mounting tensions, the sailors organised themselves into the first sailors' council of the German revolution.
At the request of the local governor (the representative of the Kaiser's state) Gustav Noske, a leading member of the SPD, was sent to Kiel to negotiate with the mutineers on its behalf. Finding this impossible, as the movement had already gone too far to meekly surrender, he instead used his "socialist" credentials to put himself at the head of the movement in order to lead it along paths compatible with the continuation of bourgeois rule.
Meanwhile, the revolution begun at Kiel spread to other towns and the SPD continued to act to derail the movement onto "safe" ground. The SPD also brought the USPD into the game, partly to contain the latter, and partly to use its greater proletarian credibility to disguise the nature of its tactics. By mid-December, the revolution had set up workers' and soldiers' councils across Germany. However, the situation had been stabilised by the SPD and USPD's efforts to steer the councils away from the political demand of "all power to the soviets" and to limit the councils' efforts to arm themselves.
In effect, the revolution had come to a standstill. A congress of German workers' and soldiers' councils was held 16-21 December, but it was dominated by the SPD and the non-Spartakist part of the USPD. Instead of claiming political and economic power for the councils – i.e. the working class as a whole – it relegated itself to having a supervisory role over the government, in effect acknowledging the bourgeoisie's right to rule.
In the wake of the councils' congress, the "International Communists" (Spartakusbund, IKD, Lichtstrahlen and others) held a conference, and under the urging of Radek, a representative of the Bolsheviks, overcame the reluctance of the Spartakusbund to leave the USPD6, and decided to hold the founding Congress of a new party, the KPD, from 29 December 1918 to 1 January 1919.
Ever since the SPD's support for the war had revealed its total opposition to the interests of the international working class, there had been a crying need for a political force capable of showing that a revolution was needed in Germany: not to secure the legal rights of the bourgeoisie but to sweep away the capitalist system itself. Any German revolution had to be part of a wider, world proletarian one to overturn the power the bourgeoisie and its forms of rule, introduce a socialist economy and the dictatorship of the proletariat.
From the Russian October Revolution onwards, the rule of the councils over the whole of society had to be emphasised as the necessary form of that proletarian dictatorship. In other words, the idea that councils were either a temporary measure, to fill in while bourgeois rule was indisposed, or simply a supervisory device, to organise the working class in support of a revived bourgeois state.
Providing political clarity is the primary task of a revolutionary proletarian organisation. Beyond the day-to-day technical tasks of a revolution, such as organisation and military activity, where revolutionaries participate just as part of the proletariat, the political party has to clarify the ends to which these technical tasks are devoted.
The German revolution was marked by a lack of clarity about the roles of the political actors on the scene, what the interests of the proletariat actually were and what the tasks of the revolution were, at least on the side of the proletariat itself. By contrast the SPD already had enormous organisational control over the working class and it was extremely skilful in using the existing apparatus to steer the proletariat away from where it needed to go.
In military terms, the bourgeoisie was still unsure of which parts of its army were reliable, and which would go over to the revolution, so it supplemented its forces by using the Freikorps, proto-fascist forces comprised of supposedly demobilised army personnel (mainly ex-officers) who had access to military hardware superior to that possessed by the proletarian forces, and which had a clear view of the class allegiance of their social democrat bosses. They knew that the SPD was on their side, as, via Noske they obeyed that party's orders. Even while the congress of German workers' and soldiers' councils sat, workers were being murdered in other parts of the country as part of the testing of the waters for an attempt to crush the revolutionary forces militarily. These murders weren't the only provocations.
On New Year's Day, the government disarmed the 75th Infantry Regiment in Bremen, a regiment deemed to be "untrustworthy" (i.e., likely to defend the proletariat). 22 strikers were killed in Upper Silesia on 3 January. Eichhorn, a left USPDer who was trying to run a "revolutionary" police force (despite this being a contradiction in terms, especially before the overthrow of the old regime, he was nevertheless popular among workers) was sacked, in what was a clear provocation.
The USPD, the revolutionaere Obleute (revolutionary shop stewards) and the KPD met, and, against the KPD's warnings, voted to establish a revolutionary committee to coordinate the overthrow of the government. Despite the fact that the Spartakists were against this endeavour, the coming events were to be known as the "Spartakus" uprising, partially because the KPD stood by the vote out of proletarian solidarity but largely because the SPD wanted to blame them and destroy them. "Kill Liebknecht" posters were soon appearing on walls across Berlin.7
The KPD's reluctance was based on a sober assessment that the conditions for a successful revolt had not yet matured. A sign of this immaturity was the trust that the many revolutionary proletarians still had in the USPD. But the USPD was itself divided between those close to the SPD and the more proletarian elements. As a result it could, and did, sway from enthusiasm for action to switching to negotiation; and, as Rosa Luxemburg noted in Rote Fahne, was incapable of any clarity about the purpose of revolt. The tragedy was that the KPD had been formed too late and lacked both the preparation and the influence necessary to hold back the revolt.
Even as the committee was being formed, workers were spontaneously taking action, occupying the offices of reactionary newspapers. The first action of the committee was to call for a general strike, a struggle for power and a mass demonstration on 6 January.
Street fighting broke out, and, true to form, the leaders of the USPD entered negotiations with the government, deserting the workers they had called on to fight. The government handed arbitrary power to Noske, the army units they had feared to trust turned out to be loyal or neutral and the revolt was crushed over the next week or so, with the Freikorps doing the final mopping up. There were about 3000 deaths, principally on the revolutionary side. Luxemburg and Liebknecht were murdered the day after fighting stopped, 14 January.
Apart from Bremen, Bremerhaven and Düsseldorf, where Council Republics were declared, solidarity action from outside Berlin failed to make much impact. The extreme localism of the German revolutionary movement was another factor which hampered its success. Even the Spartakists were prone to it and Luxemburg in her final writings was calling upon other cities to rise alongside Berlin.
Continuing to Fail
Such localism played into the hands of the SPD (which had a national organisation) and in the wake of the failed Berlin uprising, there were a series of other proletarian revolts, all of which were put down by the Freikorps, by troops loyal to the government or by a combination of both. The most noteworthy example was the Munich Soviet, which lasted for a couple of months, defeating the regular army before being overwhelmed by the Freikorps.
In many places, as in Berlin itself, workers' uprisings were in response to the government's provocations, so that the government was able to choose when and where to fight, an enormous advantage as it was able to deploy its initially weak forces in a concentrated fashion. In this way, the government could achieve victory, despite its vulnerability to a co-ordinated revolutionary assault in the early days of the revolution.
While the SPD government was stabilising the military situation to its advantage, two political developments were occurring. Firstly, the political forces behind the Freikorps were deciding that the SPD was so dependent upon it that they might as well rule in the place of the SPD. Secondly, the left of the USPD split and joined the KPD, under the name Vereinigte Kommunistische Partei Deutschlands (VKPD, unified KPD), which was soon replaced in practice by the old name, KPD. This merger with the very unclear left USPDers added to the incoherence of the KPD.
Both of these developments were made apparent in the Kapp Putsch, which was launched on 13 March 1920. The eponymous Kapp was a member of the rightwing Deutschnationaler Volkspartei, and was supported in his attempt to become Chancellor of Germany through armed force by parts of the state's military apparatus, as well as by the Freikorps. The SPD called a general strike, which was initially opposed by the KPD, regardless of the fact that the correct course was clearly to support the strike, despite the proletarian blood on SPD hands, and to push it to go further. Moreover, the KPD called on workers to lay down arms. This call was ignored, and the workers in the Ruhr, and elsewhere, formed Red Armies.
Under pressure from the Communist International, the KPD reversed its position, and the Putsch collapsed after an effective general strike and under the threat of the Red Armies. The KPD's newly reinforced reformism was not finished, however. It met with the government, and, in exchange for the SPD's promise not to use the Freikorps against workers again, it called on the Red Armies to lay down their arms. The SPD simply dissolved the Freikorps into the regular army and used that to unleash White Terror in the Ruhr.
Against this background, some of the opposition currents in the KPD split to form the Kommunistischer Arbeiterpartei Deutschlands (KAPD). Although it was clear that the revolutionary crisis in Germany was not going to last forever, the formation of the KAPD was carried out in an overhasty fashion, incorporating elements which had no place in a proletarian organisation, such as the National Bolshevists around Laufenberg and Wolffheim. The result was that the new organisation had to have two founding Congresses, the second without the more dubious elements. More time had been wasted in a classic case of more haste, less speed. The KAPD was riven by localism, councilism and syndicalism and did not long survive.
For its part the KPD, shorn of its most experienced leaders like Luxemburg, Liebknecht, Jogiches and Leviné oscillated between opportunism, adventurism and even ended up supporting "national bolshevism" itself in 1923. By this time though it was increasingly the tool of a Communist International which was dominated by the need to defend the USSR not to extending the world revolution. By the time Stalin was promoting the idea of "socialism in one country" the revolutionary cause was already lost.
The failure of the "Spartakus" uprising was the first episode of the bitter lessons to be drawn from the inability of the old SPD left to break from that party after its great betrayal of its supposed principles and, more importantly, of the working class.
If there had been a clean break at the moment that the SPD had shown its internal rottenness by supporting imperialist war; or, perhaps more realistically, a prepared separation of all the revolutionary elements after some months, at most, a couple of years; when the war ended (in no small part due to Russian October) the new party's exposure of the SPD as part of the bourgeois political apparatus would have had time to undermine that party's fake socialist credentials. This may not have entirely prevented the SPD from putting itself at the head of workers' movements in order to corral them into support for a 'democratic' capitalist state, but it would have weakened that strategy, and made it obvious where it was carried out.
Obviously, carrying out propaganda against the SPD during the state's tight war-time domestic security would not have been an easy task, but the left did manage to propagandise against the war itself, so the biggest additional difficulty was realising that this task was a necessary starting point for posing the way forward to a socialist future.
In addition, if the KPD had broken earlier, it might have had sufficient influence to prevent workers responding to local provocations designed to draw them into battles they could not win, and save their strength for a serious assault on state power.
Finally, the German revolution was in desperate need of clarity about what the councils were for – i.e. the organisation of a proletarian dictatorship against the bourgeois, of society in its transition to socialism and the seed of the forms of administration of socialism itself.
The USPD acted to obscure the role of the workers' councils – they were often in favour of them, but not as the fundamental basis of a new society, just as temporary organisers while proper bourgeois government was in trouble. At most, the USPD settled for the councils as technical supervisors of the real business of government: the exploitation of the working class. These "centrists" might have been won over to a more revolutionary vision of the role of workers councils by a German Communist Party, had this been founded in time to be able to build on the success of October in Russia.
1. Ferdinand Lasalle was an ideologist of an alliance between the aristocracy and the proletariat against the bourgeoisie, and pushed all sorts of rubbish like a class-independent "Free State".
2. Traditionally, the SPD voted as a block in the Reichstag. In its representatives' internal meeting, the vote for approving the war credits was 78 to 14, showing that a significant minority was at least there to be won to anti-war activity, even in the parliamentary party.
3. The SPD was not the only Party of the Second International (which grouped like-minded parties across the world) to make this betrayal. Indeed, the whole group, apart from honourable, but small, exceptions like the Serbian Party, left the terrain of the working class.
4. Quoted in Lenin's Struggle for a Revolutionary International, Monad Press, 1984, p.95.
5. The Russian Revolution, Rosa Luxemburg, 1918.
6. Especially as the USPD left the SPD-USPD government under pressure from its rank and file, on 29 December.
7. For further details: leftcom.org
Internationalis...
Spartacist League
German Revolution 1918
Internationalist Communist Tendency's blog
Internationalist...
Blog of the Internationalist Communist Tendency.
We are for the party, but we are not the party or its only embryo. Our task is to participate in its construction, intervening in all the struggles of the class, trying to link its immediate demands to the historical programme; communism. http://www.leftcom.org/en/about-us
The general strike that didn't happen: a report on the activity of the IWW in Wisconsin
'Feminism is a dirty word'. What would Marx and Engels think today? - Camilla Power
World wide fascism or world revolution? Manifesto and program of the United Workers Party of America
Kozhin, Foma (18?- 1921)
2009: The strike at Lindsey refinery: a struggle entangled in nationalism
How it all began: the personal account of a West German urban guerrilla - Bommi Baumann


I've been white since the day I was born. But I didn't really see myself as white until I was pretty old. I just thought I was normal.
When did you first become aware of race?
How about racism; when did you first experience prejudice or a system set up to ensure some don't get an equal opportunity?
One of the core values of my faith tribe – Mennonite Church USA – is intercultural competency and dismantling racism.
I find a lot of people are like I am when it comes to this: we hold it as a strong value, but we don't always have the skills to practice it in daily life.
How can we move from valuing to practicing color competency and a life that celebrates difference? What if we didn't stop at thinking multiculturaly, but committed ourselves to being masters at practicing it?
In order to move beyond verbal assent we'll have to master certain skills, adopt shared rules, and understand that neither the skills nor the rules are the point. The point is playing the game. In other words, in baseball the game itself is vastly different than hitting a baseball and understanding 3 strikes and you are out.
In this case daily habitual practices of dismantling racism and intercultural transformation.
We will use our skills at hospitality to welcome absolutely everyone into our church, whether gay or straight, black brown or white.
We will work for reconciliation between alienated groups by pushing in to conflict, not avoiding it. Our skills at conflict management will serve us well.
We will be allies to marginalized peoples, standing in solidarity with them, listening to their concerns and solutions, and following their lead.
We will not allow racism, discrimination, or oppressive language to go unchallenged anywhere we live, work, or play.
We will take every opportunity to listen well to people people who are different than us, with the goal of deepening relationship and learning, not winning the conflict.
But just like in baseball, having skills and rules that apply them are all in service of something much higher, and more important. The goal for followers of Christ is celebrating difference as an embrace of the beauty of God and the image of God. It's life guided by God's vision.
We're practicing everyday peacemaking where we live, work, and play.
We're living in to the truth that the mission of God is peace and the vocation of God is peacemaking.
Science and evolution can explain how the human race is so varied and different. Anthropology can explain to us where the differences are. Cultural competency training can tell us what it means to tolerate each other. But only faith can answer the WHY of human difference.
All peoples -every tribe, nation, and culture; every gay, deaf, and ethnicity; every neighborhood, city, and congregation – are created in God's image. Only the exceptional breadth of human difference could capture the wonder and glory and mystery of the God of all creation.
We're different, because God is.
And we, are very good.
Marty Troyer is working hard to move from belief in Jesus to courageously believing Jesus.
COMMENTS POLICY: If you want to comment on this article you must sign your full name to your initial comment, or it will not be made public.


October 11, 2015 / Atlanta Public Affairs Radio / Dr. Craig Bach, Robin Ray and Erika Hill join Atlanta Public Affairs to discuss early childhood literacy and what you can do at home with your kids to stay ahead of the game!
Robin Ray, on-site owner of The Goddard Schools located in Suwanee (Old Atlanta), GA and Sugar Hill, GA and Erika Hill, on-site owner of The Goddard Schools located in Suwanee (Duluth), GA, Dacula, GA and Decatur, GA joined Dr. Craig Bach, Vice President of Education for Goddard Systems, Inc. on Atlanta Public Affairs Radio. They discussed early childhood literacy and how to instill a love of reading in young children.


text:
Q: Meteor user accounts issue - Duplicate account being created with OAuth service (accounts-google) I am working with Meteor User accounts to create users. I have implemented two ways of creating users.

*

*By using accounts-password to create (default one ).

*OAuth Services (accounts-google and accounts-facebook)

A user account generated with accounts-password have the document shown below
{
  "_id": "DQnDpEag2kPevSdJY",
  "createdAt": "2015-12-10T22:34:17.610Z",
  "services": {
    "password": {
      "bcrypt": "XXX"
    },
    "resume": {
      "loginTokens": [
        {
          "when": "2015-12-10T22:34:17.615Z",
          "hashedToken": "XXX"
        }
      ]
    }
  },
 -----
----
}

Where as a user account generated with accounts-google or account-facebook have the document shown below.
{
  "_id": "Ap85ac4r6Xe3paeAh",
  "createdAt": "2015-12-10T22:29:46.854Z",
  "services": {
    "facebook": {
      "accessToken": "XXX",
      "expiresAt": 1454970581716,
      "id": "XXX",
      "email": "myname@gmail.com",
      "name": "Ada Lovelace",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "link": "https://www.facebook.com/app_scoped_user_id/XXX/",
      "gender": "female",
      "locale": "en_US",
      "age_range": {
        "min": 21
      }
    },
---
---
---

Now the real issue is, Although the email address used is same for both accounts-password and accounts-google (in my case email is myname@gmail.com), two different user accounts are being created.
I am looking for solution Something like below. (Note: Services has both "Password" and "Facebook" sections under single account)
{
  "_id": "DQnDpEag2kPevSdJY",
  "createdAt": "2015-12-10T22:34:17.610Z",
  "services": {
    "password": {
      "bcrypt": "XXX"
    },
    "facebook": {
      "accessToken": "XXX",
      "expiresAt": 1454970581716,
      "id": "XXX",
      "email": "myname@gmail.com",
      "name": "Ada Lovelace",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "link": "https://www.facebook.com/app_scoped_user_id/XXX/",
      "gender": "female",
      "locale": "en_US",
      "age_range": {
        "min": 21
      }
    },
  },
 -----
----
}

Is there a way where only one account is being generated in both cases, means if a user is already existed and the same is trying with OAuth service, first account should be used to accommodate the service ?

A: link-accounts package is the recommended way to allow users to add additional services to their account.

A: You can use Accounts.setPassword on the server in order to generate a proper bcrypt hash for the accounts:
Accounts.setPassword('Ap85ac4r6Xe3paeAh', 'the-new-password')

which will result in
{
  "_id": "Ap85ac4r6Xe3paeAh",
  "createdAt": "2015-12-10T22:29:46.854Z",
  "services": {
    "password": {
      "bcrypt": "$2b$10$nzHCivxVqxbuFBBPWewPPu.r5x7OR5gJB8PIklU4OoU.WK0MT8jt2"
    },
    "facebook": {
      "accessToken": "XXX",
      "expiresAt": 1454970581716,
      "id": "XXX",
      "email": "myname@gmail.com",
      "name": "Ada Lovelace",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "link": "https://www.facebook.com/app_scoped_user_id/XXX/",
      "gender": "female",
      "locale": "en_US",
      "age_range": {
        "min": 21
      }
    }
  }
}

A: I have solved the above issue with a hack.
In imports/startup/server/accounts.js I have added the below validation logic which always validates the newly created account.
The idea is, this process checks if user is already existed in database. If the user exists, further checks if its created from accounts-password or accounts-google/facebook .
Based on the existing type modify the existing fields with new fields and throw an error with a fancy message (This actually prevents the new account to be created).
Accounts.validateNewUser(function (user) {

// first check what is the newly creating service
  var service =
    user.services.google || user.services.facebook || user.services.password;

  if (!service) return true;

  var existingUser = null;
// due to some issues both `Meteor.users.findOne(email)` as well `Account.findUserByEmail(email)` methods have been used to find the existing user status

  if (user.services.password) {
    var email = user.emails[0].address;
    existingUser = Meteor.users.findOne({
      $or: [
        { "registered_emails[0].address": email },
        { "services.google.email": email },
        { "services.facebook.email": email },
      ],
    });

  } else {
    var email = service.email;
    //console.log(" retrieved email ", email);
    existingUser = Accounts.findUserByEmail(email);
  }

  //console.log(" existingUser  : ", existingUser);
  if (!existingUser) return true;

  if (user.services.google) {
    Meteor.users.update(
      { _id: existingUser._id },
      {
        $set: {
          profile: user.profile,
          "services.google": user.services.google,
        },

      }
    );
  } else if (user.services.facebook) {
    Meteor.users.update(
      { _id: existingUser._id },
      {
        $set: {
          profile: user.profile,
          "services.facebook": user.services.facebook,
        },

      }
    );
  } else {
    Meteor.users.update(
      { _id: existingUser._id },
      {
        $set: {
          profile: user.profile,
          "services.password": user.services.password,
          "services.email": user.services.email,
          emails: user.emails,
        },

      }
    );
  }

  throw new Meteor.Error(
    205,
    "Merged with your existing Social Login accounts now. Try refresh the page and sign in again. That should work !!"
  );
});


Our curriculum at Glasser Preschool is designed around the concept that children learn through play. Our classroom environment encourages children to make choices, develop a positive self-concept, and promote learning through experimentation and problem-solving.
Our curriculum is emergent. It results from interactions between teachers and children with both providing ideas and developing them to create attractive and worthwhile themes. Teachers balance long-range objectives with moment-to-moment opportunities based on child-teacher interactions and interests.
"Developmentally Appropriate Practice" is the philosophy of doing the right thing for each child at the right time. Our developmentally appropriate curriculum provides for all areas of a child's development: social, emotional, physical, cognitive, language, and aesthetic. Teachers adapt curriculum plans to meet the wide range of individual needs and interests of all children in the group.
Social/Emotional Development: Children negotiate for materials they want to use, follow rules for building safety, and exchange ideas that help them expand their own knowledge.
Physical Development: Fine motor skills are developed by placing blocks together to make intricate designs. Gross motor development is made by carrying large blocks. Eye hand coordination is improved by building structures.
Language Development: Children increase their vocabulary when talking about what they are building. They also develop writing skills by making signs for what they have built.
Cognitive Development: Playing with blocks allows children an opportunity to recreate the world around them. Children learn measurement concepts, shapes, number, order, patterns, and weight as they select, build with and put away blocks.
Social/Emotional Development: Children negotiate roles and cooperate to portray different situations. They recreate life experiences.
Physical Development: Children develop fine motor skills by using dress up clothes.
Language Development: To engage with others in dramatic play, children use language to explain what they are doing. They choose language that fits the role they have selected.
Cognitive Development: While playing make believe, children create pictures in their minds about past experiences they imagine. These images are a form of abstract thinking.
Social/Emotional Development: Children learn to cooperate with each other by taking turns or working together.
Physical Development: Fine motor development is refined by the use of manipulatives.
Language Development: Children use words to describe what they are doing. Children also can explore words and letters.
Cognitive Development: Children are using problem solving skills. They also expand their emerging math skills such as counting, seriation, matching, patterning, and classification.
Social/Emotional Development: Art is a natural vehicle for children to express their feelings, originality and individuality.
Physical Development: Art is all about fine motor skills.
Language Development: Children often talk about what they are doing and respond to questions about their creations as they engage in art.
Cognitive Development: Children use thinking skills to plan, organize, select media, and represent their impressions. They experiment and learn about cause and effect.
Social/Emotional Development: From books children learn about people who are like them and who are different. Children develop social skills when they share books together and reenact stories.
Physical Development: Fine motor control is developed when children use tools for writing and illustrating.
Language Development: All aspects of literacy - reading, writing, listening, and speaking can be strengthened in the Reading Area.
Cognitive Development: Books help children gain a better understanding of the world around them. They develop an understanding of symbols, cause and effect, and basic skills such as counting, number recognition, colors, shapes, etc.
Social/Emotional Development: Children learn to work together as they explore, make discoveries, and solve problems.
Physical Development: Fine motor skills are developed when they do measuring, weighing, etc.
Language Development: When children make discoveries they are eager to share their excitement with others. They want to talk about their investigations, ask questions, and share experiences.
Cognitive Development: Children use all the process skills when they observe and ask questions about the world around them. Children organize their thoughts by classifying, comparing, measuring, counting, and graphing objects.
Social/Emotional Development: Children work together.
Physical Development: Fine motor skills are developed working with props in the table.
Language Development: Children expand their vocabulary as they learn words such as grainy, sprinkle, shallow, etc.
Cognitive Development: Scientific exploration happens in the sensory table. Children also learn about cause and effect.
Social/Emotional Development: Shared experiences make children feel part of a group. Different kinds of music evoke different feelings and actions in children.
Physical Development: Gross motor development occurs with movement activities. Fine motor skills are developed when children learn finger plays and play musical instruments.
Language Development: Children develop listening skills through music, following directions and print concepts when they see words of their favorite song in a chart or book.
Cognitive Development: Problem solving and logic, creating patterns, number concepts (clapping), thinking symbolically, are all developed through music and movement activities.


text:
Islam: the Good, the Bad, and the Everyday
by Michael Isenberg
We don't need a knee-jerk reaction to the Khashoggi murder
We need a new policy toward Saudi Arabia.
by Michael Isenberg.
Trump is under attack. (What else is new?)
This time the issue is his admittedly weak response to the murder of Washington Post columnist Jamal Khashoggi by agents of the Saudi government. The CIA believes Crown Prince Muhammad bin Salman ("MBS") "probably ordered" the hit, albeit the case against him, as far as the public has been told, is circumstantial: he had close ties to some of the conspirators. Secretary of State Mike Pompeo and Secretary of Defense James Mattis told Congress there is no "direct evidence" against MBS. When asked at an October 11 bill signing how the case would affect his dealings with Saudi Arabia, he replied that making money off the Saudis comes first. "I don't like stopping massive amounts of money that's being poured into our country on—I know they're talking about different kinds of sanctions, but they're spending $110 billion on military equipment and on things that create jobs, like jobs and others, for this country."
A month and a half has passed since then and the issue hasn't gone away. The critics have only grown louder, with particular emphasis on holding MBS personally accountable somehow. In an editorial last week, The Washington Post shredded the president's response as a "craven abdication," and called for private organizations to suspend their dealings with the Saudi regime and for Congress to attach "a provision to a must-pass budget bill ending military aid to Saudi Arabia until the Yemen war ends and all authors of the Khashoggi murder are identified and sanctioned." House Speaker Ryan said, "Realpolitik is very important. But Realpolitik works if you do so from a position of moral clarity and with respect to holding people accountable," leaving me wondering whether he knows what "realpolitik" means. The Senate has gotten into the act as well. A procedural vote on Wednesday, with bipartisan support from senators as diverse as Mike Lee (R-UT) and Bernie Sanders (I-VT), advanced a resolution which would cut off US support for the Saudi intervention in the Yemen civil war. A terrible idea—there is a long history of legislative branch grandstanding disrupting delicate behind the scenes negotiations by the executive branch—but it shows the depth of dissatisfaction with Trump's position.
Some of my Trump supporter friends have attempted to justify that position by pointing out that Khashoggi wasn't the angel that the media has made him out to be. He was a member of the Muslim Brotherhood in his youth and was friendly with Osama bin Laden in the 80's (So was the US!). More recently, in a column titled "The US is wrong about the Muslim Brotherhood and the Arab World is suffering for it," he argued for more political power for Islamists: "There can be no political reform and democracy in any Arab country without accepting that political Islam is a part of it." While all these accusations against Khashoggi are true, I don't think any of them diminish the seriousness or the brutality of the murder. Yes, Khashoggi has expressed some very wrong opinions, but surely that's not a capital offense or an extenuating circumstance that should factor into the US response.
My Trumpista friends are on more solid ground when they point out that Khashoggi's murder is just one of many atrocities routinely committed by the Saudis. In the words of the 2016 documentary Saudi Arabia Uncovered, Saudi Arabia "is a state which beheads and even crucifies its citizens. Where those who question its authority are lashed and locked up for years. A state where woman lack many basic rights." Recent cases have included the imprisonment and whipping of blogger Raif Badawi and the 2016 execution of Nimr al-Nimr, a Shiite cleric whose sole crime was criticizing the government. And while progress in the form of drivers licenses for women has been greeted with much fanfare, the dirty secret is that many of the women activists who made that possible now rot in Saudi jail cells. The only reason the Khashoggi case has gotten more attention than these others is that Khashoggi is a member of the Western liberal media, thanks to his association with The Washington Post. Again, I don't think this excuses the Saudis in any way. But it does underscore the importance of treating the Khashoggi murder in the context of our overall relationship with Saudi Arabia, and not in isolation.
It would be foolish to engage in a knee jerk response merely because the victim is a Western journalist. Any US reaction needs to be part of a larger, coherent strategy toward the Middle East in general and Saudi Arabia in particular. It needs to be a strategy we adhere to consistently, not just when the latest victim of Saudi repression happens to be a media darling. It also needs to be a strategy which supports the interests of the United States. And our primary interest in that part of the world is defeating Islamic terror.
We've seen Donald Trump repeatedly stand up to foreign dictatorships, and rightly so. But the House of Saud hasn't been among them. Both in the Khashoggi case, and in many other instances, the Trump Administration's strategy in the Middle East has been to unquestioningly embrace the House of Saud. The rationale for this is not merely the jobs cited above. As Secretary of State Mike Pompeo said in an Oct 18 statement to reporters,
I think it's important for us all to remember, too, we have a long, since 1932, a long strategic relationship with the Kingdom of Saudi Arabia. They continue to be an important counterterrorism partner. They have custody of the two holy sites. They're an important strategic alliance of the United States. We need to be mindful of that as well.
This "important strategic alliance" with our "important counterterrorism partner" is problematic. Cozying up to dictators is a double-edged sword under the best of circumstances. There are advantages in terms of intelligence, resources, military bases, and so on, but at the cost of creating resentment against the United States that induces recruits to join our enemies. The (possibly exaggerated) CIA role in the overthrow of Iranian Prime Minister Muhammad Mossadegh in 1953, and the US's subsequent support for the Shah is still a sticking point between us and the Iranians—forty years after the Shah's downfall. Arguably, we had the excuse that we were in the midst of the Cold War and we did what we had to do in the context of the larger struggle against the Soviet Union. We should never apologize for that. But we should recognize that it came with consequences.
There was some logic to allying with the Shah's Iran in 1953 against a higher priority enemy. But there is no logic to allying with MBS's Saudi Arabia in 2018: Saudi Arabia is the higher priority enemy. As I wrote in my review of Saudi Arabia Uncovered,
The Saudi regime is not content merely to subject its own citizens to the terrors of Islamism. It exports them. The ties between Saudi-funded Islamic charities and terror groups are well-known and reviewed in the documentary (which also notes there is no evidence that senior Saudi officials were complicit in them). However, thoughtful observers consider that the kingdom's embrace of the Wahhabi form of Islam—the country has spent $70 billion promoting it worldwide—is even more insidious than direct support of terror. In the words of former CIA officer Emile Nakhleh, "The ideology of ISIS is not much different from the ideology that Wahhabi Salafi Islam in Saudi Arabia adheres to. Unless the Saudis deal with this issue, we are going to constantly fight yesterday's war and even if we defeat ISIS, there'll be another terrorist organization, perhaps with a different name, as long as they have this ideology that emanates from Saudi Arabia."
Or as Dr. Zuhdi Jasser of the American Islamic Forum for Democracy put it,
For over 50 years the Saudis have also financed and helped spread the establishment of Muslim Brotherhood legacy thinkers and groups in the West. The Wahhabis and the Ikhwan [Muslim Brotherhood] share both a hate of Western liberal democracies and a dream of wanting to establish Islamic states and the caliphate. Their essential difference lies in that Wahhabis are simply corporate, top-down, "elitist" Islamists, while the Brotherhood are grassroots, populist Islamists. Both their interpretations of Islam are supremacist and theocratic.
I don't mean to single out President Trump here. President Obama's policy of unquestionably embracing Iran—another exporter of jihad—was just as bad, for the same reasons.
Another argument I tend to hear, especially from libertarians, is that the US should not take any action at all with regard to Khashoggi. He was not a US citizen, his murder took place in the Saudi consulate in Istanbul, which is technically Saudi sovereign territory. It's an internal matter in which the US has no vested interest.
There is some merit to this, but I part company with my libertarian friends when they frame it as part of an overall policy of disengagement from the Middle East. My disagreement with them stems from a fundamentally different view of the cause of Islamic terror. They see it as a reaction to past injustices that the Western powers committed against the Muslim world, such as the previously mentioned overthrow of Mossadegh. And while I agree that these injustices feature prominently in jihadist recruitment propaganda, the real origin of Islamic terror is not to be found in anything the West has done, but rather in Islam itself. The terrorists will come for us regardless of our level of engagement in the Middle East, and we need to be proactive in addressing that problem. Princeton historian Bernard Lewis called it the "Clash of Civilizations," which I discussed in more detail in "Fighting for God," one of the tributes to Professor Lewis that I posted in the wake of his passing earlier this year.
So if neither disengagement, nor a knee jerk response to the atrocity of the week, nor Obama's stint as Iran's bitch, nor Trump's strategy of hopping to the tune of the "beautiful" Saudi sword dance is the right policy in the War on Islamic Terror, then what is? There are many lessons from the Cold War we can draw on to formulate one. I'll address that in my next installment.
Michael Isenberg drinks bourbon and writes novels. His latest book, The Thread of Reason, is a murder mystery that takes place in Baghdad in the year 1092, and tells the story of the conflict between science and shari'ah in medieval Islam. It is available on Amazon.com
Posted by Michael Isenberg at 6:09 AM
Labels: Donald Trump, Jamal Khashoggi, Muhammad bin Salman, Saudi Arabia, Washington Post, Zuhdi Jasser
"Shogun for Persia"
"Atlas Shrugged with professional wrestlers"
Michael Isenberg
MICHAEL ISENBERG has had a checkered career as a plant automation engineer, Six Sigma Black Belt, weapons merchant, astrophysicist, & manufacturer of cigarette butts.
He was awaken from his dogmatic slumber and began blogging in 2007 in response to the Bush Administration's warrantless wiretapping of American citizens.
His first novel, Full Asylum, was published in 2012. It shows what America will look like if it continues on the path of big government. But since George Orwell and Ayn Rand already wrote the grim version of that story, Isenberg wrote a comedy.
Today, he writes primarily about Islam, which he first researched in the wake of the 9/11 attacks. He found both its achievements & its self-inflicted collapse during the Middle Ages so fascinating, he had to tell the story. 2018's The Thread of Reason is the result.
Dr. Isenberg earned his Ph.D. from the University of Chicago. He resides in New England with 912 books, his collection of small batch bourbons, and his memories of his dear, departed Lady Jane Grey, the swellest stray cat ever to yowl at a stranger's door at two in the morning.
Attorney General Barr: Fighting antisemitism a top Justice Dept. priority
The Omar Khayyam Club of America
Austin's Video Series—Color Symbols, Elfin Legends, Spring Fever, and Life Explained
Shakespeare in the Arab World
Arabic News Site Casts Trump as a Character in Taming of the Shrew
Stakelbeck on Terror
The Watchman: Pastor Saeed's Release and Iran's Double Game
Sayyid Qutb: The Ultimate Incel
Joyous Assemblies
A Juice that Frees thy Heart from a Hundred Pains
The US-Saudi-Iran Triangle
We don't need a knee-jerk reaction to the Khashogg...


"Australian climate concern and the 'attitude-behaviour gap'" by James Higham, Arianne Carvalhedo Reis et al.
Higham, J, Reis, A & Cohen, SA 2016, 'Australian climate concern and the 'attitude–behaviour gap'', Current Issues in Tourism, vol. 19, no. 4, pp. 338-354.
Anthropogenic climate change poses considerable challenges to all societies and economies. One significant contributor to human-induced climate change is tourism transportation, particularly aviation. This paper addresses the relationship between climate change concerns, the energy-intensive nature of tourist consumption, and unrestrained tourist air travel behaviour in the context of Australia. Following Barr et al. [(2010). "A holiday is a holiday": Practicing sustainability, home and away. Journal of Transport Geography, 18(3), 474–481], it seeks to understand public climate concern within the context of routine everyday ('home') lives and occasional tourist ('away') decision-making, with a specific focus on air travel. It draws upon 20 in-depth semi-structured interviews conducted in Australia between March and June 2011. The findings highlight the contradictory nature of environmental concerns and consumption decisions in everyday and tourist contexts. This is evident in widespread domestic consumer practices that are motivated, all or in large part, by climate concerns, set against almost complete disregard and neglect of responsibility to modify existing air travel practices. Our results highlight the magnitude of the challenge involved in shifting deeply entrenched air travel behaviours despite the growing urgency of radical emission reductions. It also highlights the need to consider consumer responses to climate change not in isolation, but in relation to industry drivers and strong government policy interventions.


This is the 5' o clock question that plagues at-home cooks every evening. The kids are hungry, blood sugars are running low, and you have no clue what you're going to put on the table. If this is a reoccurring situation in your household, you should consider taking steps to plan your meals a head of time.
If you're cooking for a large family, or a family with dietary restrictions or pickiness, menu planning is an important step to take in order to alleviate the stress that is concentrated in the kitchen around dinner time. When you plan your menu ahead of time, you will avoid the nagging from your spouse about serving leftovers two nights in a row and you'll make sure to remember that your son is lactose sensitive and that your daughter hates cilantro.
Take a look at how menu-planning can benefit you and your family once it hits meal time.
When you have your menu laid out beforehand and you know exactly what to shop for at the supermarket, you can buy everything you need for the week in one trip, reducing the amount of times you'll need to stop by the grocery store. Knowing exactly what you want to buy also ensures that you aren't grabbing random items off the shelf on a whim, which is a huge money waster.
When you organize and plan ahead of time, you avoid the frantic, last minute scramble—"honey can you run down to store to grab some olive oil?!" With your ingredients and recipe laid out neatly in front of you, it's much easier to prepare your meal quickly and efficiently.
Knowing what you are going to serve and having your ingredients readily available allows you to concentrate on eating and preparing nutritious meals. When you carefully select good recipes at the beginning of the week with appropriate side dishes, you are able to avoid throwing together a quick—yet unhealthy—option for dinner.
One of my biggest pet peeves is wasting food. When you have your meal plan in place, any leftover food can be eaten the next day for lunch. It's a shame to buy something from the grocery store on impulse and have to throw it out just days later. Organizing ahead of time is the key to buying and preparing only what you are able to eat.
Cooking and preparing dinner for yourself and your family should be enjoyable—not a rushed process simply to subdue everyone's hunger. A creative and thoughtful menu plan takes the pressure off the week and ensures that the whole family is happy. When you're running low on time and energy, you'll thank yourself for making a plan beforehand.
When you research dinner ideas at the beginning of the week or on the weekends, you have more time to come up with creative and delicious foods. Also, you have the time to plan a more complete meal that includes side dishes, a salad, and dessert. Your thorough menu plan will allow you to concentrate on good cooking techniques during the actual preparation of the meal.
Pasta…again?! Nobody likes eating the same thing more than twice a week—three tops. A menu plan helps you avoid serving the same foods again and again. You can look for meal ideas online, ask your family, or attempt to diversify one of your favorite dishes with new ingredients. Everybody enjoys variety and planning your meals ahead of time will do wonders to help you mix it up. Bonus: you will definitely gain favor from your family when you don't excessively serve repeat-meals or leftovers.
Seems a little obvious, but when you sit down and think about the week's meals, you are able to prep in advance and think about your family's favorite foods as well as the things they don't like. Planning ahead means your kitchen will be more organized, your food will be served on time, and a tofu option will be available to your vegetarian dinner guest. So give it a try, it could organize your life in more ways than one!
So, you get the picture: plan ahead; plan for several days at a time; include side dishes; research new meal ideas; communicate with your family; and stick to your list when you hit the grocery store! When you have the meals you want to make for the week, jot down a list of necessary ingredients so that you get everything done in one swoop. Good luck and happy meal planning!
What? Organize and plan ahead. You must be kidding!!!!!
Yes, yes, yes! All fantastic reasons for menu planning. Without a list, the grocery store can hold so many temptations.
This is a great article, so glad I found this during my research on meal planning!


Mandatory Orientation for invited applicants only! This orientation is a mandatory step in the application process for Habitat for Humanity of Palm Beach County's homeownership program. Applicants will learn about the application process, qualifications, and requirements for the homeownership program.
Orientation will begin promptly at scheduled time. Participants who are late will not be allowed entry. Children are not permitted. If you do not attend one of the orientations listed above, we will not move forward with processing your application. If you have any questions please contact Yailin Benitez at 561-571-5244.