Wednesday, July 31, 2013

Sunday, July 28, 2013

Introducing SimpleClock

Releasing the code to an iPhone app I made.

SimpleClock is a very simple iPhone clock app that displays the system time.

To take a look, you can find it here.

Feel free to add/use/modify/study as needed.


Enjoy!

Thursday, July 25, 2013

Building 180 Websites in 180 Days

One ambitious take on learning how to code.


Props to her for this. Her skill set by the end of the 180 days should be pretty impressive.

I like day 103. It's a neat take on a functional item. 

Sunday, June 16, 2013

Father's Day Thank You

Dear dad,

Thank you for ordering that Dell desktop computer you bought for the family back when I was in 10th grade. Through that, I was able to experience programming at my convenience and get hooked. It shaped the way for my college years and deciding to study computer science. It was also the start of what would ultimately be the foundation for my awesome job today . I am forever grateful, proud, and happy that I can call you my dad.


Love,




Michael

Saturday, May 18, 2013

Try Code School for Free

Don't miss a great opportunity next weekend to try Code School for free.

On May 25-26, you can sign up to access courses for free.

You can sign up here.

I'm looking forward to seeing some of the videos and how good their quality is. Learning how to program online is becoming easier and easier. There is a wealth of knowledge out there and it will be interesting to see how they scale with other sites/tutorials.

Friday, May 17, 2013

Are $1.00 Lottery Tickets Worth It?

Take a look at this:

$100 invested in $1.00 lottery tickets.

This is an awesome little look into those $1.00 tickets that seem tempting at time.

This begs the question? Are they worth it?

I'm thoughts and feelings? No, they are not.

Monday, April 29, 2013

What Did Coding Look Like in 1985?

Ahh the bittersweet feeling of programming from years ago:

http://blog.jgc.org/2013/04/how-i-coded-in-1985.html

Interesting glimpse into how programming things was back in 1985. Anybody that has ever written a little in assembler can probably bond with this.

Also, I like the screenshots of the paper notes. Syntax highlighting++. I'm a big fan of writing before coding. I think it helps a lot and back then you pretty much had to do it to ensure that you could keep track of everything that was going on.


Saturday, April 20, 2013

Automating NES Games Programmatically

A former CMU PhD grad has released a paper on automating NES games through programming.

Video and links to the paper can be found at:

http://www.cs.cmu.edu/~tom7/mario/

The idea and concept is pretty cool. Basically, the program works by manipulating RAM.

Using random features and running though a "set list" of functions, Mario is able to be controlled programmatically.

For more information on Tom, please check out this site found at:

http://www.cs.cmu.edu/~tom7/

Also, I didn't know about the bug in Mario that allows you to stop a Gomba from the bottom up as long as Mario is moving down it will work!

I feel the pain on the Karate Kid part...that game was a pain.

Happy learning!









Sunday, April 14, 2013

Homegrown Talent

"There are the people who don’t have any experience but are just really smart, talented, and motivated. When you get those people right, they’re your ‘homegrown talent’, if you will. These people are your farm team. These people are, for the most part, the best people who will stay long term at your company. They’re the carriers of the culture. They grew up there. You took a chance on them. They’ve learned how to be in the business."

Taken from here:

http://firstround.com/article/How-Dave-Goldberg-of-SurveyMonkey-Built-a-Billion-Dollar-Business-and-Still-Gets-Home-By-5-30

I think this is a pretty cool article and wanted to share. I believe the above quote nails it on the head. When you give people a chance they will usually go above and beyond to impress you. These are the people that are thankful for the opportunity and will stand by your company or team for the long haul. Do right by them and they will do right by you. 

When building a core team, that is the type of person you are going to want to go after. 

Tuesday, April 9, 2013

Installing Adobe Source Code Pro Font for Sublime Text 2



This guide will help you get Adobe’s Source Code Pro font installed for use with Sublime Text 2. More information about this font can be found here.

First, you will need to grab a copy of the font. It’s available for free at:


Next, you will want to install the font onto your system.

For Mac users,
  Open Font Book application.
              Chose the + button under Font.
              Locate and navigate to the font you would like to install.

For Windows users,
        Locate and navigate to where the font is saved.
        Select all desired fonts in the directory. CTRL+SHIFT.
        Right-click and chose install.

Congratulations! You now have the Adobe Source Code Pro font installed on your system. The next step will be getting it to work within Sublime Text 2 for some coding goodness.

To change font in Sublime Text 2,

       Open up Sublime Text 2.
       Click on Preferences menu and choose: Settings-User.
  Add in the following lines to this file:         

"font_face": "Source Code Pro",
"font_size": 12

        Save file to make changes. 

Note: If you look in Preferences menu/Settings-Default you can find many other things that can be changed within Sublime Text 2. Try your own customizations to fit your needs.

There you have it! You have now installed Adobe Source Code Pro and you’re ready to bang out some killer code!

Monday, March 25, 2013

Web Design Minute: Less Can Be More

When it comes time to add content to a site, people often want to fill up every single bit of the page. Think about it. We have all this real estate on the monitors we own these days. Why not fill it up?

Because less can be more.

The web is full of way too much clutter and text. The purpose of a site should be to quickly get the needed information to the user without them having to second-guess anything.

Take for example, the following texts that could be used to purchase airline tickets:

 Click here to book your next great trip with us.

or

Purchase tickets.

Both links would take you to the same destination. The second one gets you there a lot quicker. Why? 10 words vs. 2 words. Simple math. It takes more time for someone to scan the first link than the second link. It might be only fractions of a second, but it's still more.

Another aspect to ponder is mobile development. With smaller screen sizes, less clutter and more concise content help users quickly find what they need while on the go.

Often we get the idea that pages have to be filled to look right or be functional. That simply isn't the case. By going off of a "less can be more" type of design, we can reduce web clutter and push out more meaningful content to users. A site may even get more business by having less content to wade through.




Sunday, March 17, 2013

Computer Science in Vietnam

I read this today,

http://neil.fraser.name/news/2013/03/16/

Talks about computer science in Vietnam.

What an amazing article. It goes to show you how starting technology education early on in a child's life can greatly impact them.

Now if we could only get a bigger push for computer science in the States...

Tuesday, February 26, 2013

No-Frills Guide to GitHub


“Being too busy to worry about backup, is like being too busy driving a car
  to put on a seatbelt.”
  — T.E. Ronneberg

Looking for a no-frills tutorial on using Git to make repositories of your code
available on GitHub?

You came to the right place. GitHub is a great place that allows you to back up your code,
display your work, and allow for collaboration. Backing up code is the key to never
losing any work. Ready to get started?

Note: This guide assumes you have a GitHub account and already have Git setup.

Go to GitHub and make a new repo called Project1. Now you want to minimize that
window and open up the Git Bash command line tool.

To begin, create a folder where your project can be saved.
For example reasons, we will call it ‘Project1’ for now.

Using Git Bash, navigate to the directory where you want to save it to.

Ex: cd c:/Users/Michael/

From there we can make the folder for the project using Git

Ex: mkdir Project1

Now we navigate into that folder and initialize Git.

Ex: git init

This will create an empty repository in that folder.

The next step would be the actual start of coding your project. All files should be
placed under the folder we created: Project1. You can even save them anywhere
and just copy and paste them into the Project1 folder when you’re ready to contiune.

When you are ready to add files to your Git repo run this add command.

Ex: git add .

Note: Using the . after add will add every file found in the folder.

If you want you can add files one at time but specifying.

An example would be: git add main.cpp

Have all your changes made and ready to make your 1st commit? Run the Git
commit command to commit changes you’ve made.

Ex: git commit -m “initial commit”

Where “initial commit” is your comments for the commit.

This will commit your code. Ready to see your code live on your GitHub page?
The next step will make your code available under the repositories part of your page.

This is called pushing. To push your code you must run this command first from
the Git Bash command line.

Ex: git remote add origin git@github.com:username/Project1.git

Where username is your GitHub account name.

The next command will actually push the code into the repo.

Ex: git push origin master

Now go to your GitHub profile page and you should see the code come up under
Project1.

If a push doesn’t want to work, you can force a push through using the following
command. Please be certain that you want forced pushed changes to occur before
pushing though.

To force a push use this command:

Ex: git push origin master --force

Now that you’ve gotten some code on GitHub you can explore the other commands
and options available. I just wanted to give you a quick idea of how to get code up and
running to display personal projects that you’ve completed. If you are looking for further practice or learning more about Git, you can try this site that teaches you about Git in 15 minutes.



~Michael




Saturday, February 23, 2013

So You Want to Develop an App?

“All things are created twice; first mentally; then physically.  The key to creativity is to begin with the end in mind, with a vision and a blue print of the desired result.”
—Stephen Covey

So you want to develop an app?

Ok.

Will you develop on Windows, Mac, or Linux?

Will you code it in C, C++, Java, Python, Ruby, or another language?

What framework or library will you use?

Will you make your app run on the latest mobile devices?

Have all of your choices made?

Good.

You might be too late.

There are so many considerations to make when deciding to make a project. It is a task in itself to get everything ready and decided. There are numerous programming languages and many frameworks/libraries for each. You must also take into consideration that a lot of people are ditching laptops for phones and tablets. Will your app work well on those platforms?

Worrying too much about these factors can be a downfall. Debating between C++ and Java can waste precious development hours. Trying one framework only to scrap it hours later is costly too. There’s a good chance that if you dwell on something for too long, it will come to the front above everything else.

How do you solve this problem? Develop your app before you develop it.

Wait, what?

Developing the app first by planning things out can save lots of hours. The first thing to figure out is what problem is the app trying to solve? Take the time and build from that question. You might find that another app solves the problem already. You might realize along the way that there is a better solution than your initial one.

Rushing into code happens more often than not. I know many that have thought of a problem or app idea and started coding within five minutes of thinking about it. They rush to their machines only to churn out some flakey code that is often scraped or abandoned. We all know we have been guilty of this a time or two.

If proper planning is done, the other parts will fall into place. With proper planning, you’ll realize what would be a good language and framework to use as you step through the problem solving part. In the long run, you’ll be saving yourself valuable time.

Questions to ask yourself before writing any code should include:

      1. What problem am I trying to solve?
      2. Who has this problem and why? (Users)
      3. What steps do I need to take to solve this problem?
      4. Has anybody already tried to solve this problem? Results?
      5. What features, tasks, and graphics do I want the app to have?

Once all of those have been answered, the coding part will become a lot clearer. You owe it to yourself to make the job easier for you. Planning things out in advance will give you an advantage over anyone who rushes into coding their projects. It is also a lot harder to back out of a project when you set yourself up with a clear path towards the goal.

Happy Coding!