Thoughts

A Closed Corporate Internet

Tech giants, Google, Facebook, and Amazon are changing the way we digest and use the Internet. They are streamlining their services to make your Internet life easier and more accessible. Google's AMP for mobile, for example, is stealing traffic from the actual website to their scraped and streamlined version of the website. When I first used services like these, I was easily fooled into thinking that the website had implemented a half-decent mobile implementation. I was dead wrong.

This is just the start of something much larger than countries and politics.. These are capitalistic corporations after all. They are controlling pretty much every sector of our lives and definitely our machine lives, both directly and indirectly for all things connected to the Internet. We use Google exclusively for all things search, directions, email - some even go as far to connect their entire phone operating system (*cough* Android *cough) to the Google hive mind.

I used to believe these companies were only using your data for moral good. Google offers many free services in exchange for one thing... Your soul. Just kidding, they're only after your private data. Data is quickly becoming the most valuable thing to own in the 21st century, well that and Bitcoin. Facebook only wants every photo of you (including your nude photos - WTF) - from birth until death - to build an epically-sized facial recognition system, and Amazon knows all of your web preferences and shopping needs. They make things incredibly easy for us lazy folk. Just add a "Sponsored" tag and no-one will bat an eye.

Using technology to automate and improve the efficiency of society is quite amazing. We are only at the tip of many life-changing advancements in our lifetime. Many of these companies are driving us towards maximizing our digital symbiosis with computers. However, we must ask ourselves - at what cost? All of these tech giants are one hack away from exposing all of our chats, secrets, and tendencies. We cannot have a single point of failure in this corporate internet.

Epilogue
What I wrote above was in July 2017. Things have gotten much much worse since then...

  • Remember the Equifax hack exposing a majority of American's social security numbers?
  • Remember the Verizon security breach?
  • Remember Yahoo's total fail at protecting email accounts?
  • Remember Uber's attempt at covering up a multi-million user hack?
  • Remember the NSA's security "secrets" being compromised and subsequently used by the WannaCry ransomware?

Worst of all, net neutrality is dead. Ajit Pai, the biggest Verizon shill out there, disregarded millions of citizens' complaints and also faked many comments, including Obama's. This is fucking frightening. The corporate takeover of politics is reaching the pinnacle of control. Driven by the greed of profits, these ISP's will slowly erode our basic freedoms of communication and attempt to control and monitor our everyday lives.

We need to protect our privacy, our data, our freedoms. Use a VPN. Use Firefox. Use Tor. Use DuckDuckGo. Your privacy and data are not for sale. Fuck the ISP's supporting any sort of fast lane or pay-per-app charge. The Internet is a basic, human right and utility. Let's fight to keep it that way.

Standard
Programming, Thoughts

Introversion at the Latest / Earliest Hour

I often find myself coding deep into the night. I can't quite put my finger on it, but there's something subtly addicting about staying up late, by myself, with F.lux blasting on its most orange setting as I punch my keys in a sequence of logical events.

In the past, I would always take time out of my work day to play video games, socialize, or maybe even have a drink and smoke. But now... the digitalization of my coder life has become an artistic medium, unforeseen, and unexperienced by most. Many of my peers see computers as solely a tool for work. I see it as an evolution of sorts. A paradigm shift of life - as you must. An artistic grounds for innovation.

I can easily see myself never letting go of this addiction. This QWERTY keyboard layout... These languages. These console outputs... These frameworks - my own grown up K'nex. I can't even begin to express the ideas in which I want to tackle - the applications I want to build. The art I want to code. The relationship I want to nurture.

Alas, time is not on my side. Programming is a time consuming process, despite all of the optimizations I try to incorporate in my daily interactions. Shortcuts and five fingers can only get you so far.

It's quite possibly the ephemeral, evolution of Moore's Law. Holy shit, it is beautiful. Year over year, improvements on both hardware and software allowing us to do the most ridiculous of things. Once you reach the zen of programming, your life will never be the same. I feel limitless in this virtual realm. It has become my religion. A deity in the most computerized form, yet inhibited and enabled by these keystrokes...

I can deconstruct worlds and layers, unforeseen by 99% of the population. It is the most enjoyable experience I have ever been a part of. 25 years of my life and so much more to learn, so much more to suffer, so much more to LIVE.

Standard
Programming, Thoughts

Beat the Burnout

Inspiration from Sam Altman

After almost 3 years of nonstop hacking and coding, the toughest part of the job is not burning out. There are many a times when the thing that kept you interested (programming) just doesn't cut it anymore. The spark isn't there. When you don't want to go any further - when you'd rather eat ice cream for the rest of your life..

The burnout is real. Any programmer would be able to tell you this. Every big, massive undertaking has an equally large and massive undertaking for bug squashing, testing, and endless hours of debugging. No one writes perfect code, but in order to survive the gruesome, computer stare-down (maybe breakdown too) - you must know a few tricks:

  1. Coffee coffee coffee - I can't stress this one enough. Nothing gets you going like a cup (or 5) of joe. Nothing.
  2. Working out - Specifically, cardio. Even a twenty minute bike ride will light your brain on fire. Challenging your body is paramount to challenging your mind.
  3. Spoil yourself - Every techie is obsessed with something, whether it be a side-project, more electronics, energy drinks, video games, etc. Find that thing which keeps the hamster wheel spinning.
  4. Downtime - This is the part where you kick back, relax, and enjoy the show, or meal, or company, or music, or your bed.. Whatever it is, make sure you don't touch your computer during this time.
  5. Multitask - This could be unique to certain individuals, but being able to work on multiple projects with varying levels of difficulty, ensures that you are able to constantly stay busy while being productive. For example, in office, I will tackle the hardest challenges while I have all of the motivation, but when I lose focus, I will then revert to cleaning up the lower hanging fruit, such as icon updates.
  6. Operate on your best hours - Not everyone is productive at 5AM, but if you are, you know better to twiddle your thumbs during those times. Do what you got to do.
  7. Work on something you love - This is the best part about coding. You get to build something which has never been built before. Use a new framework with your favorite language or contribute to projects which you strongly believe in. The world is your oyster.

That's it for now. I revamped my website with a few more CSS goodies. I plan on adding a portfolio page soon to give you a snapshot of all the projects I'm working on!

Standard
Thoughts

24 Thoughts

In celebration of 24... 24 thoughts for the memory and internet bank.

  1. Your wisdom and knowledge is effervescent. Instill wisdom without acting like a douche.
  2. Find your hobbies and passions and pursue them with no end.
  3. Being grateful and saying thanks is a universal language that all economic classes appreciate.
  4. Volunteering and helping friends out should be a motive, not a chore - we're all humans and deserve such respect.
  5. Finding time for yourself is as healing as it is peaceful.
  6. Reserve your judgment of character until you know the whole situation.
  7. Your moral compass and character shift so fast that what you believe this week, might not be what you believe next. (See 20 year old me vs. 24 year old me)
  8. Everything in moderation is the best thing you can do for your health.
  9. Surround yourself with people who are different and smarter (in many other fields) to grow infinitely.
  10. Everyone needs help sometimes - someone who is a psychopath criminal needs help, not punishment.
  11. Racism and sexism is very much alive in America today. Just because everything's politically correct now, doesn't mean these issues don't exist.
  12. Only an energy revolution will prevent this world from exhausting our natural resources and creating permanent climate change. We all need to reduce our carbon emissions by more than 80%.
  13. A timely apology with the right mindset can unburn your bridges.
  14. Do something new each day that your future self would appreciate. It doesn't have to be big.
  15. Communication is key (emoji). Assumptions lead you down a dark, quiet path.
  16. Your mental psyche is one of the biggest barriers to success. Find what makes you happy and keeps you motivated.
  17. Depression is the realest thing a human can ever experience. The extreme apathy on life can swallow you whole. If you're suffering, please talk to someone NOW.. Email me even!
  18. The Internet has a cruel, unrelenting soul and can be more harmful than it is helpful. Disconnecting from everything every once in awhile is one of the best things I've ever done.
  19. As life progresses, your free time and energy shrink drastically. Maximize and prioritize what's important in your life because it will move fast and you will have regrets.
  20. Partying is fun, but so is taking a walk and pursuing your interests. Addiction is an insanely fun downhill ride, with little support to bring you back up.
  21. Working too hard can also swallow you whole. Don't give up what you love for your career. There's plenty of other time to make money.
  22. We're all different, yet we're all human. All of us want to be respected, yet not all of us are respecting. Know your peers.
  23. Accept responsibility and move on, don't project your frustrations onto other people. Handle your business and learn from your mistakes.
  24. If everything else in your life fails, appreciate and reflect on the small things - like being able to breath and enjoy life in the 2000's.

<3 tldr: I am BuzzFeed.

Standard
Programming, Thoughts

Let's add a backdoor to one of the world's most secure devices

Apple's Letter

We are, yet again, at another pivotal piece of Internet legislature. Recently, a federal judge in Riverside, California ordered Apple to assist the government in unlocking and decrypting the iPhone 5C, used by Syed Rizwan Farook, responsible for the San Bernardino shootings in December.

These shootings were one of the worst acts of domestic terrorism in 2015. My thoughts go out to all of those affected. These attacks are despicable and those responsible for the attacks must be help accountable for their actions. Apple has already complied with all valid subpoenas and search warrants, even going as far to make Apple engineers available for advising the FBI.

The FBI fucked up. They compromised their entry to the sized iPhone 5C by changing the Apple ID and password associated with the phone by someone in the county health department, per the FBI's request.

Given that the iCloud auto-backup solution failed and all other feasible recovery solutions are now inviable, the FBI and the Department of Justice asked a judge to order Apple to re-write the firmware just for their unlocking purposes. This proposed new firmware would allow the FBI to remove the automatic wipe feature, allowing them to brute force the password.

I've been reading a lot of misinformed comments on the Internet and thought I'd give my computer science perspective of the situation:

1. Many Internet souls are arguing that Apple is operating based purely off its business model, and that they are using it's security features to maintain its company and brand marketability.

Let me make it very clear that Apple is NOT operating under its best marketing and business interests (surprisingly). This is about Apple's customers and their basic freedoms. Creating a backdoor is not only unlawful, but it puts the vast majority of law abiding citizens and their personal information at risk.

2. Many uninformed Internet warriors are wondering why Apple just doesn't comply with the FBI, given that it's only one user's iPhone and that that user is one of the San Bernardino shooters.

The issue isn't as black and white as it seems. The situation is not a hardware hack, rather it is a software hack. It is easy to think that the backdoor would only be applied to the single iPhone. However, this backdoor vulnerability could be applied to every iOS device in existence. That's over 1 billion devices.

I hope Apple takes this case all the way up to the Supreme Court. This backdoor, if created, could be abused by Apple's internal employees, hackers, even foreign governments if it ended up in the wrong hands. History has shown us that as soon as something is leaked, it becomes available on The Pirate Bay an hour later.

We cannot sacrifice our basic freedoms in the name of terrorism. As soon as we encourage this type of misbehavior, it gives our government unlimited access to all of our private devices. This is how oppressive regimes operate. Let democracy stand.

Standard
Programming, Thoughts

Venmo

Something really, really, really needs to be addressed here, and it's the current state of everyone's favorite instant money app: Venmo.

Hell, I use Venmo for rent, splitting checks, and paying for just about anything. It's quick, easy, and all emoji jokes aside, it gets money to your bank in a day's time. That's amazing, considering that PayPal, the software-boom parent of Braintree, takes three days time to transfer money from PayPal to your bank.

Last year in 2014, Venmo processed $2.4 billion of payments. $2.4 billion dollars. It doesn't stop there though, as Venmo has already processed $1.6 billion in transactions in the 2nd quarter alone. At this current rate, Venmo will process anywhere between $5 - $10 billion dollars in 2015.

The money-making scheme behind Venmo is actually quite genius: all of the cash-moneys sitting inside your Venmo account is actually gathering interest for the company. But this is also the whole reason why Venmo is unsafe. When you transfer your Venmo credits to any of your friends on Venmo, that money is only getting moved around on the application layer. That money is not being moved from your account to your friend's. Let me repeat that, even if you receive the notification, the email, and the verbal confirmation that the money was transferred, there's absolutely no guarantee that money will reach your bank account when you cash out.

This article does a tremendous job of explaining the intricacies of Venmo:

if I Venmo you $20 for Chipotle, the “+ $20.00” notification you get isn’t actually reflecting a transfer from me to you. Rather, in most cases, Venmo is floating you the money until it can come out of my account. The actual mechanics of the transaction are much more complicated; the point is that Venmo is just the top layer with which you interact. “The current systems that [the United States has] in place for consumers don’t allow for real-time payments or instant payments, but instead just create this illusion that the funds are good and immediately available,”

It's completely plausible for someone to deposit to Venmo from a fraudulent or maxed out credit card. Those "funds" can then be moved around from account to account until a user decides to cash out on his/her Venmo funds. One day later, the funds from that cash-out transaction will come back with an error: "payment that you requested to be transferred to your bank came back for insufficient funds".

This is how a Venmo scam works. You trade your virtual credits for real-life goods or services, only to realize that you never received your money. The biggest difference between Venmo and PayPal is that PayPal has securities to prevent merchants from scamming you; however, Venmo's user agreement has something completely different:

“Business, commercial, or merchant transactions may not be conducted using personal accounts.”

This means that if you sold your Craigslist item for illicit Venmo funds, Venmo will not refund you the price of the item if the transaction doesn't go through because you violated their terms of service.

Wow. Talk about shady business practices. Venmo wants you to use their application for virtually all transactions, but they conveniently forgot to mention that they won't reimburse your loss.

Be careful out there. Venmo isn't magic.

Standard
Thoughts

Expectations vs. Being Grateful

Since it's the holidaze, I just wanted to post something a little more cheery and less work-related for everyone who reads my blog. One of the biggest topics in human psychology is what keeps people going - what keeps them motivated, what makes them want to do work, what makes them want to stay...

Besides the usual work achieved and progress made, we need the carrot at the end of a stick to keep us moving forward. I think one of the biggest motivating factors for both work and personal relationships is being grateful and tempering expectations.

Too many times in my life do I see people pissed the fuck off because they feel underappreciated. A simple thank you goes a long way (as does as simple sorry). Everyone feels like they're working their asses off, and the easiest way to piss them off is to expect more from them.

It's fine if you want to extort your workers and friends for all they're worth - just don't expect them to react the same way when you asked them the first time. Instead, let's be grateful for everything that the other person has accomplished.

Let's say thanks everytime something goes as planned, and say thanks for all the hard work each and everyone of us put in day in and day out. Let's be grateful that the other person cares about the company or another individual. After all, we're only human. We all have expectations and we all have duties, but to let those wash aside and come to expect them - that's being snobby and down right rude.

So let's take some time this holiday to say thanks to your relatives, your friends, your bosses, your coworkers, your girlfriends, your boyfriends.. Everyone deserves it.

Standard
Programming, Thoughts

Startup Girlfriend Threesome Balance

And this one comes up a lot.. How do you balance your girlfriend with your 60-70 hr / week job affair?? Short answer - you don't without some sacrifice. Choosing your job before girlfriend creates a rift in communication and questions about priority. Choosing your girlfriend before your job results in unnecessary stress, poor work, and unwarranted work-review meetings with your boss.

What do you do? And how do you achieve this balance when it seems impossible? I'll start by saying that it's not an easy task, but if you want results, you must be attentive and willing to put in the effort with sacrifices.

  1. Communication is key. Don't fret the hours and be confident on what your needs are. Make sure you and your girlfriend are aware of the commitment necessary for both people to be happy.. You get to work while she curls up next to you in bed.
  2. Keep your priorities straight. Don't let the love of your life become an afterthought. Your girlfriend loves and cares about you -- something that your job can't offer. Emotional support is the name of the game. Make sure she knows that you're not purposefully ignoring her for your work.
  3. Reassure her about your free time availability. This is a big one. You must be able to set boundaries on when you're working and when you're playing. There's no in between ground, so make sure you have your entire day's schedule straight. The best is when you both can find free time to work together.
  4. Create a list of goals each day, and achieve them. This one may seem unnecessary, but it's important. These don't have to be work related at all! Even small goals like 'Take girlfriend out to dinner' or 'Spoon her for at least 20 minutes' should be on this list.
  5. Compromise. This is a given in any relationship, but especially important in the startup / girlfriend threesome. Your weekends are limited while hers are empty. Go out and have fun, but let her know that you'll need to be up early the next morning to get your shit done.
  6. Have fun. Don't let the work clog your mind. I am for one, an emotional robot whenever I'm working. It's either coding or girlfriend.. They both deserve your full attention. When you're out having fun, have fun and don't worry about work until you boot up your laptop again. Trust me, there will be plenty of time to do that.

These are the most important things off the top of my head. Any less and I wouldn't be the best working / loving man I could be. Life moves on in mysterious ways, but you can't get what you want or deserve without setting some boundaries with communication. I suck at it, but I'm working towards a more mutually beneficial threesome here.. Coding, love, happiness. That's all.

Standard
Programming, Thoughts

First Software Job

It's been awhile since I last blogged, but I just wanted to say how pleased I am with life at this moment. Since taking a 5 month hiatus from any strenuous work/code, I've decided to get back on the horse of life.

Trust me, taking 5 months off was one of the best decisions in my life. I FINALLY disintegrated my dependence from stimulants, and I evolved socially in ways I could have never imagined.

Coming out of college, I wanted to find the highest paying salary job possible -- $100,000 sounds just superb. But I realized there's more to it than just money. Sure, I could afford better cars, better booze, better food, but would I really be happy? Probably not.

I interviewed with over 20 companies for senior-level development roles. In retrospect, I was a little too ambitious. Senior-level software roles need their employees to deploy code from day one. I remember being asked to code a 20 questions AI on the spot, and just miserably failing. Not saying that all college grads should go for easier roles, but senior engineers need the experience to deploy quickly -- something that us juniors could accomplish, but in a much larger time frame.

Even though you would make a dick-load of money, ask yourself if doing your job is all that's important in your life. For me, the spare time away from work and the ability to hang out with my girlfriend all days of the week easily trumps any job which requires you to work 60+ hours a week.

Nerds need time away from the computer.. Ya know?

Standard
Programming, Thoughts

Heartbleed Bug & Conspiracy Theory

So for those of you who don't know, the heartbleed bug was recently exposed as a direct vulnerability in the OpenSSL library. SSL is the handshake technology which allows all websites to 'secure' their transfer of information via HTTPS. Ever see that green lock at the top of your URL bar?? Yeah, that means it's a secure connection.

Well the shitty part is that SSL connections are used in every single private technologies in our everyday life. This includes (but not limited to): email (Gmail), instant messaging services (Facebook), credit cards (Amazon/PayPal).. basically the entire web. What we thought was 'secure', really was vulnerable all along. (Here's a list of the top 10000 websites which are still vulnerable)

"The Heartbleed bug allows anyone on the Internet to read the memory of the systems protected by the vulnerable versions of the OpenSSL software. This compromises the secret keys used to identify the service providers and to encrypt the traffic, the names and passwords of the users and the actual content. This allows attackers to eavesdrop communications, steal data directly from the services and users and to impersonate services and users."

Sounds like a lot of technical mumbo-jumbo, but in essence, the Heartbleed bug allows any attacker/anywhere to access all the information from these 'secure' servers without anyone ever knowing anything was touched/accessed/tainted. Your passwords -- vulnerable; your emails -- vulnerable; your messages -- vulnerable; your ENTIRE IDENTITY -- vulnerable. Want to see how easy it is? Look here

You want to know what's the absolutely scariest part of this bug? Here's a short excerpt from BBC:

Google Security and Codenomicon - a Finnish security company - revealed on Monday that a flaw had existed in OpenSSL for more than two years that could be used to expose the secret keys that identify service providers employing the code.

Did you guys read that correctly? Read it again.. This vulnerability has been out for MORE THAN TWO FUCKING YEARS. Can anyone say conspiracy theory????

(More technical portion here) Essentially, the way SSL works is through certificate authorities (CA's) which are Queen Certificates -- these queens determine which sites/certificates are deemed secure (HTTPS). Why does this suck? Because the whole security of the systems and web is based off these Queens. Let's take a look (taken from here):

Queens

  • Symantec (Verisign, Thawte, Geotrust) - 38.1%
  • Comodo - 29.1%
  • GoDaddy - 13.4%
  • GlobalSign - 10%
  • Others - 9.4%

This is absolutely fucking retarded because 4 companies control 90% of the internet's secrets. Who the hell trusts 4 companies with 90% of all of your secrets???!!!!

Which brings me back to the conspiracy theory here. For 2+ years, the NSA/Government could have known about this bug within OpenSSL and easily exploited it to retrieve not one, but ALL OF YOUR INFORMATION without any of the consent of the larger corporations Google/Facebook/Amazon just to name a few. Remember that PRISM scheme in which every single large company released very similar statements to plug their butts from leaking??

Well guess what. There's been a fucking IV inserted directly in their heart, in which not only the USA, but any human being in the world can peek at your DNA. Heartbleed & NSA. You win.

PRISM: Please Remember I'm a Slave Mind.

Standard