Free Speech is Limited

It is weird to argue that free speech is limited then having the “First Amendment” thrown at you like it is some type of bible verse. The constitution is an agreement that is open to interpretation (is it a shock that words can be twisted?), with respect to time, which sets the stage for the government and the people to set a bar. Let’s ignore the idea of “private spaces” since the first amendment does not extend there.

If I can suppose for a minute and borrow the naive interpretation of the First Amendment then we can say whatever we want (but strictly should not say under the fear of the authorities investigating you under the pretense of “reasonable suspicion”) and not get in trouble. Does that mean I can say “FIRE” and not face scrutiny? Does that mean I can declare my allegiance to a terrorist organization and not face scrutiny? Does this mean I can spout out racism/nativism (whatever people call it these days) without scrutiny? These speech patterns causes concern of different proportions and depends on context.

If you posed to me the question “can you be arrested for saying a trigger word/phrase?” and I would say of course depending on the level of concern you have caused with your speech. Let’s remember that the public sets the bar on what you can say without raising concerns.

Situation 1: If you are at an anti-racism protest and you are spouting your counter anti-racism beliefs to this massive group of people, you are causing a disturbance and will be removed (let’s not add the possibility of inciting a riot if the group is rowdy already).

Situation 2: You yell out “I AM ISIS” either online or outside on the sidewalk? You’ve increased the probability of the authorities showing up at your door/in your face and getting arrested for public disturbance (especially if the community does not tolerate this speech) or whatever trumped up charges that can be made up while you are being investigated. Hell you can even be denied entry in to the country if you are an immigrant thinking you have free speech! (Constitution don’t extend to immigrants, so it is not surprising that the US govt. acts “third world”-ish to them in this regard)

Situation 3: You yell out “FIRE” and no one is around to hear. Will you be arrested? More than likely not.

Let’s go back to the First Amendment. It says is that Congress cannot ban speech nor should it disbar the public from engaging with it. Does this address that an individual cannot be deterred from causing disorder with their speech? Heck no.

Even without the First Amendment, people can say whatever they want to say. If whatever you say triggers the public or authorities then you will face consequences in that context (beating, arrest, etc.).

Summary: I think using the First Amendment as a clause for why I can say whatever I want is weak when you do not consider public and authoritative concern. Free speech is limited explicitly and implicitly via consequential deterrence wherever you go. Whether an individual restricts their speech in order to not face consequences is up to that individual. You cannot strictly restrict speech without taking air from a person.

You just read Free Speech is Limited. Please share if you've liked it.
You may find related posts by clicking on the tags and/or categories above.

Shallow Critique of Mozilla Talk and Online Commenting

A topic I have cared enough about to think about pretty intensely is the commenting landscape on websites. Sadly I have not executed on my own commenting system yet even though I have ideas and partial UI code. Anyway, Mozilla’s Talk (collab project: The Coral Project) is interesting, but not in the way that I was looking towards.

Talk is open source and install-able by anyone on their own servers and at their leisure. They have tech docs (very little, but looks to the point). Well anyway, since I have not installed it to try it, I’ll go off from what I see.

Let’s take a look at the UI for the admin/moderators

Talk Moderation

Very simple looking and to the point. Keyboard shortcuts I guess were desired by moderators? Fat fingering is a common problem, so I assume the decisions are easily reversible (undo shortcut?). In terms of sorting, newest first is questionable. Some comment streams are high velocity, so do I really want to look at newest first from the get go? Looking at the comments stream, I see links are highlighted and I assume it will expand out rich url (html) links as well. Not every link is a bad place, so that red colored info button looks very ominous and probably ignored in the long run as a UX thing. UX is hard to get right since each community has way of user interaction. Let me give my thoughts on moderation.

In the end, even for the newsroom industry, we want to remove heavy moderation since it is a bottleneck, so I fail to see how adding shortcuts will help with one of the complaints/conversations around moderation (Light or heavy moderation). One of the “tenets” of Talk is the idea of getting moderators to focus on the positive comments, which again I fail to see why I would want that. My thoughts are that any website that wants a comments section only want humans to make decisions in the case that a machine cannot rather than focus on positive or negative spectrum.

Since the software is self hosted, I wonder how the project will expand to include machine learning techniques to harvest data and create models. Is there a way to collect that data and have someone do data analysis to fit a model and hook that model right in to a moderation decision engine. You may want to have traffic/comment shadowing where both models are used and you can test moderation performance to see if you want to keep the model or make adjustments. Are those models shareable? Do publishers really care that much about owning their data that they are unwilling to share moderation data or commenting data (comments are public by the way)?

Alright, let’s look at what a community member might see below an article with Mozilla Talk.

Talk Comments

So, of course I look at this UI and first question that pops up is how is this different from Disqus or Discourse? I wonder if I have to create an account on each site that embeds their own instance of Talk. Anonymity on news sites? Please, not going to happen. That respect button looks like a +1 sort of thing, so does that give me reputation in this particular community? I’m way more interested in moderation automation and UX and less of the UI itself, but I have to indulge myself.

I have to wonder if self hosted commenting systems are scale-able at all outside of small installations. The whole point of commenting systems to me is to increase engagement so that users will come back and form a sense of community. Once you get to a certain size, you are going to have separate communities/categories of people. Who is reputable with respect to particular categories? Should users be marked as reputable or should other users figure that out by reading comments from that user? It seems commenting systems are essentially forums, so why separate these concepts? I thought that Discourse made a good step with forums as embedded comments… There are missing pieces here that need to be addressed by Mozilla’s Talk in order for it to be taken seriously as it looks like more of the same to me.

Pretty tired of writing about this topic today. I do want to bring back my own commenting system back from the dead though as I believe I care enough about it to have notes after notes on it and the target customers.

Opening an Account at Citibank is so slow and dumb.

Two weeks ago from today November 15, I opened an Access account at Citibank through their online application. I’ve never seen a bank account that is online-only, so it is fitting that I sign up online to get it.

Sure, the approval process was quick, but 1. why did I receive an email saying that I needed to place an initial deposit (AS IF IT WERE BLOCKING THE APPROVAL) and 2. where the hell is the account? Furthermore, why the hell am I getting emails to place an initial deposit after I authorized it during the application process? Are the people there just not aware that I already did? It is not associated with my account yet and at the time of approval I did not get an account number. They say I can GO TO A CITIBANK to freakin’ deposit into it… so much for the do your banking online-only crap.

Just got the account number through the mail last week, but no routing number. Don’t fret, routing numbers are public and easy to look up. I decided since I got mail and email for placing an initial deposit that I would just push one manually, which turned out to be successful. Nov. 14 comes along and I look at my previous bank and see the initial deposit that I authorized going through, so now I have TWO “initial” deposits… wtf.

All throughout this process, I have live chatted and called, none of them said anything about the process specifically. Citibank has failed to communicate their entire process and their (new account) customer service needs to get better at asking the right questions such as whether I opened it online and if I authorized an initial deposit and that it would be done automatically.

This is my feedback Citibank. Fix your shit, stop confusing me and AUTO-ASSOCIATE MY BANK ACCOUNT WITH THE GODDAMNED ONLINE ACCOUNT. Why in the world do I have to wait for my debit card in order to link my account.

What the hell is this, 2005? Archaic, af.

Leaking Emails is a good thing

Prime example of today where a “leader” resigns directly to the evidence of not being capable of demands of the job.

Thanks Russia and hackers.

You just read Leaking Emails is a good thing. Please share if you've liked it.
You may find related posts by clicking on the tags and/or categories above.

How to Change Fashion Shopping?

Technology. Just imagine being able to walk into a shop have a Kinect camera scan your model as you walk up to kiosk and being able to try on different combinations of clothes. It would be a simple experience where you pick clothes and sizes on your model and in real time see how it looks by walking around or using gestures to rotate the model. Finally, once you’ve decided on what you want simply use NFC to grab the items and the location and pick them up.

There are obvious ways to complicate it, but I like the idea and would be willing to work on something that achieves the most simple experience untainted with complicated crap.


Update Jan 9 2013: Looks like a company has an upcoming product that works something like how I envisioned it looking. Facecake is what its called

You just read How to Change Fashion Shopping?. Please share if you've liked it.
You may find related posts by clicking on the tags and/or categories above.

What I tend to think about most developers (or people)…

Before you read. If you want a tl;dr (too long; didn’t read), then skim until you see something interesting or don’t read this.

is that they don’t care enough about the work they are doing or care more about financial security in some form than the success of the team. The latter is fine sometimes as it is more or less motivation to work. My problem with both of these is that when I work towards something that I envision myself doing for the next 2-5 years I care enough about my work that I have to make sure everything looks good and works near flawlessly. That includes the aesthetics and design behind that people may never see. I love coding up something and showing my progress to people and I’m sure others do too, but my belief is that as the project progresses, the code has to be maintained in the future. This means that you or someone else will have to re-read that code and assess what’s going on (comments!). Just because consumers never look at your code or because you will never have to look at the code again doesn’t mean let’s just mash up something and ship it. This is not the point though it does drive what I am aiming at.

The point is that I hold myself to certain standards and make sure whatever I make holds up to those standards, which is why I’ve never had trouble with my employers. I actually have my own opinions and ideas and push back (you can do that? shocker, isn’t it?) to make sure things are kept in check. I’m starting to think that most people (in my representative sample) don’t have standards or have super-low ones and that sucks for me when I have to work with that. This post is not out to insult anyone, this is a matter of cultivating culture and behavior. If you believe, like I do, that behaviors and habits can spread like wildfire then you’ll believe me when I say anyone team member that exudes low standards will spread those standards like a disease especially if it is tolerated. Just imagine being told by one of your co-workers how lazily they did something every day or looking at a co-worker’s code that looks like it came from a newly minted college/high school student. It has draining effects on the other team members. This can’t be tolerated, which is why I would swiftly leave a team (especially if no one cares) or fire any under-performing employee. It is in my belief that if people who love their work are working with others who love their work, then the team is more likely to take less breaks from work because it already feels like a vacation just doing it. You get a thrill from just doing work mostly because it doesn’t feel like work.


My frustration does not only apply to employees either. I also target employers… Boy oh boy, do employers have to learn how to rally the troops especially when demanding more and more. Next time you see your employees, just take a look around and see how they are doing. You most definitely need to be passionate or show that  you are motivated about the business and care for employees because it is draining to employees if their boss is seen as incompetent and non-technical who is around only when the product deadline is close. A simplified scenario, but you get the point.

There are better ways of asking, such as meetings on a every other day schedule is a good way to start. Usually, simple complements, talking with your employees (during lunch/dinner), taking an interest by asking for a demo (if possible), offering or taking suggestions, and heck even inviting them over to your house or park to walk and talk can go a long way towards cultivating culture. If one of your employees isn’t taking some amount of pleasure from at least 3 of these then there is something wrong in the relationship and that offers an opportunity to connect to that person. Talking to them about life, your troubles, adventures, stories, and/or whatever helps with bringing down the separation of the boss/worker mentality. Consider a tree where  you are a manager of several teams, you may elect to pick leaders for those teams, so those are the guys you should be actively bonding with and those leaders should be bonding with the people they lead. If you ask what is my ideal workplace, this is the answer.

Interview Process

I am starting to see why Facebook, Google, and all these other companies reject most of their applicants as they attempt to determine competence and, to some extent, fit by the standard interview. To me, competence is just one part of a person, but in a world where most people just want security, it is just about all these bigger companies can do to determine whether applicants will execute. It is an inefficient process. It works for small companies, but why haven’t these bigger companies broken away from the standard interview process? Is it that the guys running the show don’t care enough to change it?

To deviate a bit. Before I came to college, I used to think big companies were super efficient at what they did like a start-up, but it turns out they have obligations, so breaking away from a product (old or failed) quickly is difficult. Did you know some people/businesses still use DOS or Windows 95?! and Microsoft still hires people with Windows 95 internals knowledge for backwards compatibility purposes?! How naive I am…

My frustration with the way they go about the interview process has manifested itself various times. I posted about group/paired interviews on Twitter: where two or three second rounders are randomly paired up to do some task and I hear Amazon is attempting this, which is a great turn towards innovating and I want them to succeed at doing it. The idea here is that you get a sense of who you’d like to work with and who are the under performers, so you can detect it as quickly as possible before that disease spreads into your team or company. It may be a fun experience for the applicants as well (mini-hack fest). More importantly, the company gets to see who can execute and who fits the culture as this is a far more realistic glimpse of a potential employee’s ability in a real life scenario than asking random questions about standard things we learned in class or a book (like a test).

Basically, the first interview should be a little bit  interpersonal and some technical questions (especially related to what the team is doing) as you gain the first impression. Most people will fail the first interview or will not make the pick. The second round should be a paired coding session to get the sense of who these people are and how they bond as well as their abilities. The third/fourth/fifth can be variations of paired coding (on a more extreme level), technical questions, and academic questions. Obviously, coming up with a different way to interview people effectively is what you need to do, so they don’t game the system. Just the thought of it and it sounds like a brilliant way to interview. If that sounds too hard to do in the near future…, well the quality of hired folk comes with the quality of your interview. All it really takes is one group of people to start this even if you have to break some rules to get quality people.


Yes, I am frustrated with various things. Of course, it is not too bad in the short term, but in the long term, things get to you and most people seem to think or make it appear everything is alright and dandy. It is not. Sometimes, you have to be the jerk who changes things and/or gets things in order.

I updated my statement on my resume (PDF version) today to reflect this because I’ve been thinking about it and did not have a way/idea to express my frustration without sounding too negative.

One of these days, I’ll start my own company and implement the ideas outlined here and set a real working example because it is apparent people are too stuck to traditional methods because ‘it’s always been that way.’

People collectively can do great things, so all I ask of people, who fit in my representative sample, is to have a better set of standards.

Lowering the standard… (programming)

UPDATE [02/2012]: Lowering the standard comes from my idea of my model/thoughts of programming languages in 2009, which is probably irrelevant to today.

There used to be a time where computer programming used to be limited to a handful of people. Today, computer programming is for anyone interested. A question I have not seen asked is “Why are we lowering our standards in regards to what language a newbie should learn?”

Many reasons, but I’ll list a few. Easier languages allow for increased productivity when programming, faster way of grasping programming basics, and less problems for newbies.

  • Aren’t companies the ones looking for increased productivity? I thought increased productivity comes from a team effort on a project rather than the language itself, maybe I am wrong.
  • Sure, something like C# would be a faster way to gain the basic skill needed to advance, but do you understand the basics? Understanding is more important than just using.
  • Newbies will always find problems, no matter what. I know some newbies want to be ‘daring’ and go for lower level languages first, but I lower languages ‘kind of’ force you to learn the basics. Without the basics, you are good as gone. Problems are basic, finding them is tedious, fixing them is easy, but thinking is the challenging part.

I jumped from PHP to C++, which was possible since PHP has a simliar syntax structure to C and C++. Why is it that newbies are told to get into Python, Java, or C# then go on to C++? It is still a matter of choice and depends on motivation of the person. Lets’s say a person chooses C++ and is motivated to learn it, then it is more than probable that person will learn it as opposed to the person driven by an impulse to suddenly build something (like an MMO!) on a computer.

Some people want only the basics, some the advanced, and some just want to build. Totally understandable, but when someone is looking to learn C++ I’d suggest looking at history and reading about programming motivations the see if C++ is needed for the job.