<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dacris Software &#187; Technology</title>
	<atom:link href="http://www.dacris.com/blog/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dacris.com</link>
	<description>Are you living the optimized life?</description>
	<lastBuildDate>Wed, 07 Dec 2011 09:01:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Removing our Software from Cnet</title>
		<link>http://www.dacris.com/blog/2011/12/07/removing-our-software-from-cnet/</link>
		<comments>http://www.dacris.com/blog/2011/12/07/removing-our-software-from-cnet/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 09:01:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=788</guid>
		<description><![CDATA[Software downloaders beware: Cnet is now bundling its own installer software without publishers&#8217; permission, in violation of many publishers&#8217; redistribution policies. As a result, we are joining many other software publishers in removing our software from Cnet. We have sent the following letter to Cnet in regards to their recent unauthorized bundling: Dear Cnet.com, It [...]]]></description>
			<content:encoded><![CDATA[<p>Software downloaders beware: Cnet <a href="http://seclists.org/nmap-hackers/2011/5">is now bundling its own installer software</a> without publishers&#8217; permission, in violation of many publishers&#8217; redistribution policies.</p>
<p>As a result, we are joining many other software publishers in <strong>removing our software from Cnet</strong>.</p>
<p>We have sent the following letter to Cnet in regards to their recent unauthorized bundling:</p>
<blockquote><p>
Dear Cnet.com,</p>
<p>It has come to our attention that Cnet is now bundling their own software with our software, without our permission, on the download.com website.</p>
<p>The problem is discussed in more detail by other software authors at the following URL: http://seclists.org/nmap-hackers/2011/5</p>
<p>The installer given to some users is now Cnet&#8217;s proprietary downloader instead of our installer. This causes us concern, because it can be confusing to some of our users and may cause us unwanted support hassles going forward.</p>
<p>If our software cannot be distributed in its original form (as it was uploaded by us to Cnet), we would like to request the removal of all of our products from all of Cnet&#8217;s websites as soon as possible. If that does not happen within a reasonable time, we will be required to seek legal action for copyright infringement and violation of our license agreement.</p>
<p>Sincerely,<br />
Dan Tohatan<br />
Dacris Software Inc.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/12/07/removing-our-software-from-cnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Personal Commentary on Where the World is Going</title>
		<link>http://www.dacris.com/blog/2011/11/03/a-personal-commentary-on-where-the-world-is-going/</link>
		<comments>http://www.dacris.com/blog/2011/11/03/a-personal-commentary-on-where-the-world-is-going/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 20:26:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=777</guid>
		<description><![CDATA[I&#8217;ll start with a quick bio. The story so far. My life, as it relates to history&#8230; The Story&#8230;So Far I was born in a small town in Romania just before the collapse of the Berlin Wall. Everyone had a job, everyone had a house, everyone had money, but there was nothing to buy. Everyone [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll start with a quick bio. The story so far. My life, as it relates to history&#8230;</p>
<h3>The Story&#8230;So Far</h3>
<p>I was born in a small town in Romania just before the collapse of the Berlin Wall. Everyone had a job, everyone had a house, everyone had money, but there was nothing to buy. Everyone lived in deep austerity, anxious for some kind of rebellion against the dictator.</p>
<p>Then 1989 came. Revolution. The free market. I went to school. I left Romania and came to Canada. At the time, America and particularly the United States of America, was seen as a beacon for the developing world &#8211; a role model that the rest of the world would soon inevitably follow.</p>
<p>I went to school in Canada. I learned English, and I started to learn something else. I started to learn programming. At the age of 11, I was already writing my own DOS games. I loved DOS and everything that it provided &#8211; a simple API, 256-color VGA graphics, sound, and so on. I soon outgrew my first PC &#8211; a 386 &#8211; and moved on to a Pentium II, for which I picked the components myself, at the age of 11. An achievement I only now appreciate.</p>
<p>Once I gained an appreciation of Moore&#8217;s Law, I ventured into hardware and performance testing. At the age of 12, I created my first real commercial application: Dacris Benchmarks. I started selling it online and quickly made over $10,000 from it. It was a simpler time. It was a time when almost nobody knew anything about computers or the Internet. I was the &#8220;computer whiz&#8221; kid. I never knew just how much power I had.</p>
<p>Along came September 11, 2001. I was 14 at the time. I still remember that day vividly, and how my teacher kept telling us to &#8220;read between the lines.&#8221; Now I know exactly what that meant. Sure enough, the world after 9/11 was gripped by fear. Fear that the economy wouldn&#8217;t recover. Fear that the &#8216;terrorists&#8217; would strike again.</p>
<p>But I kept moving along with my stuff. Then something began to happen. In 2002, my sales began to fall, dramatically. The world was changing but I didn&#8217;t know how yet. I was only 15. But I sensed that something fundamental had changed. Now, looking back, I can see how 2002 was the first year (since 1979) in which precious metals started rising.</p>
<p>Then, in 2003, as I progressed in high school I learned about outsourcing. I started learning about how American manufacturing jobs moved overseas in the 1980s and 1990s, but that the services industry was supposedly immune. But at the same time, outsourcing of technology jobs (IT) became a worrying trend, for me especially, since I was going to go into the work force soon, as a programmer.</p>
<p>I went to the University of Waterloo, starting in 2004. I started working as part of my co-op degree program in software engineering. I have to say 2004 was very different. For one thing, everything cost a lot less. Gas, food, books, tuition, etc. I started working full-time every 8 months, for 4 month terms. In my first two terms in 2005 and early 2006, everything was moving smoothly. The US was in &#8216;recovery&#8217; and Canada was also doing well economically. I didn&#8217;t really care either because I had almost no savings.</p>
<p>In 2006, I started to save my money. I used a savings account and was fascinated by the idea that I could earn interest, while doing nothing, on money I choose to save. At the time, the interest rate I was earning was pretty high. It was over 3%, sometimes as high as 3.75%. So I kept saving. I lived with my parents during my work terms, so I was able to save <strong>close to 90%</strong> of my income by not going out, by not partying, by not buying useless stuff.</p>
<p>I was able to save so much that I actually paid for my 3rd and 4th year tuition entirely on my own. By the last term, I was entirely living off of my own money. I had accumulated close to $15,000 in savings by the end of 2006.</p>
<p><strong>Then 2007 came</strong>. The year 2007 was a turning point in world history, as I look back on it now. In March of 2007, I started doing some investigative journalism into how the world operates. I wanted to pull apart the <strong>social</strong> machine and look into how it is engineered. That was the beginning of my &#8216;awakening&#8217;. In 2006 I already started to suspect something was wrong. I did not want to be the 9 to 5 wage slave if I could help it. I did not want to live in ignorance.</p>
<p>At the time, in late 2006, there was already a battle brewing between those who kept saying that ignorance is bliss and those who started to question everything and develop critical thinking. I chose to be on the side of the critical thinkers.</p>
<p>In 2007, I began to find out about the Bilderberg group, Bohemian Grove, Alex Jones, David Icke, and a whole host of people who would by most be considered to be &#8220;conspiracy buffs.&#8221; Then I started to study the financial system. I wanted to know how it is that traders can make so much money so quickly. In May of 2007, I began to look at the stock market. I wanted to potentially buy some stocks. Then I soon realized by June that the US stock market was ripe for a collapse. It had been going up for several years in a row with no downturn. So I reasoned, as a contrarian investor, that the stock market was due for a correction. So I stayed out.</p>
<p>In <strong>October 2007</strong>, that correction happened. I started following the news and in August, there was already talk of a &#8220;credit crunch&#8221;, a &#8220;credit crisis.&#8221; Indeed, &#8220;credit crisis&#8221; is exactly what the right term for that condition, which persists to this day, is. Credit is about belief. As more and more people wake up and credit (belief) vanishes, the credit system (which is based on belief) begins to malfunction. It begins to lock up and have spasms of volatility. Makes sense.</p>
<p>A curious thing started in late 2007: prices for things started going up. Food, gas, oil, etc. By early 2008, I watched as oil hit its record high of $147 per barrel. Then I heard Lindsey Williams on YouTube predict the collapse of oil down to $50 a barrel. Sure enough, in August, 2008, oil began to collapse and went all the way down to $37 a barrel!</p>
<p>I started my blog in 2007 and began to make market predictions, most of which turned out to be stunningly accurate. I called the crash in commodities of 2008. I called the bottom of March 2009. Amazing how much money I could&#8217;ve made if I had traded on that advice. But I didn&#8217;t. I didn&#8217;t have enough money to make any meaningful profits.</p>
<p>In the fall of 2008, the company I was working at decided to have a <strong>hiring freeze</strong> until at least March, 2009, starting in October, 2008. That was pretty scary because I would have liked a full time job there after graduation in 2009. It was also scary that a Canadian company could just all-out stop hiring people on the mere rumor of a potential economic downturn in the United States. That kind of awoke me to how fragile our jobs are, and how much control the corporate bosses (the directors) have over our jobs.</p>
<p>At the time (October, 2008), things were very scary. It was a panic. Stocks sold off, commodities sold off, everything sold off. The US dollar gained. Everyone thought deflation would hit in a big way. Banks would fail, unemployment would rise, <strong>something had to be done</strong>! It was like a financial 9/11. Read between the lines. Now you know better. It was a crisis created by the big banks so that they would get government money (our money) by threatening to implode the system (too big to fail). It was the beginning of a hostage crisis &#8211; a hostile standoff &#8211; between us (and our governments) and the big banks. The big banks started holding the governments hostage. They asserted their power and showed who really runs the show.</p>
<p>In the fall of 2009, I started seriously looking for work. After going through a few permanent jobs I decided that &#8220;permanent&#8221; was not something I could believe in (because no permanent position is permanent) so I decided to work as a contractor instead. I already knew about the outsourcing, about the loss of benefits, long hours, and the destruction of retirement in the US. I saw it starting to happen in Canada too. So I decided, no way, this is not a fair deal for an employee.</p>
<p>As an employee in 2009, I calculated that I would have been making $19.00 per hour (after tax, accounting for extra hours). That was <strong>less than my co-op pay</strong>! I mean, why don&#8217;t I just go back to being a co-op student? No. I became a contractor. I realize now just how valuable that work as a contractor has been to my own personal development. I have a business. I am now the proud director of this business. I am now even in a position to start hiring people. None of that would have been true if I had sheepishly gone into the permanent employee game like everyone else.</p>
<p>I also understood at that time just how fearful and dumbed down the whole population is. If people are willing to take jobs on such horrible terms, then they must be extremely fearful. They are afraid of something. In 2010, I began to study the financial system. I learned about the Federal Reserve, debt-based fiat money, and all the rest of it. I also learned about globalization and the push (by corporate directors) to move everyone into a sort of slavery around the world through global wage arbitrage and the removal of national sovereignty (and hence the destruction of democracy).</p>
<p>Then, in 2011, I, too, became fearful. Seeing the incredible magnitude of what we were facing left me with an enormous sense of fear. But I then became afraid of being afraid. We have nothing to fear but <strong>fear itself</strong>. That is what has driven us into this corner as a species. We have allowed fear to bring us to the precipice of a <strong>global tyrannical dictatorship</strong> (by the corporate directors) where we have no democracy, no rights, nothing. Just obedient workers (as George Carlin puts it).</p>
<p>Having read &#8220;the 4 hour work week&#8221; in 2010, I know how being assertive and having knowledge can give you enormous benefits in this world of fear and ignorance. The 4 hour work week is possible. All you need to change is your attitude towards fear. But long story short, Timothy Ferriss (author of the 4-hour work week) is the pioneer of the new economy that will emerge globally (even in the OECD countries) starting in 2012. And this brings me to the wrap-up of this segment.</p>
<p>The enormous level of global change that has happened in the last 10-15 years is staggering. The world is now waking up faster than ever, because when you lose your job and you have useful skills, you know something is wrong. The financial system is now getting in the way of the real economy. But there&#8217;s a much better way forward.</p>
<p>So here we go&#8230;</p>
<p>I intend to be the Henry Ford of our generation. Not necessarily (or not <em>just</em>) an inventor. A businessman, sure. An entrepreneur, absolutely. A critical thinker, yes. An investigative journalist and a trainer, absolutely.</p>
<p>Fundamentally, someone who can <strong>help individuals realize their own potential</strong>. Someone who sees a win-win in a situation and has the courage to go for that instead of the convenient alternatives which are many. This is who I aspire to be. Who I am now is a mere fraction of that. But this is now my mission.</p>
<h3>Système D: The Way Forward for the World</h3>
<p>It is November, 2011. Occupy Wall Street is probably on the news somewhere. The global anarchy revolution has begun. We are now challenging the legal structure of the world, having exposed the illegitimacy of the governments that have created that structure. Occupy Wall Street is about one thing only: justice. They see the hypocrisy of our world and they don&#8217;t like it. I&#8217;ve been blogging about it for some time. I began to understand this hypocrisy in 2001 with the 9/11 attacks.</p>
<p>The way forward in 2012 is one based on natural rights and freedom, including free markets. Those who have had enough of the hypocrisy will begin to construct the most trustworthy kind of environment for business: a true free market.</p>
<p>Welcome to <a href="http://www.foreignpolicy.com/articles/2011/10/28/black_market_global_economy?page=full">Système D</a>. This is the free market that the bankers tried to suppress. It is a totally &#8220;shadow&#8221; deregulated system of person-to-person business relationships. As Gerald Celente says, when people have nothing left to lose, and they have lost everything, they lose it! Why obey immoral laws? Why leave your house if you&#8217;ve been foreclosed on? Why shut down your business because you won&#8217;t pay IRS (internal racket service) taxes? If your elected representatives have given you nothing but injustice, then it&#8217;s time to fight back. One way to do that is to stop cooperating with the system, as I said many times before. Stop obeying immoral laws. Stop complying with thugs who invade your home without a warrant and call themselves &#8220;police.&#8221;</p>
<p>No more. The entrepreneurs of the world are being left with no choice but to move to Système D, which is almost as big as the GDP of the United States now. It is 15% of the world&#8217;s GDP! Note &#8211; this figure does not include &#8220;illegal actions that fit the characteristics of classical crimes like burglary, robbery, drug dealing, etc.&#8221;</p>
<p>Again, it is up to each of us to realize what is moral and what is not. Killing people in a war or as part of a gang so that you can feed your own kids is not moral. Peaceful integration is moral. Deception and hypocrisy is not moral. Mutual win-win partnerships are. Morality is what constitutes justice. Not arbitrary laws by government officials who are intimidated by banks to pass those laws.</p>
<p>Contrary to what you&#8217;ve been told, morality is not relative. It is objective. Not subjective. There is a win-win, an objective win-win, in everything. Maximizing that win-win is what is moral. Everything else is illusion. Love is nothing more than the mutual maximization of win-win. We need to extend love to all who live on this planet.</p>
<h3>Resolution: Personal Rights Declaration</h3>
<p>Every person has a right to assure his or her own existence on this planet. This fundamental right must be respected in all actions. If it is not respected, that is injustice. Nothing is more fundamental than this.</p>
<p>As the great Dr. Martin Luther King, Jr. puts it, &#8220;injustice anywhere is a threat to justice everywhere.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/11/03/a-personal-commentary-on-where-the-world-is-going/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Job of the Future</title>
		<link>http://www.dacris.com/blog/2011/10/18/the-job-of-the-future/</link>
		<comments>http://www.dacris.com/blog/2011/10/18/the-job-of-the-future/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 06:31:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Revolution]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Unemployment]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=712</guid>
		<description><![CDATA[I&#8217;m trying to look to the future and see what the job of the future might be like, in light of the post-industrial era now emerging. For that, we first need to look at the job of the past. The Industrial Job What were some of the attributes of the industrial job? 9 to 5 [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to look to the future and see what the job of the future might be like, in light of the <strong>post-industrial</strong> era now emerging.</p>
<p>For that, we first need to look at the job of the past.</p>
<h3>The Industrial Job</h3>
<p>What were some of the attributes of the industrial job?</p>
<ul>
<li><strong>9 to 5</strong> or shift-based; strict regimented schedule</li>
<li>Repetitive, replaceable, specialized and measurable</li>
<li>Performance scaled up with pay</li>
<li>Little or no originality or creativity required</li>
<li>Little intelligence or education required</li>
<li>Performed on-location</li>
<li>Directly linked to the sale of goods or services</li>
</ul>
<p>Popular positions and sectors: retail (consumption), services (security guards, tellers, etc.), manufacturing, construction.</p>
<p>The other sector is the no-productive-value sector, which employs military troops and anyone in financial services, marketing, sales, and legal. These jobs will be downsized severely in the coming post-industrial economy.</p>
<h3>The Post-Industrial Job</h3>
<p>What will be the attributes of the post-industrial job? They would naturally have to be the <strong>opposite</strong> of the industrial era job.</p>
<ul>
<li>Location and time independent (work from anywhere in the world, at any time)</li>
<li>Generalized (combining multiple disciplines), creative, non-measurable, and irreplaceable (highly <strong>brand-driven</strong>)</li>
<li>Performance <strong>does not scale</strong> with pay, as long as enough pay is given to take the money issue &#8216;off the table&#8217; (thus, pricing will be done in <strong>tiers</strong> &#8211; from each according to his ability &#8211; I know it sounds like communism but it&#8217;s true)</li>
<li>High level of general intelligence required so as to be able to learn anything at any time</li>
<li>Produces intellectual property</li>
</ul>
<p>The post-industrial job will be much more creative. You will have a brand for yourself. Your brand will be what you sell to an &#8220;employer.&#8221; I should make a note here and clarify that your employer will be your customer, so <strong>you will need to be a business</strong>, a micro-business probably. This again underscores the need for <strong>generalized knowledge</strong> in a wide variety of area &#8211; business, law, economics, marketing, and of course whatever your area of expertise or talent may be.</p>
<p>Your brand will be an identifier for <strong>your brain</strong>. Since it&#8217;s your brain, and nobody else can own it, your brain is a valuable asset if it contains valuable information.</p>
<p>A lot more attention will be given to merit, and being active in the community, which also brings up the idea of open-source and Civilization 2.0.</p>
<p>Basically, your driving motivation in life in the post-industrial era will <strong>not</strong> be to earn as much money as you can and acquire as many material goods (whether needed or not) as possible. It will be to <strong>make a statement</strong>. It will be to contribute to the community of knowledge and creative expression that will encompass all post-industrial Civilization 2.0 societies.</p>
<p>The post-industrial job will be segmented into two areas (sectors, if you will):</p>
<ul>
<li>Research &amp; Development</li>
<li>Entertainment</li>
</ul>
<h3>Research &amp; Development: The &#8216;Mad Scientist&#8217;</h3>
<p><strong>R &amp; D</strong> will encompass things like how to build more sustainable cities, how to design the most ___ something. It&#8217;s started with the software community, where people are actively competing for demonstrating the most amazing software that they can build. It&#8217;s happening all the time. The main focus of the development will be on <strong>sustainability</strong> and <strong>automation</strong>. Remember these key words because these will be the main economic drivers.</p>
<p>Sustainability will focus on reuse, recycling, and reduction of waste. Automation will focus on eliminating the industrial-era jobs still remaining.</p>
<p>Automation will prove to be economically beneficial to humanity <strong>no matter what the initial investment cost</strong> may be, because ultimately, even if we don&#8217;t accomplish it fully 200 years from now, when we do it will <strong>save an eternity of human labour</strong>. Think about that. That has huge implications. Your automation logic will never decay; it will never die. It will live forever. Therefore, automation will increasingly show itself to be economically viable no matter what the application, whether it be automating provisioning outlets (now retail stores), the transportation infrastructure, cleaning, restaurants, education, or anything else.</p>
<p>The more we automate, the less we&#8217;ll have to work (duh!). Traditional industrial-era jobs will disappear at an exponentially increasing pace. And that&#8217;s a <strong>great thing</strong>, because we can all focus on building our brands &#8211; building our <strong>collective idea-space</strong>, where all we do is think, create, design, imagine, and share.</p>
<p>Clearly, in the R &amp; D space, brains will be important. Researchers, developers, scientists, engineers, mathematicians, and so on will be increasingly more in demand. Relentless self-education and self-re-education will be required in order to enter and remain in this space. Sure, not all of us will be researchers; some will still have to supervise the machines, and there will still be some traditional industrial-era jobs for a while, but the trend is clearly in this direction.</p>
<p>In the R &amp; D space, things will generally progress from idea to nothing happening to nothing happening to nothing happening for a frustratingly long time to <strong>sudden breakthrough</strong>. This is how the whole field operates. Therefore, if you plan to build a business in the R &amp; D space, you need to have patience and flexibility. But of course, if your brand is good, your customers will probably forgive any delays you may be experiencing in the latest cutting-edge development because they too will know that it&#8217;s only a matter of time before it will emerge.</p>
<h3>Entertainment: The &#8216;Creative Guru&#8217;</h3>
<p>In <strong>Entertainment</strong>, there&#8217;s no doubt that demand will continue to rise. The more free time people have, the more they will want to indulge in entertainment activities, whether they be real or virtual. People who have creative ideas or well-honed talents like being able to play or compose music, being able to write good fiction, being good at graphic design, and so on, will be very successful in the post-industrial era. However, there will be an increased need to market yourself successfully. Therefore, these people will have to be very good at marketing. Again, you can see that the pattern of generalized knowledge applies here as well.</p>
<p>Creative people with good business and marketing skills will flourish in the post-industrial era. The key will be building a brand for yourself and being patient and flexible, willing to work with your customers to not only deliver what they want but also to charge a reasonable price (each customer will be different). You will need to give something away for free at all times, to attract potential customers. You will also need to accept donations, to capture the altruistic types. You will need to network and get involved in your community to exchange ideas with experts and potential partners / customers.</p>
<p>You will also need to do kick-start crowd-sourced funding, to get money for your next venture when VC funding runs dry. You will also need to sell your premium products to the premium customers (those who are willing to pay the most). But most importantly, you&#8217;ll need to be willing to fire unproductive customers &#8211; customers who are eating too much of your time and paying too little. That will be part of the price discovery mechanism. Again, you will have to take on many roles: director, accountant, lawyer, businessman, investor, marketing manager, and of course the most important one: <strong>creative guru</strong>.</p>
<h3>Conclusion: Old Jobs Not Coming Back</h3>
<p>One thing is clear &#8211; the old jobs based on repetitive tasks, limited training, and replaceability are no longer for humans. They are for machines. They are for computers. Over time, computers will take on the role of just about any job that currently requires limited training and implies replaceability. Therefore, these jobs will depreciate quickly. They&#8217;ll go from $20,000 a year to $12,000 a year to $6,000 a year, to $200 a year, to $5 a year.</p>
<p>Nowadays I occasionally will joke about how I don&#8217;t need employees because &#8220;in the time it takes me to hire and train one, <strong>I will have built an automated tool that does the same thing</strong> with greater predictability, better (faster) performance, and less total cost.&#8221;</p>
<p>This is only possible because I trained myself in the domain of computer programming for many years, and because I have learned how to efficiently write programs that can actually automate real-world tasks in the form of machine-understandable specifications. In a sense, I can train my PC better than I can train a human. All I have to do is define the problem more formally and adjust my expectations a bit. I have no problem with that. But again, I will never be able to replace the <strong>expert</strong> or <strong>creative</strong> job categories.</p>
<p>In the short run (20 &#8211; 50 years), there will be a bit of turbulence as the economy adjusts to this new reality. In the long run (100+ years), while I probably won&#8217;t be around (hey, there&#8217;s a small chance I could become immortal or cyborg soon), the long-term Zeitgeist Movement / Venus Project vision which I call Civilization 2.0 will emerge regardless of what the Illuminati or the Wall Street gang tries to do about it. No one can stop a trend. Whatever institutions or individuals stand in the way, they will be dealt with accordingly by the people in an entirely non-violent way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/10/18/the-job-of-the-future/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Human Manifesto: The Founding of Civilization 2.0</title>
		<link>http://www.dacris.com/blog/2011/10/08/the-human-manifesto-the-founding-of-civilization-2-0/</link>
		<comments>http://www.dacris.com/blog/2011/10/08/the-human-manifesto-the-founding-of-civilization-2-0/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 00:56:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Revolution]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Unemployment]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=670</guid>
		<description><![CDATA[The following is a declaration of the natural rights and responsibilities of all people on Earth. These rights are rooted in scientific fact and observations (hence the term &#8220;natural&#8221;) and are reserved equally by each and every individual human on Earth. The Manifesto for Civilization 2.0 We, the humanity of the Earth, wish to state [...]]]></description>
			<content:encoded><![CDATA[<p>The following is a <strong>declaration</strong> of the natural rights and responsibilities of all people on Earth. These rights are rooted in scientific fact and observations (hence the term &#8220;natural&#8221;) and are <strong>reserved equally</strong> by each and every individual human on Earth.</p>
<h3><strong>The Manifesto for Civilization 2.0</strong></h3>
<p>We, the humanity of the Earth, wish to state that it is our collective desire (goal) to bring about a world in which the optimal health and vitality of every human is guaranteed as a fundamental human right. Furthermore, the goal is to continually improve the state of happiness, fulfillment, health, and vitality for all humans for all of time. We will collectively work to ensure that these rights are defended, in addition to other human rights already established.</p>
<p>We seek to use scientifically established facts as a basis for defining our goal, recognizing that the scientific method is the only method that is not subject to individual or collective opinion, bias, or political agenda. The scientific method is therefore the best empirical method for establishing truth.</p>
<p>Scientifically ensuring the optimal health and vitality of all of humanity <em>is</em> the ultimate trans-generational vision we all hold.</p>
<p>Envision a world, 3 generations from now, where every human has his or her basic human needs met (nutrition, health, education, community, recreation).</p>
<p>We recognize that perfection is impossible, and that there will always be some deficiency in meeting these needs. However, at the same time we recognize that there are ways to measure how well these needs are being met and that it is our responsibility as humans to use scientific methods to measure these important benchmarks.</p>
<p>Once we have measurements in place, we can then begin to apply methods rooted in systems engineering to begin to improve these indicators so as to improve the collective well-being – the general welfare.</p>
<p>As a means for reaching this goal, we will utilize any method that has the most demonstrable effectiveness at any given time, with the proviso that the method must always be a peaceful one, and with the proviso that the method must be tested and proven not to have side effects at least seven (7) generations into the future.</p>
<p>If this vision sounds a lot like communism, it’s because it’s very similar. It is our view that if there are people suffering in the world, it is the responsibility of each individual who is not suffering to work to correct that suffering, to the extent that one is able to do so.</p>
<p>The <strong>established fact</strong> that all humans are fundamentally natural organisms, created from natural elements and requiring natural elements for subsistence must no longer be denied. We are made of the Earth and the stars. We require the Earth and the stars for our subsistence.</p>
<p>As a result, we must consider all natural capital (the land, the air, the water, the sun) (items not created by humans) to be collectively owned and managed equally by all of humanity for the goal identified in this manifesto. No one individual or group may be allowed to claim “ownership” (i.e. exclusive access) of natural capital, as that would logically result in the restriction of subsistence resources for another human or group. Natural capital exists to serve all of humanity for the goal identified in this manifesto.</p>
<p>At this point, we must all agree that the monetary market paradigm (the paradigm of supply and demand) <strong>logically does not apply</strong> to basic human needs, for the reasons outlined above. We cannot have a system in which subsistence (or the elements thereof) is considered a good to be sold on the market. Indeed, such a system runs contrary to the natural human right to life. If one individual, group, or corporation controls the water, land, or air, they will try to create artificial scarcity to make profits. They, by law, would have the authority to deny everyone else the fruits of that capital. They would be profiting from the very survival needs of all humans. Such a situation cannot be allowed to exist and it is the duty of all to assemble, to protest, and to demand that all natural capital be returned to the natural domain, where <strong>no human</strong> has the capacity to establish ownership or exclusive access over that capital, or to benefit from that capital without regard to the welfare of everyone else.</p>
<p>Furthermore, we recognize that the idea of <strong>exponential growth</strong> runs contrary to nature and its laws. You cannot have anything material growing exponentially in perpetuity. Thus, we discard the notion of exponential growth as a driving factor in our society and we embrace the notion of <strong>natural balance</strong> as an essential law governing humanity and all organisms on the planet. We no longer seek growth. We seek increased harmony, happiness, health, efficiency (lack of waste), freedom, and peace.</p>
<p>We, the people, will work collectively to establish a <strong>non-human</strong> (machine) agent to remove human control from natural capital, so as to intelligently manage this capital without human prejudice for the benefit of all. This agent will be charged with managing this capital in a scientific way, based on collectively-established and scientifically-established rules and priorities. It will operate entirely within the confines of natural laws (gravity, mechanics, and so forth) simulated inside a computer.</p>
<p>The agent’s code (source code) will be open to all (open-source) and free of restrictions (free as in freedom of speech). This code can and will be audited periodically by anyone in the world, much like peer-reviewed scientific articles are audited by scientists around the world, in order to determine whether it continues to serve the needs of humanity effectively. Furthermore, this agent will be tested by people around the world, by running it forward at least <strong>7 generations</strong> so as to determine whether the agent continues to improve the prosperity of all of humanity at least seven generations into the future. A crucial aspect is that the results of this agent will be <strong>independently verifiable</strong>, just like the findings in a scientific experiment. Therefore, corruption, lies, politics, manipulation, and propaganda will be less of a possibility.</p>
<p>With the establishment of these principles and technology, we will have established a sound basis for our continuing existence at least seven generations into the future, ensuring our survival so that we may live in peace and harmony with nature for all of time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/10/08/the-human-manifesto-the-founding-of-civilization-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full JavaScript Interpreter for C# (.NET)</title>
		<link>http://www.dacris.com/blog/2011/09/20/full-javascript-interpreter-for-c-net/</link>
		<comments>http://www.dacris.com/blog/2011/09/20/full-javascript-interpreter-for-c-net/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 00:21:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=633</guid>
		<description><![CDATA[Stumbled across a beautiful JavaScript interpreter for .NET today, based on Google&#8217;s V8 engine. It&#8217;s called JavaScript.NET, and even though it lacks in-depth documentation, it&#8217;s extremely easy to use. I used it to integrate this AES &#8211; Counter algorithm (implemented in JavaScript) in my C# app. Tried Jint but that didn&#8217;t work. Too picky. But [...]]]></description>
			<content:encoded><![CDATA[<p>Stumbled across <a href="http://javascriptdotnet.codeplex.com/">a beautiful JavaScript interpreter</a> for .NET today, based on Google&#8217;s <strong>V8 engine</strong>.</p>
<p>It&#8217;s called JavaScript.NET, and even though it lacks in-depth documentation, it&#8217;s extremely <a href="http://javascriptdotnet.codeplex.com/documentation?referringTitle=Home">easy to use</a>.</p>
<p>I used it to integrate <a href="http://www.movable-type.co.uk/scripts/aes.html">this AES &#8211; Counter algorithm</a> (implemented in JavaScript) in my C# app. Tried Jint but that didn&#8217;t work. Too picky. But <a href="http://javascriptdotnet.codeplex.com/">JavaScript .NET</a> &#8211; based on the V8 engine &#8211; did the trick!</p>
<p>If you&#8217;re wondering what the AES Counter algorithm is about, it&#8217;s one of the many variants of AES but it <a href="http://stackoverflow.com/questions/5413412/aes-counter-mode-c-equivalent">has not been implemented</a> in the .NET Framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/09/20/full-javascript-interpreter-for-c-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Code Snippet: Round to Significant Digits</title>
		<link>http://www.dacris.com/blog/2011/09/09/javascript-code-snippet-round-to-significant-digits/</link>
		<comments>http://www.dacris.com/blog/2011/09/09/javascript-code-snippet-round-to-significant-digits/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 20:25:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=604</guid>
		<description><![CDATA[I had a brief moment of insight today that I thought I&#8217;d share with the world. Nothing major, but quite useful. Here&#8217;s how you round to significant digits in JavaScript&#8230; Code I created a function called Math.sig (see snippet below). By default it rounds to 2 significant digits. /* Test cases: alert(Math.sig(2515.7753)); alert(Math.sig(-593)); alert(Math.sig(315.152)); alert(Math.sig(3.14159265)); [...]]]></description>
			<content:encoded><![CDATA[<p>I had a brief moment of insight today that I thought I&#8217;d share with the world.</p>
<p>Nothing major, but quite useful.</p>
<p>Here&#8217;s how you round to significant digits in JavaScript&#8230;</p>
<h3>Code</h3>
<p>I created a function called <strong>Math.sig</strong> (see snippet below). By default it rounds to 2 significant digits.</p>
<p><code>/* Test cases:<br />
alert(Math.sig(2515.7753));<br />
alert(Math.sig(-593));<br />
alert(Math.sig(315.152));<br />
alert(Math.sig(3.14159265));<br />
alert(Math.sig(13.141592));<br />
alert(Math.sig(2 / 3));<br />
alert(Math.sig(-2 / 3));<br />
alert(Math.sig(0.0812));<br />
alert(Math.sig(0));<br />
alert(Math.sig(-0.005835, 3));<br />
*/<br />
Math.sig = function (num, sig) {<br />
   if (num == 0)<br />
      return 0;<br />
   if (Math.round(num) == num)<br />
      return num;<br />
   var digits = Math.round((-Math.log(Math.abs(num)) / Math.LN10) + (sig || 2)); //round to significant digits (sig)<br />
   if (digits < 0)<br />
      digits = 0;<br />
   return num.toFixed(digits);<br />
}<br />
</code></p>
<h3>Explanation</h3>
<p>First of all, keen observers will note that the function doesn't actually do anything for numbers that have nothing after the decimal point (i.e. integers). This was intentional, because I personally don't find large integers with lots of digits to be as distracting as numbers with too many digits after the decimal point. Feel free to tweak this as you wish.</p>
<p>The most beautiful part of this is one function call:</p>
<p><code>Math.round((-Math.log(Math.abs(num)) / Math.LN10)</code></p>
<p>To determine the number of decimals, N, corresponding to D significant digits for any number X, it is necessary that we determine the <em>magnitude of X</em> in base 10 (or whatever base we wish to choose for our representation). The magnitude is computed using the logarithmic function. Then we know how many digits X consists of, and therefore we can then round to the right subset of those digits. Then, N = -log_10 |X| + D, where D = desired number of significant digits for rounding. For a small magnitude of X like 0.0003, we have a large value of -log_10|X| so we need to take more decimals to produce the same number of significant digits.</p>
<p>Now I will need to retrofit NETXPF's significant digits function with the same elegant formula. I can't believe I haven't thought of this before. I have come across the significant digits problem many times in the past, but only now found a simple mathematical formula to solve it. Now that I look at it, it almost seems too good to be true. Anyway, this is just another example of how seemingly complex problems can often have very simple solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/09/09/javascript-code-snippet-round-to-significant-digits/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Node.js: Microsoft&#8217;s Web Empire is Coming to an End</title>
		<link>http://www.dacris.com/blog/2011/08/31/node-js-microsofts-web-empire-is-coming-to-an-end/</link>
		<comments>http://www.dacris.com/blog/2011/08/31/node-js-microsofts-web-empire-is-coming-to-an-end/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 13:53:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=602</guid>
		<description><![CDATA[It appears that Microsoft has just sown the seeds for their own demise. In June, 2011, they announced that they would port Node.js to Windows. Fast-forward to now. Node.js now runs in IIS with the help of an open-source library called iisnode. I know what you&#8217;re thinking&#8230; What&#8217;s Node.js? Node.js is an open-source web server [...]]]></description>
			<content:encoded><![CDATA[<p>It appears that Microsoft has just <a href="http://www.theregister.co.uk/2011/06/23/microsoft_putting_node_js_on_windows_azure/">sown the seeds for their own demise</a>. In June, 2011, they announced that they would port Node.js to Windows.</p>
<p>Fast-forward to now. Node.js <a href="http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx">now runs in IIS</a> with the help of an open-source library called <a href="https://github.com/tjanczuk/iisnode">iisnode</a>.</p>
<p>I know what you&#8217;re thinking&#8230;</p>
<h2>What&#8217;s Node.js?</h2>
<p>Node.js is an <a href="http://nodejs.org/">open-source web server</a> that is programmed entirely through JavaScript. It&#8217;s like Apache, IIS, Tomcat, or other web servers you may have come across. The only difference is it runs JavaScript code. <a href="https://github.com/joyent/node/wiki/modules">A whole lot of JavaScript code</a>.</p>
<p>Node.js has been growing steadily in the background for years. Nobody gave it much attention. It was sort of a hobby tool that only the uber-geeks played with. Well, no more. When you&#8217;ve got serious professionals like <a href="http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx">Scott Hanselman</a> looking seriously at this stuff, it does make you take a closer look.</p>
<p>What can Node.js do? In theory &#8211; anything that Apache or IIS can do. And more &#8211; as you&#8217;ll see.</p>
<h2>What&#8217;s the Difference? Or, Why Apache Sucked, Still Sucks, and Will Continue to Suck</h2>
<p>As we all know, the Windows world uses IIS. It&#8217;s the server that serves up all your neat little ASPX pages. IIS is used on about <a href="http://news.cnet.com/8301-13505_3-10148794-16.html">40% of servers</a> worldwide.</p>
<p>According to <a href="http://news.cnet.com/8301-13505_3-10148794-16.html">that same CNet study</a>, Apache is used on about 50% of servers. It&#8217;s the most popular web server worldwide. It&#8217;s popular because it&#8217;s free, and because there has always been no better alternative &#8211; until Node.js.</p>
<p>So why does Apache suck? According to Wikipedia, Apache was <a href="http://en.wikipedia.org/wiki/Apache_HTTP_Server">conceived in 1995</a> and is written in C. Add on top of that the fact that it&#8217;s an open-source project and you can immediately start to see the level of complexity of this behemoth. More evidence of the fact that Apache has become unnecessarily complex can be seen in the emergence of <a href="http://www.lighttpd.net/">Lighttpd</a> &#8211; a web server that duplicates Apache&#8217;s HTTPd with far less complexity. In fact, Lighttpd powers YouTube, Wikipedia, and Meebo.</p>
<p>But complexity is not the only reason why Apache sucks. While the Apache server itself is quite robust, it&#8217;s the libraries and languages that grew up on it that really suck. PHP is a prime example. PHP is the language of choice for just about everyone who does development on Apache. The only language I can think of that is more arcane, backward, and stupid than PHP is C++. PHP was conceived in 1994 as a way to build &#8220;Personal Home Pages,&#8221; back when a &#8220;home page&#8221; was nothing more than an HTML3.2 page hosted on Compuserve or Geocities (RIP) designed for IE 3 with lots of blinking text and animated GIFs, to be viewed on a screen with a maximum of 256 colors and 640&#215;480 resolution, over a dial-up 28.8Kbps connection. Times have changed since then, yet PHP has refused to die. Moreover, it carries all of that legacy minutia right to this day. Same as Apache. So let&#8217;s call the other reason why Apache sucks &#8220;legacy.&#8221; Over 16 years of it. Same reason why C++ sucks.</p>
<p>Additionally, PHP has major gaping holes in security. Aside from PHP, for Apache, you have Perl a language that is some 7 years <strong>older</strong> than PHP. Then you have Django which is a great framework, but which suffers from the same legacy background that the others suffer by virtue of the fact that it runs on Apache. In addition, Python is rather slow compared to Java or .NET. In fact, in some tests even <a href="http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/">Ruby is twice as fast as Python</a>.</p>
<p>Finally you have Java, and Tomcat. A language conceived at the same time as PHP, Java has lived its life with spectacular tenacity. Despite all of its deployment nightmares, Java continues to linger on enterprise systems simply by virtue of the fact that it is so difficult to work with, thus making contractors tons of money. Why is Java difficult? Well, take the JVM. The JVM was never designed to run a web server. That it <strong>allows you</strong> to run a web server doesn&#8217;t mean you should. Neither Sun nor Oracle have done much in optimizing Java for server-side use, other than providing you with a PHP clone called JSP and a whole plethora of acronyms to memorize. Bottom line &#8211; Java was never designed for server-side web application development.</p>
<p>Cutting away all of that nonsense, you&#8217;re now left with a seemingly ridiculous choice: CGI and C++. Are you ready to go back 18 years and start from scratch? Well, <a href="https://github.com/joyent/node/wiki/Project-Organization">the people behind Node.js</a> did just that. They wrote a web server from scratch that would be programmable in JavaScript. How cool is that? Pretty cool if you ask me, considering the many advantages of JavaScript which I will go into a bit later.</p>
<p>The development of custom web servers (like Lighttpd) has accelerated over the last decade, as the world kept moving beyond Geocities and Angelfire. Flexibility requirements have grown, and web programming is a lot more low-level now than it was at the start of the web. Web developers mostly want the same things: JSON, XML, page templates, and distributed key-value (&#8220;NoSQL&#8221;) data stores. The primary reason for this shift is the increase in distributed and scalable nature of web applications. Apps like Facebook or Wikipedia require lots of servers interoperating efficiently over large distances (high latency). Web development in this kind of environment needs to be a lot more modular; less monolithic. This is why a low-footprint zero-config server like Node.js is so exciting.</p>
<h2>JavaScript is Winning</h2>
<p>In the web development world, JavaScript became the language of choice for client-side programming quite early on in its life. Every website these days uses JavaScript extensively. Even banking sites are being revamped to use AJAX (which is 5 years obsolete already). Newer sites use JSON. AJAX was the transitional step toward creating fully dynamic web applications with JSON. Now, the thought of having a web browser with JavaScript turned off seems insane. Nearly all sites use JavaScript as part of their core functionality now.</p>
<p>That&#8217;s the story on the client side. Now, JavaScript, as a language, is quite highly evolved. It&#8217;s a dynamically-typed language with minimal keyword use. It has a lot of powerful capabilities not found in C/C++/C#/Java, like the ability to pass functions as parameters with no special treatment, create objects and arrays inline, and even iterate through members of an object (i.e. reflection) naturally with no special libraries required. Because it has no static typing, it&#8217;s a lot more flexible than the C-family languages. It&#8217;s perfectly suited for modular development, where specifications are not known from the start and where data contracts can vary and are therefore usually implicit.</p>
<p>JavaScript is winning because of its productivity advantage for modular development. Also, being a <a href="http://en.wikipedia.org/wiki/ECMAScript">standard</a> and vendor-free language also adds to JavaScript&#8217;s future potential as a language.</p>
<p>With Node.js we finally have a solid implementation of server-side JavaScript. This implementation works on both Windows and UNIX-compatible servers. It can run in IIS or alongside Apache or any other server. In fact, Node.js is based on a standard which is aptly named &#8220;<a href="http://www.commonjs.org/specs/">CommonJS</a>&#8221; and aims to specify the functionality of a JavaScript web server or in fact <strong>any standalone JavaScript application</strong>.</p>
<h2>Next 20 Years: JavaScript&#8217;s Rise to Dominance</h2>
<p>JavaScript is growing up. It&#8217;s moving to the server-side world. It&#8217;s already established in the client-side world. I am willing to bet that the next 20 years will be dominated by JavaScript&#8217;s ascendance as lingua franca of the world wide web.</p>
<p>We&#8217;re in the incipient stages of that now. With Microsoft&#8217;s embrace of Node.js they have effectively put an end to their proprietary web empire. Sure, it&#8217;ll be a while before all ASP.NET apps are migrated to Node.js. Some never will. But the bottom line is Microsoft has lost the battle for dominance of server platforms, to our collective benefit! They probably know this already. Pretty soon, you&#8217;ll start seeing full-blown ports of various bits of the .NET library ecosystem, many sponsored by Microsoft themselves, into JavaScript. When that happens (not if), it&#8217;ll just be confirmation that Microsoft&#8217;s dominance over the web is ending.</p>
<p>Microsoft&#8217;s future, if you&#8217;re at all concerned, is not going to be affected by this. They probably have this all factored in. Their future is in developer tools and more importantly business intelligence tools. They will continue to have a first-class platform with Windows, but on the server their market share will drop significantly unless they can come up with something bigger and better than ASP.NET was back in 2002.</p>
<p>As a developer, it is your duty to learn about Node.js and spread the word far and wide. This is positively the &#8220;next big thing&#8221; after ASP.NET. The way I feel about JavaScript and Node.js now is the same way I felt about C# and ASP.NET in 2002, when I got my first copy of Visual Studio .NET. I made an uncertain investment in my future that paid off back then. I&#8217;m about to make another uncertain investment and hope to reap the rewards.</p>
<p>With that, I&#8217;m off to install iisnode and read <a href="http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx">Scott Hanselman&#8217;s article about Node.js</a>. Isn&#8217;t it great to be mad, Scott?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/08/31/node-js-microsofts-web-empire-is-coming-to-an-end/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaScript Faster in Firefox 7</title>
		<link>http://www.dacris.com/blog/2011/08/28/javascript-faster-in-firefox-7/</link>
		<comments>http://www.dacris.com/blog/2011/08/28/javascript-faster-in-firefox-7/#comments</comments>
		<pubDate>Sun, 28 Aug 2011 04:23:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=596</guid>
		<description><![CDATA[Today I used the benchmarks found at JSMark.com to test the latest beta of Firefox (Firefox 7). My PC is a Core 2 E8400 @ 3.6 GHz with Windows 7 64-bit. Here are the findings: Test Firefox 4 Firefox 6 Firefox 7 CPU (Modern) 335 465 515 CPU (Classic) 14215 12750 13325 As you can [...]]]></description>
			<content:encoded><![CDATA[<p>Today I used the benchmarks found at <a href="http://www.jsmark.com">JSMark.com</a> to test the latest beta of Firefox (Firefox 7).</p>
<p>My PC is a Core 2 E8400 @ 3.6 GHz with Windows 7 64-bit.</p>
<p>Here are the findings:</p>
<table>
<tbody>
<tr>
<th>Test</th>
<th>Firefox 4</th>
<th>Firefox 6</th>
<th>Firefox 7</th>
</tr>
<tr>
<td>CPU (Modern)</td>
<td>335</td>
<td>465</td>
<td>515</td>
</tr>
<tr>
<td>CPU (Classic)</td>
<td>14215</td>
<td>12750</td>
<td>13325</td>
</tr>
</tbody>
</table>
<p>As you can see, Firefox 6 and 7 are both about 40-50% faster than Firefox 4 in the Modern CPU Test. In the Classic CPU Test, Firefox 4 still has an edge of about 10% over the others.</p>
<p>This means overall JavaScript performance is about 30% faster in Firefox 6 than in Firefox 4. In Firefox 7, it&#8217;s about 50% faster than in Firefox 4.</p>
<p>So while Firefox 7 does not deliver significant JavaScript performance advantages over the previous version, it does deliver quite a cumulative improvement over Firefox 4.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/08/28/javascript-faster-in-firefox-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is the PC Dying?</title>
		<link>http://www.dacris.com/blog/2011/08/21/is-the-pc-dying/</link>
		<comments>http://www.dacris.com/blog/2011/08/21/is-the-pc-dying/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 23:27:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=577</guid>
		<description><![CDATA[The following is an in-depth look at how the PC is evolving as a form factor, and whether or not its survival is threatened by the proliferation of smaller form factors now occurring. Signs Pointing to End of PCs HP recently announced it wants to end its PC business. HP represents 17.5% of the PC [...]]]></description>
			<content:encoded><![CDATA[<p>The following is an in-depth look at how the PC is evolving as a form factor, and whether or not its survival is threatened by the proliferation of smaller form factors now occurring.</p>
<h2>Signs Pointing to End of PCs</h2>
<p>HP <a href="http://economictimes.indiatimes.com/tech/hardware/hp-wants-to-exit-pc-business-as-tablets-have-made-desktops-archaic/articleshow/9676033.cms">recently announced</a> it wants to end its PC business. HP represents <a href="http://www.digitalhome.ca/2011/07/global-pc-sales-top-85-million-units-in-second-quarter/">17.5% of the PC market</a> in terms of sales. It is the biggest player out of all of them (including Dell, Lenovo, Acer, etc.). You bet this was a calculated decision based on a significant amount of research.</p>
<p>IBM exited the PC business in 2005.</p>
<p>Mark Dean &#8211; CTO of IBM &#8211; has <a href="http://www.tomshardware.com/news/Mark-Dean-Frank-shaw-IBM-5150-Windows-Phone-7-typewriter,13212.html">recently stated</a> that the PC is going the way of the typewriter.</p>
<p>StatCounter&#8217;s &#8220;Mobile vs. Desktop&#8221; chart shows a clear downward trend for desktops that is accelerating. Mobile now represents 7% of Internet usage share. It has doubled in the last 9 months.</p>
<p>Meanwhile, the market share of Windows, as an OS is dropping year by year. If you take the percentage of devices surfing the Internet right now that are running Windows, it&#8217;s around 85%. In 2003, that share was 93%.</p>
<h2>So&#8230; Is the PC Dying?</h2>
<p>What&#8217;s the #1 advantage that users of PCs have versus users of other devices? Hint: It&#8217;s one word.</p>
<p>Productivity!</p>
<p>That&#8217;s right. If you&#8217;re a professional of any kind, whether a programmer, graphic artist, music producer, writer, or architect, the PC gives you the most productive environment out of all devices out there. The reason is simple: the combination of mouse, keyboard, monitor is the most efficient machine-user interaction mechanism to date.</p>
<p>Will that change? You bet it will. But not in any way that you might think.</p>
<p>First of all, productivity will remain an issue with tablets and smartphones for as long as they lack a cheap &amp; convenient way to dock with a traditional mouse-keyboard-monitor combination.</p>
<div class="wp-caption alignnone" style="width: 410px"><img title="IBM PC" src="http://www.retailogic.com/images/big_ibm_pc.jpg" alt="ATX Form Factor" width="400" height="400" /><p class="wp-caption-text">ATX Form Factor</p></div>
<p>However, the PC as we knew it in its desktop ATX form is going away very soon, for all but enthusiast (i.e. geek) users. Laptops will also go away soon. The reason is that even laptops are too large and waste too much power. Why carry around a 2-kg 14&#8243; laptop when the same power can be had in a 4&#8243;x3&#8243; black box weighing less than 300 g?</p>
<h2>From PC to Nano-Hub</h2>
<p>At <a href="http://www.youtube.com/watch?v=MUz_PtAt468">Computex 2007</a>, the alternative to the traditional PC (laptop &amp; desktop) was officially revealed. The Mobile-ITX form factor at the time was capable of delivering about the same computing power as a cutting-edge desktop PC in 2002.</p>
<p>Now, with the advent of AMD&#8217;s Fusion processors (which I consider to be just what the doctor ordered for the transition from traditional PC to nano-hub), it&#8217;s possible to watch 1080p videos smoothly on a &#8220;PC&#8221; <a href="http://www.youtube.com/watch?v=WDyM6SKLt24">the size of your palm</a>. This is known as a &#8220;MID&#8221; or &#8220;UMPC.&#8221; I call it the &#8220;nano-hub&#8221; because ultimately it&#8217;s just a tiny portable hub into which you plug your monitor, keyboard, mouse, and other devices.</p>
<p>I believe this to be the the future form factor of the PC. This means that chip makers will soon ditch the power-hungry 10W+ TDP CPUs and move 100% to sub-10W CPUs.</p>
<h2>Redefining &#8220;PC&#8221;</h2>
<p>The race toward the smallest PC has me questioning what <em>is</em> a PC?</p>
<p>A modern PC, as I see it, has several defining functional characteristics (subjectively defined) which must all be present. I consider these to be the minimum requirements for a device to be considered a PC:</p>
<ul>
<li>Capable of connecting to Internet and supporting the latest web standards</li>
<li>Capable of outputting video to an external display, supporting that display&#8217;s native resolution (e.g. 1680&#215;1050 for a 22&#8243; monitor)</li>
<li>Capable of playing 1080p video at full frame rate with no lag</li>
<li>Capable of running multiple applications simultaneously and running services in the background</li>
<li>Capable of connecting to a keyboard and a mouse</li>
<li>Supports custom input devices like joysticks and webcams</li>
<li>Capable of playing back audio through external speakers</li>
<li>Provides a way to develop and debug custom applications without requiring a separate device</li>
</ul>
<p>If all of these things hold, I consider a device to be a PC. However, others may have different definitions.</p>
<p>For example, using the above definition, an iPad is not a PC, because it requires an external device to create applications for it and because it does not have true multitasking. The same goes for most consumer Android devices.</p>
<h2>Benchmarks &amp; Specs</h2>
<p>In 2012, the typical specs &amp; benchmarks of a typical nano-hub will be as follows:</p>
<ul>
<li><strong>CPU:</strong> 6000 MIPS (ref: Core2 E8400 = 18000 MIPS)</li>
<li><strong>RAM:</strong> 2 GB &#8211; 4 GB</li>
<li><strong>Hard Disk:</strong> Hard disk? &#8230; Really? Try &#8220;Fixed Storage.&#8221; That&#8217;s better. This will be a 60 GB &#8211; 240 GB SSD.</li>
<li><strong>Power Usage (Total):</strong> 30 W</li>
<li><strong>Power Usage (CPU):</strong> 5 W</li>
<li><strong>Connections:</strong> Bluetooth, WiFi, 3G, HDMI</li>
<li><strong>Size:</strong> 4&#8243;x3&#8243;x0.5&#8243;</li>
<li><strong>Weight:</strong> 300 g</li>
<li><strong>Moving Parts:</strong> 0</li>
</ul>
<h2>TLDR / Summary</h2>
<p>As I see it, the PC in its <a href="http://www.retailogic.com/images/big_ibm_pc.jpg">traditional ATX form</a>, is indeed dead. The next form is what I would call the <strong>nano-hub</strong>: a device that is much smaller, portable (can be carried in your pocket), and at least as powerful as a 2002 desktop PC.</p>
<p>The typical nano-hub will have a CPU that consumes less than 10 Watts of power. The hub itself will generally use fewer than 30 Watts &#8211; almost 1/10 of what a traditional PC would use. It will have no moving parts, and will fit inside your pocket.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/08/21/is-the-pc-dying/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unique Keys, Hashing, and Encryption</title>
		<link>http://www.dacris.com/blog/2011/08/18/unique-keys-hashing-and-encryption/</link>
		<comments>http://www.dacris.com/blog/2011/08/18/unique-keys-hashing-and-encryption/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 05:34:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.dacris.com/?p=571</guid>
		<description><![CDATA[In this blog article I will discuss various methods of generating unique keys, hashing, and encryption, examining their benefits and drawbacks. I thought of writing a separate article for each, but that would result in very short articles, and I don&#8217;t like that. I like long articles. OK. Here we go. Unique Keys What is [...]]]></description>
			<content:encoded><![CDATA[<p>In this blog article I will discuss various methods of generating unique keys, hashing, and encryption, examining their benefits and drawbacks. I thought of writing a separate article for each, but that would result in very short articles, and I don&#8217;t like that. I like long articles. OK. Here we go.</p>
<h2>Unique Keys</h2>
<p>What is a &#8220;unique key&#8221;? If you have an object, you want to identify it using a brief number that will never, ever point to another object. Guaranteed. That&#8217;s a unique key (or unique identifier).</p>
<p>I would further say that in order to have a truly global key (one that will never clash with another key no matter what the context), you need to have a <strong>globally unique identifier (GUID)</strong>. This is a stronger form of unique key, in that it&#8217;s context-free. You can generate one anywhere, in any environment, and be guaranteed that it&#8217;s globally unique.</p>
<p>Let&#8217;s start with normal (not globally unique) keys. How many bits are sufficient? Let&#8217;s suppose you choose to generate the key based on a hash of the object data.</p>
<p>The <a href="http://en.wikipedia.org/wiki/Birthday_problem">birthday problem</a> is the right kind of model to use here. It turns out, for a 32-bit hash, if you have more than about 10,000 objects chances are you&#8217;ll have a clash (two objects with the same key). At about 48 bits, clashes become extremely unlikely even for a million objects.</p>
<p>It turns out, with <a href="http://apollo.backplane.com/matt/crc64.html">CRC64</a>, you can generate a unique hash for up to 18 million objects (and probably more) without worrying about collisions. Thus, 64-bit keys in most instances will be sufficient.</p>
<p>If you want to use a randomly generated GUID, you can use a regular GUID generator, then take only the first 8 bytes (64 bits) of the GUID. This should give you a decent random 64-bit GUID. To be sure, however, I would recommend hashing (with CRC64) the full 128-bit GUID, although it may hinder performance slightly.</p>
<p><strong>Summary:</strong> 64-bit GUIDs can exist and can be used in most applications. 128-bit GUIDs are kind of overkill.</p>
<h2>Hashing Algorithms</h2>
<p>There are many hashing algorithms out there, but only a few you should be aware of and know intimately.</p>
<h3>1. CRC</h3>
<p>CRC (Cyclic Redundancy Check) is a very basic hash function that generates a 32-bit hash (for CRC-32) or in rarer cases a 64-bit hash (for CRC-64).</p>
<p><strong>Advantages:</strong> Speed. CRC is the fastest hashing algorithm out there.</p>
<p><strong>Disadvantages:</strong> Lack of security. CRC is the least secure hashing algorithm. Very prone to attack.</p>
<p>Find out what <a href="http://en.wikipedia.org/wiki/Cryptographic_hash_function">secure (cryptographic) hashing</a> is and how it differs from regular (checksum) hashing. CRC is considered a basic checksum hash.</p>
<h3>2. MD5</h3>
<p>MD5 is also a basic hash function. It generates a 128-bit hash.</p>
<p><strong>Advantages:</strong> Speed. Fastest cryptographic hash function. Convenience would be a second advantage, as nearly every platform has a built-in MD5 hash function.</p>
<p><strong>Disadvantages:</strong> Lack of security. MD5 can be broken relatively easily and is no longer suitable for use in secure systems. Use MD5 only as a checksum hash, like CRC. MD5 is also significantly slower than CRC.</p>
<h3>3. SHA-1</h3>
<p>SHA-1 is another common hash function. It&#8217;s relatively fast &#8211; <a href="http://msdn.microsoft.com/en-us/library/ms978415.aspx">as fast as MD5</a> &#8211; and generates a 160-bit hash. SHA-1 is the most basic hash that I would consider &#8220;secure.&#8221;</p>
<p><strong>Advantages:</strong> Harder to attack than MD5 and just as fast. Faster (though only slightly) than some of the more secure hashes, like SHA-256.</p>
<p><strong>Disadvantages:</strong> Slower than CRC. Slightly more vulnerable to attack than SHA-256, but in most applications it&#8217;s not likely to be a problem&#8230; yet.</p>
<h3>4. SHA-256 and SHA-512</h3>
<p>SHA-256 and SHA-512 are uber-secure hash functions used when security is critical (for example, for protecting passwords in a banking application). The hash size is 256 bits and 512 bits, respectively.</p>
<p><strong>Advantages:</strong> Uber-secure. Safe from attack for probably a few decades, until Moore&#8217;s Law catches up.</p>
<p><strong>Disadvantages:</strong> <a href="http://en.wikipedia.org/wiki/SHA-2">Slowest hash function</a>. For a system with high transaction rate, these hash functions can take a significant toll on the CPU. Note: The difference in performance versus SHA-1 is not that great.</p>
<h3>Summary</h3>
<p><strong></strong>Use SHA-256 or SHA-512 where security is paramount. Don&#8217;t settle for some of the other less secure hashes. When security doesn&#8217;t matter, just use MD5. Use CRC if you need a more compact hash (&lt; 128 bits) and don&#8217;t care about security but do care about performance.</p>
<h2>Encryption Algorithms</h2>
<p>Encryption algorithms are harder to summarize because there are so many of them. However, I&#8217;ll look at the most popular forms of private-key encryption (better known as symmetric key encryption) here. When it comes to symmetric-key encryption, you will see that the choice is clear.</p>
<h3>1. Triple DES</h3>
<p>Triple DES is a 168-bit encryption algorithm, but with only 80 bits of effective security. Triple DES is <a href="http://securitynirvana.wordpress.com/2008/05/25/aes-vs-triple-des/">vulnerable to attacks</a> and should no longer be used in building secure systems.</p>
<p><strong>Advantages:</strong> None.</p>
<p><strong>Disadvantages:</strong> Insecure. Slow.</p>
<h3>2. AES</h3>
<p>AES is a highly secure 128-bit / 192-bit / 256-bit encryption algorithm designed to replace DES. It&#8217;s significantly faster than Triple DES and is now <a href="http://en.wikipedia.org/wiki/AES_instruction_set">being implemented in hardware</a>.</p>
<p><strong>Advantages:</strong> Secure. Extremely fast. Now implemented in mainstream hardware.</p>
<p><strong>Disadvantages:</strong> Some implementations are vulnerable to <a href="http://www.wisdom.weizmann.ac.il/~tromer/papers/cache.pdf">cache attack</a>.</p>
<h3>Summary</h3>
<p>AES is your best friend. It&#8217;s fast, secure, and implemented virtually everywhere. If you&#8217;ve got a Sandy Bridge CPU, it&#8217;s there, and its speed <a href="http://www.servethehome.com/wp-content/uploads/2011/03/Intel-Xeon-E3-1230-TrueCrypt.png">can reach 2 GB/s</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dacris.com/blog/2011/08/18/unique-keys-hashing-and-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

