Jul 07

As the resident geek, my part-time job is providing computer tech support to family, friends and neighbors.  One of the most common questions they ask me is:

“What’s the difference between digital songs that cost $1.29 on iTunes and $0.99 on Amazon.com?”

And being the smartass that I am, my stock answer is:

“30 cents”

Continue reading »

Jul 06

Microsoft has launched a new software architecture website devoted to sharing best practices and customer stories. The site features case studies, video interviews, architect evangelist profiles, links to blog articles and a Twitter feed

If you are an architect or senior developer, this site will help you connect with your peers and learn more about patterns, model driven architecture and design, and the latest technology advancements to provide cutting edge solutions.

Microsoft Architecture Website

Jun 29

This is part 17 in a series of articles on obscure programming languages.

What is QCL?

QCL (Quantum Computer Language) is one of the first quantum programming languages.  QCL is a high-level, architecture-independent programming language for quantum computers.  Its syntax and data types are similar to those in the C programming language.  Programmers can combine classical C code and quantum code into a single source code base.

Quantum Computing

The Bloch sphere is a representation of a qubit, the fundamental building block of quantum computers.  Copyright © Smite-Meister.  Used under Creative Commons License.A quantum computer is a computational device that takes advantage of quantum mechanics phenomena — such as superposition and entanglement — to solve problems significantly faster than traditional computers.  For example, superposition means that particles exist not in a single state but in all possible states at once.  So a quantum computer may be able to compute all states of a given problem simultaneously, and therefore operate much faster than a traditional computer, which can work on only one state at a time per processor.  Hence, a quantum computer can act like a massively-parallel-processor computer.

Although quantum computing is still in its infancy, scientists have performed experiments on a small number of quantum bits (qubits).  Many government and military agencies are researching quantum computing for both civilian and military purposes, such as cryptanalysis.

Continue reading »

Jun 22

Mouse Potato Club shirt

We label someone a “couch potato” if they spend too much time sitting on the couch watching TV.  The boob tube consumes about half of America’s leisure time or nearly three hours per day.

But the amount of time people spend online and using computers is also increasing.  Children spend an average of 89 minutes each day using a computer "for entertainment purposes," up from 62 minutes in 2004.  Eighty percent of U.S. adults spend an average of 13 hours per week online, while 1 in 7 are online more for than 24 hours per week.

Marriam-Webster defines “mouse potato” as “a person who spends a great deal of time using a computer.”  Although there is some debate about the future of the computer mouse — given the rise of non-mouse devices such as smartphones and tablets — “mouse potato” is a fitting term to describe our digital sloth selves.

Continue reading »

Jun 09

Steve Jobs still knows what’s best for you, and it’s not porn.  Which is yet another reason why programmers prefer Android.

Thanks to Android News

Jun 08

DNA 3.  Copyright © Flavio Takemoto.  Photo used under license. The purpose of synthetic biology is to create new biological systems not found in nature to solve pressing problems. 

The “ultimate dream is to design these systems at a high level of abstraction using engineering-based tools and programming languages, press a button, and have the design translated to DNA sequences that can be synthesized and put to work in living cells.”

Microsoft Research has introduced programming languages that can model these synthetic systems.  Proteins and genes are expressed in a modular manner, and the program can then calculate and simulate the reactions to determine whether the synthetic biology will solve the problem at hand.

The result is GEC and LBS, two languages for modeling in synthetic biology and systems biology, respectively.  The GEC-LBS Tools package includes the GEC and LBS compilers and prototype Windows applications.

GEC and LBS Tools

Jun 08

.NET Framework 4 and Extensions Poster (PDF)

Click the image above to download a .NET Framework 4 and Extensions poster from Microsoft.

Want more .NET posters?  Devcurry has published a collection of .NET Framework and Visual Studio posters including keyboard shortcut, namespace and type posters.

.NET and Visual Studio Poster Collection

Jun 04

It’s a standard movie cliché: A hacker pounds away on his keyboard for 30 seconds to break a military-grade encryption scheme.  Nevermind that in real life it would take 8.4 million CPU years to factorize a 1024-bit number in software.  (Although the days of total security with 1024-bit RSA are coming to an end.)

SMBC, embedded with permission

May 28

This is part 16 in a series of articles on obscure programming languages.

What is Pike?

image Pike is a dynamic programming language with a syntax similar to Java and C.  Pike is easy to learn, does not require long compilation passes, and has powerful built-in data types allowing simple and fast data manipulation.

Pike is released under the GNU GPL, GNU LGPL and MPL, which means you can use it for almost any purpose, commercial and non-commercial.

Continue reading »

May 26

The Internet is a fickle beast.  Websites come and go.  Connections break and are restored.  With so many working parts and points of failure, it’s amazing the Internet is as reliable as it usually is. 

But when things go wrong — as they inevitably do — and you cannot access a website, it can be challenging to determine where the problem occurred: your PC, Internet modem, cable connection, Internet service provider, the website itself, or any of the thousands of lines in between.

Fortunately there are free online services that independently check if a website is down:

Most services allow you to enter a domain name to determine if it’s accessible.  However, CheckSite.us also allows you to enter a full URL path, domain with a specific port (e.g., checksite.us:2082), or an IP address (e.g., 209.41.89.150:2082).  For websites it cannot access, CheckSite.us will continue trying the website every 15 minutes for up to 3 days.  If it can access the website, it will send you an email or SMS text message.