The More You Know » 2008 » February
For those of you not familiar with Stage6 (Possibly a dead link now), it was a website that used the high quality DivX format to provide streaming video content. It was, simply put, amazing. When I say that I don’t mean it lightly either. The player integrated easily into FireFox and Internet Explorer. It even supported Linux users with player, distribution and application information. On top of that the website was simple, intuitive, fast and provided high quality videos that could be watched full screen and made YouTube look like a joke.
“Then why is it going offline?” I hear you ask and “Why should(n’t) I cry about it?”. Well we should take a look at what really caused Stage6 to take a hit from the “ban-hammer.”
The official Stage6 blog stated stated (here) that:
…So why are we shutting the service down? Well, the short answer is that the continued operation of Stage6 is a very expensive enterprise that requires an enormous amount of attention and resources that we are not in a position to continue to provide. There are a lot of other details involved, but at the end of the day it’s really as simple as that…
That leaves quite a bit of room for interpretation. There are tons of types of expenses that would affect a site like this, like hiring lawyers, and there are tons of types of attention that are required to keep a site like this running, like having lawyers look into content piracy litigation.
I think the information was best said here by SeekingAlpha.com that
Six weeks after DivX [Stage6's creators]filed for declaratory relief, UMG [Universal Music Group] finally made good on their threat and filed a lawsuit against DivX accusing them of piracy [of music videos]. By bringing DivX up on charges, they were able to successfully argue that their trial was a more appropriate venue for this question to be answered. While this does represent a setback for DivX, I doubt that the result was entirely unexpected.
Now who is really to blame? The real content providers, yes us. Since its impossible to point a finger into the masses and single any one person out, it was us who made Stage6 popular for pirating and we can not help but expect this kind of action to be taken. I know that a lot of people may say that “The Man” (read as the government) is coming down on us/Stage6. That “The Man” (read as big business) is keeping popular content from the people.
However, what it really comes down to is that watching content for free is illegal and it’s stealing. Companies make products to make money not to give them away for free and when they move to protect that content no one can really blame them. I love free things just as much as the next person. However when free means stealing, who really gets hurt? In this case Stage6 did.
The point is, if a service offers or provides a way for private content to be freely obtained against the will of the content owner it will always be taken down. One way or another, fairly or unfairly and we should expect it every time. Anyone who didn’t expect this to happen is probably just learning that services like Stage6 will spring up and die out when the prirates come. As cool as pirates are in movies, games, etc I really don’t like it when they destroy something I used to use to legally enjoy indie-content.
For those who enjoyed Stage6 by watching indie-content provided freely by the creators, I apologize for the rest of the Internet who didn’t see Stage6 the way you did. You saw it as a platform to provide brilliantly clear video to entertain people with your own ideas and abilities. The hungry piracy mob saw it as a way to distribute/obtain free protected content and destroyed it.
To all the people who enjoy pirated material, the zeal of the free meal. Take your pirating and keep it underground. Keep it out of the mainstream or it whatever service you are using will be taken down. Keep it away from awesome sites like Stage6. Piracy made easy will always be the death of content providers. Even good ones and no amount of user donations will keep it up.
I think the hardest part of paintball, was actually getting my first set of gear. I couldn’t find a good source of information that told me all the newbie things I didn’t know I needed to ask. I’ve been playing consistently for awhile now and I feel that I can now write the article that I desperately searched for.
This guide is aimed at players who have never played paintball or have with borrowed/rented equipment and played a few times and want to buy their own equipment. It is written with the perspective of indoor speed ball. It also aims at answering the following questions:
- What clothing do I need?
- What should I look for in paintball clothing?
- What paintball hardware/equipment do I need?
- What are some things I should know about paintball fields?
- What are some common paintball terms?
Clothing
There are a lot of choices in gear. At the field the most common things you will see are paintball mask (goggles), gloves, jerseys (shirts), pants, and pod packs. As with most purchases there is a line where the clothing gains a few useful perks while still not blowing your wallet apart. I will focus on clothing such as this and name a few qualities that separate the bottom of the line from mid-grade/high-grade.
It is worth mentioning that you don’t need any of the below items besides a mask. Everything else is optional. A good sweatshirt, jeans, and tennis shoes can work just fine for paintball.
The mask is the most obvious piece of equipment and is a required piece on every field I have ever played on. Masks come with a few types of lenses and host of other options. You can even find mask with small fans to move air across the lenses to reduce fogging. However for most play you firstly want a mask that fits and feels snug on your face. If you are at a store ask to try one on. Ensure it feels good and breathe heavily to see how/if it fogs quickly on you. Also talk with it on, you’d be surprised how many masks curve under and can hit your chin. The more you play the more you will talk in combat to communicate with your team.
Beyond that most mask are split into two categories thermal and non-thermal. Non-thermal lens masks fog more often and quicker, so avoid them at all costs. Most good, durable, and good looking thermal lens masks start at about $80.
Lenses can also be polarized. If you are planning to play indoors or in poor lighting try to avoid polarized lenses. They will only hurt your ability to see your target. Consider it to be akin to wearing sunglasses at night. If you plan to play indoors and outdoors and want/need polarized lenses buy an extra lens opposite of what your mask comes with and swap them as needed.
Jerseys do not really matter, as long as you feel cool wearing it. The cheapest ones fall apart in the wash and the most expensive ones come with padding, gel coverings, etc. and may still fall apart in the wash. To find a midline jersey, look for padding on the wrists, shoulders, and mid section. If you are planning to wear a pod pack (belt that carries more paint) the mid section padding most likely will be useless as it will be covered by a wide stretchy belt.
Paintball pants are pretty expensive as pants go. They can easily cost upwards over $100. The main things you are looking for is stretchy material on the knees and crotch. You want to be able to comfortably side step and crouch in them without feeling restricted. There should also be very narrow slot type pockets on the left and/or right upper calf area. These small pockets are used to carry a barrel swab (not barrel squeegee) for in game cleaning.
The main difference between the cheap pants and the mid grade and above is padding. You can get ones with light padding on the knees and butt/lower back. All padding is a comfort choice. Just remember you are going to be wearing these pants for a few hours, while running, kneeling, and crouching.
Gloves can be overpriced more than most other pieces. It’s easy to get caught up in the gelled tips or backs. Don’t buy into the hype, they aren’t worth $50. Gloves are meant to keep your hands from hurting a lot when your hands get shot. They will never stop your hands from hurting a little. I’ve seen many people use yard working gloves on field and say they are the best gloves they have had. Just find gloves that you don’t mind wearing and let your fingers move freely. Playing with gloves that fit snugly will help when you learn how to double finger trigger (aka “walk”) as they won’t rub together as much.
Pod packs come in a variety of sizes and pod load. Pods are tubes that carry about one hundred and fifty extra paintballs onto the field. A pod pack can be used for two main reasons: refill in game and to not have to keep bags of paint lying around between games. The later reason is for convenience, as it is nice to just pop a tube, fill your hoper before the next game. This is extremely nice when you are playing a quick succession of games. The former reason caused the inception of the pod pack. There is nothing worse than running out of ammo mid fight.
Tubes have a standard size and I have yet to see a tube in a store that was too large/small for a pack. Besides, most packs come with tubes. Packs usually use stretchy nylon so even if the pods are slightly large they will still fit. The main thing to pay attention to when buying a pod pack is that it fits around your waist as they do come in different sizes. Ensure you try it on and crouch on the ground while arching from side to side as these positions will matter the most for comfort. If the pack has any padding this will ensure you are pressing it into you back to see if it causes any problems. Padding is almost never needed on pod packs but is put on the more expensive ones as features.
Also check the number of pods it can carry and decide how many pods you want to carry. Three and four are good numbers, but it is rare when you will run through one pod plus your hopper worth of ammo in one game when starting out. The last thing to consider is the orientation of the pods. Most packs are bottom loading, meaning if the belt was on you, you would put pods in by shoving them up into the belt and then strapping them in. Other packs have them load from the sides or the sides and the bottom. Consider your personal arm reach and what you feel comfortable doing. Also remember you will most likely be crouching while reloading mid match so make sure you try it out in that position too.
If the pack doesn’t come with pods don’t forget to buy them. The standard pods have a simple flip top that springs open for you. There are other pods where you pull sheathing down the pod to open it. Either is fine and no one has an advantage over the other.
Hardware/Equipment
First off, here is a simple list of the basics of what you should seriously consider when buying your first set of gear.
- A marker/gun
- A tank (HPA/Nitrogen or CO2)
- Barrel bag
- Extra tank o-rings
- Tube of lithium grease
- Screw drivers/Long handle allen (hex) wrench set
- Service/replacement parts kit for you gun/marker
- Gun oil/marker oil
- Barrel squeegee
- Barrel swab
Your paintball marker/gun will probably be your main concern when picking out hardware for your gun. There are so many makes and models. And on top of that there are aftermarket customizations and modifications (commonly called “ups” as in upgrades) that are possible. Read about the marker you have in mind and talk with other players. Consider your price range and what you want to do with the gun. Guns that cost the most generally come with electronic boards to control rates of fire. For best results look at makers that have been around for a long time such as Tippman or Spyder.
Ensure your marker comes with a barrel bag as well. If it does not, buy one. They usually cost $5-$15 and are required by all fields. A barrel bag is a pouch that fits over the end of a marker’s barrel and has an elastic loop that is stretched to the rear of the marker. This keeps any accidental shots from hitting people when not on the field. You can also buy barrel plugs that jam down into the barrel, but fields are increasingly banning these as they aren’t always effective at stopping shots and are sometimes fired out of barrels.
Markers also can use different types of pressurized gas for power; HPA/Nitrogen/Compressed Air or C02. The two different types have different strengths and weaknesses. CO2 can carry more fires in a smaller tube while HPA offers more stable firing speeds which yields a more stable flight path. Most markers can be tuned to use HPA or C02, but may require modifications or additional parts for CO2. The large majority of markers sold now use HPA as it is known for increased accuracy and cleanliness. CO2 is liquid when pressurized and sometimes leaves behind trace amounts of liquid within the marker.
The tank that powers your marker can come made from two materials: steel or carbon fiber. Steel tanks are heavier, but can be used for a life time. Carbon fiber tanks are lighter and carry more air, but can only be used for five years. The main difference is that steel tanks are cheaper and run around $80 while carbon fiber tanks cost upwards to $200. As far as capacity is concerned, the standard steel tanks that can carry 3,000PSI usually last beginners three to six games. Beginners can buy either as the tank hardly affects the game play and is mostly a cost benefit decision.
All tanks also have an “o-ring” around their nozzle. This ring helps create an air tight seal when the tank is attached to a marker. This ring is extremely important and without it your marker will leak air. Ensure your tank has one and that is lubricated with lithium grease. If it is not lubricated it will rip/tear/slid off when screwing the tank in. Lithium grease is relatively cheap and can be bought at any hardware store. It is also suggested to carry a few extra o-rings as they will need to replaced.
As markers are used over time, it is necessary to service them. The internal parts of the marker need to be maintained every few months of play. This includes disassembling the marker and lubricating key components with gun oil. Checking internal o-rings (different sizes depending on piece and marker) and lubricate them. It is also possible for these pieces to break during play. So it is important to buy a repair/service kit parts pack for your marker. If you don’t have it when it breaks in the middle of the day it could ruin your whole experience. These packs are made by the marker manufacturer and are usually $15-$20 and contain the most commonly replaced parts.
Ensure you have a set of screw drivers and a long handle allen (hex) wrenches you can take to the field with you. You should have all the tools necessary to service your gun should you need to and some fields do not supply tools to chrono (alter the exit speed of paintballs from your gun). Long handled wrench sets are suggested as some markers/pieces have screws in deep wells (usually on the forward handle) that cannot be reached with their shorter common counter parts.
Barrel swabs and squeegees are used for the same thing, but at different times. If you break or “chop” a ball inside your gun, it will make a mess inside the barrel. This can cause more balls to break in there and at the very least cause your balls to fly oddly destroying any accuracy you had. In the middle of a fight, a barrel swab is used. It is a stick with fluffy material around it. The swab is shoved down the barrel and quickly removed. Swabs are washed with water to keep them clean. They can be single sided or double and should be $5-$10. It does a good job, but not the best. Barrel squeegees are used out of combat with the barrel removed from the marker. They ensure the entire length of the barrel is cleaned without leaving any fibers inside the barrel. If you are not in a game, use the squeegee.
Fields
Here are a few things most new players do not find out about till after they go to the field and make the mistake of doing it. This isn’t a complete list of all the field rules involved, just the ones that might not be said.
First off, never ever shoot the bunkers (the plastic obstacles) on purpose/outside of a game. The bunkers become air permeable (meaning they leak air) over time. As they are shot they lose a little air and with enough fire will need to be replaced. No one likes to play on a field with a leaky bunker. So, don’t contribute to the problem. While a game is in progress you will shoot bunkers, do not worry about it too much but do not go out of your way to shoot them. Also if you need to test fire your gun, aim at the corner of the field not a bunker.
When playing during an “open play” time ensure you find out the rules. Some fields have special rules for open play and may even split up the groups into advanced and beginner groups. The main difference between these groups is they may not allow certain firing modes for electronic markers. This can range from not allowing full automatic or even burst settings. They may also not allow bunkering. Bunkering is when a player runs to the side of a bunker that an enemy player is hiding behind and shoots them at close range. If you haven’t played at a field before, ask about the rules for different play groups.
Common Terms/Slang/Glossary
Every sport has its own words used to quickly describe different events, objects, strategies, etc. I will not claim to know them all or even be able to provide a comprehensive list. However, here is a short list of terms I have found useful.
- Air – See HPA
- (to) Bunker – Move around a bunker an enemy player is behind and shoot them at close range.
- Chop – To break or slice open a paintball inside the marker.
- (to) Chrono - A speed check of how fast balls are being shot out of your marker. The standard maximum is 300 fps (feet per second). However some fields have limits at 250fps or 275fps.
- C02 – Carbon Dioxide, an older common pressurized gas to power paintball markers. Its tanks are usually smaller than HPA however shot speed can be variable and is also affected by the temperature of the tank/environment.
- Compressed air – See HPA
- Gacked – Having one’s paint stolen
- HPA – High Pressure Air more commonly referred to as compressed air, air, or nitrogen. Tanks for HPA are generally larger than C02 and come with pressure gauges. HPA is known for is more reliable shot speed.
- Marker – A paintball gun
- Nitrogen – See HPA, a misnomer for air.
- Paintball – A thin plastic shell that is filled with water based washable liquids of variable color.
- Paint – see paintball
When working with relational data in a stateless environment (e.g. web applications) it is sometimes not known if something is being created (insert) or being updated. This is generally seen when an object has an 0..N number of sub elements.
When the data from the user is to be processed, it would be best to handle both inserting and updating with a single statement. Developers new to databases generally handle this transaction with multiple statements using conditional “IF” statements to determine the number of rows a result set has. Based on the number of rows (0 or 1) an insert or update is performed. This approach suffers from lag between the logical language (Java, PHP, PL/SQL, etc) and the SQL engine. Even Oracle suffers overhead from this approach due to context switch overhead that is incurred during PL/SQL to SQL (or vice versa) switches.
This performance loss may be trivial or non-trivial based on use. If the process in question will accept thousands of items it can perform poorly. A few hundred rows may not. However, it is possible to write a single version that will work better overall and scale well.
The first step is changing from a multiple query approach to a single query approach. This can be done with UPSERTS or more commonly known as a MERGE statement. In Oracle a MERGE statement is defined by the following syntax:
1 2 3 4 5 6 7 | MERGE INTO destination_table dest USING (SELECT col1, col2, col3 FROM source_table) source ON (dest.col1 = source.col1)WHEN MATCHED THEN UPDATE SET dest.col2 = source.col2,dest.col3 = source.col3 WHEN NOT MATCHED THEN INSERT (dest.col1, dest.col2, dest.col3) VALUES (source.col1, source.col2, source.col3) |
A more complete Oracle MERGE syntax definition can be found here (Oracle 11g Database)
For a more practical example, here is a PL/SQL function that updates a data column on a table with a single primary key named “ID”.
1 2 3 4 5 6 7 8 9 | PROCEDURE UPSERT_TEST_BY_MERGE(P_ID NUMBER, P_DATA VARCHAR2) IS BEGIN MERGE INTO MY_UPSERT_TEST_TABLE DEST USING( SELECT p_id AS ID, p_data AS DATA FROM DUAL ) src ON (DEST.ID = P_ID)WHEN MATCHED THEN UPDATE SET DEST.DATA = P_DATA WHEN NOT MATCHED THEN INSERT(DEST.ID,DEST.DATA) VALUES(P_ID,P_DATA); END; |
The select statement is required in the USING clause of the MERGE statement. In this example a fast dual look up is used to fulfill the USING clause. It is notable that neither the INSERT or UPDATE clauses need to refer to the USING clause data. It is possible to reffer to simple PL/SQL variables that are also valid SQL types (VARCHAR2, NUMBER, etc but NOT TABLE/complex types without casting/treating).
The above example is a good single entry UPSERT/MERGE. However it will still suffer from heavy serial use. Again using this function for thousands of rows from within a “WHILE” loop in PL/SQL will result in performance issues. To solve this issue in PL/SQL collections (read as: arrays) are used in conjunction with a “FORALL” PL/SQL statement.
The following example uses PL/SQL collections with a PL/SQL “FORALL” statement in order to MERGE hundreds of thousands of rows into a table in sub-second speed. It is VERY important to remember that MERGE is a SQL statement and thusly can only work with SQL (not PL/SQL) types. Thusly, a collection is defined as a table of PL/SQL types that are cast or “treated” as schema level types. This requires a PL/SQL type being defined in a package and also as a schema level type. Both definitions need to have matching data type properties and must use SQL safe types only.
The last example uses a PL/SQL table defined as MY_USERT_TYPE. This type is defined as a “TABLE OF MY_UPSERT_ROW”. MY_UPSERT_ROW is defined exactly the same as the schema level object MY_UPSERT_OBJ.
1 2 3 4 5 6 7 8 9 10 | PROCEDURE UPSERT_TEST_BY_MERGE_COL( p_records MY_UPSERT_TYP) IS BEGIN FORALL i IN 1..p_records.COUNT MERGE INTO MY_UPSERT_TEST_TABLE DEST USING( SELECT TREAT(p_records(i) AS My_Upsert_Obj) AS obj FROM DUAL ) src ON (DEST.ID = src.obj.id) WHEN MATCHED THEN UPDATE SET DEST.DATA = src.obj.data WHEN NOT MATCHED THEN INSERT (id, data) VALUES( src.obj.id, src.obj.data ); END; |