My Latest Projects: Follow Sweeper and Fixing Police Paperwork with VB

Well my winter break from school work is coming to a close. Monday I start my “Advanced Algorithms” and “Ethics in IT” courses through Regis University’s College of Computer Science and Information Sciences online program. My goal has always been to work on projects when I have a break from school work and I’m excited to see that I’ve actually been doing it! Here’s what I’ve been working on…

Follow Sweeper

twitter-logo-round-edgesAs most people reading this probably know, I’m a big fan of Twitter. Unfortunately, Twitter has a crazy rule that unless your follower:following ratio is over some super secret ratio then you can’t follow more than 2000 people. With my interest in Colorado Tech, I am constantly at that limit, which means I end up unable to follow new people. I knew that there were some Twitter accounts that I was following that were inactive, but there is no easy way to find which accounts were inactive, so Follow Sweeper was created.

It’s written in Ruby and gives me a way to play with Ruby and the Twitter API without worrying too much abou Rails or any other framework although Rails is likely in Follow Sweeper’s future. I have a project page for Follow Sweeper but the best way to follow its progress is on the Follow Sweeper GitHub page.

Streamlining Police Officer Paperwork with Word and Visual Basic

cops1I work as a police dispatcher for a small department in the Denver, Colorado metro area. When I heard that officers were annoyed with some of the duplication they encountered when doing paperwork I started looking into their process to see if there was a way I could help. Officers are required to submit a “Statement in Support of Warrantless Arrest” (Warrantless Arrest) and a “Determination of Probable Cause” (PC) to the courts when arresting someone on new charges. Much of the same information on the Warrantless Arrest such as the subject’s name, the subject’s date of birth, date and time of arrest and crimes charged, etc. are also required on the PC. I wanted to find a way to allow officers to only enter that information once.

The only thing that bothers me about this project is that I couldn’t come up with a short, catchy name for it and an acronym is completely out of the question (SPOPWVB is very un-catchy). I stumbled into a solution using Visual Basic in Microsoft Word. You can check out the project on the Streamlining Police Officer Paperwork with Word and Visual Basic project page.

You can see all my projects on my aptly named Projects page. Any feedback, assistance and advice  on any of my projects is always appreciated!

Playing with the Twitter API for the first time

twitter-api-developers-featured

With Christmas break in between my classes at Regis, I decided to do a little more playing on my own. I’ve decided to poke at the Twitter REST API since I use Twitter a ton and have some issues with how it works. Creating my own app that references the Twitter API can solve my problems If I can figure out how to use it.

My Twitter issues have to do with the “Twitter ceiling”, a magical ratio that gets to decide how many people we get to follow. I’ve had my Twitter account since 2008, so I’ve followed a ton of people for various reasons. Lately I have been using Twitter to follow people involved in the Colorado tech community and there’s a LOT of people involved in the Colorado tech community. Since I’m at the ceiling of following 2001 accounts I need a way to manage the accounts that I’m following. I’ve started using lists for different types of accounts. I have an Avalanche list for Avalanche fans, a News list for local breaking news reporters and a Colorado Tech list to keep up with the people I want to follow on Twitter when I can’t just follow them. It’s a messy way to organize since Twitter doesn’t seem to place a lot of importance on lists. So here are my 2 solutions to my problem:

  • Stop following dormant accounts – I bet there’s an account I followed 3 years ago who hasn’t said anything in 2 years but the account hasn’t closed. There’s no point in following someone who doesn’t say anything. I will make an app to show me the dormant accounts that I’m following.
  • Better manage my lists – I like using lists in Twitter. Sometimes it’s the only thing that tells me why I’m following an account. If I’m following an account and I don’t have that account in a list it either means I’m not interested in that account anymore or it hasn’t said anything. By finding out which accounts are in which lists I can better manage them. I will make an app to show me which accounts are in which lists and whether or not I am following those accounts.

The entire reason I started learning Ruby was because of the Twitter API tutorial on Codecademy which is a pretty damn awesome tutorial. It tells you all about RESTful APIs, http requests and responses before even touching Twitter. These are some super important things to know when using APIs. I’ll be writing a post about those things shortly just for reference.

Anyway I went back to that tutorial, copied some of the code from one of the examples and started squishing code around to find out which accounts I’m following have gone dormant. Version 1 will just be a Ruby command-line app that shows the username and date of last tweet for accounts that haven’t tweeted in over a month. I’m better at making things work than making things easy to use. Here’s where I’m at so far…

  • Rate limits are unforgiving. I made a loop that made requests of the Twitter API on each iteration, but forgot to exit the loop. I had to wait 15 minutes to try again.
  • Authentication is confusing. Tokens baffle me. I need to get more comfortable with this.
  • I’ve hit a wall (which is why I’m blogging right now and not coding).  I’m using the GET friends/list functionality of the API. It tells me it returns “pages” of results that can have up to 200 users per page. I’ve learned how to use cursors to retrieve the next “page” but for some reason no matter how many users I request per “page” I only get 45 total users before Ruby gets mad at me for attempting to call a method on a nil object which confuses me.
    • I wonder if my weird 45 user limit has to do with my misunderstanding of OAuth.
    • Maybe I should try using the GET friends/ids part of the API, but I’m not sold on this idea. I’d rather get the whole friend object instead of just ids.

Now that I’ve typed through my wall, I’m gonna go back to squishing code. If you know what I’m doing wrong, please let me know.

Dev News Weekly #3: All the big names doing all the big things

Dev News Weekly is designed to give you (and me) 10 useful software/web developer stories every Tuesday morning!

Satya Nadella laid out his vision for Microsoft this week. I like “productivity and platform” over “software and services”. “Software and services” sounds like “stuff and junk” just without the cool alliteration. Apple showed transparency with Swift. Amazon showed off some new AWS services and Google released a cross-platform SDK! I feel like I’m cheating at SEO but this all really did happen this week.

Developer News

  • Apple opens up with a new blog about Swift, its new programming language [TechCrunch]
  • App developers gain resource hub, search engine to build the future [MediaPost]
  • Microsoft is a ‘productivity and platform company’ now, Nadella says [VentureBeat]
  • Software developers rank ALM tools as best to use [eWeek]
  • Game of Code: Checkio gamifies and crowdsources the task of programming [VentureBeat]
  • Apigee initiates global API challenge [ProgrammableWeb]
  • Python is now the most popular introductory teaching language at top U.S. universities [ACM]
  • Amazon courts mobile devs with a new suite of AWS services [VentureBeat]
  • Google Updates Android’s Play Games and Cross-Platform SDKs [ProgrammableWeb]
  • New Raspberry Pi “B+” uses less power, has more USB ports [ArsTechnica]

Pick of the Week

I needed to have something else in these posts besides my usual blathering and 10 news stories, so I will choose one thing each week to promote just because I like it.

My last 2 picks have been podcasts so I felt the need to change it up. This week my pick is codecademy.com. For too long I said “I want to be a developer” without having an answer to the question “What kind of developer?” Codecademy allowed me to try out a language without too much overhead, actually without any overhead! It’s all on their site. If you want to check out a new web programming language, give them a visit!

Thank you for reading!

If you know of any other good news sources for developers (especially newbies like me), please let me know!

You can subscribe to all my posts by email!

Dev News Weekly #2: Where typos break code and Microsoft does evreything

paired_programming21

Dev News Weekly is designed to give you (and me) 10 useful software/web developer stories every Tuesday morning!

Did you notice my typo in my headline? I bet you did. It was on purpose, I promise. This week, Google told us that the top reason code doesn’t compile is typos. Telling programmers that typos cause the most errors is like telling us that water is wet or the sun is bright. But I guess with having it proven, it’s nice to know I’m not alone. Speaking of proving things, how do you prove that water is wet anyway?

Developer News

  • Amazon launches its most affordable EC2 instances yet, but there’s a caveat [TechCrunch]
  • Why the growing API economy gives developers limitless opportunities [VentureBeat]
  • Microsoft chooses sides in battle for Internet of Things [ProgrammableWeb]
  • Accessory developers, meet iOS 8 [DoubleEncore]
  • Zend upgrade improves quality of PHP code [ProgrammableWeb]
  • IBM expects nanotube transistor computer chips ready soon after 2020 [MITTechnologyReview]
  • Google study: Typos are the top reason your code won’t compile [VentureBeat]
  • Microsoft, Perfecto Mobile enhance multi-platform device testing [eWeek]
  • Microsoft wants Visual Studio to be your one-stop cross-platform dev shop [ArsTechnica]
  • “HummingBoard” looks like a Raspberry Pi but packs in more power [ArsTechnica]

Pick of the Week

I needed to have something else in these posts besides my usual blathering and 10 news stories, so I will choose one thing each week to promote just because I like it.

CoderRadio_1760-Feb.-15-09.35Another one of my favorite podcasts is Coder Radio. It’s a weekly podcast recorded every Monday. Coder Radio is hosted by IT guy turned podcaster, Chris Fisher and co-hosted by independent software development president and coder, Michael Dominick so it provides a great contrast between ops and development.

It’s a more discussion-based show. They touch on the latest news, but spend more time discussing the topic of the show and spend a lot of time interacting with viewer/listener feedback. Another fun, infotainment show!

Thank you for reading!

If you know of any other good news sources for developers (especially newbies like me), please let me know!

You can subscribe to all my posts by email!

Colorado Tech Weekly #30: Marijuana? CES? Drones? Colorado has a little bit of everything

Colorado Tech Weekly Binary FlagColorado Tech Weekly brings you the top 10  technology stories of the past week and the best upcoming local events every Monday morning!

It’s the first Monday of the new year, which means it’s back-to-work time. With Christmas and New Years Day being in the middle of the week, I can understand if you’re finding it hard to focus.

Looking at the headlines this week, it’s impossible for me to come up with a theme for the week. Colorado has a little bit of everything going on. It’s fun to be a part of.

My classes at Regis start back up today. This semester I’m taking Control Structures and a class on Influence and Motivation. Maybe I can figure out how to influence my code to do what I mean and not just what I say.

Local News

  • Andy Vuong previews CES 2014 and features participating Colorado companies [AllOverTech]
  • Denver-based Rivet brings in an old friend for new CTO [RMTechLine]
  • If I could cut the cord I would. Dish and DirecTV to raise rates in February, Comcast hiked fees in October [TechKnowBytes]
  • If you didn’t think the new marijuana laws would have a tech spin, you must be high – MassRoots building digital hub for multi-billion cannabis industry [Xconomy]
  • Innovation Pavilion, in Centennial, celebrates their 2nd Anniversary! [BuiltinColorado]
  • Aw, this would have been so cool – Colorado fails to land drone test-site designation [DBJ]

National News

  • Here’s What Mobile Industry Insiders See Ahead for 2014. Could my Amazon prediction come true? [Xconomy]
  • App development trends 2013: JavaScript, APIs and cloud computing [InfoWorld]
  • A Microsoft OS that isn’t Windows piques my curiousity to no end – Microsoft’s Midori: The M# connection [ZDNet]
  • CES 2014 starts tomorrow: 5 trends the geeks are talking about at gadget show and other news bits [TechKnowBytes]

Upcoming Events

Thank you for reading!

If you know of any other good news stories or sources about tech in Colorado, please let me know! Also if you attend any of the events listed, I would love to hear from you!

You can now subscribe to all my posts by email.
You can also now follow Colorado Tech Weekly on Facebook!

 

Colorado Tech Weekly #22: Thank you from a veteran

Colorado Tech Weekly Binary FlagColorado Tech Weekly brings you the top 10  technology stories of the past week and the best upcoming local events every Monday morning!

 If you know a veteran, you will probably tell them “Thank you for your service” today because you’re awesome and they will probably mutter a “You’re welcome” in a way that says “It was no big deal” because they’re awesome. See, we are uncomfortable with the attention because we didn’t join the military for attention or glory. We joined because of a sense of duty, family tradition, or because it sounded easier than getting into college. Those who did sign up for the glory of it soon found out that glory comes with too high of a price.

When I think back on my time in the Marine Corps, I think of trying to get out of barracks duty, hung-over Company runs and buffing floors. I don’t think of it as me being brave, selfless or in anyway better than my friends that didn’t join the military. Most veterans will probably tell you close to the same thing.

On Thursday, my daughter’s school had an assembly to recognize the veterans that are in students’ lives. After having each student introduce their veteran the principal told all the students to cheer for the veterans. Oh man did they cheer! It felt amazing. If I did something that can make an entire school of elementary students cheer, I must have done something pretty cool. I know it sounds silly, but thank you for saying “thank you”.

Local News

  • DigitalGlobe rejected more money from Longmont [DBJ]
  • How Colorado voted on fracking, schools, broadband, pot, Boulder utilities [DBJ]
  • Longmont-based Lassy Project focuses on child safety with smartphone app, GPS and “village” community [InnovatioNews]
  • Developing A Spirit of inspiration and collaboration at the Internet of Things Hackathon in Boulder [BuiltinColorado]
  • OpenWorld Learning (OWL) Gala and Silent Auction “Writing the Code for Success” raises more than $133K to support OWL students [OWL]
  • LUCAN Technologies launches $500K Indiegogo campaign for PC aimed at reducing e-waste [InnovatioNews]
  • Hip to be cubed: Modular Robotics raises more Than $56K via Kickstarter [Xconomy]

National News

  • KitKat’s WebView is powered by Chromium, enabling Android app developers to use new HTML5 and CSS features [TheNextWeb]
  • New API Commons Platform Allows Developers To Share APIs Under Creative Commons Licenses [TechCrunch]
  • ‘Vets in Tech’ expands its work helping veterans find tech jobs [SiliconValley]

Upcoming Events

Thank you for reading!

If you know of any other good news stories or sources about tech in Colorado, please let me know! Also if you attend any of the events listed, I would love to hear from you!

I have a break in my courses at Regis until January. I am using that time to work on my own projects. During this break I am focusing on learning UX design and how to implement it with my website. You can find all my updates on my website design project here.