Tool: Atom Finance

I recently came across a finance tool that I have been pretty pleased by so far. Credit to Morning Brew newsletter, which introduced the tool. It’s called Atom Finance. It is essentially very similar to Seeking Alpha. As far as I am concerned, Atom Finance can do pretty much what Seeking Alpha does. Below are a few screenshots for your reference

There are three features I particularly like about the tool so far. The first is that in the Financials segment, I can pick and choose variables to show on the interactive bar chart. All I need to do is to click on the variables in the table below the chart.

The other feature I like is the capability to customize peer group, a feature that I believe is currently at an extra cost on Seeking Alpha

The third feature that I appreciate is that I can view earnings call transcripts smoothly from the beginning.

There are usually a few hours between the end of the earnings calls and the transcripts on Seeking Alpha. I haven’t observed how long it takes on Atom Finance, but I will and once I do, I will update this post accordingly.

For now, the tool is free just like Seeking Alpha. It is a handy tool to do research and I personally prefer the User Interace of Atom Finance to that of Seeking Alpha, which I am deeply grateful to for their transcripts. I am by no means affiliated with Atom Finance in any capacity. I am just being reciprocal of their allowing me to use the tool for free.

I hope you will like the tool and if you do, help spread the word to help a young company.

Product: Simplify Chrome Extension

I came across Simplify a few days ago upon reading an article on Fast Company. It is a Chrome extension that helps clean up your Gmail interface. Instead of looking at unnecessary features, buttons and logos, Simplify helps clean up the interface to make it look better. Here is what Gmail normally looks

Source: TheNextWeb

Here is how it looks on mine

If you click on the icon on the top left, the interface will be even more minimalist

My experience with the extension has been very pleasant so far. The mailbox looks a lot less busy with the removal of features that I haven’t used much or at all. Plus, whenever you have inbound emails, the layout won’t look to command attention as much as the original ordinary Gmail outlook, as you can see below

Source: Fast Company

Another nice thing about Simplify is that it is not serving ads or collecting any analytics, in addition to being free.

If you like a minimalist design and a cool free product, give it a try and show the creator some appreciation by endorsing him like I am doing now.


DuckDuckGo is a pro privacy search engine that is available on almost all browsers. Unlike Google, DuckDuckGo does not profile you online, meaning that the search engine doesn’t collect your information or track you everywhere so that the information can be used to tailor ads. DDG has been doing pretty well. Here is its traffic report:

Source: DuckDuckGo

I use both Google and DuckDuckGo on my Mac, with the latter as my default search engine. Even though DDG does the job most of the time and gives me reasonable results, it is not as good as Google. I am not even talking about the personalization of searches. Below are the two examples that shows DDG has some work to do.

Search Results

When you look for a location, DDG doesn’t offer immediately a map option on the engine to the location. Here is my trying to find Ted and Wally’s, a known ice cream shop in Omaha.

There is nowhere I can find its opening hours, address or direction to the place immediately. Here is how it looks on Google, with the same keyword

There is a lot more information given by Google. Instead of multiple clicks to find out the basic information, I don’t even have to go anywhere to know the address, phone number and opening hours. Direction is just one click away.

Search Time Frame

With DuckDuckGo, you can only filter searches as far as the past month.

On Google, the options are much more varied.

I love DDG. The team believes that it is possible to have a profitable search engine without profiling users. It’s been killing it. However, I hope that they can bring more improvements to the engine and make it better so that one day I will be an exclusive user of DDG, instead of having both DDG and Google on my computer right now.

If you haven’t used DDG and you care about your privacy online, try it because as mentioned, it does the job.

Tool: Design Ideas in PowerPoint

A late night preparation for Monday’s work led me to the discovery of an interesting feature in PowerPoint. I have no idea how I got to have it on my Mac, but I am pleased that I do. 

Apparently, there is a Design Ideas feature in PowerPoint. After some text is added to a slide, the feature suggests ideas how to structure a slide. Below is an example I got

1st round of suggestions on a slide with simple text

The lock icon is suggested because of, I guess, my use of the words “encryption” and “security”. After I chose that particular design, the tool kept feeding me more suggestions based on what I chose

2nd round of suggestions 

This tool is not perfect, of course. Yet, it can be pretty handy to anyone desiring to deliver an effective presentation. It’s the whole point, isn’t it? Using visuals and effects to drive home the message, instead of a sea of characters and words. 

Tool: Realtimeboard

I stumbled upon this tool while reading an article on TechCrunch. It’s an online collaboration tool with visual diagrams that users can use to generate ideas and present. Boards can be shared between multiple teammates; which I can will be pretty valuable if you love the power of collaboration and white boards as a brainstorming tool. At my company, the C-suite folks all have white boards inside their office to flesh out ideas. Some whiteboards are also placed in the hallways to keep everyone updated on the status of projects. However, physical white boards are physically limited and it can get tricky to engage multiple folks, especially from different offices.

Realtimeboard is your whiteboard without such limitations. The boards are infinitely large and can be zoomed in or out comfortably. The visual components are pretty straightforward and easy to use. Users can add links, comments and images at will. Furthermore, boards are accessible regardless of where members are.

Below is a board I am working on in a school project.


As can be seen in the image, comments can be added in yellow boxes and links come with the logo of the website links. Nodes can be moved around or added easily. If you want to mimic the same map in, let’s say, PowerPoint, moving or adding nodes requires taxing extra work on moving the connection lines or arrows around. With Realtimeboard, such a requirement is unnecessary. Therefore, a lot of time is saved.

Export options are plenty: PDF, image, csv and so on:


I am not an investor in this firm. Just a fan that wants to show some token of appreciation to a cool tool.


I recently and fortunately came across a very interesting tool called Here is what it brings to the table:

Usually, the normal steps in programming include writing code in a text editor such as Pycharm or Eclipse, uploading to a repository such as GitHub and pushing it to a PaaS like Heroku or PythonAnywhere. However, even a text editor such as Pycharm requires some installation and housekeeping that can seem daunting to beginners. lowers that entry barrier. It allows coding in many popular languages right from a browser. Below is a quick code I wrote to have a dropdown menu from 1 to 49:


All it takes is Internet, a browser and one-minute sign-up.

As of now, seems to be focused on students. It’s free and its premium packages are very student-friendly. The Classroom Pro package is only $1/student/month. I think coding is fun and seems to be highly useful in making coding accessible.

I am not an investor in the tool or one of its employees. Just a fan. I am glad that the startup recently raised some funding from the VCs.

Some basic SQL & Plotly in Python

In this post, I’ll document how to use SQL and plotly to create a basic bar chart in Python, specifically in Jupyter Notebook. I’ll try to be as detailed and visual as possible.

The dataset I am going to use is Nike Manufacturing Map:

The first step is to click download the dataset in Excel. Once the file is downloaded, open the file and remove the first row. The first row just has the name of the file, not the columns’ names we need. Since I haven’t figured out how to remove the first row, the fast way is to do it before starting the code to make our life easier. Click save and the data is ready to go

Open Jupyter Notebook. In my case, I use Anaconda. The first thing to do on a new Jupyter Notebook is to import necessary packages. The “as ABC” is to create an alias for packages with long names so that we won’t have a hard time calling those packages later in the code. Imagine having to type “plotly.graph_objs” 10 times instead of “go”.

import plotly.plotly as py #this package is for visualization
import plotly.graph_objs as go #this package is for visualization
import pandas as pd #this package is for handling the dataframe
from pandasql import sqldf #This is to allow users to use SQL queries to create a new dataframe
pysqldf = lambda q: sqldf(q, globals())


Then, load the file. To check if the file is loaded correctly, use df.head(). The command will show a snapshot of the data frame. If you want to see the whole data frame, just use df

df =pd.read_excel(‘/Users/camapcon/Documents/Github/Nike_Factory_Locations/export.xls’) #read the file in

Read the file in

We need to change the names of the two columns highlighted in the screenshot. The way that they are named will make it tricky to process SQL queries. I tried it. It’s better to have more straightforward column names with no blank space in between. It’s pretty easy:

df = df.rename(columns={‘Nike, Inc. Brand(s)’: ‘Brands’, ‘% Female Workers’:’FemaleWorkers’, ‘Total Workers’:’TotalWorkers’})

Column name change

The next step is to use SQL to create a summary table whose data will be used to draw bar charts. What we will analyze includes:

  • The total number of workers by brands
  • The number of factories by brands
  • Average number of workers at each factory by brands
  • Average percentage of female workers at each factory by brands

The code to use SQL to create a subset is below:

Primary = “””SELECT Brands, Sum(TotalWorkers) as TotalWorkers, Count(Brands) as Count, AVG(TotalWorkers) as AvgTotalWorkers, AVG(FemaleWorkers) as FemaleWorkers From df Group By Brands””” #create a data frame using a SQL
Primary_df = pysqldf(Primary)

Here is the result:


Notice that the figures aren’t pretty, right? Let’s round them up and make them look prettier

Second = “””SELECT Brands, TotalWorkers, Count, Round(AvgTotalWorkers, 0) as AvgTotalWorkers, Round(FemaleWorkers,0) as FemaleWorkers From Primary_df”””
Primary_df = pysqldf(Second)

Here is how it looks:


It’s time to create the bar charts:

trace1 = go.Bar( #create x and y axes
x=Primary_df[‘Brands’], #to use column Brands as the X axis
y=Primary_df[‘TotalWorkers’], #to use column TotalWorkers as the Y axis
name=’Total Global Workers by Nike Brands’
data1 = [trace1]
layout1 = go.Layout( #starting to plot a grouped bar chart
title=’Total Global Workers by Nike Brands’,

fig = go.Figure(data=data1, layout=layout1)
py.iplot(fig, filename=’grouped-bar’)

Here is how it looks


You can change the Y axis to another column as you wish. Here is an example:

trace2 = go.Bar( #Project Count by Mission Area
name=’Average Percentage of Female Workers by Nike Brands’
data2 = [trace2]
layout2 = go.Layout( #starting to plot a grouped bar chart
title=’Average Percentage of Female Workers by Nike Brands’,

fig = go.Figure(data=data2, layout=layout2)
py.iplot(fig, filename=’grouped-bar’)

Try to label different charts differently to avoid confusion and errors. It would make debugging easier as well.


That’s all I have for this post. Just some basic SQL queries and Python code to handle and visualize data with Plotly and Pandas. I still need to practice and explore more. And I urge you to do the same, if you are as inexperienced and interested in data analysis like I am.