Enabling Code Blocks on Tumblr via Google PrettyPrint

Grab the prettify.js and a prettify css style from the Google Code repository, stick them in your ‘head’ tag

<link rel="stylesheet" type="text/css" media="screen" href="https://google-code-prettify.googlecode.com/svn/trunk/styles/sunburst.css" />

<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/prettify/188.0.0/prettify.js"></script>

Grab jQuery and append prettyPrint on every pre element it can find on your blog, then call prettyPrint()

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

$(document).ready( function(){
    $('code').parent('pre').addClass('prettyprint');
    prettyPrint();
});   

There you have it!

Primer on building a Startup: Ideas alone have no value

Imagine the most beautiful portrait or landscape you can think of. Got it? Okay hold it there —

Now go ahead and paint it.

Everyone has ideas, if you’ve thought of some special idea, chances are, someone already thought of it before you and they’re already 3 steps ahead. It’s a well known fact in the tech industry: the value of execution is much higher than the idea behind it.

Think of how many people thought of an online bookstore back in the 90’s, you’ll come to wonder why Amazon was the only one who got it right.

"If life ended at 30, how would you define success?"

A friend posted this as his status over Facebook. I won’t answer it but it did spark some interesting thoughts over preparing dinner with Elain.

Success has an absolute definition:

  • the correct or desired result of an attempt (Merriam-Webster)
  • favorable or desired outcome (Merriam-Webster)
  • ;also: the attainment of wealth, favor, or eminence (Merriam-Webster)
  • the accomplishment of an aim or purpose (Oxford)
  • Success comes from the latin word successus: to advance, to climb

Success and Desires

Success mainly deals with a ‘desired result’ — in short, it goes around the concept of achieving a ‘desire’. A specific ‘desire’ has ‘value’. Merriam-Webster and most of the world couples the word ‘success’ with money, power, control and fame; obviously stems from the fact that everyone desires and values those 4 things above all else.

It is kind of self-centered; success is about us getting goals, it is about achieving what you value.

Weird thing is most of the time we may already have succeeded in achieving our goals, but the problem is we value something else, that’s why sometimes we feel like a failure. The world has tricked us into buying things we don’t need, achieving certain positions and behaving in a certain way to be ‘valuable’ just because the ‘world says so’. The funny thing is: we envy, and there are times we never get contented.

Be very careful with ‘success’, because we might be succeeding in things that are apparently not valuable after all.

So.. at 30, what do you value?

Is there any value to a CS degree at 50?

I’m 50. I’ve been building hardware and programming since I was 18.

I live in the Santa Clarita, CA.

College was touch-and-go. It was always going too slow for me. By age 20 I was working as an engineer doing both hardware and software. At age 24 I had saved-up enough to buy my first house. I had a good career and was soon making over $100K per year doing the stuff I really enjoyed.

I eventually started a tech business in my garage. Within three years it grew out of the garage and into a good size industrial facility with a dozen employees or so, in-house SMT assembly, CNC machining, low volume manufacturing, etc.

As is the case with most businesses, there were ups and downs.

The economic implosion of 2008 caught me in a perfect storm that ultimately led to killing the business after a two year gut-wrenching attempt to save it any which way I could. At the end of 2010 I had to capitulate and let it die.

Three years later. No job. I’ve sent out hundreds of applications. Very few call-backs. I’ve even lied and implied I have a degree just to see what might happen. No difference whatsoever. I had a recruiter tell me I scare the shit out of people because of the experience I have and the number of roles I’ve played, from rank-and-file engineer to founder/entrepreneur, CEO, CTO, etc. And, he also said, reality is I cannot water-down my resume because my life is all over the Internet in one way or the other.

The good news is that my wife is more than able to support our family and we’ve been OK. No urgent financial needs at this point.

The last three years have come with a lot of soul searching on my part. You go from knowing you can tackle any project anyone could care to place in front of you to thinking you are absolutely worthless. You navigate this imaginary line back and forth over time. Back and forth.

I’ve kept busy. I had dabbled in web and mobile development before but the bulk of my work —where most of my value in the business was found— was in high performance FPGA and embedded hardware and software development. I’ve developed entire product lines from scratch on my own. I am no stranger to hard work.

Not wanting to remain idle I decided I needed to shift away from doing hardware —due to how capital intensive it is— and focus on software. I jumped head first into web and mobile technologies did a few experimental websites and published a free iPhone app. Making money in the app store is hard.

In the end, technology requires money. I’ve made a little money here and there, enough to pay for servers and have a few thousand laying around for judicious experiments. I told myself I would never touch my wife’s income for my experiments and have stayed true to that over the last three years.

During this time I’ve also logged hundreds of potential business ideas spanning the range from pure software to web, mobile, physical and hardware products. Most are admittedly bad. That’s OK. I forced myself not to pre-judge anything. The other day I saw these guys on Shark Tank who sold over a million dollars in ugly sweaters. My prior self would have discounted that as a dumb product and a dumb idea. I try not to think that way any more. Lessons such as watching something like Instagram do what it did have taught me things I just didn’t know.

I have convinced myself I am not employable because of my past and my age. I never thought I’d say something like that in my life. A past of constant learning, accomplishments, entrepreneurship, hard work and, yes, success and failure. And no degree. I can’t rightly describe what this feels like.

During dinner last night my wife said she wants me to focus on finishing a Bachelors and then a Masters starting next year. She said she doesn’t care if I don’t work during that time. She feels this will be good for me mentally and that it will/might bring opportunities to the table at one point or another.

If you ask me today I am absolutely convinced that a degree will be useless to me. I’ve tried to imply I had a degree in resumes just to see what would happen and it made zero difference. I’ve also seen countless articles, some of which on HN, highlighting the fact that older engineers are having one hell of a time finding work, credentials or not. I don’t know. It could take five years to get to a Masters in, say, CS. I’ll be 55 years old, not having held a job for eight years and looking for work. How is that going to help me?

My current view is that my only way out is through entrepreneurship. I need to keep trying until I hit upon something that works. I know I have a few potentially good ones but I don’t have enough money to launch them correctly. I have to bootstrap from small ideas to larger ones.

I tried a startup pitch competition. I the judges where real assholes to everyone, it was a regular “let’s see who’s dick is longest” fest. Not my scene. Regrettably. I also think a lot of VC’s want young 20-somethings who will virtually kill themselves working. I can’t neglect my family and simply can’t live like that at this stage.

Looking for thoughts, ideas, opinion. I am sure there’s something I might be missing in my thought process. It’d sure be nice to go back to feeling like a productive member of society as well as to contribute to the financial well-being of my family. The kids are getting older. It isn’t going to get any cheaper.

Thanks!

Based on what I’ve read so far, you’re in a really comfortable position, so don’t shift specializations.

Capitalize on your rich experience with embedded hardware and software development. At 50 I’m pretty sure you have a wealth of contacts from people in that field (people you consulted for, past work buddies, etc.) warm them up and make contact: you now have a client/referral list. Ask them how they’re doing, take them out for coffee. Discuss what they’re currently doing and what they need help with. Start with one tiny project.

Ask your wife for a little help, ask her for some contacts. Talk to others in your field, take them out for breakfast or lunch, offer to speak in an event, you can offer consulting or training workshops.

Go back to building a business, it’s your best bet, and you’ve done it before. Outsource the bulk of your work into your other known contacts that can refer you to high-end consulting shops in the South-east asian or Indian region. Disclaimer: I’m from the Philippines. It’s 2013, there’s so much more tools for remote collaboration than it was a decade ago, you’ll get a good english speaking/writing workforce for less than US salary rates.

Don’t study unless you really really want to. 4+ years is a lot of time. You could have made another business up and running at that amount of time.

Don’t shift specializations just because of current market trends. Who knows, hardware might boom in the next decade. Honestly, currently, the web itself and all mobile app stores are over-saturated with everyone trying to make a dent.

The point is, no one can predict what is going to happen in the next 10 years, just stick with what you know and what you can do to answer a need from your contacts. If a specific “solution” you’re offering picks up traction, “productize” it and put a little more focus on that, but don’t bank the entire consulting shop for a product unless it dwarfs your consulting revenue by 3x-5x. Consulting cultivates client relationships, and business is all about building professional relationships that would earn you more money.

I’m not 50, I’m only 26, the 50+ year old people I know end up in three ways:

  • Teaching (writing books with their knowledge, offering workshops, teaching in universities, etc.)
  • Retired
  • Business

Again, I’m only 26. Take the input with a grain of salt.

Discussion on HackerNews

10 Week UI Challenge: Week 3 - iOS 7 Lock Screen

Last week I tackled on building the Windows 8 Modal from scratch, this week I’m doing a take on one a favorite interface: the iOS 7 lock screen. Depending on jQuery, Google Fonts, momentJS and Font Awesome. I whipped up a short piece of code to replicate it.

Code and demo can be found here

Following Jonathan Ive’s revamp of Apple’s Design system, favoring minimal vs skeumorphic.

The lock screen, even for the 1st iPhones, were revolutionary in a mass market sense. Surely, the techonology capable of doing this was already available way before the iPhone hit the market, but the product alone (along with the iPod) helped spur the need for pleasurably usable interfaces since Apple gained market share.

Things I learned:

  • Animations via CSS keyframes ;)
  • Got to use my knowledge of transitions and transforms

7 weeks to go!

Would you join a startup that doesn’t test? Are tests impediments?

Met this great team at a startup running a (quite successful) webapp on a cloud hosting provider. They don’t test their code at all (and instead run through tests manually before they push to production). They say it’s because they wanted to put something out there rather than focus on testing. Is that legit? I like them a lot, but it makes me nervous that they don’t have any test framework in place. I think they’re open to testing now they are more stable. Thoughts?

If they’re only starting out, it would be okay if there would be no automated testing at first, but as the months roll by, they’ll need testing sooner than they think.

If they’ve been working at it for a while, joining them is going to be a lot of hard work. For one, it can be a warning sign, in the first place, their code will be hard to test. Dependencies will be out of this world, who knows where they put their business logic, random classes doing random things, random database session handling, god objects, and other elaborate hard-to-maintain hack stacks.

Honestly, lots of huge companies out there don’t test, so shouldn’t really be a big deal. If you still want to join them, introduce testing to them by creating tests for one small part of their stack, it will easily show off the merits of testing:

  • It’s not just about putting something out there faster, it’s also about failing business assumptions and the capability for your code to iterate/pivot quickly. Testing helps you in that aspect. Spend 10 minutes running the entire stack and tracing where a bug occurred, or just run your tests and find out what went wrong.

  • The great thing about automated tests is that whenever I make huge changes in my code and the tests still run it means I can confidently say I didn’t break anything at all. If I did, then I can easily know where and how, and I don’t have to run through the entire app. I could easily isolate a single piece of my stack and test directly.

  • Testing forces a team to write maintainable software.

  • Another amazing meta-feature about tests is that, whenever you’re debugging, it takes a huge chunk of business logic out from your cognition. You don’t need to carry the extra cognitive load that ‘x’ part of your stack be able to ‘y’.

In reality, never join the company for their code, join a company if you find purpose, vision and growth in the people working there. You’ll work through it.

Discussion on HackerNews

Honestly, my eyes opened wide with this. I am very grateful to a fellow HackerNews member for giving me a Dribbble invite! Excited to post Works-in-Progress in Dribbble and get critical feedback from top-notch desingers in the community for my work to even get better :)

Honestly, my eyes opened wide with this. I am very grateful to a fellow HackerNews member for giving me a Dribbble invite! Excited to post Works-in-Progress in Dribbble and get critical feedback from top-notch desingers in the community for my work to even get better :)

10 Week UI Challenge: Week 2 - Windows 8 Modal

Last week I tackled on making a login page on top of Bootstrap, this week I tried to do something from scratch, only depending on jQuery. This week I’ll try doing modals, specifically the Windows 8 Metro Modal.

The Windows 8 Modal

Photo credits

Basically a modal is a child interface that requires the users to interact with it before they can go back to the main application as part of a specfic workflow.

The Windows 8 Modal has this distinct design that can been seen with Microsoft products that are adapting the Metro/Microsoft-Modern Design pattern. For one, it horizontally takes up the full-width of the viewport and is vertically centered as well.

Honestly, I could have gotten a random modal library and skinned it to look like the Windows 8 Modal, but I wanted to get my hands refreshed on CSS/JS fundamentals. So I built the modal from scratch.

You can see the project in Github. You can even download it and use it in your projects.

This small project refreshed some of my front-end fundamentals and I actually had fun doing this one from scratch:

  • Binding and Unbinding of events by jQuery
  • How to vertically and horizontally center a div using CSS Transforms
  • Learned deeply about transitions
  • Created a SASS mixin that does a button css reset. Which is really handy for making custom-made buttons.

8 more weeks to go!

10-Weekend UI Challenge

My wife constantly does some personal challenges for herself to improve on her craft. So I also made a personal challenge to myself: For the next 10 weekends (Friday-Saturday, whichever day I have spare time), I take on a small project.

  • Create a simple, web-based user interface, one for each weekend, for the next 10 weekends.
  • Using HTML/CSS/JS, build on top of other frameworks or just plain from scratch.
  • Pick one interesting interface I personally love and recreate it with as minimal, well-written code as possible.
  • Personally learn deeply about building interfaces with the most minimal code.

Weekend 1: Bootstrap Login Example

View here

It’s based on the current Bootstrap example, given additional styles. I turned it into a card. On top of this, with a few minor tweaks, I recreated the tumblr Login form.

View here

9 more weeks to go!