Apr 6 2010

Retweet March 2010

From time to time I just blast tweets about software development, project planning, team dynamics, or whatever else comes to mind. Here is a synopsis of recent tweets and rants. If you want to follow the conversation follow me at techknow and/or juixe and I’ll be sure to follow back.

Software Development

  • Security pet peeves: captchas, security questions, having to login after changing my password.
  • A supercomputer won’t solve the incompetence of bad programmers on a deadline.
  • All software is in beta.
  • The Like button needs to be killed.
  • \-: “premature optimization is root all of evil.” (-: “That’s what she said.”
  • This must be a record. I just improved our app’s memory consumption by 80%, some 400MB, by changing one line of code.
  • I love technology because I can now blame my misspelling on my iPhone.
  • Where 2.0 is the new meme. Is your website Where 2.0 aware?
  • Building a community and building a business around a community are not the same thing.
  • The linked list was recently patented, I’m going to patent something critical to civilization, like calculus or pottery.
  • Dear debugger, I wish you could introspect my feelings and put a breakpoint on my heart break.
  • A slew of computer bugs are caused by assumptions made by the programmer.
  • You know things are bad when you get error code 0000.
  • Bugs grow organically.
  • It is possible to make spaghetti code out of Obeject Oriented Programmmmmming?
  • Rule of thumb: use immutable objects as keys to hash maps otherwise get to you your debugger.

Team Leadership

  • The best ideas are free.
  • No matter what, you will never be less busy.
  • Let’s be honest, anywhere from 10-30% of a resume is a stretch.
  • So as not to forget anything, remember nothing.
  • When you give someone else time, you waste you own.
  • Don’t give any answer, give the right question.
  • If you have a one trick pony, ride it until it is ready to be put to pasture.
  • Problems are meant to be solved only if they can’t be ignored.
  • The one best possible thing you can do to make any situation better is to not make it worse.
  • One can lead by asking questions, just as well as giving orders.
  • If you build it, they will come. But if you make it to complex or change it to often, then they will leave.
  • The secret ingredient is to believe there is a secret ingredient.
  • I don’t express myself best when speaking, but when reflecting.
  • Praying may not change the world, but it can change your perspective which is helpful to change your world.
  • Folks usually want the what first but I think that the why and the how is more important than the what.

Product Placement

  • Facebook announced a major investment by the CIA. It was reported that the US Gov will push for Facebook Connect as a National ID program.
  • PayPal just sucks. I can transfer money to former Soviet Bloc countries faster than I can between PayPal and my bank.
  • Spam is like a staple in Hawaii. So it comes as no surprise that Mahalo is one of the most spam ridden sites online.
  • My suggestion to cable companies: give away basic cable to every American with on demand features. Add value outside the cable box.
  • Which will provide better value/info for businesses, yelp or foursquare?
  • The current Apple Appstore approval time is rand() * Months.
  • McDs should make a tofu McMuffin.
  • A sign at a Palo Alto church: redeem your soul, there is an app for that.
  • Purple Cow Thinking: don’t be boring, safe is risky, design rules now, very good is bad.

Quote

  • If there is a limit, you should, you must test it. – Seth Godin/Purple Cow
  • Vision without execution is hallucination – Thomas Edison
  • Success is not the key to happiness. Happiness is the key to success. If you love what you are doing, you will be successful. – Herman Cain

Mar 30 2010

Top 25 Most Dangerous Programming Errors

I’ve always been interested in understanding common programming errors so that I can easily recognize and diagnose problems, hopefully without spending hours staring at my breakpoints in my debugger. Previously, I’ve written on Common Groovy Errors and Top Worse Java Errors.

The US Department of Homeland Security, under the Common Weakness Enumeration initiative put out the 2010 CWE/SANS Top 25 Most Dangerous Programming Errors. Most of the errors noted related to web application security programming errors.

  • Failure to Preserve Web Page Structure (‘Cross-site Scripting’)
  • Improper Sanitization of Special Elements used in an SQL Command (‘SQL Injection’)
  • Buffer Copy without Checking Size of Input (‘Classic Buffer Overflow’)
  • Cross-Site Request Forgery (CSRF)
  • Improper Access Control (Authorization)
  • Reliance on Untrusted Inputs in a Security Decision
  • Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’)
  • Unrestricted Upload of File with Dangerous Type
  • Improper Sanitization of Special Elements used in an OS Command (‘OS Command Injection’)
  • Missing Encryption of Sensitive Data
  • Use of Hard-coded Credentials
  • Buffer Access with Incorrect Length Value
  • Improper Control of Filename for Include/Require Statement in PHP Program (‘PHP File Inclusion’)
  • Improper Validation of Array Index
  • Improper Check for Unusual or Exceptional Conditions
  • Information Exposure Through an Error Message
  • Integer Overflow or Wraparound
  • Incorrect Calculation of Buffer Size
  • Missing Authentication for Critical Function
  • Download of Code Without Integrity Check
  • Incorrect Permission Assignment for Critical Resource
  • Allocation of Resources Without Limits or Throttling
  • URL Redirection to Untrusted Site (‘Open Redirect’)
  • Use of a Broken or Risky Cryptographic Algorithm
  • Race Condition

Mar 14 2010

Zombie Code

In this conversation tweet snippet I rant about dead code when someone noted that in a Murphy’s Law sort of way, you don’t need dead code until you delete it. Thank goodness for version control systems.

Zombie Code

  • @techknow: It is a dead end maintaining dead code, unused, and unreachable code.
  • @archiloque There is something schrödingerian about dead code: it is often unreachable *until* you remove it.
  • @techknow: LOL my question is, if you have dead code in a live site is that considered zombie code or sleeper cell code?

Here I question how evil Google really is when a friend warns me that whatever you say about Google may be used against you by going viral. Google is big brother and it’s CEO thinks we can place our trust in it before our governments. I can’t wait until Google hires Hilary Clinton as the Senior Vice President of the Division of State at Google.

Indexable

  • @techknow Google, if you are not evil why you have to make that your motto? Who are you trying to convince?
  • @vladgur: Don’t hate Google on an indexable medium.
  • @techknow: Good advice, Google’s cache does not forget.

Spaghetti Code is when the code is so convoluted that it’s code path resembles a plate of entangled spaghetti. Here I rant about working with code base that smells like a bad plate of spaghetti.

Code for Dinner

  • @techknow: It is possible to make Spaghetti Code out of Obeject Oriented Programmmmmming. Om nom nom.
  • @mcory1: Possible? Heck, its pretty easy sometimes, even if you know what you’re doing ;)
  • @techknow: I’m working on some code that looks like a cross between Spaghetti Code and Lasagna Code. I need a bottle of wine to digest/debug this.

Chat Roulette is one of those ideas that are so simple that they are genius. Here a friend and I compare and contrast between Chat Roulette and the MTV television show Jersey shore.

Jersey Roulette

  • @techknow: MTV or VH1 should do a reality show based on chat roulette.
  • @jzy: It’s called Jersey Shore.
  • @techknow: LOL from what I have seen of Jersey Shore, I would think they used chat roulette to cast the show.
  • @jzy: I was just joking of course, no offense to Chatroulette.
  • @techknow: All kidding aside, I think chat roulette is a great idea. It reminds me of the early days of Twitter, I wish they had an open API.

Dec 31 2009

TechKnow Year In Review 2009

It is that time of year where we reflect on the accomplishments of the passing year and look forward to the one to come. Here is a window into the past year in technology through this year’s popular posts on TechKnow Juixe.

Top Favorites

Fav Tutorial

Memorable Quotes

Twitter

Twitter Conversations

Year in Review


Dec 31 2009

Retweet 2009

From time to time I just blast tweets about software development, project planning, team dynamics, or whatever else comes to mind. Here is a synopsis of tweets and rants from 2009. I started collecting and organizing programming related tweets into blogs posts early in the year. If you want to follow the conversation follow me at techknow and/or juixe and I’ll be sure to follow back.


Dec 13 2009

Retweet November 2009

From time to time I just blast tweets about software development, project planning, team dynamics, or whatever else comes to mind. Here is a synopsis of recent tweets and rants. If you want to follow the conversation follow me at techknow and/or juixe and I’ll be sure to follow back.

Software Development

  • If bad artists copy and great artists steal then bad programmers copy and great programmers cut and paste.
  • You have to think outside our current requirements and think about solutions that fit the platform and which we can build product features.
  • Can programmer mood/happiness be deciphered based on rate of check-ins, changelist, source code diff size, amount of refactoring?
  • Software is alchemy. The magic of software is that it can turn complexity to simplicity.
  • One man’s feature is another’s complexity.

Team Leadership

  • A 10:00 PM design leads to 1:00 AM release leads to 8:00 AM FAIL.
  • There are sore losers and sour winners!
  • You may know your competitors, but do you know your complementor? Complementors are businesses and services that complement yours.
  • Know thy competitor, and get to know thy complementor.
  • The biggest risk is not taking risks.
  • Don’t be afraid of someone stealing your idea, be afraid that someone is actually going to follow through with it
  • Taking startup advice is like taking dating advice.

Product Placement

  • Google Wave does not feel like a wave, it is more like a creek and I am without a paddle.
  • I’m riding the Google Wave, but not drinking the Google Kool-Aid.
  • It’s great that Apple invest in design and multi-touch tech, but they need to invest in water proof tech too. I’ve lost two ipods to water.
  • I want to tether an iPod Touch with an iPhone.
  • The iPhone is the PC.
  • I have a growing collection of ebooks on my Kindle, in fact I have not bought a hard cover book since I got my Kindle over a year ago.
  • Recharging my Kindle. It used to be that a book recharged my creativity and imagination now I have to recharge my ebook.
  • FaceBook should just rename itself to FarmBook! All I see on FaceBook when I sign in are updates from FarmVille, Cafe World, etc…
  • Will Microsoft port Google Go to the .NET platform? Why will they call it? G++? Iron Google Go? Google Go 2010 Business Edition?
  • What will people abbreviate Google Go down to? GooGo? GoGo? Goo? Goog++? Golang? Pogo?
  • ‘Python 300’ + ‘C++’ + Googleplex + $$$ + WTF = Google Go

Self Development

  • Creditability is worth more than money in the bank.
  • It is better to work on your own ideas than on someone else’s assumptions.
  • To think outside the box it helps to first master the box.
  • Don’t do what stops you from doing what you want to do unless that is what you want to do.
  • You are damned if you do, damned if you don’t, and damned if you hesitate.
  • If you don’t have the key to success, call on a locksmith.

Quotes

  • The biggest motivation is not the money but the impact. – Matt Mullenweg/#TWiST 26
  • You can’t build everything and there is no more a killer feature. Everyone has a different killer feature. – Matt Mullenweg/#TWiST 26
  • I am the unhappiest WordPress user in the world, I think it sucks. – Matt Mullenweg/#TWiST 26
  • Having a virtual assistant is one of the greatest training for managers. – Matt Coffin/#TWiST 27
  • I only believe rumors that I start – Mike Elgan
  • Wait a second, … you’ll waiting for me to take a risk, and then you’ll take a risk, that is not risk at all – @jason/#TWiST
  • We spend more time worrying and planning for the downside than we do spend worrying and planning for the upside. – Mark Pincus/Zynga
  • A lot of what you have to do as CEO is convince the employees that you are not a normal company. – Mark Pincus/Zynga
  • If you don’t have control of your company, you are an employee. – Mark Pincus
  • The hardest arithmetic to master is that which enables us to count our blessings. – Eric Hoffer