Custom software programming services

Posted by medicinestorm on Sunday Aug 10, 2014 Under Software Projects

Providing professional application and website programming solutions. Contact us at info (at) medicinestorm (dot) com to request any of the following services:

  • PC applications
  • Database integration
  • Website design & development
  • Web administration
  • PostgreSQL, TSQL, MySQL
  • VB.Net, C#, C++
  • Mobile apps
  • Bug fixes
Tags : | add comments

Lore the phoenix

Posted by medicinestorm on Friday Jun 15, 2012 Under Games

Lore the SithThey say betrayal hurts more the closer you are to the betrayer. Well, you can’t get much closer than your own body. Lore’s body betrayed her, and it broke her heart to the core. She is with God now and He’s giving her a new body and mending her broken heart. We just wish He would hurry up because there is a big line of broken hearts forming down here on Earth that still need mending too.

LoreWe didn’t get to spend as much time with her as we would have liked, but in the time we had we found many common interests: Well written books, the romance of symbols, role playing, engineering, stories, fantasy, faith, science, science fiction, and games. She had a mind like a diamond; Solid and pure and dazzlingly brilliant.

PhoenixLaurie Ann Earls is one of those people that you never expect to die. Passionate, bright, immortal… A phoenix. Lore always loved the phoenix. Both the Marvel comic book character as well as the character’s namesake. She had adopted it long ago as one of her symbols. The mythological creature that rises from the ashes of it’s own death seems ever more appropriate for her, too. Even in her death she lives.

Laurie EarlsAs lovers of games and fantasy and role playing we worked together on a team of several highly talented people to create a fantasy RPG. The small amount of story writing Lore did as the lead writer on the project was exciting and inspiring. Not just for the content of the writing but also for the possibilities it implied. As a programmer, we could never do her story justice by ourself, but luckily there are a few other writers working with her who seem to share Lore’s vision.

Lore's CrestThough we are glad for the time she got, Lore deserved more of it. She deserved the greater opportunity that her potential demanded. Lore deserved immortality, so we intend to immortalize her. Lore’s passion was for writing, but we fear we lack the skill to do her justice with words, so we will immortalize her in the only way we know how; Code. Game code.

We cannot speak for the other creative minds who have a stake in Project Utumno, but we’d like to dedicate our portion of this game to her. Not only in the parts that we create, but also as a prominent character within the game’s story. We don’t yet know what form- and to what extent- these features will take, but we have no doubt it will be an adventure.

We love you, Laurie. Good game!

Geisha with a gun

Tags : | 2 comments

Minecraft Sleeping Etiquette

Posted by medicinestorm on Friday Jan 6, 2012 Under Games

We get a lot of questions and arguments about our bed policy on Minecraft so here is a list of Frequently Asked Questions and our answers… but first the policy in question:

‘If any player wants to skip night, all players should be courteous and do one of the following:

  1. Get to a bed fast (try to keep it under a minute) and sleep. Once in bed, type the message “bed”, “sleeping” or similar.
  2. If you are in the Nether when you see someone indicate they are in “bed”, continue what you are doing but type the message “nether” so others know they aren’t waiting on you.
  3. Once everyone who has gone with option 1 has reported that they are in “bed”, disconnect from the server, count to 10, then reconnect.’


  • Q: Why are you such a “bed nazi” in minecraft?
  • A: By remaining awake during night, you are inflicting the wrath of creepers (and other mobs) on other people’s creations. Even when someone is sheltered against mobs during the night cycle, the longer the night lasts, the more mobs will be waiting to undo their hard work as soon as they leave. Rude!
  • Q: Shouldn’t we vote on if the server should sleep?
  • A: No. For the same reason we don’t vote on whether people are allowed to dump garbage on the side of the road. The majority may want to do it, but it indirectly and unjustly harms the minority.
  • Q: What if no one on the server really needs to skip night?
  • A: If no one feels the need to sleep, then by all means burn the midnight oil. But if even one person wants to avoid their hard work getting blown up by creepers then everyone should sleep; underground or not.
  • Q: What if I’m mining/adventuring and not near a bed?
  • A: Bring a bed with you.
  • Q: I would bring a bed with me but I don’t want to spawn back at origin if I die because I moved my bed after sleeping in it. What then?
  • A: Leave the bed where it is after sleeping in it.
  • Q: Beds are expensive. Do I have to carry around a bunch of beds so I can leave them all over the place?
  • A: No you don’t. There are several options, but here are 2 of them:
    • Beds are not expensive. A single sheared sheep and a single block of wood provide all the materials needed to create a bed. Carrying a 64 stack of wood and a 64 stack of wool take only 2 inventory slots and contain everything you need to create 21 beds as well as 16 crafting tables.
    • You only need one bed in the approximate area you are adventuring in. When night falls, go to that temporary nearby shelter.
  • Q: Since I refuse to carry a bed/temp-shelter with me, I guess don’t mind trekking ALL THE WAY back to my house to sleep *sigh* but I am underground and can never tell what time it is until somone else says “bed”. It takes so long for me to get back to my house after that. Isn’t it the same as just not sleeping at that point?
  • A: Carry a clock. When the clock indicates night is approaching, start heading back to your house.
  • Q: I don’t WANNA carry a bed!… Or a clock! They’re too bulky! *sniff*… Please?
  • A: Aww, poor little guy… you don’t have to sleep. Just log out as soon as everyone else is in bed, then log back in.
  • Q: I would log out + log in, but isn’t it kind of a waste of time to log back in when I get an “End of stream” error or similar?
  • A: Yes, it is a waste of time, but not as much of a waste of time as rebuilding your creations because a creeper destoryed them after someone took their sweet time getting to bed! We are researching a fix for these errors, but in the meantime, this is not a legitimate reason for refusing to disconnect or sleep.
  • Q: Wouldn’t it be easier to just use the Op /time set command to skip night?
  • A: Yes it would. It would also be easier to just use the Op /give diamonds command, the op /xp 5000 command, the Op /tp player command, enable flying on the server, or set peaceful monsters on the server. There are special circumstances where these commands are appropriate, but they are used rarely because using them all the time is convenience at the expense of game play. Using the time set command all the time effectively eliminates the need for beds, eliminates the ability to change spawn points, and devalues all armor, weapons and potions since part of the game is defending against monster attacks when you are late getting back to shelter after nightfall.
  • Q: What if there is a special circumstance like if I just died so I have no items and am a long distance from my shelter?
  • A: Key words here are “special circumstance”. Most players are willing to be patient and deal with mobs on that rare occasion when stuff like this happens. Not a big deal. However, if you are consistently holding everyone else up because you take forever getting to a bed or disconnecting… we feel the Op /kick command is far less disruptive to game play than /time set.
  • Q: Don’t you think you are being a little high-and-mighty about this?
  • A: If you really feel that way we will voluntarily revoke our own operator status.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Tags : | 1 comment


Posted by medicinestorm on Thursday Sep 23, 2010 Under Uncategorized

This site is undergoing an extreme web makover. Please check out our primary game project in the meantime:

Project Utumno

Tags : | add comments

The poor-man’s Klein Lantern

Posted by medicinestorm on Tuesday Sep 21, 2010 Under Nearly Pointless Contraptions
Klein Bottle

(Fig. 1) Acme Klein Bottle

Once upon a time, we were pondering 4 dimensional shapes (as we often find ourself doing, for no reason we can think of). Namely, the Klein bottle. For those of you unfamiliar, a Klein bottle is a mathematical concept of a bottle who’s neck curves back around on itself and comes out the base of the bottle. Because there is technically no transition point where the surface of the bottle goes from being the outside of the bottle to being the inside of the bottle, by definition the bottle has no sides. There is no definable inside and no definable outside of the bottle, so it is said to be a container that has no volume. Any liquid you put in it would rest on the “outside” of the bottle.

Although a true Klein bottle can’t really exist in only 3 dimensions, a three-dimensionally immersed four-dimensional object is acceptable. (See Fig. 1 left) Such bottles are available from the Acme Klein Bottle company. Knowing that such an inconceivable shape is actually tangibly obtainable, we found ourself trying to think of some practical applications for a Klein bottle, or at least some “not entirely pointless” applications. Fascinating decanters, no doubt, but not exactly the easiest jug to drink from. “Hmm…a practical purpose…” we thought to ourself. Then it hit us. We quickly responded to ourself with “Self, why not combine our two favorite things: 1.) Stuff that is impossible to represent in this plane of existence and 2.) Fire!”

Klein Lantern diagram

(Fig. 2) Klein Lantern diagram

The five of us (ourselves and I) quickly formulated a design for a decorative and functional Klein Lantern. Fueled by isopropyl alcohol or ethyl alcohol, a Klein lantern is very cheap to maintain. There are no moving parts, no wicks, and no filaments. All it needs is a starter flame to it get going. After that, it will perpetuate its own operational need for a heat source. (See Fig 2. right)

  1. Obtain a Klein bottle and choose a place to hang it. Keep in mind that you want it away from any flammable material and you will want to use wire or other non-melty hanging devices.
  2. Fill the bottle with your fuel of choice. This can be tricky. Here are a few good ways to do this:
    1. Turn the bottle upside-down and pour a small amount of fuel into the neck. Turn the bottle right-side up such that the fuel will go into the body of the bottle. Repeat until the bottle contains the desired amount of fuel.
    2. Or insert a slender hose into the bottle and pump or siphon the fuel in through the hose.
  3. Hang the lantern and place a candle or other flame beneath the lantern to get it going.
  4. The fuel will quickly begin to boil, vaporising the fuel.
  5. The vaporized fuel will travel out the only way it can; around the neck and out the bottom of the bottle.
  6. The vapors will be ignited by your starter fire and will hug the lantern in a loving corona of light and heat (and pain. Keep your hands a few feet away from the lantern at this point)
  7. Now that the fumes are lit you can remove the starter fire. The burning fuel vapors will keep the fuel inside the lantern boiling, thereby making more vapors, thereby keeping the corona fire going, thereby keeping the fuel boiling, and so on until the lantern runs out of fuel or until you extinguish the corona.

Although the self-perpetuating heat/fuel cycle is nifty, the part that makes this lantern unique is the fact that the flame is entirely on the outside of the gizmo (or is it the fuel that’s on the outside? Non-orientable lanterns can be so confusing!) A concentration of at least 70% isopropyl (rubbing) alcohol or at least 140 proof ethyl (liquor) alcohol is recommended. Due to it’s potential as a fire hazard, this is not recommended for indoor use.

Prototype parts

(Fig. 3) Prototype parts

The only drawback is the cost of the Klein bottle. As awesome as we think they are, we can’t afford even a small one. So we set out to make a proof-of-concept prototype using nothing but junk found at a dumping site. Since 2-D manifolds are not exactly something people just throw out (or possess in the first place) we needed to recruit an expert in the field of MacGyvering. Richard Dean Anderson was busy that weekend so we contacted our very close second choice, Ventor24.

After consulting his massive mental rolling inventory of every piece of scrap gadget in a 14 mile radius, we discussed a design that would emulate the function of a Klein bottle, but consist entirely of discarded objects. Ventor dispatched us out into a land of “another man’s treasure” to find the components we would need: A soda can, some fuel, a piece of copper tube, a rubber cork, an old candle, and a burnt out light bulb. (See Fig. 3 left)

We didn’t actually find any isopropyl alcohol in the junk site, but we did find some turpentine that Ventor was able to siphon out of a broken-down tractor. Ventor tells us turpentine tastes awful. We had to carve the rubber cork out of a chunk of old tire. We found the light bulb inside an old refrigerator and the copper tubing came from a calcified swamp cooler. We used Barqs Root Beer for the soda can. We don’t think the brand made much of a difference, but Ventor and us both agreed the extra “awesome factor” of using a Root Beer variety of soda improved the overall quality of the prototype.

Bulb diagram

(Fig. 5) Bulb diagram

Bulb & dremel tool

(Fig. 4) Bulb & dremel tool

The first thing we needed was a reservoir for the fuel. Light bulbs are the right shape and size and are designed to get pretty hot without breaking. We found that higher wattage bulbs work best since they are designed to handle the excess heat that comes with being a brighter bulb.

  1. Using a hacksaw, we cut the tip off the end of the bulb. This required some delicacy since we didn’t want to crack the glass in the process.
  2. Using some needle-nose pliers, we then carefully broke out the inner portion of the bulb that holds the wire and tungsten lighting filament. By placing one end of the pliers’ jaw on the metal exterior of the bulb and the other end of the pliers’ jaw on the glass edge, we were able to crack the interior component all the way around the inside without harming the rest of the bulb.
  3. Next, Ventor was able to smooth out the inside edge of glass using a Dremel tool. (See Fig 4. right) After dumping out the broken interior glass and washing out the bulb, it was ready to be filled with fuel.
Rubber cork diagram

(Fig. 6) Rubber cork diagram

In order to prevent the fuel vapors from leaking out and escaping uncombusted, we needed a way to seal the gap between the vapor tube and the neck of the bulb. At first we were thinking of wrapping the copper tubing with duct tape before jamming it into the end of the bulb, but Ventor pointed out that, once ignited, the flaming corona would melt the tape and quickly break the seal.

  1. We found an old tire and cut a chunk of rubber out of the soft bead portion.
  2. Using a Dremel tool, we drilled a hole through the center of the rubber chunk. We used a drill-bit that was slightly smaller than the diameter of our copper tubing so it would fit in snugly and not slip off or leak.
  3. With a pocket knife, we carved off the sides of the cork at a tapered angle so we could jam it into the neck of the bulb without it falling in.
  4. Using the Dremel tool again, we smoothed out the sides of the cork until it was a smooth tapered cylinder. We found the wire brush polishing attachment worked best.

A conduit was needed to get the fuel vapors from inside the bulb to the bottom where they would be ignited as the corona fire.

Fuel Tube diagram

(Fig. 7) Fuel Tube diagram

Although we had an excess of plastic and rubber hoses, we decided on copper tubing mainly for its ability to not melt, whereas plastic tends to lack that ability.

  1. After measuring out some tubing approximately 3 times the length of the bulb, Ventor cut the segment with a hacksaw.
  2. With his bare hands, he then bent 2 gentle 90-degree angles into the tube, making a wide U.
  3. Ventor bent 2 more 90-degree angles on each end of the tube, creating an elongated C shape.

Yay! The basic parts were complete, now to fill the bulb with some fuel that Ventor had siphoned earlier and put the pieces together. At this point we had no idea if all our hard work would amount to anything. It might do nothing more than puff once and go out… or worse: It could explode, showering us with flaming fuel and broken glass!

Assembling the prototype

  1. Pour fuel into the bulb. We don’t recommend filling it beyond the body of the bulb.
  2. Firmly jam the cork into the open end of the bulb, being careful not to break the glass.
  3. Insert the copper tube into the cork. You may have to bend one end of the C-tube away so you can get the other end in. Once it is firmly in place, gently bend the other end of the tube back into position beneath the bulb. The completed assembly should look something like what Ventor is holding (See Fig 10 below far right)
  4. Hang the lantern with wire (not string! it will melt.) or place the bulb on the optional soda-can-lantern-stand (see video below).
  5. Light the starter fire candle and place it under the bulb. We forgot to bring matches, so we soaked a piece of cloth in turpentine and rubbed a 9-volt battery on some steel wool to create a spark.
  6. Fuel takes much less time to boil than water, so we saw bubbles pretty quickly.
  7. Vapors begin to generate…
  8. …and viola! The corona is lit. Remove the starter candle and enjoy!
Assembled prototype diagram

(Fig. 8 ) Assembled prototype diagram

Ventor with prototype

(Fig. 10) Ventor with prototype

Lantern with corona

(Fig. 9) Lantern with corona

Lit lantern at night

(Fig. 11) Lit lantern at night

Tags : | 1 comment