Wednesday, September 30, 2015

Confluence setup error: Spring Application context has not been set

Here’s the error:
HTTP Status 500 – java.lang.IllegalStateException: Spring Application context has not been set

You’re trying to set up Confluence, but after “trying stuff”, you eventually get this error.

Here’s the fix:
Restart the Confluence setup wizard. How? Go to the following directory and delete the file confluence.cfg.xml:
/var/atlassian/application-data/confluence

That makes Confluenc run the setup wizard the next time you get there.

Here’s more of what you’ve likely been starting at on the error page. Hopefully this helped:

HTTP Status 500 – java.lang.IllegalStateException: Spring Application context has not been set

type Exception report

message java.lang.IllegalStateException: Spring Application context has not been set

description The server encountered an internal error that prevented it from fulfilling this request.

exception

com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.IllegalStateException: Spring Application context has not been set
com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
com.atlassian.confluence.setup.webwork.ConfluenceXWorkTransactionInterceptor.getTransactionManager(ConfluenceXWorkTransactionInterceptor.java:34)
com.atlassian.xwork.interceptors.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:56)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
com.atlassian.confluence.xwork.SetupIncompleteInterceptor.intercept(SetupIncompleteInterceptor.java:40)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
com.atlassian.confluence.security.interceptors.NosniffSecurityHeaderInterceptor.intercept(NosniffSecurityHeaderInterceptor.java:21)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
com.atlassian.confluence.security.interceptors.XXSSSecurityHeaderInterceptor.intercept(XXSSSecurityHeaderInterceptor.java:21)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
com.atlassian.confluence.setup.actions.SetupCheckInterceptor.intercept(SetupCheckInterceptor.java:32)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
com.atlassian.confluence.servlet.ConfluenceServletDispatcher.serviceAction(ConfluenceServletDispatcher.java:58)
com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)



Thursday, September 24, 2015

Splunk – forwarding to a receiver that forwards to an indexer

Setup:
– Splunk Universal Forwarder on a server
– Pointed at a Splunk Enterprise instance that’s configured for receiving and forwarding (yeah, very easy)
– Receiver/Forwarder is pointed at another Splunk Enterprise instance that does the actual indexing

Note, if you have anything in props.conf on your indexer, you will have to put that on the receiver/forwarder. Otherwise it won’t work, and you’ll get the unclean rows. As soon as you put the same props.conf file on the receiver/forwarder instance, all is well again.

Figured I’d share. It could be a bit of a gotcha.



Wednesday, September 2, 2015

Merging of Real Life Economies and In-Game Economies

I think I need to clarify (or maybe it’s “revise) my stance on how in-game economies interface with real life economies. The issue seems to kind of boil down to



I’m linking to a Raph Koster post, as I’m sure all self-respecting gaming blogger should.  It’s entitled “A brief SF tale“.  It’s a short historical fiction on the nature of human ingenuity, a recurring theme for me over the past months.

Once Upon A Time, there were many sites dedicated to sharing photos, and videos, and for listening to music. But there was a war on, so the military blocked access to those sites because the traffic was huge, and soldiers kept leaking info they weren’t supposed to, and so on.
But soldiers, being trained to be smart and clever about working around limitations, found that for every Photobucket, there was a Flickr, and for every Pandora there was a private podcast, and so on.

I’d recommend reading the post in its entirety (it’s a quick read).  To me, the interestingly-worded theme is that when humans want something, like, actively want it, not just a passive “that would be nice”, generally, they figure out how to get it.  And when that something they want seems to them to be perfectly fine, there is very little that can get in their way.  So, those people in charge who make decisions on what is to be restricted.

This is not meant to be any sort of critique on the war in Iraq.  It’s not even meant to be a critique on war in general, though it’s included.  Incidentally, I bet most conflicts could be boiled down to a handful of people on one side of the conflict being pissed at the handful of people on the other side who are pissed at them.  When at least one of those two handfuls of people are top political “leaders” of their respective society, that’s when you get a war.  But that’s another topic entirely.

When a person wants something that makes perfect sense and is not blatantly, intrinsically wrong (like stealing a car or mugging someone), then not only can I guarantee you there will be many others wanting that thing, but I can promise you one of those people will figure out a way to get it.  The more obvious “things” today are music, movies, games, information-sharing, etc.  If the roadblock to getting said desired things is from some dictate, then those handing down that dicate need to revisit the entire situation.

In the case of online media distribution I think it’s the case of traditional distribution models being rendered obsolete, and the assumption such an event would be more bad than good, that prevents the wholesale embrace of online distribution.  Personal relationships figure in there to an unknown degree of course.  But the fact remains that people want music, tv shows, and movies online and what they want is not being made available in some way.  I think it’s likely a price issue, but that’s beyond the scope of this post.

In the case of soldiers inadvertently sharing sensitive intelligence, I’d argue the issue is a whole level of abstraction deeper.  Here’s what I mean.  If a person understands the situation in which they are in is of critical, immediate importance to their own well-being, then they will not share information that could compromise it. If there is a consistent problem of soldiers sharing sensitive information, then I think it’s obvious there is a general lack of conviction of the importance of the immediate situation in which those soldiers find themselves.  I think it’s quite possible this is due to the motivations, goals, and leadership of the war, and I am talking about the top political “leaders” that triggered and encourage the war, not the so much the military members.  And I think this points out what I think is a fact that most conflicts, whether wars or arguments between coworkers, are unnecessary.  They usually boil down to one or both sides refusing to swallow their pride, apologize for their part, and make it easy for the other side to do the same.  If caught early on, it’s relatively easy.  If left to fester for a while, it gets pretty difficult.  Didn’t we learn that in Kindergarten along with looking both ways before crossing the street?

this is not quite working…. .I’m getting distracted by all the aspects that seem directly relevant.



In my earlier post on items having static attributes or arbitrary attributes, the issue of how to organize items came up as something that must concurrently be considered when deciding on static, dev-created items or player-generated items.

In Eve Online, they have opted for static, dev-created items.  Crafters of a common item differentiate themselves only on the back end: profit margins.  All player-crafted 125mm Ionic Rail Guns, for example, are identical.  Now, the blueprints used to craft those rail guns, however, can be different.  But they are only different in how much time and materials are required to create the item.  A “better” crafter simply means he has a cheaper, more efficient way to produce the exact same item than a “lesser” crafter does.  A “better” crafter does not and cannot make an item with better attributes than a “lesser” crafter can.

Contract Eve Online with Star Wars Galaxies: the “better” crafter is the one who, in addition to sourcing materials cheaper, sources materials of better attributes and produces an item with better attributes than a “lesser” crafter can.



Dynamic Creature Population Update

I’m still working on the dynamic creature population system.  Granted, it’s on the back burner until the next version of Re



A democracy is a place where the majority sets the rules, an important characterstic of a democracy no doubt. But equally important, if those rules infringe on the human rights of the minority, it is no longer a democracy.

It strikes me the above line of reasoning may be a subset of a larger, more general rule.  Right now, the group whose human rights are important is the minority group.  What about cases where the human rights of the majority group are compromised?

Interestingly, the initial reaction focuses on the notion that the majority needs to be protected from themselves by some kind of legislation; and that something will typically be a positive something in a governmental role that acts as a kind of baby sitter. 

The point of the quote is that in order to protect the rights of the minority population there must be limits on what the majority can legislate.  However, take a step back and note that in order to protect the rights of the population in general there must be limits on what can legislated.  Put another way, there must be things government cannot mess with.  Or,



Reliability and How it Influences Economic Potential

Reliability is the single most important aspect of a successful economy.  This firstly originates from within the worldview of the population and secondly from the actions of the government.

In order for advanced financial products such as derivatives to exist, there must be a reliable trading market whose operational mechanisms are fully predictable.  In order for a trading market to exist there must be reliable banking and transaction systems in operation.  In order for banking and transaction systems to exist there must be a reliable rule of law that provides severe consequences for transaction and banking fraud or theft.  In order for a reliable rule of law to exist there must be a cultural and social desire to maintain a reliable rule of law, and there must be reliable sets of rules by which the enforcers abide.  It’s this last one that largely determines the strength of an economy.

The cultural and social desire to maintain a reliable rule of law.  I think you could look at this in terms of Game Theory, with the culture determining how a member of its population interprets the goal of “maximizing his returns”.  This is a touchy subject, since its logical extent lays the blame for economic failings at the feet of the cultural beliefs of the population(s) effected; and since any critique of one’s culture tends to be a very personal criticism, tempers typically begin to flare.



Climate Change

I’ve heard it said quite a few times that climate change is at this point inevitable.  I think there is some debate still over whether it’s us humans who are doing it or if it’s just the increased solar activity since the 60s, which incidentally, seems set to peak in 2010 or so. But that’s not what I’m writing about.  Pragmatically, the concerns over climate change center on increased weather fluxuations, rising sea levels, and “irridiation” of land.  Coming in on the same moment is the question of what we should do about it.

As far as governments go, nothing.  Governments should do nothing.  Let everyone figure it out.  Concentrate on maintaining law and order.

The thing is, climate change is going to happen slowly enough that the natural economy will easily be able to adapt to whatever environmental changes do occur.  Predictably, if hurricane activity increases, resulting in coastal areas getting destroyed, the [potential] cost of living or doing business in a coastal areas will further result in people moving inland.  Just give it 3 weather-related episodes.  Unfortunately, the brilliance of the collective intelligence that government is will result in exactly the kind of legislation being proposed in Mississippi and Louisiana that forces down the cost of living or doing business in coastal areas.  Humorously, however, the same people involved in that legislation are probably staying up nights worying about what should be done about climate change.

Check out the picture on this page. I guess my point is the kind of thing pictured won’t really happen without the express interference of government regulation.  Just let each person figure out what they need and let them do it.

All that laissez faire, libertarianism being said, I have no problems with certain efficiency targets.  However, I bet many inefficiencies are [still] present merely because of various other government-instituted regulation of dubious use.



Means of Expression and Transportation

A response to the following quote by Leon Trotsky here.

The real tasks of the workers’ state do not consist in policing public opinion, but in freeing it from the yoke of capital. This can only be done by placing the means of production – which includes the production of information – in the hands of society in its entirety. Once this essential step towards socialism has been taken, all currents of opinion which have not taken arms against the dictatorship of the proletariat must be able to express themselves freely. It is the duty of the workers’ state to put in their hands, to all according to their numeric importance, the technical means necessary for this, printing presses, paper, means of transportation.

What about when everyone has the means to express themselves freely as well as the means of transporation?  What if, presented with these means, a person still does not take up the cause against the bourgeois?  What if they simply write about celebrities’ misadventures,



Strict MMO Rules

Joe Ludwig asked a few questions I thought to be quite relevant in his Breaking rules post.  The first time I read it I kind of passed right through it, vaguely aware there was something good in that topic, but since at the time I was in the midst of some other train of thought I didn’t ponder it much.  Then, just now I went back and read it again.  Here’s the statement that got me thinking:

Of those, gray shards seem to be the most promising. If you could come up with a way to allow anybody to host a world instance and set the rules in that world, but still keep collecting revenue from those players, you could probably draw a lot of attention.

It struck me that allowing the playerbase to host their own shards is an excellent method of offloading game content and maintenance requirements.  World instances is one thing, but let’s take it a step further.  Why not let player groups create an entire map or set of maps, complete with quests, land forms, and a back story, all of which connect right up to the “real” world?  Well, then they will just make it really easy to obtain major loot in their world that you can sell back in the real one, and the entire game will turn into “who can make the map that’s easiest to make the most money”.  I guess the development company could just cut off rogue maps or something.  You would also have a possible discontinuity in world aesthetics.  Also, you would have to figure out how they would make money- number of players who visit that map, player-hours spent on the map, players that signed up for the game from that map’s web site?

Well, that kind of fizzled.  The “offload content development” ideal even to the point of world design, but a step back from “There” and “Second Life, was exciting for a moment there.  Certain propensities for imbalance, shall we say, would be a bit too much.

The content development capacity of the player base needs to be tapped.  In my experience “Second Life” and “There” are a frustration fest of waiting for all that unique content to download every time you travel further than 50 feet.  I don’t think an MMO needs to go as far as they do in order to have a sufficient capacity for players to feel they can create their own content.



If not “virtual world” then what’s the right term?

I’ve been an extra on the upcoming Bourne Ultimatum movie, so the long hours and early mornings discourage certain blogging activities.  But that’s beside the point.

This issue has been simmering for a few days now, and I feel I’ve made only some progress on wrapping my mind around how to communicate what I’m thinking when I say “virtual world” and how that relates to the “what should we be making” discussion.  Here’s where I’m at:

I think MMORPGs need to be designed such that they encourage significant amounts of emergent gameplay.  And, when presented with the question, “How will players compete for resources,” ideally the designers’ answer should be,” I’m not sure.  But I am sure that whatever does happen there will naturally emerge a reasonable equilibrium, and at that point everyone will be happy.  Everyone will have their sense of justice satisfied.”  If system designs incorporate interrelated feedback loop balancing mechanisms, then the developers don’t have to spend as much time balancing and tuning.  The players and environment will take care of that on its own.

As designers we don’t explicitly design the way player cities are used.  We just design how this mechanism called a “city” works, and we design it so that it can be used in all kinds of ways.



Marketing in MMOGs

This is a really interesting topic to me.  It seems like a very tough design challenge.  How do you get advertising dollars in an MMOG, and more specifically into a fantasy universe, a game universe that does not naturally lend itself to traditional advertising.  You can’t just throw in a billboard advertising Skechers shoes on the side of the road just outside Coronet.  Most of the direct marketing tactics would be immersion-breakers.  So how can it be done?

I think the only way to bring advertising dollars into MMOGs is to incorporate it into system designs.  And it’s going to have to be clever. In many cases I think advertising can only allude to certain products or services.  Does that break the entire possibility then?  Who would pay to have you allude to their product or brand?

The more obvious possibilities are ones that make certain objects in the game have similar shapes or color patterns as some real world product.  If all the best drink buffs are in containers with similar coloring as Coke cans, then it’s quite possible Coke will come to mind first when a player get a hankerin’ for a drink.

An interesting approach would be if certain master game design features were allowed to be funded by some sponsor.  Take all the “yeah, right.. like we will actually have the funding to make this” aspects of each system design and allow them to be funded by someone in exchange for advertising on the login screen that such-and-such a feature is being  developed due to funding from Actimel Yogurt Drinks, or Hyundai.  Boy, wouldn’t that be a lot of pressure to make whatever new feature is being added something good and not bad?  And you’d have to figure out how to quantify exactly how much the sponsor gets “pushed” to players.  And then that sponsor is associated with the game forever. Maybe

The goal is to figure out how the developer can allow the hoards of interested investors to help.  How can the developer leverage what a potential sponsor does really well to further the interests of the game.  In furthering the interests of the game, the sponsor gets more exposure, and since exposure is what the sponsor is wanting in advertising anyways…  Obviously, it’s exposure that’s converted into sales and profits eventually above and beyond the initial expenditure.



Virtual Ecology Implementation

I want to take another stab at how to do virtual ecologies, specifically how to implement them.

Add them to an existing world. I know I work best with an existing system, and I think this may be the best route to take in figuring out how virtual ecologies can be created (because from the literature I’ve read, nobody quite knows how).

I’ll take Eve Online as an example with which to work, because that’s what I’m playing at the moment. The economy is player-generated for the most part and it’s wonderfully dynamic. The PvP is pretty darned good, though there are some changes that could make it great- though they might be too broad-sweeping to be practical. The missions, from what I’ve experienced, strike me as very very static and scripted, with no *real* ramifications to success or failure. By “real” I mean you get the exact same mission multiple times from the same mission-giving agent in the course of a 4 hour session. There is an element in there that is ripe for introducing a virtual ecology: the rogue drones.

“Rogue drones” are the spawn of former human-made machines that spontaneously became conscious. They have run out of control and on occasion drive off human mining ouposts and infest the left-behind structures, salvaging parts to make more rogue drones. Currently, you are just given the occasional mission to “go destroy the rogue drone threat”. Each time it’s the same. Same script, same asteroids, same complexes, same graphics, same rogue drone placement (different solar system sometimes). Once you finish it you get the same commendation and reward. Blah.

Design a “Rogue Drone Level Progression Ladder”. Each level up defines stronger combat potential, better mining capabilities, and the qualifications to reach the next level. The drone level is determined by the amount of ores they mine from asteroid belts and the number of rogue drones killed by players compared to a level-defined spawn rate. Since various systems already have spawn spots set up for “pirate” NPCs in asteroid belts, just make it so those spawn spots can be “taken over” by rogue drones as determined by surrounding populations of rogue drones. Then, keep track of how many drones are killed in that spot per day, and then keep track of how much ore they mine as well. The object/entity whose performance we track here is the “Rogue Drone Spawn Spot”; not the drones themselves. These spawn spots look to reproduce into a neighboring astroid belt or system if they have mined a sufficient amount of ore over the last few days and if they have “reproduced” more drones than they have lost by some multiple.

Then, you would have to create a script that reviews the populations, levels, and performance of rogue drone activity surrounding various space stations scattered throughout the high security solar systems. Based on that analysis (that happens at server reset each day) these scripts feed inputs into “Rogue Drone Mangement” agents whose missions are then modified according to how “dangerous” the nearby rogue drone activity has been. If the drones have achieved pretty high levels then the missions are populated with high-level drone equipment. So, in addition to what the players actually experience in asteroid belts as far as rogue drone infestation, interference, and competition for ore, there will be a dynamic, responsive mission-customizing NPC element that gives out missions with rewards and difficulty adjusted to the actual threat level of the drones it is “monitoring”.

The beauty of it is that non-combat players and player corporations will have an incentive to pay fighters to keep real rogue drone populations at bay. Rogue drones will thrive in solar systems with little to no player activity and tend to spread out from there.



What does fluoride do for you?

Fluoride is said to do this:

1. Changing the structure of developing enamel, making it more resistant to acid attack – these structural changes occur if a child consumes fluoride during the period when enamel develops (mainly up to seven years of age)

2. Encouraging better quality enamel to form that’s more resistant to acid attack

3. Reducing plaque bacteria’s ability to produce acid, which is the cause of tooth decay

From here:
http://ift.tt/1NZxjwQ



Fluoride – Is it toxic?

This study looked at general organ and reproductive toxicity. Generally speaking, it didn’t find any issues with fluoridated water, even up to fairly high concentrations. It seems

http://ift.tt/1NZxjwO



GzipDecompressor: block size is too big when querying Hive table backed by gzip files

GzipDecompressor: block size is too big: 420818391

It seems the block is around 400MB. I guess that’s somehow too big.



Tuesday, September 1, 2015

Installing Atlassian Jira on an AWS EC2 instance

instance size: t2.micro
set storage to 30GB (that’s the max for the free tier)

update yum:
yum update

install wget:
yum install wget

install nano (because life is better with nano):
yum install nano

Change directories to tmp:
cd /tmp

Download the 64-bit Jira Linux installer from here: http://ift.tt/1ami0rs

Make that thing executable:
chmod u+x atlassian-jira-*.bin

Run the installer:
./atlassian-jira-*.bin

Hit ‘enter’ to select all the default options. This installs it to run on an HSQL database, which is perfectly fine for 10 users (or even more really). This installs Jira as a service too, so you can easily set it to start on boot.

Set it to start on boot:
chkconfig jira on

Turn off iptables (assumes you are using some other firewall, like AWS security groups):
service iptables stop
chkconfig iptables off

Browse to the instance on port 8080 to run the initialization stuff

wow… talk about a slick and utterly painless setup. Holy…. cow…. Just keep your team under 11 people 😉

notes:
you’ll get this error if you’re trying to install the 32-bit version of Jira on a 64-bit OS: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
(from http://ift.tt/1raWaiF)

Not sure right now if you’ll need to disable selinux or set it to permissive, but if you do:
nano



Installing Atlassian Confluence on an AWS EC2 Instance

Turn off iptables (assumes you are using security groups as a firewall):
service iptables stop
chkconfig iptables off

You will need to add swap space (http://ift.tt/1KFFpK0):
dd if=/dev/zero of=/swapfile bs=1024 count=3096000
mkswap /swapfile
swapon /swapfile
add this in a new line to /etc/fstab:
/swapfile swap swap defaults 0 0

Download the Confluence installer from here:
wget http://ift.tt/1iUQ6Ip

Make that thing executable:
chmod u+x atlassian-confluence-*.bin

Run it:
./atlassian-confluence-*.bin

Press ‘enter’ to do all the default install options
Notes:
The swap space is necessary in order for Confluence to even start
You may need to turn off selinux (set /etc/selinux/config to have “disabled” instead of “enforcing”)
The step where it auto-pulls a trial key takes crazy-long
I’m not sure how truly performant this will be a on a t2.micro, so you may need to create an image and launch it on a t2.small or t2.medium for more CPU horsepower