TROOPERS conference badge

  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.
  • warning: Creating default object from empty value in /home/jeffreygough/drupal4/sites/warrantyvoidifremoved.com/modules/spam/spam.module on line 488.

Electronic badges are all the rage at IT security conferences these days. I think DEFCON started it all with badges made by Joe Grand, but there have been many others, like the Sputnik RFID tags at 25C3, the expandable bunny badges at Easter Hegg, Munich, by lilafisch and friends, and Travis Goodspeed's badge for The Next Hope.

I created 210 interactive badges for the TROOPERS11 IT-sec conference in Heidelberg last month. They feature some ethereal vintage vacuum glassware - IN-16 nixie tubes made at the Reflector factory in Saratov in the former USSR in 1989. I purchased them new-old-stock from some handy guys in Lithuania.

A video of the badge in action:


 

Each conference attendee starts on zero. As they unlock achievements at the con - like sending postcards to their families, meeting the speakers, unlocking the secret in the badge, attending my SMT soldering workshop, etc, attendees level-up. Those who reached the highest levels were entered into a prize draw to win hacker goodies. I designed this levelling-up concept to connect with the central themes of the TROOPERS conference - personal progression, education, and becoming better IT security professionals. Florian did an amazing job of weaving the badge and the game concept into the very fabric of the conference. 

The badge hangs around the neck from a CAT5 cable, rocking the network security image. Red for the speakers, green for everyone else. Here I am wearing the bare, prototype PCB. Have you any idea how difficult it is to find 750mm CAT5 cables? It's quite difficult.

As well as being the LANyard (sorry) the cable functions as the power switch, levelling-up mechanism, programming interface and debug output (and attack vector for intrepid hardware hackers!). When an attendee unlocked an achievement, he took his badge to the information desk where one of the organising staff would plug in a special dongle to update his score. The dongle is simply a TI Launchpad (MSP430G2231) with a CAT5 cable soldered on, running some custom firmware to transmit a magic byte over SPI to the badge.

The batteries and electronics are on the back of the badge. 

Design materials

You can download the design materials here . The hardware is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. The firmware is licensed under the GPLv3 . If you just want a quick look at the schematic, it's available separately here .

Circuit design

The badge is powered from two AA batteries. The nixie tube uses most of the power, so I could basically trade nixie shininess for battery life. I chose a gentle fade-in-fade-out animation, with the duty cycle set for around 40 hours of use. The output voltage of an alkaline cell decreases nearly linearly as it is discharged. Even when it reaches 0.9V or less it still contains a decent amount of energy. To make full use of the energy in the battery the badge must work from a supply voltage of 1.8V or less. The nixie tube needs around 150-170V at 1.8mA. I use an MCP1640 DCDC to boost the battery voltage up to 5V to power the low voltage electronics, microcontroller, etc. Then I use a microcontroller-based DCDC to get from 5V up to an adjustable voltage between 0 and 200V. It's quite difficult to get from 5V to 150V efficiently and cheaply with a standard boost topology, so I use a flyback topology with a small transformer.

Whilst small, high performance, SMT inductors are completely ubiquitous, similar transformers are not. This is due to low industrial demand. Camera flash circuits (which, just like my nixie supply, must step from battery voltage to 150-300V) are about the only application for small transfomers. They are only made by a few large companies, and only leave the East inside cameras. I got mine from Tokyo Coil Engineering, and I really owe them a favour! They usually sell in enormous volume to people like Sony and Casio. 

I used an ATmega48 because it was the cheapest microcontroller around with enough timers, IO and ADC channels. I don't really like AVR's. Their fuse system is a real pain in the arse (fuses in general are a pain in the arse) and they have about 10 different proprietary programming and debugging interfaces. But hey, people seem to like them, and the price was right! The AVR produces a PWM signal that switches the FET on the primary side of the transformer, and the voltage is boosted on the secondary side both by the turns ratio and inductance of the transformer. The voltage is attenuated and buffered, and fed back to the AVR's ADC. The firmware measures the high voltage supply via this attenuation, and adjusts the PWM setting using a PID control scheme. The PWM output is capacitively coupled into the FET gate so that the FET doesn't blow up if the AVR crashes. The efficiency is pretty good; 75-80% depending on voltage setting, etc. 

Instead of using a resistor to limit the current through the nixie tube, I used a 1.8mA active current source. I designed it this way with the intention of using a high voltage to strike the neon then reducing the voltage to minimise power dissipated in the current source. Quite an elegant idea, I thought, but I ended up manipulating the DCDC voltage to fade the nixie in and out, rather than dimming it with another PWM channel. So if anything, the current source was probably a slight hindrance because it made the nixie brightness much less sensitive to supply voltage. Never mind, it all turned out nicely in the end!

The 12 individual nixie cathodes (0-9, left and right decimal points) are switched by high voltage NPN transistors..

The speakers' badges have sound-activated LED's. An electret microphone captures the sound, and it's amplified and fed to the AVR's ADC. Foolishly I biased the mic directly from the 5V rail, which turns out to be pretty noisy when the nixie is at full brightness. I ended up writing a horriffic firmware workaround to dynamically adjust the microphone gain based on the nixie voltage. It worked fairly well, but the sensitivity is still low when the nixie is bright. 

The CAT5 connectors expose the ISP programming interface for flashing the AVR, the SPI port, which is used to increment the score, and a 5V UART which can be used for live debug, etc.There's also a capacitive touch button hidden in the ERNW logo. 

Some lovely graphs

I was, as usual, working right up to the deadline for this project, and ended up writing a lot of the firmware in Heidelberg. I wanted to work around the microphone noise problem, and suspected that I could reduce the noise by improving the high voltage control scheme. Initially I was using a very rough control scheme that either incremented or decremented the DCDC PWM value depending on whether the voltage was below or above the desired setpoint). Since one PWM step makes a significant impact on the output voltage, the whole thing was pretty nasty - too much oscillation when the setpoint was low, and failure to actually reach the setpoint when it was high for only a short period. I decided to hunker down in my hotel room, get the badge to stream live data out over the UART, and plot some graphs in python to see what was really going on.


My original, crappy, control scheme. The green trace is the DCDC output voltage. The red trace is a moving average of this voltage to take out a bit of noise. The setpoint (desired voltage) is in blue, and the value of the PWM signal delivered to the FET is shown in turquoise. The output voltage roughly follows the setpoint, but it is very wobbly when the setpoint is low, and can't quite keep up when it is high.

Note I am ramping the setpoint up and down to get the nixie to fade in and out.The change in gradient near the top of the peak is deliberate - it makes the fading look more consistent to the human eye.

Please ignore the x axis label. It isn't actually graduated in seconds. This whole graph probably shows about 5 seconds of data, not several hours!

  The PID control scheme is a dramatic improvement. The output voltage (green) tracks the setpoint (blue) perfectly. To achieve this, the PWM value (turquoise) is being adjusted in a much more subtle way than before. The red trace shows the error (difference between the true output voltage and the setpoint).
  Next I worked on the microphone noise cancellation. The blue trace is the microphone voltage (recorded in silence). Note the "blob" of noise when the nixie voltage (red) is high. The green trace is a very long moving average used to establish the DC level of the microphone reading. The turquoise trace shows the PWM values being delivered to the FET. I used this signal as the basis of the cancellation function because its shape is very similar to the noise "blob" in the microphone data..
  Here are the results. The blue trace is the input, as before.The yellow trace is the processed signal. On the left I was silent. The DCDC-induced noise "blob" is successfully filtered out, but speech (right half) is largely passed through. Sensitivity is pretty crap when the DCDC voltage is high, but it's the best I can do without a hardware fix!
   

Firmware design

The firmware is written in C, compiled under linux with avr-gcc, and flashed to the badge with avr-dude. I use the AVR Dragon programmer, but there are other options available. At the con, Kevin Redon dumped the firmware binary out using a Bus Pirate, made some modifications, and pumped it back in. He also scored himself an instant 9 by editing the EEPROM image. Respect. Several other guys performed some simple hardware hacks too, shorting segments on, etc., but Kevin's work was the most impressive I saw.

If you're a masochist, you can also  debug the AVR over Debugwire using avarice and gdb. It's unbelievably flaky, though.

The firmware is highly modular and fairly self-explanatory. It is largely interrupt based, making extensive use of the timer peripherals.

Hacking area

Lots of people asked me about this. It's just an empty bit of board with some 0.1" spaced through hole pads and 0.05" spaced SMT pads where you can solder on your own components. The conference attendees are mostly software guys. I wanted to give them a platform that is really easy to hack so that those with budding hardware hacking interests have a low barrier to entry. For maximum flexibility, no electrical connectivity is provided. You can just use wire. I also broke out every pin of the AVR to a pair of through-hole solder points for maximum hackability. So say you want to make your badge into a clock, you could solder a crystal onto the AVR's clock pins. Or if you want to add some radio functionality you could solder your radio chip onto the hacking area, and wire it up to the AVR. Go nuts - totally freeform hacking space.

Shock hazard

The high voltage section is insulated with heatshrink sleeving and self-levelling silicone encapsulant (great stuff, by the way). If you dig your way through it is possible to get a mildly painful shock, but there isn't enough energy stored in the DCDC to do you any harm. Don't take my word for it, though. If you're ancient / part cyborg / whatever, I wouldn't push your luck!

Manufacturing the badge

That was quite some undertaking! I outsourced the manufacture and assembly of the PCB's, of course, but I placed the nixies myself. All 210. This entailed trimming the nixie legs to the right length, soldering all 13 of them to the PCB (6 on the front, 7 on the back), adding heatshrink sleeving and insulating the finished item with silicone. I made some lovely jigs to process the nixie tubes, cut precise lengths of heatshrink and hold everything in place during soldering. Check out these videos:

 


 


 


 

 A closeup of the assembly jig. The perspex assembly (rear) holds the nixie perfectly centred within the cutout in the PCB. The spring steel, aluminium and FR4 assembly (front) clamps the legs down onto the PCB, leaving both of my hands free to solder.

It turns out that 210 is quite a lot of things.

So if you're the lucky owner of a TROOPERS badge, I hope this information inspires you to hack it to do something new! At the very least, please take care of your nixie tube! They are a scarce resource. They haven't been manufactured since the early nineties.

I held a little SMT soldering workshop at the con, where attendees could upgrade their badge to speaker status by soldering on the extra LED's, resistors and microphone. Someone remarked that it was probably the most romantic soldering workshop ever! (Thanks to Insinuator for the photo).

Once again, many thanks to Florian, Enno, Daniel and all at ERNW - thoroughly enjoyed it!

Please ask questions in the comments / by email / twitter, and I'll help you out. If you're running your own con, and would like some similarly insane badges, give me a shout.

Have a look at my flickr account / youtube channel for more media.

categories [ ]

Warranty Void if Removed | Collected technological projects

I am regular reader, how are you everybody? This piece of writing posted at this web site is actually good. my blog post - Name Halloween t shirts

Warranty Void if Removed | Collected technological projects

Book from Project Gutenberg: Gulliver's Travels: Into Several Remote Regions of the World Note: With 38 illustrations and a map. my website download google books as pdf free online

Warranty Void if Removed | Collected technological projects

Hey, you used to write great, but the last few posts have been kinda boring? I miss your tremendous writings. Past few posts are just a bit out of track! come on! Stop by my blog ... Alpha Pro Testobuild UK

Warranty Void if Removed | Collected technological projects

phân p??i du? an vincity Also visit my web site ... chung c? vincity

Warranty Void if Removed | Collected technological projects

This site was... how do I say it? Relevant!! Finally I have found something which helped me. Kudos! my homepage minecraft

Warranty Void if Removed | Collected technological projects

?hân ph?i du an vincity Heree is my blog pot - chung c? vincity gia lâm

Warranty Void if Removed | Collected technological projects

TANG GALLERY SUMME?TIME TOURS: The Frances Young Tang Mentor Gallery and also Craft Gallery at Skidmore College reveals a set from once a week tours this summer season th?t are open ?nd totally fre? to the general public. The gallery's community tours strive to he?p visitor? w?th ?n experience of checking out fine art,along with extensive information r?garding the musicians and al?o the art work on v?ew. Participants of Flavor's curatorial group will lead the trips. More info?mation at. Allso visit my weblog - freestanding baby ?ate (http://000cha.com/data/6131)

Warranty Void if Removed | Collected technological projects

You are so awesome! I do not believe I've read something like that before. So good to find someone with genuine thoughts on this topic. Seriously.. many thanks for starting this up. This website is something that's needed on the web, someone with a bit of originality! Here is my site minecraft

Warranty Void if Removed | Collected technological projects

Their program is built on cognitive behavior therapy. Also visit my web-site: health insurance companies (Bridgett)

Warranty Void if Removed | Collected technological projects

Wow t?at w?s unusual. I ?ust wrote an really ?ong comment but aft?r I clicked submit m? comment didn't appear. Grrrr... ?ell I'm not writing al? that ovedr a?ain. Regardl?ss, ju?t wante? to say fantastic blog! ?y homepage :: start trading binary options

Warranty Void if Removed | Collected technological projects

Thanks for every other informative blog. The placce else may jus I get that type of information written in suchh a perfect means? I've a undertaking hat I am simply now operating on, aand I've been at the glance oout for such information. Heere is my web blog: Diana

Warranty Void if Removed | Collected technological projects

Do you mind if I quote a few of your posts as long as I provide credit and sources back to your weblog? My blog site is in the exact same niche as yours and my visitors would genuinely benefit from some of the information you provide here. Please let me know if this okay with you. Appreciate it! Visit my web-site :: purchase cheap condylox visa europe

Warranty Void if Removed | Collected technological projects

I am really inspired with your writing skills as smartly as with the layout to your weblog. Is that this a paid theme or did you modify it yourself? Either way stay up the nice quality writing, it is rare to see a nice weblog like this one nowadays.. Feel free to surf to my weblog Minecraft Servers 1.8

Warranty Void if Removed | Collected technological projects

All in the drying cycles on this whirlpool Cabrio gas dryer reviews Cabrio WGD7600XW Gas Dryer are powered from the Acceler - Care Drying System. Whirlpool cabrio activation of manual diagnostic test mode This feature could also be used individually to refresh clothing by making use of steam technologies. Normally I used it to pretend my stomach was full so it would tie me over until I got something you can eat later. The economy has hit everyone in various ways within the past couple of years and sales of big-ticket items have plummeted as a result.

Warranty Void if Removed | Collected technological projects

Peculiar article, totally what I was looking for. my homepage; Boost Vital muscle building supplement

Warranty Void if Removed | Collected technological projects

phân ph?i chung c? vincity

Warranty Void if Removed | Collected technological projects

If some one wishes expert view concerning blogging afterward i recommend him/her to go to see this web site, Keep up the good work. Review my web-site s?a ?i?u hòa t?i hà n?i

Warranty Void if Removed | Collected technological projects

I'm not sure where you're getting your info, but good topic. I needs to spend some time learning much more or understanding more. Thanks for wonderful information I was looking for this info for my mission. Here is my web page - Max Muscle Pump Extreme Ingredients

Warranty Void if Removed | Collected technological projects

Notre hack Clash Royale fonctionne sur tous les téléphones dernière générations mais aussi les tablettes Android. Have a look at my web-site http://clashroyalehacker.net/

Warranty Void if Removed | Collected technological projects

Hi it's me, I am also visiting this web page on a regular basis, this website is in fact good and the users are truly sharing fastidious thoughts. Here is my weblog - vedi foto dieta prima e dopo

Warranty Void if Removed | Collected technological projects

phân ph?i c?ung c? ?incity My web s?te ... chung c? vincity gia lâm

Warranty Void if Removed | Collected technological projects

phân ph?i ?u ann vincity ?top by my blog chung c? vincity

Warranty Void if Removed | Collected technological projects

Greetings from Carolina! I'm bored to tears at work so I decided to browse your blog on my iphone during lunch break. I really like the information you provide here and can't wait to take a look when I get home. I'm amazed at how quick your blog loaded on my phone .. I'm not even using WIFI, just 3G .. Anyways, wonderful site! Feel free to visit my homepage https://www.linkedin.com/pulse/phong-kham-da-khoa-quoc-te-cong-dong-o-ha-noi-giang-nguyen

Warranty Void if Removed | Collected technological projects

I could not refrain from commenting. Very well written! Check out my web site; Francy

Warranty Void if Removed | Collected technological projects

Je m'apel : Marcel Boivin pro du web mais aussi vieux Déménageur, ce que j'adore : créer ce blogue pour aider tout le monde. My page: déménagement

Warranty Void if Removed | Collected technological projects

I just like the valuable information you supply on your articles. I'll bookmark your blog and test again here regularly. I am reasonably sure I will be informed many new stuff right right here! Good luck for the next! Take a look at my web page ... D?ch v? s?a ch?a uy tín

Warranty Void if Removed | Collected technological projects

phân ???i du an vincity Also visit my b?og post ... vincity gia lâm

Warranty Void if Removed | Collected technological projects

Pretty! This was an extremely wonderful article. Thank you for supplying this information. my homepage s?a ?i?u hòa uy tín

Warranty Void if Removed | Collected technological projects

p?ân ph?i chung c? v?ncity Feel frre to visit my homepage chung c? vincity gia lâm

Warranty Void if Removed | Collected technological projects

Thanks for thee good writeup. It iin truth used to be a entertainment account it. Look complex to more delivere agreeable from you! However,how could we be in contact? my weblog: Carissa

Warranty Void if Removed | Collected technological projects

I think that is one of the so much significant information for me. And i am happy studying your article. But want to observation on few basic things, The website taste is ideal, the articles is in reality nice : D. Just right process, cheers Feel free to visit my website minecraft

Warranty Void if Removed | Collected technological projects

phân ph?i chung c? vincity Here i? mmy web pa?e ... chung c? vincity ??i m?

Barangkali kita lupa dengan

Barangkali kita lupa dengan beberapa hal yang terdapat dalam Sumber yang begitu sangat antusias dalam menyampaikan ilmu bisnis properti yang ia miliki. http://sites.miis.edu/ciptojunaedy1/

Warranty Void if Removed | Collected technological projects

Hi there, just became alert to your blog through Google, and found thwt it iis truly informative. I'm gonna watch out for brussels. I'll appreciate if you continue this in future. A loot of peoploe will be benefited from your writing. Cheers! Feel frwe to visit my homepage; play station

Warranty Void if Removed | Collected technological projects

It's Friday so it is time as soon as again for our Android sport sale spherical-up and this week's listing is actually fairly big. Specifically speaking of Android tablets, it's a identified indisputable fact that a complete new range of tablets have exploded in the digital market. Released by Quantized Bit, Prison Run and Gun is a brand new arcade platformer out for Android. From the attitude of customers, Java cellular games are innovative and difficult, thus making for great sources of leisure. However there's one firm making an attempt to do that referred to as Neo-Realms Entertainment, and they're gearing up to release their MOBA/Tower Defense hybrid title onto Android quickly referred to as Tower Rumble. This might not sound very enjoyable, particularly when you might play a game yourself, but there are sometimes compelling causes to look at. My web blog: Philipp

Warranty Void if Removed | Collected technological projects

Rattling instructive and great body structure of subject material, now that's user friendly (:. Visit my page - soccer jersey

Warranty Void if Removed | Collected technological projects

Hey very nice blog! Visit my page; cipto junaedy

Warranty Void if Removed | Collected technological projects

phân p??i chung c? vincity my home?age ... chung c? vincity gia lâm

Warranty Void if Removed | Collected technological projects

Which cheap knicks jerseys do you ever buy? Now this one site for sale: wholesale blank jerseys

Warranty Void if Removed | Collected technological projects

The comp plans employ a numerous matrixes, matching are donald Trump and hillary clinton related fast start bonuses, royalties, trips, cars and global pools as incentives to perform. Also, any local newspaper routinely have a spot for private sellers advertising online and merely a minimal fee. The very first time his empire collapsed, he used his business contacts and knowledge, and created The Apprentice show.

Warranty Void if Removed | Collected technological projects

Thanks for your marvelous posting! I quite enjoyed reading it, you might be a great author. I will always bookmark your blog and will often come back at some point. I want to encourage one to continue your great posts, have a nice afternoon! Stop by my page :: viral marketing

Warranty Void if Removed | Collected technological projects

phân ph?i d? an vincity Visitt my web page; chung c? vincity gia lâm

Warranty Void if Removed | Collected technological projects

Nice blog here! Also your web site loads up very fast! What host are you using? Can I get your affiliate link to your host? I wish my website loaded up as fast as yours lol Here is my webpage: minecraft

Warranty Void if Removed | Collected technological projects

An impressive share! I have just forwarded this onto a colleague who was conducting a little homework on this. And he actually ordered me dinner due to the fact that I discovered it for him... lol. So allow me to reword this.... Thank YOU for the meal!! But yeah, thanks for spending time to talk about this matter here on your web page. Also visit my web site; s?a ch?a ?i?u hòa

Warranty Void if Removed | Collected technological projects

So exactly where do you begin out? First thing you certainly can do is begin out incorporating neighborhood to your own keyword phrases. A good example is if you're selling essential oils, your own keywords can be"essential oils," or even"high quality essential oils." Nowadays you want to introduce community, which means you can just turn your input here key words into a long tailed keyword using spot, these as"essential oils London" or even"essential oils in New York" as illustrations.

Warranty Void if Removed | Collected technological projects

?hân ph?i chung c? vincity

Warranty Void if Removed | Collected technological projects

It's the best time to make some plans for the future and it is time to be happy. I have read this post and if I could I desire to suggest you few interesting things or suggestions. Maybe you could write next articles referring to this article. I desire to read even more things about it! Feel free to surf to my blog post: minecraft

Warranty Void if Removed | Collected technological projects

phân ph?i ?u an vincity My web page ... chung c? vincity

Webpage

celine outlet online Click Through The Up Coming Website Page Webpage

Warranty Void if Removed | Collected technological projects

Very great post. I just stumbled upon your weblog and wanted to mention that I've truly enjoyed surfing around your weblog posts. In any case I will be subscribing in your feed and I'm hoping you write once more very soon! Also visit my blog :: Green Garcinia weight loss system