Welcome to my blog!
I started this blog because I love to write and stimulate knowledge transfer. Herein, you will find my musings on healthcare, education, software, technology, and more.
Personal Finance 101
My interest in certain topics can be quite obsessive at times. In the past half decade, I would say one of these topics has been personal finance. After reading books about Warren Buffett’s investment strategies, perusing blogs by finance connoisseurs like Mr. Money Mustache and the Mad Fientist, talking to other financially-savvy friends, and most importantly, applying the concepts I’ve been exposed to by actually executing them and growing from my mistakes, I have learned quite a few lessons. The fact that personal finance is hardly ever taught in high school or college is pretty shocking considering how important it is to manage finances in the real world.
According to BankRate, over 75% of Americans don’t save and a majority of people do not have more than $500 in emergency savings.
That shocking statistic led me to want to share some of my learnings in a way that can make a lot of intimidating financial information easier to understand (hopefully) and apply immediately. Personal finance is fascinating and I could write for pages regarding the categories below but I’ll try to surface the most salient points within each category that can have a practical impact to you right now. I’ll define any confusing financial jargon at the bottom of this post. And, there's a TLDR at the bottom of the post in case the content is too dense!
1. Budgeting means setting personal boundaries for how much you want to spend on things each month. From your gross income*, you can set spending limits on yourself such as 45% for living expenses like rent, utilities, and groceries, 15% for fun expenses, and 15% for investments, assuming an arbitrary 25% tax rate (these numbers are recommendations from On My Own Two Feet, a fantastic personal finance read, but mix and match to your suiting). Ideally, you want to be profitable, meaning you want to spend less than you make each month.
2. Saving means saving the money you could be spending for future financial decisions. It can be done in various ways including budgeting from the above point. Other ways include biking to work or taking the bus instead of driving/Ubering/Lyfting, cooking for the entire week so you don’t have to eat out, taking the time to research cheaper alternatives to large purchases or vacations, and living minimally with fewer material possessions in a less expensive place. You can put your savings into a high-yield savings account as an emergency fund, pay off any debt, or invest it, which brings me to the next item...
3. Investing means taking money you have saved or left over and putting it in places that will give you interest* on top of your principal* amount. Basically, you’re making your original money give you more money with little extra effort. There are a wide array of investment options here but I’ll talk about the simple, tried-and-true ones, focusing mainly on passive investing* rather than active investing*.
- Non-retirement options include but are not limited to real estate, individual stocks, and index funds*. These can be be used for various goals such as a car, a house, a wedding, or a vacation. For example, if you invest $10,000 in an index fund at age 25 and you get an average yearly return of 7% interest, then you’d have around $14,000 by age 30. Remember you did nearly nothing to get that extra $4,000. Obviously, the market can go down in the short-term, but in the long term, you’ll statistically, based on history, get positive returns (the average return for the S&P 500* since its inception in 1928 to now is 10%; this accounts for huge market downturns such as the Great Depression and other recessions). Real estate is an interesting option because it can provide even higher returns than index funds; in fact, it has outperformed the S&P 500 for 20 years as of 2015 even after taking the housing crisis into account. But, obviously, it’s not as liquid as a stock, which can be sold in seconds and requires no maintenance. And, in terms of individual stocks, I’ll just say that, for the average/beginner investor (the target of this post), who has little time to scrape company financials, follow the latest business news, understand the subtleties of our economic system, and time the stock market due to the probable fact that he/she has a full-time job, he/she will be better off with index funds, essentially a buy-and-hold strategy rather than a short-term home-run approach. Even from a data-backed historical perspective, passive index funds have consistently beaten most money managers, aka active investors who have millions of dollars at their disposal to get the best technology and talent to analyze and act on the markets.
- Retirement options include individual retirement accounts (IRAs), health savings accounts (HSAs) and 401ks through your employer. For both IRAs and 401ks, there are traditional options and Roth options. Check out my cheat sheet for more details on traditional vs Roth. Obviously, retirement is probably far in the future for most of us but investing a little bit now each month can result in huge totals in the future. For example, if you save $460 per month starting at age 25 and invest it into a IRA until you retire at 65, your total investment will total $220,000. But, the interest gains will compound* each year (assuming an average rate of 7% and a mid-tier tax bracket) and result in a total IRA account of $1,174,000 after 40 years! And, the earlier you start, the less you have to invest. Here’s a concrete example by Investopedia.
- A 25-year-old who wishes to accumulate $1 million by age 60 would need to invest $880.21 each month assuming a constant return of 5%.
- A 35-year-old wishing to accumulate $1 million by age 60 would need to invest $1,679.23 each month using the same assumptions.
- A 45-year-old would need to invest $3,741.27 each month to accumulate the same $1 million by age 60.
5. System hacking means taking advantage of our system as often as possible. This isn’t really a financial term; I just made it up. But, it’s 100% real. One of the biggest techniques is credit card churning because the obscene spending bonuses are not taxed and are just extra income for not too much extra effort, not to mention the regular accumulation of rewards points for more free purchases! The especially valuable cards to have are the high cash-back ones for regular purchases and specialty ones for travel, giving you free flights or hotels. If you’re concerned about credit scores, don’t be. Credit scores have vague calculations but the basics, as per NerdWallet, to have a high score are good payment history, low utilization, and long credit history. Opening new cards increases your total credit limit while simultaneously lowering your utilization. As long as you have a good payment and credit history and aren’t opening new cards left and right, since that results in lots of credit inquiries (which temporarily ding your score), you should not be concerned about your credit score dipping. Other techniques for system hacking include getting referral bonuses for various services such as food delivery or ride sharing, timing flights during major holidays to take advantages of opportunities for huge travel vouchers due to delays, overbooking, and cancellations, and utilizing free but commonly unpublicized financial remuneration programs for property theft/damage.
I hope these 5 concepts have been helpful in spreading some knowledge that’s typically disparate and making someone more financially independent. I’ve taken part in all of the things I’ve written about above so please ask me more questions if you’d like. Please also feel free to spot-check my calculations and email me any suggestions/corrections. Happy budgeting, saving, and investing :)
In case the above bored you, here’s the TLDR: create a budget for your monthly expenses -> save some money each month -> open an account on Vanguard online -> invest, monthly without fail, into VFINX, an index fund that has stocks in various companies in the S&P 500 -> end result = a no-stress, no-effort, good return, low-risk investment that is supported by really successful investors like Warren Buffett (you can do this separately for both non-retirement investing and retirement investing; the ticker might be different than VFINX but the concept is the same).
- *gross income is the income that you receive each month before taxes are deducted. So, if you make $60,000/year. Your monthly gross income would be $60,000/12 months or $5,000/month.
- *principal is the original amount you put in. If you invest $10,000 in a fund and get a 5% gain in one year, your principal is $10,000.
- *interest is the % gain on top of principal. In the above definition of principal, the 5% is the interest.
- *passive investing is investing that requires little to no additional work by the investor (typically low-risk).
- *active investing is investing that requires a lot more work by the investor or even requires an expensive money manager (typically high-risk).
- *index funds are a wide array of stocks in one financial instrument that will decrease your risk through diversification. An example is the VFINX index fund which contains stocks in hundreds of companies so that if any one company tanks, you’re protected because you don’t have all your eggs in one basket.
- *S&P 500 refers to the US stock market index that tracks stocks of 500 large companies with stocks on exchanges such as the NASDAQ or NYSE.
- *compound as a financial term means to grow your initial money with any gains reinvested such that the total amount can experience nearly exponential growth over a long period of time.
- *loss harvesting is a technique to deduct from your taxes the losses on a sale of a stock that was sold at a lower price than what you bought it at.
- On My Own Two Feet
- Warren Buffett’s Ground Rules
- A Random Walk Down Wall Street
- Mr. Money Mustache
- Mad Fientist
- Retirement cheat sheet: Roth vs traditional
Standard disclaimer: I am not a certified financial planner or financial advisor. The information provided is merely to promote financial literacy and discussion. Before you act on any suggestions or investment advice in this post, you should have them reviewed by a financial professional. Lastly, I am not liable for any decisions you make after reading this post.
The software engineer’s checklist: 10 checks to deploy more smoothly.
I recently read The Checklist Manifesto by Dr. Atul Gawande and was blown away by how something as simple as a checklist could reduce surgical casualty rates by so much. Dr. Gawande surveyed various industries (airline, construction, etc.) and comes to the conclusion that the human fallacy of taking simple yet critical rules for granted results in easily preventable deaths daily in the medical industry. The solution was to have a quick checklist to reference to verbally assure that the core steps had not been circumvented.
That got me thinking about my job, how our teams write, review, and deploy code daily and whether any one oversight that results in post-deploy problems could be prevented. The list below is an accumulation of learnings from *my* observations and experiences, mishaps included, throughout the past year. Hopefully, this checklist, when reviewed prior to code deployment, can contribute to fewer post-production-push issues, whether it's for enterprise software, like ours, that doctors rely on every day for critical business operations or if it's consumer-facing software, where downtime can cost millions of dollars hourly.
1. Performance. Can your code be optimized in any way? Some ways to do so: prevent unnecessary calls with conditionals, use threads for finite database calls within for loops, do batch inserts instead of many individual inserts, paginate queries that return huge amounts of data, test load with performance tests to isolate slow code, caching, avoid n+1 queries by using maps containing IDs of the culprit object, utilize SQL JOINS and EXISTS (yes, such a thing EXISTS!) clauses, and enable full-text indices on columns if you don't need the scale of something like ElasticSearch.
2. Null. Can your invocations on any type of variable throw exceptions? If so, surround said variable in a conditional. And, use monitoring tools like SumoLogic as additional protection.
3. Feature toggles. Are they enabled in all environments (dev, test, stage, prod, etc.), invoked properly, and located before taxing code executions? If not, fix it!
4. Contract-breaking changes. Do your changes modify an API endpoint? If so, you'll need a legacy endpoint with the prior version as well. If you have a service oriented architecture like we do, the changes need to sync through the UI, service, and domain layers with all the correct versions declared.
5. Style. Are you abiding by your team's style guide both on the frontend (spacing, modularity, readability, etc.) and backend (directory archetypes, service-oriented architecture conventions, etc.)?
6. Security. Are you concealing API keys, enforcing session and privileges, sanitizing inputs, and, for healthcare orgs, protecting patient information? No? Oh, no!
8. Logging. Is there an easy way to trace your code execution, especially if exceptions aren't thrown? As I've discovered, tracking bugs, executions, and variables in multi-threaded code, for instance, is far easier with logging. Log it!
9. Tests. Do you have test coverage? Unit, integration, or component. Whatever floats your boat. Test it! And, make sure you run all of them before merging to default to ensure successful builds.
10. Deployment pipelines. You're about to merge... but, WAIT! Are the pipes in your continuous integration/continuous deployment flow clean? If not, document an agreed-upon process to unclog them. A domino effect is not what you want here as that can result in untested code to be pushed to production.
Of course, this checklist can differ depending on the type and stage of your company and engineering team. It can include a lot less or a lot more. But, I hope it has you thinking about your process. How do you deploy code? Is there a list of checks you go through? Is it written, automated, or in your mind? At some point in the future, I hope these verifications can be automated and checked within seconds before code even gets merged... but, until then, check away and check often :)
The hackathon state of mind
I remember my first hackathon as if it just occurred yesterday. I was still a college student, and I did not know what a hackathon was. I had no clue what the hackathon theme of “disrupting healthcare” meant. All I could picture in my mind was the stereotypical image of computer programmers working all night while guzzling energy drinks. The reality could not have been further from the truth. That spring weekend in 2013 at athenahealth's HQ in Watertown, MA was a formative event.
Coming up with a solution to a problem in hours, thinking through the business value, designing a proper user experience, hacking together the technical demo, working together with diverse teammates that you did not know prior to the event, and finally, presenting to a large audience all in just a day or two was thrilling. I came in to that weekend with a lot of ignorance, and somehow, I left with one of the top 3 awards presented by the athenahealth executive team and, more importantly, the beginnings of what would eventually turn into a startup and a turning point in my life, causing me to shift both careers and industries.
Naturally, I have kept attending more hackathons at MIT, the Brigham Women’s Hospital in Boston, Health 2.0 in San Francisco, and even at my current company, Kareo (that's right, my company has hackathons every few months and it is absolutely wonderful to see hackathon projects become real features for customers!). Now, many hackathons and many cities later, I realize why I cannot get enough of them.
1. They instill a mindset of rapid learning. When one has just a few hours to create something out of nothing with the pressure of presenting said creation to judges and an audience, “necessity is the mother of invention” becomes the sine qua non of the weekend. Consequently, that forcing function results in an lot of learning in a short period of time as most hackathons typically require the use of a device, an application programming interface (API), or cloud infrastructure, all of which require quick comprehension and application of foreign material.
2. They teach how to prototype under pressure. Adrenaline pumping. Requirements pending. Time ticking. We have all been there [deploying a last-minute patch before the presentation while recording a quick demo in case of a live-demo failure]. There is nothing like the winding down of the clock to constrain what the minimum viable product is for the weekend. Even though solutions may not necessarily be optimized for performance, utilize the most preferred means of data input/output formats, or have the most aesthetic user interfaces, they emphasize the basic happy paths that display the intended functionality of the creation. And, being in this type of environment forces one to learn how to make quick decisions to spontaneous challenges that may surface.
3. They facilitate cross-disciplinary collaboration. Every hackathon I have attended has attendees of various disciplines including but not limited to software engineering, product management, user experience and design, marketing, business development, sales, and medicine. Such a potpourri results in one of the most subtle outcomes of a hackathon: the ability to meet new people, quickly work together to build something, despite different personalities, work ethics, and team dynamics, and push for a common outcome while balancing the opinions of teammates as well as those of external guest topic experts.
4. They force brevity when pitching. Condensing user interviews, the thinking process of finding the right solution, the market research, the business model, the total opportunity at hand, the technical infrastructure of the solution, and the actual demo into a 3 to 5 minute presentation while also addressing the theme or focus or judging criteria of the hackathon seems like an art form at first. But, it eventually becomes a game of identifying the most important and impactful pieces of information to be conveyed within a certain timeframe and removing the de minimis fluff.
So, can learning a lot, facing time constraints, communicating with unfamiliar faces, and selling concisely really be so much fun that someone can keep subjecting himself or herself to such conditions repetitively? When that someone is surrounded by people with similar mindsets and is compelled by a common drive, I would argue yes as most hackathons have central themes or areas of focus. Whether it is for personal cravings or the maintenance of an entrepreneurial spirit within a company, I cannot advocate hackathons more wholeheartedly. Have you been to a hackathon? Does your company do hackathons? If not, I implore you to attend one (regardless of your background) or propose it at your next company meeting. I will leave you with some "Empire State of Mind" (the inspiration for the name of this post) phrases that describe how I typically feel after hackathons: "There's nothin' you can't do... These streets will make you feel brand new. Big lights will inspire you."
Transformation of education
Education is something we all hold near and dear. It is cultivated from a young age with school, reading, and the like. Having gone through all those stages and having experienced some newer forms of non-traditional education, I've been reflecting...
Elementary, middle, and high schools were pretty similar in that they focused on rigid curricula and increasingly went to advanced topics in each subject in each higher grade. But, there was no real focus on a specific subject or topic that a student may have been interested in. College was a little better in that regard as declaring a major allows the focus. Yet, there were still other not-so-relevant-to-your-major courses that had to be taken. Not to mention the insane costs of attending a four-year-long university. Even with a major declaration, a large portion of what is learned in college is unapplied in a practical job environment. And, forget about real-life skills such as personal finance, career growth, and healthcare because those are things people are just expected to learn on their own. I can't speak for a Masters or PhD as I haven't experienced that yet but they're probably fine as they're more specialized. I took a few graduate-level courses in college and they seemed much more pragmatic in nature. However, the education leading up to a Masters or PhD could still be improved; instead of lectures, allowing students to start working in labs as freshmen and interpret scientific literature early could help. Regardless, this post is mainly about education leading to the job market (i.e. industry rather than academia).
So, that begs the question... why are we going through this rite of passage of college? If the point of education is to set up an individual for employment, why is it so long, convoluted, and expensive? We should be striving to create short, intense, inexpensive and practical forms of education that can really prepare students for the job market. Online access (MOOCs, OCW, EdX, Coursera, etc.) to learning has exploded and that is awesome but the fundamental model of education hasn't changed: watching a person write on the board and ramble for hours and then expecting everyone to understand what was said. Internships in the summer inject some of this real-world skills but they're too short. We should employ the use of practicums, what is normal in Germany, or apprenticeships that really allow students to develop and hone skills in an immersive setting.
The only course that came close to being different than this was physics (my favorite course) in college. Lecture consisted of a few minutes of lecture followed by lots of problem solving by the students on the board and other forms of digital engagement. A startup accelerator I went to for my startup was a fantastic and essentially free (equity taken) learning experience with constant feedback from the real world and experts, iterative improvements on weaknesses and a sense of urgency to get stuff done in just 3 months. A software development bootcamp that I recently attended was phenomenal and is transforming its industry so deeply. Short lectures followed by intense application of the necessary principles by actually building, coding, and doing, effectively navigating through the unecessary parts of a 4 year college education and utilizing only the pieces that matter on the job in a matter of 3 months for 10x less $$. Conferences are usually a fantastic way to get exposed to new concepts and meet important people that can grow a network; I've attended too many to count and can't praise them enough.
I recently met a student who is doing high school online while running a startup. Awesome. Finland, consistently ranked as having the best education system in the world, is planning to get rid of school subjects and allow students to study what they're interested in via a interdisciplinary format and not waste time learning things they'll never use. My point? We need to start mixing things up!
Ideas someone should implement
Ever have those moments where you wish a solution existed for a problem you faced? I've had a lot of those moments. And, since I won't have time to create solutions for all my problems, I thought it might be worth it to post a list of ideas I've kept in my notes for a few years in the hopes that someone else will conquer them. I'll add to them over the next few years and cross off ones that have been solved.
- 3D hologram that shows the recipe when cooking (to make recipe reading easier)
- a restaurant that only offers a venue but no food (byodinner if you want to cook but don't have a nice venue)
- a vegetable/fruits cutting service (since that's the most time-consuming part of cooking)
- flash food website with meals of the day that could be mass-made and delivered
- virtual microfarming where a person can pay for a plot of land and live elsewhere while a farmer tends to the plot
- period tracking and notifications (similar to Dayima)
- a live workout advice app
- health ping idea (daily status updates at 9, 12, and 6 via text; one health thing a day)
- doctor waiting room app that gives estimated wait times
- universal medical record: self-explanatory
- health problem predictor based on certain questions/data the user answers
- crowd-sourced health prices for operations
- a consumer-owned insurance company where the insured own the company
- simple medical text analyzer
- inexpensive on demand condom delivery
- on demand grammar checker
- a Pensieve... yes, really. Or a technological equivalent. Because I have too my thoughts in my head and I don't want to lose any of them.
- a site that has a single song uploaded every day and upvoted or downvoted
- geolocation digital receipts
- unused speed in car
- bookworm: post reviews of books read and gamify
- report poor customer service on an app
- recipe sharing app
- waze for flights
- a site that determines cheapest price for flights on all days
- on-demand haircuts
- an easy way to log, publish, and share mountain climbs
- hipmunk for buses
- navigation within stores; how many times do I have to ask a person where the sumac is
- digital police ticket giving and paying
- crowd-sourced gas prices
- on-demand baby sitter app similar
- dictionary app where you can take pic of entire sentence and highlight a certain words to get their definitions
- text-based ads
- public investment fund raising $$ through anyone with investments chosen by popular vote monthly
- keyless lock
The two words that are germane to any company's success. Listen to company CEOs. Or read works by Paul Graham or Steve Blank. A positive customer experience is one of the most suggested notions in business literature and best practices. Then, why do so many organizations fall behind on this, leaving angry customers who are in a state of helplessness?
After more than a decade of experience with various companies (airline, bike, towing, home rental, government, ad, computer, police, crowdfunding, automechanic, and hard drive just to list a few of my personal worsts), I've noticed that a lack of care for the customer experience is present in startups and established companies alike. In my opinion, the problem stems from the people and the values, not the size or type of company. If you hire employees who don't obsess about making the customer happy, you're doing it wrong. Similarly, if management isn't ingraining in its employees that the customer experience is of paramount importance, they're doing it wrong. So, screen for this in your interviews. Prepare questions that test a potential employee's ability to handle heated customer situations. Have them answer a mock customer service call. Make it a visible value on your values wall and incorporate it in onboarding sessions. Emphasize it during your all-hands. Because you don't want to search your company on Yelp and Twitter to only see unhappy rants... or worse lose said customers forever.
The takeaway: build a company with a core culture of customer satisfaction. Tony Hsieh describes it better than I can in Delivering Happiness: read that for more convincing.
The United States spent ~$3 trillion last year on healthcare alone. That's trillion. 12 zeroes. $3,000,000,000,000. Why is it that the US spends more per capita and more as a percentage of its GDP (> 17%, by the way) on healthcare than any other nation and yet has worse outcomes and lower life expectancies?
Is it because of generally higher costs so that care can be made accessible to a large population of nearly 300 million people? More expensive technology? Fancier acute or chronic care centers? Private insurance companies? Administrative overhead? Lack of price transparency both with medical procedures and insurance premiums? Disproportionate spend by Medicare/Medicaid patients? Or is it because America overworks itself and doesn't take any vacation, leading to the highest job-related illnesses rates in the world? The list goes on and on. It is simply too complicated to even fathom, especially when one begins to account for the elaborate interplay of government regulations, private players such as pharmaceutical companies and insurance companies, physicians, and of course, patients.
I believe that the simpler answer is that the vast majority of the U.S. population is currently reactive as opposed to proactive, meaning people react to health issues AFTER they occur instead of preventing said issues from occurring in the first place. Let me introduce you to a concept called time inconsistency, something I read about in Poor Economics, a book about cyclical poverty (the parallel here being cyclical poor health). Humans fall victim to time inconsistency frequently. It is when one makes a suboptimal decision NOW that is known, by the same actor, to be suboptimal in the far future, especially when these decisions are repetitive and accounted for cumulatively.
Of course, there are factors that contribute to this reactive culture that stem from modern day life. You can read about these factors and more in my upcoming book on preventative health care, due out in late 2016. You didn't think I'd spill the beans right here, did you?!
This is a long overdue post regarding my summit hike of Mt. Kilimanjaro, the highest free-standing mountain in the world. I say hike because Kilimanjaro is not a technical climb but it is high in elevation (19,000+ ft), making the 80+ mile hike quite strenuous. In 2013, I decided that I, as a fresh college graduate, had to do this hike as a personal goal, to see how far my physical capabilities could be pushed.
Fast forward to summit bid. After successive nights of no sleep at high altitude, the summit ascent was insane: sub zero temperatures and biting wind chills, frozen water and food, pure uphill for ~7 hours in the darkness, a faint headache that was just waiting to erupt into something worse, a delirious mind and hallucinations, people vomiting or turning back to be escorted down. Despite wearing 4 layers that night, I was uncontrollably shivering. It was the first point at which I became alarmed at my own body because I couldn't control it. And, the higher you go up the mountain, the worse all this gets and the harder it is to breathe and think clearly.
But, you'd be surprised by what people can achieve despite the odds. Kilimanjaro guides summit with almost no water/snack/bathroom breaks. Even porters (a lot of whom are kids) unceasingly walk up past 15,000 ft with no special clothing, while carrying 60+ pounds of equipment. They must not have a single doubt that they'll make it to the top. I guess, in the end, it's about thresholds. We must strive to constantly push the threshold of what we can withstand. All in all, the summit was worth every breath: high above the world with hakuna matata.
- Uncertainty is merely a psychological illusion that attempts to flood fear into the mind and delay human progress.
- Achievement = (committing to a goal^(ambition)) + perseverance - doubt.
- The toughest battle in your life can be against yourself.
While reading recently, I was awakened by some of Sandi Metz's design principles in her ever-famous Principles of Object Oriented Design in Ruby and thought I'd share a few high-level ideas from the book:
- SOLID, DRY, the Law of Demeter are principles of design.
- Classes should have a single responsibility.
- Write loosely coupled code (use structs, hook messages, etc.).
- Objects should send messages to other objects with minimal knowledge of recipient interfaces.
- Use duck typing to allow messages to be received behavior-agnostically.
- Create inheritable classes by promoting abstractions rather than by demoting concretions.
My first Ruby gem
After rewriting a lot of the same code regularly for Flux/React.js patterns within Rails, I was wishing for a single command that could generate all the files and folders I would need (action, util, dispatcher, store, etc.) with a "general" placeholder that I could quickly replace. So, a few weeks ago, I decided to try and make a gem. After a few fixes, I think it seems functional at this point.
Include the following in the Gemfile of your Rails project:
$ rails generate fluxify:installVoila! You should see new files appear. Let me know how it works for you and open an issue if you spot a bug! Hopefully, this saves you a bunch of time.
Bayesian classification of medical text
Bayesian classification is a topic of statistics and machine learning that involves classifying items based on prior probability. So, a simple example is a spam filter. By using a database that has training data for spam and non-spam (hereby referred to as ham) emails, a spam filter can use the probabilities of certain words that occur in spam and certain words that appear in ham to come up with an overall probability to classify unknown emails. See here or here for more detailed explanations.
Similarly, there has been a lot of interest in applying machine learning techniques to healthcare. In this script, I just want to show a simple example of using a Bayesian classifier to classify medical text. I used the classifier gem by cardmagic. By training the classifier with just a few words (cancer, broken, abnormality), I was able to get decent prediction on new phrases. A way to make this more powerful would be to train this classifier on a medical lexicon of words that indicates urgency (there don't seem to be too many in clinical contexts) or even crowdsource it. I think there could be powerful applications of text analytics in medicine!
Having been a frequent attender of entrepreneurial events in Boston (Meetups, hackathons, lectures, panels, etc.), I've started going to Meetups in SF to enrich my knowledge of programming paradigms and meet cool people (even though events here are spread out across the whole Bay Area, which is quite large when compared to tiny Boston).
Two recent ones involved AirBnB's Brian Morearty talking about speeding up specs in Rails and Heroku's Yukihiro Matsumoto (aka creator of Ruby) talking about mRuby. Up until Brian's talk, I didn't have too much knowledge of slowness due to specs but it was interesting to learn that specs can be made faster by a significant percentage with various optimizations. mRuby was also news to me; it seems like the goal is to have Ruby embedded on any device rather than just in web applications.
Lastly, I've also attended a few healthcare related Meetups in which there have been cool speakers (such as the VP of Marketing from MyFitnessPal) and cool startups (such as BetterDoctor, QueueDr, and OneRx). I'm excited to keep exploring the community!
Network spoofing and packet sniffing
When I first heard of network spoofing and packet sniffing, I was shocked. I couldn't believe that it was so easy to impersonate another MAC address and effectively bypass paid wi-fi networks with just a few terminal commands as shown here. Disclaimer: I'm not advocating this.
I was even more intrigued to know that it was just as easy to intercept packets that are being transmitted over a network. Using a program like Wireshark, I could easily see unencrypted data. Read more here. This just goes to show- beware of public networks and get suspicious if you get kicked off a paid network... networks and cryptography are fascinating!
Russian literature revelations
After reading non-fiction books related to startups/business/ entrepreneurs for nearly a year, this summer, I recently switched gears and read Anna Karenina by Leo Tolstoy. I came across a plethora of vocabulary words that I either wasn't familiar with or hadn't seen in a while. So, I decided to write a little script that gathered some stats about all these words.
- The average length of a word was 7 characters.
- The top 5 most used alphabet letters were "e", "a", "r", "i", and "s."
- The top 5 least used alphabet letters were "j", "z", "q", "f", and "v."
Stanford CS183B quotes
Some of my favorite quotes from Altman, Moskovitz, Graham, Thiel, Chesky, and company during the ever-popular online course.
- Don't start a startup for the sake of starting a startup.
- Product should solve a personal pain.
- Idea && Product && Team && Execution.
- Build something users love.
- Be relentlessly resourceful.
- Keep momentum, focus, and intensity.
- Don't worry about competitors.
- Work with people you've known for a while.
- Live in the future.
- Learn powerful things.
- Get users.
- Dominate small markets.
- Be transparent with growth metrics.
- Have a magic moment with our product experience.
- Make everyone do customer support.
- Do things that don't scale.
- Be around people that intimidate you.
- Culture is something that pays off in the long run.
This personal blog has been a long time coming. I'm excited to start writing posts about anything and everything that interests me! Read some of my past writings in other sites below.
As a TechStars-funded healthcare IT company cofounder, I wrote about predictive analytics, healthcare events such as HIMSS, the paper trail in medicine, the importance of value-based patient care, and the illusions of the electronic medical record here.
As a nonprofit founder and a fellow for the world's largest fundraising platform for social good orgs, I wrote about education issues in developing countries such as lack of textbooks, the power of tablets in learning environments, and the need for interactive, computer-based learning here.