Saturday, 11 January 2014

Stepper motors on the pi

Out playing with stepper motors today, using 28bjy-48 and a uln2003 board which I purchased off eBay a while back for about a pound each but had to wait for a month for them to arrive, obviously buying them from a uk company would have meant next day delivery but for about double and sometimes triple the price.

To make a stepper motor work it needs to be provided with a sequence of high and low signals to each of the four inputs in a correct sequence of high and low signals the motor will turn rotating the spindle, this motor can turn clockwise and also anti clockwise by reversing the sequence.

I cannot remember the coding I originally used, but Matt Hawkins over at raspberry-pi-spy has written an excellent short python script which is excellent to play with to get a good understanding of how a, the script works and b, the stepper motor works.

Thanks Matt for the following script:

# Name: Stepper Motor
#
# Author: matt.hawkins
#
# Created: 11/07/2012
# Copyright: (c) matt.hawkins 2012
#-----------------------------------
#!/usr/bin/env python
 
# Import required libraries
import time
import RPi.GPIO as GPIO
 
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
 
# Define GPIO signals to use
# Pins 18,22,24,26
# GPIO24,GPIO25,GPIO8,GPIO7
StepPins = [24,25,8,7]
 
# Set all pins as output
for pin in StepPins:
  print "Setup pins"
  GPIO.setup(pin,GPIO.OUT)
  GPIO.output(pin, False)
 
# Define some settings
StepCounter = 0
WaitTime = 0.5
 
# Define simple sequence
StepCount1 = 4
Seq1 = []
Seq1 = range(0, StepCount1)
Seq1[0] = [1,0,0,0]
Seq1[1] = [0,1,0,0]
Seq1[2] = [0,0,1,0]
Seq1[3] = [0,0,0,1]
 
# Define advanced sequence
# as shown in manufacturers datasheet
StepCount2 = 8
Seq2 = []
Seq2 = range(0, StepCount2)
Seq2[0] = [1,0,0,0]
Seq2[1] = [1,1,0,0]
Seq2[2] = [0,1,0,0]
Seq2[3] = [0,1,1,0]
Seq2[4] = [0,0,1,0]
Seq2[5] = [0,0,1,1]
Seq2[6] = [0,0,0,1]
Seq2[7] = [1,0,0,1]
 
# Choose a sequence to use
Seq = Seq1
StepCount = StepCount1
 
# Start main loop
while 1==1:
 
  for pin in range(0, 4):
    xpin = StepPins[pin]
    if Seq[StepCounter][pin]!=0:
      print " Step %i Enable %i" %(StepCounter,xpin)
      GPIO.output(xpin, True)
    else:
      GPIO.output(xpin, False)
 
  StepCounter += 1
 
  # If we reach the end of the sequence
  # start again
  if (StepCounter==StepCount):
    StepCounter = 0
  if (StepCounter<0):
    StepCounter = StepCount
 
  # Wait before moving on
  time.sleep(WaitTime)





5v and gnd connections should be obvious while the other four go to pins 18, 22, 24, 26. (Ch1, ch2, ch3, ch4)


Thursday, 9 January 2014

Adafruit raspberry tft

I purchased from pimoroni in the uk a specialist raspberry pi online shop and adafruit uk stockist a adafruit 2.8" raspberry pi tft touch screen 320x200 16 bit.


It didn't take me long to build and even with the sticky pads not holding the screen in place (gorilla glue will solve this minor niggle) I was left just to get it working.
 
Had mix results using my favourite and well used raspbian image and was left in the end to pick an sd card that I hadn't written on with a sharpie and hoping that didn't have any important projects on to Install raspbian from back in May 2013.

Raspberrypiguy1 on twitter has done a video on setting it up but couldn't find it at the time, so quick google and the likely suspect of learn.adafruit.com come up and followed their quick and easy setup. By quick I mean this time I didn't sit there for hours copying by hand, I just ssh'd into it from a windows pc with putty and pasted the stuff in and was running in about an hour.

Have even installed rhythm box and mplayer onto it along with the open source film buck bunny, I'm hoping with this screen I can build it into a car multimedia centre (so if you know of any post it below) yes it's something that you see a lot but till a 7" screen that's touchscreen and is cheap enough comes around this will be a good starter.

I will be getting a hdmi to 3.5mm jack as I want to do the sound that way as the 3.5mm jack on pi always seems to go off on one for some reason, so after yet another google it seemed to be a recommendation many have made.

I have a big external hdd to play with to add music to,but ideally I will be looking for something small and cheap for portability and to hide away in the car.

If you feel you can add to this blog then please do so below, also if you like the blog or any of the other blogs like cacheberry pi, please could you click an ad or two as every penny earnt from them (which is very little)will pay for future projects that I can share with you.

Sunday, 5 January 2014

Cacheberry pi in detail.

Do you ever wonder if you combine your hobbies? I did till a few months ago i saw a project on twitter, when i asked about it i was pointed to jclements github page https://github.com/jclement/Cacheberry-Pi and there i started to build my own.

 But it wasnt so simple, I was having problems with the LCD and further delving with twitter and google I found a cacher and electronic enthusiast called Steve who had forked the project and is still currently tidying it up on his github page https://github.com/Aurock 

 So next was to create a new image, with the files and after realising that the I2C LCD can use slightly different pins I realised i had to just change the LCDconf file, but luckily Aurock had done this after speaking to him about this project (as well as update some coding). 

 So to build this cacheberry pi I needed the following:
 Raspberry pi model b 512mb but im sure a 256mb model will work.
 I2C 2x16 LCD display
 LED Resistor for LED
 ublox gps module (or you can use the more expensive adafruit one) 
 a car cigarette lighter plug with wires which i attached to a 12v to 5v 3w usb device which then has a mini usb lead to power the pi.
  optional is a 2x13 gpio ribbon connecter. 

 software:
 Python 2.7 GPsd - Available through APT 
  PySpatialite - Available through APT 
 LCDProc - Available through APT (required custom display driver)
 RPi.GPIO AutoFS - Available through APT 

 commands: 
 $ sudo apt-get update 
 $ sudo apt-get upgrade 
 $ sudo apt-get install autofs lcdproc python-pyspatialite sqlite3 gpsd vim-nox gpsd-clients screen python-dev i2c-tools python-smbus git 

 The RPi.GPIO library needs to be installed separately since it's not in APT. 
$ cd /usr/src $ sudo wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.4.1a.tar.gz#md5=9acdb66290350aaa74b99de859ded153 
$ sudo tar -xvf RPi.GPIO-0.4.1a.tar.gz $ cd RPi.GPIO-0.4.1a/ 
$ sudo python setup.py 
install The lcdproc python library:
 $ cd /usr/src 
$ sudo wget http://pypi.python.org/packages/source/l/lcdproc/lcdproc-0.03.tar.gz#md5=177328fd30c973151b5e75f9c1b992c7 
$ sudo tar -xzf lcdproc-0.03.tar.gz 
$ cd lcdproc-0.03/ 
$ sudo python setup.py install 

 Download CacheberryPi Software Clone the CacheberryPi repository to your "pi" user's home folder.
 $ cd ~
 $ git clone https://github.com/jclement/Cacheberry-Pi.git or Aurocks updated version: 
$ git clone https://github.com/Aurock/Cacheberry-Pi.git 

 Configuration 

 Install the ifup script so we can see network configuration on the LCD.

 $ cd ~/Cacheberry-Pi/util
 $ sudo cp ifup-lcdproc /etc/network/if-up.d 
 $ sudo chmod 755 /etc/network/if-up.d/-lcdproc 
 Install lcdproc configuration files and LCD driver. 
  $ cd ~/Cacheberry-Pi/misc 
 $ sudo cp LCDd.conf /etc
 $ sudo cp hd44780-i2c/hd44780.so /usr/lib/lcdproc/
 Setup udev to make GPS devices world write/readable: 
$ cd ~/Cacheberry-Pi/misc 
$ sudo cp 70-persistent-net.rules /etc/udev/rules.d/ 
 Edit 2 files to enable i2c: In /etc/modprobe.d/raspi-blacklist.conf Add a # before the line "blacklist i2c-bcm2708". 
Add the following 2 lines in /etc/modules i2c-dev i2c-bcm2708 
 Edit /etc/rc.local to start CacheberryPi on startup.
 Add the following before "exit 0" nohup /home/pi/Cacheberry-Pi/start & Configure autofs for update functionality.
 $ cd ~/Cacheberry-Pi/misc $ cp auto.removable /etc 
$ cp auto.master /etc Edit /etc/hosts and /etc/hostname and replace "raspberrypi" with "cacheberrypi". 

 The GPS module I used connects directly to the GPIO pins on the Raspberry Pi and communicates via serial. In /etc/inittab scroll to the end of the document, where you should add a # sign before this line:
 T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 
 Next, edit /boot/cmdline.txt - This file is just one long line of text. 
 Find and remove the following:
 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 
 GPSD must also be reconfigured for the serial port instead of the USB. 
To do this, run:
 sudo dpkg-reconfigure gpsd 
 This will start up a configuration screen where you need to configure the gpsd. Set gpsd to run automatically at startup, then accept the default settings on all the following screens until prompted for the port that the gps unit is connected to. Enter /dev/ttyAMA0 in the port field. 

 The settings within the cacheberrypi folder include timezone, imperial and metric which are easy to set and bingo the software side is set up. If the lcd display isnt showing anything then try this version of the files:
 https://github.com/Aurock/Cacheberry-Pi/tree/AltHardware/misc/hd44780-i2c 
Put LCDd.conf in /etc and the hd44780.so in /usr/lib/lcdproc 

 Next up was to join all the gizmos together, i decided to use a 2x13 connector ribbon so wires couldnt accidently fall off connecting i2c vcc to pin2 (5v) sda pin3 and scl pin 5. 

 Next was the led i soldered a resistor to the leg and then connected positive to pin 22 (gpio25) and the negative to ground pin 6. The gps was connected (as it works on 3v) positve to pin 1 (3.3v), ground to pin 6, tx to pin 10 (marked rx) you dont need to transmit to gps as we only need info from the gps thus gps tx to raspberry recieve.
once soldered I covered the soldered wires with electrical tape to ensure no shorting out.
Next up I made a case, found a small box just big enough for the pi and the innards, go cut a small hole for screen to go through, small hole for power cable, cut out the usb bit so you can update it with a usb stick and placed the gps unit on the roof before taping it together in place with gaffa tape a: to make it stronger and b: to hold everything in place. I then made a small hole for the led to pop through and ended with this.
Next was to fire up the pi and attach the usb stick so the caches canload onto it.
Then i decided after a few crashed sd cards to add a reset button that you press and hold in before you turn it off, this could be done via P6 on the pi board and soldering on a two button lead, using this has so far only led to one crash, but thats like nothing compared to before this add on.
This i then taped to the very top so easily accessable if needed, if i was to do this again i would put the button on the side screwed in. There is also a small hole in the top to let heat escape and with the slightly bigger slit on the right for the usb it should help air circulate and stop the pi from heating up, althrough raspberry pi have said there should be no problem with over heating as it can work fine up to 80c.

Now already to go you will need also to do the following: Edit /etc/hosts and /etc/hostname, replacing "raspberrypi" with "cacheberrypi". Loading Geocaches Use program "Geocaching Swiss Army Knife" (GSAK), export the geocache data to a file in Microsoft Streets & Trips format. 
Save the file on usb stick as "\cacheberrypi\nav.csv". Insert into the usb port on Cacheberry Pi, and watch LCD as the cache data is transferred. 

Export options & Geocache Display When exporting the data from GSAK, the cache description, waypoint name, and URL link format can be modified. Customize the data exported in these fields using GSAK's "Special Tags". When the Cacheberry Pi has found a nearby cache, the left side of the LCD will show the "cache description" on the top line, and the "URL Link" on the bottom. 

I recommend setting the fields as follows when exporting from GSAK: * Waypoint Name = "%code" * URL Link = "%Caches_FavPoints (%Dif/%Ter)" * Cache Description Format = "%Name by %By" Note: While the Cache description and URL Link can be set he Waypoint Name field MUST be %code.

 Now ready to take it out join the cigarette plug to the 12v to 5v3w convertor to which is connected to a usb to mini usb lead which is plugged into the pi, this will give you the correct voltage and power protection and protect it from being fried, i believe the one i use works from 24v so will work fine in a lorry which cigarette lighter socket is 24v. 

 Now the raspberry pi can do the following, Smart Search: depending on speed and direction of travel, Ability to maintain a database of 20k+ geocaches (after 25,000 caches it starts to slow down a bit), Easy syncing of cache lists with GSAK via usb stick, Automatic tracklog recording and syncing with usb stick,but i dont use this option and lastly Easy customization of settings in the 'cacheberrypi.cfg' file. Smart Search: depending on speed and direction of travel Ability to maintain a database of 20k+ geocaches Easy syncing of cache lists with GSAK via thumb drive Automatic tracklog recording and syncing with thumb drive Easy customization of settings in the 'cacheberrypi.cfg' file for things like imperial/metric settings, timezone, language etc.
When there isnt any caches nearby it will just show date, time, speed and distance of travel e.g. n, nne, sw, etc and when a cache turns up in the search will show you your speed and direction along with cache name d/t and distance to cache along with its bearing compared to you, i would like to change this to an arrow system soon, but for now im concentrating on playing with the cache finding programming to see if i can make it better.

 Future plans: add buzzer to beep countdown to cache, fit a four line lcd to display more info add arrow to display a button to ignore a cache or to find something else. finding away to show hint along bottom and make it scroll to without going over the top of distance, speed and direction.

 Thank you also for Mr Clement who originally wrote the program, Mr Whitcher for his forking of the project and tidying it up as well as for the countless emails back and forth about the display and other future ideas.

My next raspberry pi idea, need your thoughts

I've seen Dave akermans balloon project with raspberry pi, my idea is for a raspberry pi, gps module and mobile data to communicate with and possibly a short range radio to track the device when its time to retrieve it, all stuck in a vacuum flask or waterproof container with a silica salts bag to control condensation, drop it off at the start of a river and follow it. Batteries will be a concern so maybe something that can wake itself up on the hour, send its current position either by text, data or tweet and then power down to save battery life. 

Any ideas or links to similar projects would be gratefully recieved. 

Wednesday, 1 January 2014

Oled display




My new ssd1306 oled adafruit screen arrived a couple of days ago, but after setting it up I realised my old one wasn't broken after all, so now have two working oled boards.

With the help of an online tutorial on YouTube from theraspberrypiguy.com I was soon running the display with various fonts, showing my IP address along with date and time. I still need to spend some more time on getting images to be displayed but that can wait for another day 

Wireless controlling and communicating

For Christmas my partner bought me a raswik from ciseco a company in Nottingham that makes and sells electronic stuff for the raspberry pi and other stuff.

The package comes with over 80 bits including LEDs, resistors, breadboard, buttons, the wireless shield for pi and the other wireless bit that can sit somewhere else in your home (up to 100m away).

The instructions were obtainable through their website which consisted of 38 pages at time of printing.

I was soon able to make LEDs flash within minutes with all the software on the sd card. It would be great to see some more projects from the more abled programmers, but the biggest plus about this package is that unlike the gertboard and gertduino is I was able to get started with it with easy to follow instructions. Granted £50 is a lot of money (nearly the cost of two pi s) but out of all the add on boards I see this being the most useful as something like this with great instructions that anyone can follow.

There will be some more add on a for this kit soon according to the team at ciseco so I will be looking forward to trying them out.

Further projects I can see is wireless control of relay boards, sensors to detect people and even the control of lights or other electronics around the house, in fact I think the skies the limit with it.

Pi-Die module from 4tronix

AThis week if recieved the wonderful Pi-Die module from the guys at 4tronix.co.uk I wasn't expecting it and was quite suprised to get one. So after thanking them on twitter I got to work soldering it and about 10 minutes later ready for action.

There is already a traffic light module and simon says for scratch and so far I can think of lots of possibilities like an Internet radio/mp3 controller or even to control things over the Internet (Internet of things).

The 9 LEDs could also be used to signal tweets, Facebook notifications and even email or just set up the LEDs to twinkle at night like a night light.

This is a rather sturdy design with decent buttons, however I have no info on pricing or shipping yet but I'm sure the guys at @4tronix_uk will be more than happy to tell you, just don't forget to mention my blog smstext.

Well done guys

Keywords the nsa look for

Following links on the Internet I came across various lists of the 300 words that the nsa look for, so thought I would share them with my readers they are:

Waihopai, INFOSEC, Information Security, Information Warfare, IW, IS, Priavacy, Information Terrorism, Terrorism Defensive Information, Defense Information Warfare, Offensive Information, Offensive Information Warfare, National Information Infrastructure, InfoSec, Reno, Compsec, Computer Terrorism, Firewalls, Secure Internet Connections, ISS, Passwords, DefCon V, Hackers, Encryption, Espionage, USDOJ, NSA, CIA, S/Key, SSL, FBI, Secert Service, USSS, Defcon, Military, White House, Undercover, NCCS, Mayfly, PGP, PEM, RSA, Perl-RSA, MSNBC, bet, AOL, AOL TOS, CIS, CBOT, AIMSX, STARLAN, 3B2, BITNET, COSMOS, DATTA, E911, FCIC, HTCIA, IACIS, UT/RUS, JANET, JICC, ReMOB, LEETAC, UTU, VNET, BRLO, BZ, CANSLO, CBNRC, CIDA, JAVA, Active X, Compsec 97, LLC, DERA, Mavricks, Meta-hackers, ^?, Steve Case, Tools, Telex, Military Intelligence, Scully, Flame, Infowar, Bubba, Freeh, Archives, Sundevil, jack, Investigation, ISACA, NCSA, spook words, Verisign, Secure, ASIO, Lebed, ICE, NRO, Lexis-Nexis, NSCT, SCIF, FLiR, Lacrosse, Flashbangs, HRT, DIA, USCOI, CID, BOP, FINCEN, FLETC, NIJ, ACC, AFSPC, BMDO, NAVWAN, NRL, RL, NAVWCWPNS, NSWC, USAFA, AHPCRC, ARPA, LABLINK, USACIL, USCG, NRC, ~, CDC, DOE, FMS, HPCC, NTIS, SEL, USCODE, CISE, SIRC, CIM, ISN, DJC, SGC, UNCPCJ, CFC, DREO, CDA, DRA, SHAPE, SACLANT, BECCA, DCJFTF, HALO, HAHO, FKS, 868, GCHQ, DITSA, SORT, AMEMB, NSG, HIC, EDI, SAS, SBS, UDT, GOE, DOE, GEO, Masuda, Forte, AT, GIGN, Exon Shell, CQB, CONUS, CTU, RCMP, GRU, SASR, GSG-9, 22nd SAS, GEOS, EADA, BBE, STEP, Echelon, Dictionary, MD2, MD4, MDA, MYK, 747,777, 767, MI5, 737, MI6, 757, Kh-11, Shayet-13, SADMS, Spetznaz, Recce, 707, CIO, NOCS, Halcon, Duress, RAID, Psyops, grom, D-11, SERT, VIP, ARC, S.E.T. Team, MP5k, DREC, DEVGRP, DF, DSD, FDM, GRU, LRTS, SIGDEV, NACSI, PSAC, PTT, RFI, SIGDASYS, TDM. SUKLO, SUSLO, TELINT, TEXTA. ELF, LF, MF, VHF, UHF, SHF, SASP, WANK, Colonel, domestic disruption, smuggle, 15kg, nitrate, Pretoria, M-14, enigma, Bletchley Park, Clandestine, nkvd, argus, afsatcom, CQB, NVD, Counter Terrorism Security, Rapid Reaction, Corporate Security, Police, sniper, PPS, ASIS, ASLET, TSCM, Security Consulting, High Security, Security Evaluation, Electronic Surveillance, MI-17, Counterterrorism, spies, eavesdropping, debugging, interception, COCOT, rhost, rhosts, SETA, Amherst, Broadside, Capricorn, Gamma, Gorizont, Guppy, Ionosphere, Mole, Keyhole, Kilderkin, Artichoke, Badger, Cornflower, Daisy, Egret, Iris, Hollyhock, Jasmine, Juile, Vinnell, B.D.M.,Sphinx, Stephanie, Reflection, Spoke, Talent, Trump, FX, FXR, IMF, POCSAG, Covert Video, Intiso, r00t, lock picking, Beyond Hope, csystems, passwd, 2600 Magazine, Competitor, EO, Chan, Alouette,executive, Event Security, Mace, Cap-Stun, stakeout, ninja, ASIS, ISA, EOD, Oscor, Merlin, NTT, SL-1, Rolm, TIE, Tie-fighter, PBX, SLI, NTT, MSCJ, MIT, 69, RIT, Time, MSEE, Cable & Wireless, CSE, Embassy, ETA, Porno, Fax, finks, Fax encryption, white noise, pink noise, CRA, M.P.R.I., top secret, Mossberg, 50BMG, Macintosh Security, Macintosh Internet Security, Macintosh Firewalls, Unix Security, VIP Protection, SIG, sweep, Medco, TRD, TDR, sweeping, TELINT, Audiotel, Harvard, 1080H, SWS, Asset, Satellite imagery, force, Cypherpunks, Coderpunks, TRW, remailers, replay, redheads, RX-7, explicit, FLAME, Pornstars, AVN, Playboy, Anonymous, Sex, chaining, codes, Nuclear, 20, subversives, SLIP, toad, fish, data havens, unix, c, a, b, d, the, Elvis, quiche, DES, 1*, NATIA, NATOA, sneakers, counterintelligence, industrial espionage, PI, TSCI, industrial intelligence, H.N.P., Juiliett Class Submarine, Locks, loch, Ingram Mac-10, sigvoice, ssa, E.O.D., SEMTEX, penrep, racal, OTP, OSS, Blowpipe, CCS, GSA, Kilo Class, squib, primacord, RSP, Becker, Nerd, fangs, Austin, Comirex, GPMG, Speakeasy, humint, GEODSS, SORO, M5, ANC, zone, SBI, DSS, S.A.I.C., Minox, Keyhole, SAR, Rand Corporation, Wackenhutt, EO, Wackendude, mol, Hillal, GGL, CTU, botux, Virii, CCC, Blacklisted 411, Internet Underground, XS4ALL, Retinal Fetish, Fetish, Yobie, CTP, CATO, Phon-e, Chicago Posse, l0ck, spook keywords, PLA, TDYC, W3, CUD, CdC, Weekly World News, Zen, World Domination, Dead, GRU, M72750, Salsa, 7, Blowfish, Gorelick, Glock, Ft. Meade, press-release, Indigo, wire transfer, e-cash, Bubba the Love Sponge, Digicash, zip, SWAT, Ortega, PPP, crypto-anarchy, AT&T, SGI, SUN, MCI, Blacknet, Middleman, KLM, Blackbird, plutonium, Texas, jihad, SDI, Uzi, Fort Meade, supercomputer, bullion, 3, Blackmednet, Propaganda, ABC, Satellite phones, Planet-1, cryptanalysis, nuclear, FBI, Panama, fissionable, Sears Tower, NORAD, Delta Force, SEAL, virtual, Dolch, secure shell, screws, Black-Ops, Area51, SABC, basement, data-haven, black-bag, TEMPSET, Goodwin, rebels, ID, MD5, IDEA, garbage, market, beef, Stego, unclassified, utopia, orthodox, Alica, SHA, Global, gorilla, Bob, Pseudonyms, MITM, Gray Data, VLSI, mega, Leitrim, Yakima, Sugar Grove, Cowboy, Gist, 8182, Gatt, Platform, 1911, Geraldton, UKUSA, veggie, 3848, Morwenstow, Consul, Oratory, Pine Gap, Menwith, Mantis, DSD, BVD, 1984, Flintlock, cybercash, government, hate, speedbump, illuminati, president, freedom, cocaine, $, Roswell, ESN, COS, E.T., credit card, b9, fraud, assasinate, virus, anarchy, rogue, mailbomb, 888, Chelsea, 1997, Whitewater, MOD, York, plutonium, William Gates, clone, BATF, SGDN, Nike, Atlas, Delta, TWA, Kiwi, PGP 2.6.2., PGP 5.0i, PGP 5.1, siliconpimp, Lynch, 414, Face, Pixar, IRIDF, eternity server, Skytel, Yukon, Templeton, LUK, Cohiba, Soros, Standford, niche, 51, H&K, USP, ^, sardine, bank, EUB, USP, PCS, NRO, Red Cell, Glock 26, snuffle, Patel, package, ISI, INR, INS, IRS, GRU, RUOP, GSS, NSP, SRI, Ronco, Armani, BOSS, Chobetsu, FBIS, BND, SISDE, FSB, BfV, IB, froglegs, JITEM, SADF, advise, TUSA, HoHoCon, SISMI, FIS, MSW, Spyderco, UOP, SSCI, NIMA, MOIS, SVR, SIN, advisors, SAP, OAU, PFS, Aladdin, chameleon man, Hutsul, CESID, Bess, rail gun, Peering, 17, 312, NB, CBM, CTP, Sardine, SBIRS, SGDN, ADIU, DEADBEEF, IDP, IDF, Halibut, SONANGOL, Flu, &, Loin, PGP 5.53, EG&G, AIEWS, AMW, WORM, MP5K-SD, 1071, WINGS, cdi, DynCorp, UXO, Ti, THAAD, package, chosen, PRIME, SURVIAC

So of you work for the nsa and are reading this, happy new year you ve been busted.