BaDumChh and the Beloved Retro ‘Apps’

I hereby announce my newest project, BaDumChh; a daily one-liner joke texting service.

The idea for BaDumChh came to me one evening during a startup weekend when I was working on something completely unrelated. I simply wanted to create a fun, quick app that could run (and hopefully sustain) itself, built on Twilio’s phone system. I was so excited about this idea originally that I had trouble sleeping that night just thinking about the possibilities and how I would go about implementing a service like this, where I’d get the renewable jokes from, a business model, etc.

Throughout the development of BaDumChh, and even more so now, I realized what I love so much about this idea (even more than the guaranteed smile on my face once a day) – the fact that this is a texting service and not a mobile application.

In a world that is constantly evolving and being populated with countless apps for any and all needs you can imagine (and probably some you can’t imagine), I’ve grown to miss some of the simpler days without having to download an app specific to each need or constantly see how many notifications I’m behind. That is one of the beauties that the Twilio API enables. Sure, I can’t send push notifications to my users. Or easily charge them through in app purchases. Or send app updates. But why use push notifications when I can text my user? It makes communication that much more personal. And if I set up my own payment system, I can avoid the standard 30% cut that instantly comes of the top from app stores. App updates? I can push up changes to my back-end any day and all of my users will be on the new, updated version instantly. That also means I have one code base to maintain, not 2 (or more if I wanted to support more than just iOS and Android). Not to mention that while most cell phones ever have text message capabilities, only smart phones (of a certain operating system, version, etc.) can support apps.

I was recently introduced to another app that works through texting instead of an app, Digit Savings will hook into your bank account and inform you of your spending habits and move money aside for you in a separate Digit Savings account. All of this through texts. That tiny fact makes me respect this up-and-coming start up all the more. Digit also does not even provide an app option (as of November 2015).

Another startup that works through texts is GroupMe. GroupMe enables groups to chat easily through a single phone number instead of the mess that group messages can be (especially on a dumb phone). The interesting thing about GroupMe is that while they operate through texts, they also have an app that you can use instead of texts. Through the app you get a few more benefits like sending and receiving unlimited messages (they have a monthly quota for texts), favoring messages, emojis and images, and no message length limit (which is and always will be a limitation of texts).

So what is the ‘better’ option, a text message app, or an app as we’ve all grown to know and love? I don’t think there’s a right answer (what a cop out answer…); I think it very much depends on what you’re trying to do. But in today’s super busy, hustle and bustle daily routine world, BaDumChh will remain a simple and elegant service that will put a smile on your face the old fashioned way.

On Hodgkin’s Lymphoma and the Brentuximab Clinical Trial: The Story of a Very Lucky, Unlucky 21-year-old Student

‘You have Cancer.’

Those 3 words are enough to turn anyone’s life upside down. Especially if you’re a (relatively) healthy 21 year old student who has always strived for karma to be on his good side. And yet, Cancer was in the cards that I was dealt.


In May of 2014, I was, totally by coincidence, diagnosed with stage I Hodgkin’s lymphoma. I was stunned. Speechless. What the fuck did /I/ ever do to deserve this?? I’ve been a good guy, most of the time at least. I got good grades, was pretty nice and friendly to people, I recycle when I can, and even volunteered in my community. But I couldn’t let myself get hung up on the ‘why’ aspect of everything, after all, it doesn’t matter why it happened anymore, it just matters that it happened. Now I need to deal with it.

Immediate Effects

Getting healthy was, quite obviously, my first priority. That really sweet summer internship I scored in Charleston for really good pay? Drinking smoking and partying? Having an overall quite badass summer? Yeah, that wasn’t happening anymore.

You make plans and the universe laughs.

For the duration of the summer, I moved back to my parents’ house so they’d be able to support me, keep an eye on me and help me where needed.

Not the ideal summer plans for my senior summer. But it needed to be done. I was going to beat this sickness and become a better person because of it.


I went through 4 treatments of ABVD, each spaced two weeks apart. The first treatment was rough, to say the least. Besides feeling physically weak (and not to mention emotionally so as well, though that wasn’t a side effect of the chemo itself), I got really bad mouth sores. To the point where I couldn’t eat solid foods or even swallow without pain. My parents made mashed potatoes and crushed up meatballs specifically so I’d be able to eat something. I felt helpless. When was the last time my parents had to make ‘food smoothies’ for me to be able to eat? Not for a long time…

During the first treatment, I also started getting a fever while staying in my apartment one night. While undergoing chemo, they tell you to seriously watch out for fevers and the like, since your white blood cell counts are really low and a fever could actually cause some damage. After a long and scary night, a few phone calls to the on call doctor, some impromptu medication, a ride through the city with the windows down with a good friend, and a delicious peanut butter-fudge-extra fudge milkshake, I felt better.

Another kind of weird effect I had during chemo was random hiccup attacks. Out of the blue I’d start hiccuping and not be able to stop for hours at a time. While it wasn’t painful, it was a tiny bit annoying and drew unnecessary attention to myself when I just wanted to stay in the shadows.

Because of these effects, for my next 3 treatments I was given a Neulasta shot the day after chemo. Neulasta literally makes your bones produce more white blood cells. This in and of itself blew my mind. It was also nice because the next 3 treatments went much more smoothly with no real hiccups (pun not intended).

I didn’t throw up a single time while on chemo.

It’s also worth noting that I chose to not get a port operation. Usually, cancer patients will have a port surgically inserted near their shoulder; this makes it very easy to deliver the chemo drugs in a quick and efficient manner without causing pain to your veins. Since we had only spoken of a few treatments and were optimistic about the whole situation, I decided to rough it out and not use a port. This was sometimes a bit tricky, the nurse couldn’t always catch my vein right, and the drugs caused soreness in my veins and arms. But in the end of the day, I saved myself a procedure. I was lucky.

Clinical Trail – Brentuximab

Before this, a quick breakdown of usual Cancer treatment: Chemotherapy works by attacking all of the fast growing cells in your body, therefore by killing most of the large Cancer clusters you have. That is then usually followed up with radiation treatment to kill any remaining Cancer cells to try and prevent the disease from relapsing.

Now to the clinical trial: While talking to the doctors about treatment options, they mentioned and recommended a clinical trial going on at the hospital with a drug called Brentuximab. This drug would follow chemotherapy and replace radiation treatment. Brentuximab was FDA approved for relapse Hodgkin’s patients. Meaning, if you got Hodgkin’s a second time, you would be able to take Brentuximab to fight it. This clinical trial was for virgin Hodgkin’s. The theory is that if this drug works well for relapse patients, hopefully it can do some (well, a lot) of damage to the remaining Cancer cells in people who have gotten Hodgkin’s for the first time. This seemed like quite a good option for me. Sparing me radiation treatment is a huge win since it has been shown to not always be effective and a lot of times would come back to haunt you later on in life. Especially if you get radiation treatment at the age of 21. Also, because this was a clinical trial, it was all paid for (when I say all I mean the clinical trial portion, not chemo). There were some slight differences from regular treatments such as another PET scan, regular follow ups, its own set of side effects, and of course knowing that this is just a trial. But at the end of the day, I went ahead with this option. Time will tell if this was the right decision or not, but right now I think it was the right decision.


Before starting chemo, the doctors informed me that this may potentially harm my fertility. As a 21 year old male in his prime, this was frightening news.

I went to a sperm bank and deposited thrice, just to be safe. There’s still a good chance that I will be able to reproduce naturally in the future (they say give it at least 5 years after complete remission). But having had to go through that and deposit sperm in a bank because my fertility was in jeopardy was scary.


Yeah, it’s gonna happen. I was a bit optimistic for a while since my hair didn’t start falling out until after I got the second treatment. But then it happened. I lost hair on my head, my beard and pubic region.

This was actually quite a big hit for me. Before my diagnosis, I was known as the guy with the ponytail. I had always and since I can remember had taken pride in my luscious and flow-y hair. The ponytail and beard combo also looked quite good on me (call me biased…). Needless to say, that had to go and I didn’t have a say in the matter.

It was embarrassing. It was sad. It put a spotlight on me when I didn’t want it. I felt like I lost a big part of my identity. And yet, what can one do? I embraced it and tried to play it off when people mentioned it. ‘Oh yeah, summer got hot so I just shaved it all off.’

I also got a lot of double takes. People didn’t recognize me anymore without my defining feature. It was also interesting to see which people did recognize me immediately versus people who had to take a hard look and still didn’t recognize me. I’d like to think that told me something about certain people.

After the fact when I could look at things in a more positive light, I like to say that this all just happened because someone upstairs wanted me to get a haircut.


On July 25th, I was in full remission. I had had cancer for 3 months. I was really lucky. Due to the timing of everything, I didn’t even miss any school. My grandmother has a saying that goes: ‘even with bad luck, you need good luck.’

Brentuximab Treatments

I wasn’t done though. After being in remission, I needed to go through the Brentuximab treatments. There were 6 of these, spaced 3 weeks apart each. My last treatment was on December 23rd. Even then I wasn’t done. I had to wait 2 months to do another PET scan to make sure I’m in the clear. Which I was.

Support / Socialness-ness

You will feel alone. You will feel isolated. Be sure to get the support you think you need (and probably more than what you think you need) to help get you through this.

My family was an invaluable resource during this time. Not only did they help me where needed (drove me to treatments, sat through chemo sessions, prepared me healthy food, etc), but the fact that they were just there for me was nice. I even had a few relatives come from abroad to visit and help me through. One of my uncles (that lives abroad) kept on texting me jokes and funny pictures. This was one of the more thoughtful things anyone did for me at the time. Not only did it show that he was thinking about me and cared for me, but he also managed to put a smile on my face.

My friends were there, though a bit less than usual and a bit less than I would’ve liked, I think. They came over sometimes and hung out a bit and checked in on me every now and then. Honestly, I don’t even know /how/ they could’ve been more helpful, I just wish they were. At the same time, I couldn’t really blame them. Their friend got Cancer. What are they supposed to say or do in that situation? It was new territory for them as well as myself. I think moreso than anything else I was a bit angry at the world and jealous of them. They kept on keeping on. And I couldn’t go on with my usual, normal routine. Things were different for me now. I found myself even pushing a lot of people away from me during this time. It was all very confusing for me.

There are lots of support groups and events you can go to to meet people in similar situations or people that have gone through what I was going through. I went to one Hodgkin’s fertility event and that’s it. The one event was alright, it was informative but I didn’t quite connect with anyone there, mostly by choice. These groups and events weren’t really quite for me; I’m more of an introvert and much preferred to handle things on my own and get lost in thought questioning the irony of the universe. While I can’t say from experience, I’m sure these support groups are unbelievably helpful if that’s your thing.

While I did try to tackle most things on my own and act like a big boy who didn’t need help or sympathy from anyone, my family and friends being there for me was unbelievably helpful. I wouldn’t have gone through what I did as easily as I did if it weren’t for all of them.

For family of people with cancer: I think you’re gonna know how to go about handling a situation like this. Make your family member know that you’re there for them, I think that’s the most important thing. My family made clear that I was never alone throughout the whole process. This was invaluable.

For friends of people with cancer: I think it’s really important to your friend to let them know that you’re there for them. I very much did like the check-in texts, a phone call may have been nice as well. My friends coming to pick me up and grab lunch together was thoughtful and made me feel like I was still part of the crew and not much has changed; that was nice. I also was recently shown the following ’empathy cards’ (, I think I very much would have liked to have received something like this.

Other Thoughts

Look, this is not going to be an easy experience. Physically, mentally, and emotionally. But I think the most important thing is to simply take it one step at a time and to try and think optimistically through it all. Having a good source of support (read above) I think is also very important, even if you may not think so at the time or don’t necessarily take advantage of it constantly.


It was not a fun journey. But it made me stronger. It made me who I am today. I learned a lot about myself. I learned a lot about the people who were close to me.

My journey still isn’t over. I need to go to annual follow up scans for the next 5 years to make sure I’m still Cancer-free and healthy. But I made it to the other side, and I’m thankful for that and for the bit of luck I had along the way.

Netflix and Why Options Are Bad For You

I will make your life better by taking away your choices.

I probably sound crazy right now. Let me change your mind.

How often do you find yourself drowning in a vast, empty sea of television shows and movies without giving a single shit about which one you watch? It’s like walking down the aisle in a grocery store and searching through an endless variety of laundry detergents when all you want to do is get that damn stain out of your good shirt.

As it turns out, there’s a reason for this uncertainty you experience when browsing through too many options. It’s called the Paradox of Choice. I came across this feeling first on Netflix. I found myself never being quite satisfied with whatever I watch on the brilliant streaming service.

That’s where Netflixr comes into play. A quick bookmarklet that will give you just a few random options from the Netflix page you’re currently viewing. It’s pretty simple, but sometimes that’s the way it should be. Mindless television should be a bit more mindless.

With more options comes more responsibility.

Think of it like this: Given a thirty minute break for lunch, you have enough time to heat up a quick meal and watch something before getting back to work, with a little wiggle room to get your mac n cheese to the right temperature. The longer it takes you to decide between It’s Always Sunny in Philadelphia, the Office, or Derek, or anything else, that’s less time you get to eat and enjoy your damn television show.

Turns out, I wasn’t the only one thinking this way. Sheena Iyengar, who literally studies how people choose, has a TED talk about the very same topic. In it, Iyengar mentions that more options will sometimes make it more difficult for people to commit. She then goes on to mention a few ways to make that decision easier for the consumer. One of those ways? You guessed it. Cutting options.

I will make your life better by taking away your choices.

Who’s crazy now? 😉

As usual, to install the Netflixr bookmarklet, drag this link to your address bar. Simply click on the bookmark on any Netflix page, and viola!

Optimizing Grocery Shopping – Superbetize

You run to the grocery store. You forgot all about your hot date who’s coming over soon and expecting a lovely home-cooked meal. As you run down the aisles, picking up the ingredients you typed in on your phone, you realize you’re going to be late. Not a good first impression… The items in the list are all over the place, making you run back and forth through the grocery store aisles as if you work there. If only there was a quick and easy way to view your shopping list already categorized…

Well now there is!

I’d like you all to meet Superbetize. This site will take your list of groceries, and categorize (super-betize!) them in different sections found in most grocery stores (e.g. produce, frozen foods, household supplies, etc.). The site provides a nice mobile interface as well so you can easily use it on your phone while traversing the grocery store aisles.

I am very proud of Superbetize. Some may even say that I’m super proud of it. I believe I’ve managed to solve a problem experienced by many, but spoken about by none. I also used this project as an excuse to learn some new and interesting technologies. Those include: Bootstrap, mod_rewrite, and cron jobs.


I want to introduce you to a problem I had while developing this site. The ‘groceries array’ that I use to actually sort through the grocery list was manually created by yours truly. I knew there was no way I’d be able to get everything right the first time, between all the different brands, categories, and spellings of product names. I needed a way to update this groceries array regularly with items that weren’t already in the list. This is where cron jobs come in to play.

Cron jobs are scripts that run on a schedule. These are usually used for automated backups or system administration. For each script, you can simply tell it the interval to run (daily at noon, Fridays at 5pm or once a year on April 20th). I created a simple cron script to run once a week that will collect all of the ‘Uncategorized’ items (which were stored in a separate table in my database) that went through Superbetize, and email that list to me. It works beautifully.

Once a week, on Sunday nights at 1am, I get an automated email coming from my hosting provider (where the cron script is hosted), with a list of all of the uncategorized items that were sorted in the past week. I simply add those items manually to my groceries array in the proper category, and update the live grocery array! This way you know if Superbetize couldn’t get your item once, next time it’ll be in the proper place 😉

Ideas, suggestions, and criticisms are welcome! Enjoy!


The Homes, Sweet Homes Content Management System

For a while now, I’ve been managing the web site for NC Student Rentals. Having to constantly make small adjustments and updates led me to the idea for the Homes, Sweet Homes Content Management System; I would create a CMS that would give the owners of the site the ability to make those small yet crucial updates on their own, without having to go through me. Using my recently learned PHP skills, along with a custom database framework I built, I started construction.

The final product is a ‘niche-specific’ (as I like to call it) content management system, built for controlling a rental properties web site. It has the ability to add, edit or remove properties, add a custom stylesheet to the main site, have multiple user accounts, and even add a rental application. This was my first front-end AND back-end project, and boy did I learn a lot from it. The back-end must be secure to prevent outsiders from changing content. The front-end must be dynamic to factor in error on the user part. And there are many little features you need to include, such as notifications for the user, and convenience features on the front-end when the user is still logged in on the back-end.

The Homes, Sweet Homes CMS is now live, along with the front end of the site. You can view a demo here. Please check it out and let me know what you think. Have any ideas for it? Please shoot them by me.

This project was a monster, and, like just about any other project, took a bit longer than I expected to be pushed out. However, now that that’s done, I can get back to work on some interesting stuff I have in store for you guys 😉

FB Friend Selector

It doesn’t happen often, but when you’d like to invite ALL of your friends to your Facebook event, you’re left with the daunting task of having to go through and click on each person, one by one.

Well not anymore!

Using what I learned from my previous project, a simple bookmarklet will allow you toggle all of your friends with one click.

To use it:

1. Drag the following link to your bookmarks bar.

2. Go to your Facebook event page and open the ‘Invite Friends’ dialog.

3. Make sure to scroll all the way down, so it loads all of your friends.

4. Click on the link you just bookmarked.

5. Depending on how popular you are, it may take a second. Then you’re done!

As per usual, here is a link to the pure JavaScript file.



If you’re simply looking for FCCheck, a quick and easy way to make sure lyrics are FCC clean, click here! To install this on your computer, simply drag this link to your bookmark bar. Or copy the Link Location from the link and save that as the URL for a new Bookmark item.


FCCheck is a tool that will allow you to very easily view all the FCC 7 dirty words on a page. This can be especially useful for DJ’s looking to clean up some (potentially) dirty songs.


For those of you who don’t know, I am an underground hip hop DJ on WKNC. Check out my co-host (Casual-T) and me (tomeslice) on Sunday nights, midnight-1:30 am. Tune in:

It didn’t take us long to find out that one of the hardest parts of being hip hop DJ’s was finding clean music. For each song we wanted to play, we had to look up the lyrics, use the Find command and search for the ‘dirty 7’, an informal list that the FCC uses to make sure radio broadcasts are age-apropriate, and then skim the page just in case we missed something. This process became long and tedious after some time, as you might imagine. So I threw my thinking cap on, and in just one afternoon was able to come up with a solution: FCCheck.

I wanted to automate the process of searching for the dirty 7 in a lyrics page. I’ve used UserScripts before, but the nature of the UserScripts wasn’t what I was looking for. I wanted a button of some sort that I could click on while I was browsing any page, and for it to count how many occurrences of each word was on the page. And just for fun, highlight each occurrence as well. I was sadly coming to the realization that I may need to turn this project into a browser add-on. This isn’t a big deal, except for that I didn’t want to have to make 4 browser add-ons for each browser. Plus, I wasn’t familiar with how to go about doing this.

And then it hit me: bookmarklets.

If you haven’t heard of bookmarklets, you’re missing out. Bookmarklets let you store a JavaScript function, as a URL, in your bookmarks. This means that you can have the power of JavaScript, on any page you’re browsing, just a click away. To see how powerful these can be, check out some of these:
Kick Ass – Turns any page into an interactive, Asteroids-like game
Mark Up – Let’s you draw and write notes on any page you’d like, and then share it with the Mark Up Community
Urban Dictionary Lookup – Looks up the selected term on the page on Urban Dictionary
Wikipedia Lookup – Looks up the selected term on the page on Wikipedia

A bookmarklet was so perfect for this project, I don’t know how I didn’t realize it earlier. A few hours later, FCCheck was born. Try it, click on it! (To install FCCheck, drag the previous link to your bookmarks bar. You’re done!)


The first thing I did was made sure the bookmarklet pointed to my servers to fetch the script. This has a few advantages. If I ever want to update the script, make it more efficient, or add some features, it will automatically show up for everyone who’s using the same bookmark! Plus, I can easily track and see how many people use the script. However, hosting the script on my server means that it can’t be edited by the user. And for that purpose, as well as if you’d just like to check out my code, here is a link straight to the JavaScript so you can do with it what you please!

Next, I needed a good way to count occurrences of words on the page, and then highlight them. As of now, RegEx is used to count the occurrences, and a third-party script searches through the page’s source and highlights each word on the page. Then an alert is shown displaying the number of occurrences of each word in the dirty 7 array, and a total at the bottom.

While I can say with great certainty that it should work correctly most of the time, please make sure you look over FCCheck’s results. I do not want to be held liable in case of any mishaps. Also, keep in mind that FCCheck will scan the WHOLE PAGE when looking for cuss words. On lyric sites where people post comments at the bottom, or if there are links to other songs at the sidebars, FCCheck will tally up those words as well. In other words, please use caution while using this bookmarklet and remember that it is not a one-all solution.

Thoughts? Improvements? Efficiency boosts?

Simple PHP + JavaScript CAPTCHA

While I was developing Fuck It All, I came across an issue that I’ve never had to deal with before. Since I was accepting user input that would in turn be posted on my site, I needed a way to make sure SPAM bots wouldn’t be able to make posts. There is quite a simple solution to this and I’m sure you have all come across it before, CAPTCHA inputs.

CAPTCHA inputs are small verifications, usually found on forms, which are easy enough for all humans to solve, but something that an automated machine wouldn’t be able to compute. These are commonly just a few words, but with some sort of distortion applied to them. Such text is, up until now, unreadable for computers. However, most humans can distinguish the individual characters without a problem.

For me to set up a system like that (without outsourcing), was way beyond what I wanted to do/had time to do. I could have easily used a publicly available widget and integrated that into my site, but I wanted to keep it classy and in-house. My friend helped me implement a simple CAPTCHA mechanism that can easily be implemented into a site using only PHP to generate the CAPTCHA and JavaScript to validate it.

HTML entities are reserved characters in HTML. To read more about HTML entities, go here.

Now for the actual CAPTCHA. Using these HTML entities, we can show a simple addition problem with two numbers. Most humans should be able to pass this quick test, while spam bots won’t be able to recognize what your site is asking them due to the HTML entities.

In your form, add the following PHP code:

   $num1 = "&#" . rand(49,57) . ";";
   $num2 = "&#" . rand(49,57) . ";";
   echo "<label for='captcha'>* <span id='captchaval1'>$num1</span> + <span id='captchaval2'>$num2</span> = </label><input type='text' name='captcha' id='captcha' maxlength='2' required /> (just making sure you're not a robot)";

This generates two random numbers between 1 and 9 and tells the user to solve the math problem. Now we need to check if the user is correct using the following JavaScript code:

<script type='text/javascript'>
function validate() {
   var passed;
   var val1 = document.getElementById('captchaval1').innerHTML;
   var val2 = document.getElementById('captchaval2').innerHTML;
   var captchaval = document.getElementById('captcha').value;
   var result = parseInt(val1) + parseInt(val2);
   if (result != captchaval) {
      passed = false;
   } else {
      passed = true;

   return passed;

By returning the ‘passed’ value to the form, you can check whether the user got the simple math question right or not. From there, you can handle the form submission as you please.

I would also like to thank my good friend Daniel for bringing this to my attention and helping me out with this code. If you have a second, you should check out some of his stuff as well. Right along the same alley:

Thanks for reading! I hope you guys enjoyed my first code posting!

Fuck It All

For a while now, I’ve been working on a new project. Fuck It All (FIA) is a simple site where you can go online and rant about anything anonymously. The domain?

It’s a very simple concept but I have not seen it done well. In my research prior to the production of FIA, there were a few alternative sites with similar functionality, but I was not happy with their design/simplicity. I believe I have managed to create a site with that specific function, but with a very simplistic design and no unnecessary bells and whistles.

FIA was my first legitimate project working with a database. I can proudly say that I am now pretty sufficient with PHP, MySQL and the sorts. Working on FIA has also given me some excellent ideas I can start working on to push out to you in the future.

I have been waiting a while to release this product; lots of last minute adjustments and delays. Even so, I am very proud of the final creation. Please let me know what you guys think about it in the comments! After you post to FIA, of course 😉

Hello, World!

This is my first post in my new blog. I kinda wanted to try out something like this for a while but haven’t really gotten around to it. I’ve also been putting it off because I didn’t have much to post on a blog of my own. Recently though, I’ve been working on a lot of little simple solutions, just elegant scripts or programs that I feel like sharing but didn’t have a way of sharing them, until now at least.

So, a tiny bit about me; my name is Tomer, and well, I’m kind of a geek. I was never really intrigued by video games, fancy web applications or cool gadgets (well maybe a bit), but rather how they worked, what made them tick. Then I learned that with a bit of independent study and research, I could make video games and web applications myself. This is where I will try to turn my ideas and creativity into reality.

I hope you enjoy what I have to say and let me know what you think in the comments. Let the blogging begin!