tag:blogger.com,1999:blog-85730562401981848252024-03-05T19:34:01.879-08:00kristopolousProgramming, et al.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.comBlogger56125tag:blogger.com,1999:blog-8573056240198184825.post-28050276543875446482012-11-29T17:45:00.001-08:002012-11-29T18:01:27.950-08:00The Frightening Importance of Centralized Trading<style>
h1,h2,h3,h4{margin:1em 0 0.5em}
h4{font-size:1.25em}
h3{font-size:1em}
</style>
<h4>
Hypothesis</h4>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
Without artificial trade barriers (tariffs, taxes, trade embargoes) economic centers naturally shift to geographic centers with respect to population density.</div>
<h4>
Corollary</h4>
<div style="background-color: white;">
<span style="color: #222222; font-family: arial, sans-serif;">Older, more localized centers that existed prior to the trade barriers being lifted end up crashing through the floor and de-industrializing. </span></div>
<h4>Implication</h4>
<div style="background-color: white;">
<span style="color: #222222; font-family: arial, sans-serif;">Since the Achilles heel of capitalism and fiat currency is negative-growth, industrial re-centralization would naturally lead to economic destabilization on the periphery of the region.</span></div>
<div style="background-color: white;">
<span style="color: #222222; font-family: arial, sans-serif;"><br /></span></div>
<div style="background-color: white;">
<span style="color: #222222; font-family: arial, sans-serif;">Ok, so it sounds like an overly-simplified way of looking at vastly complex macro-economic systems.</span></div>
<div style="background-color: white;">
<span style="color: #222222; font-family: arial, sans-serif;"><br /></span></div>
<div style="background-color: white;">
<span style="color: #222222; font-family: arial, sans-serif;">I agree. But it actually works. Here's three recent examples of how increased unification and globalization has led to this shift and its theorized implications.</span></div>
<h4>
Globalization</h4>
<div>
The centerpoint of global population is around <a href="http://en.wikipedia.org/wiki/Center_of_population">India and China.</a> In <a href="http://en.wikipedia.org/wiki/The_Grand_Chessboard">The Grand Chessboard: American Primacy and Its Geostrategic Imperatives</a>, Zbigniew Brzezinski aggressively argued for geostratigizing central Asia. This map below explains why:</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div style="text-align: center;">
<img alt="Inline image 3" height="245" src="http://upload.wikimedia.org/wikipedia/commons/5/52/WorldCenterOfPopulation.png" width="400" /></div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
The basic idea is that as globalization rises (and it will), previously unimportant countries, like say, Afghanistan, become critical players in global trade and furthermore, are set to be potential industrial super points. He goes so bold as to implying that whoever controls the <i>trade</i> of that region, controls the politics of the planet.</div>
<h4>
<span style="background-color: transparent;">The European Union</span></h4>
<h3>Historical</h3>
<div style="background-color: white; color: #222222;">
<div style="color: black; font-family: 'Times New Roman';">
After the fall of the Soviet Union there was a power vacuum in the eastern bloc. The economy of Europe continued to be nation-state centerpoints with Moscow being one of the most dominant player, having the strongest ties to the former Warsaw states.</div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black; font-family: 'Times New Roman';">
Prior to the centralization of the currency, each country had its own economic centerpoint based on population density.</div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black; font-family: 'Times New Roman';">
For instance, in Italy, the centerpoint was the center of the central Lazio region, also known as Rome.</div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black; font-family: 'Times New Roman';">
Greece's center-point was approximately around Athens. This historically makes sense in a way if you go by the idea that </div>
<div style="color: black; font-family: 'Times New Roman';">
</div>
<ol style="font-family: arial, sans-serif;">
<li><a href="http://en.wikipedia.org/wiki/List_of_land_borders_by_date_of_establishment#Europe">nation-state borders</a> arise from a sense of cultural identity.</li>
<li>cultural identities are fostered in population centers</li>
<li>population centers are also economic centers</li>
</ol>
<div style="font-family: arial, sans-serif;">
</div>
<div style="color: black; font-family: 'Times New Roman';">
This leads to the conclusion that nation-state borders are directly albeit loosely based on ease of access to notable economic centers.</div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black; font-family: 'Times New Roman';">
<i><span style="font-size: x-small;">(This of course isn't always true; for instance in early 19th century United States, states were often carved out and brought in in pairs to keep the parity of slave versus free states even. This led to the introduction of nation-states for purely temporary political reasons)</span></i></div>
<h3>Current</h3>
<div style="color: black; font-family: 'Times New Roman';">
The economic centerpoint is shifting and i<span style="color: #222222; font-family: arial, sans-serif;">n Europe, <a href="http://en.wikipedia.org/wiki/Economy_of_the_European_Union#Economic_growth">the periphery states are now in crisis</a>. From that link, </span>you can see the following in the 2005-2011 GDP numbers:</div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Portugal: +1.4</span></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Italy: +0.0</span></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Greece: -3.4</span></div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black; font-family: 'Times New Roman';">
While the central countries benefit from the lifting of tariffs</div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Poland: +36</span></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Czech Republic: +24</span></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Austria: +13.2</span></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Slovakia: +38.3</span></div>
<div style="color: black;">
<span style="font-family: Courier New, Courier, monospace;">Slovenia: +13.5</span></div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black; font-family: 'Times New Roman';">
Because of the fluidity of nation-to-nation trade, the old localized economic centers are giving way to a shifting regional center. This is a natural economic result of globalization.</div>
<div style="color: black; font-family: 'Times New Roman';">
<br /></div>
<div style="color: black; font-family: 'Times New Roman';">
Specifically, the point started moving from the largest previous center of Moscow to the new regional center around Bavaria.</div>
<div class="separator" style="clear: both; color: black; font-family: 'Times New Roman'; text-align: left;">
<a href="http://i.imgur.com/Y9T2H.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://i.imgur.com/Y9T2H.jpg" width="524" /></a></div>
<div class="separator" style="clear: both; color: black; font-family: 'Times New Roman'; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; color: black; font-family: 'Times New Roman'; text-align: center;">
Here's the Population Density:</div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div style="text-align: center;">
<img alt="Inline image 2" height="640" src="http://i.imgur.com/b7pnV.jpg" width="563" /></div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
Bavaria is the purple region.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
To put it another way, let's say that you have this map of major freight lines:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.railfreightportal.com/IMG/jpg/map_traffic-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="382" src="http://www.railfreightportal.com/IMG/jpg/map_traffic-2.jpg" width="400" /></a></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
Your task is to point to where on the map the shortest distance to all points could be. I know, it's a hard thing to do but it's not in France, that's far away from the East. It's not in Poland, not in northern Germany but we are getting closer.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
Ah, there it is, in Bavaria. What a coincidence.</div>
<h4>North American Free Trade Agreement</h4>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
Prior to NAFTA, and the rise of Central and South America the most important states for trade were roughly equal to the <a href="http://en.wikipedia.org/wiki/Mean_center_of_United_States_population">mean center of the US Population</a>.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
However, in the past 30 years, and especially in the past 20, it's the mean center of the NAFTA and increasingly <a href="http://en.wikipedia.org/wiki/Dominican_Republic%E2%80%93Central_America_Free_Trade_Agreement">CAFTA-DR</a>+NAFTA region. Here's a population density:</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div style="text-align: center;">
<img alt="Inline image 4" height="181" src="http://www.ruf.rice.edu/~leeman/usdenssmoo.gif" width="400" /></div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<br /></div>
<h3>
The shift to Texas</h3>
<div>
This has caused a shift in the economic center of the US to specifically Eastern Texas. In fact, there is something that is now termed the "NAFTA Bottleneck":</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div>
<span style="color: #231f20; font-family: Times;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/momy7.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://i.imgur.com/momy7.gif" width="320" /></a></div>
<div>
<br /></div>
<div>
<span style="color: #231f20; font-family: Times;">This map of the United States shows the heavy volume of freight shipped through Texas, a major trade gateway from Mexico and South America, as red lines branching out from the heart of the Lone Star State. (</span><a href="http://votemike.8m.com/i69.htm" style="color: #1155cc;" target="_blank">http://votemike.8m.com/i69.<wbr></wbr>htm</a>)<br />
<br /></div>
<div>
Further evidence can be supported by the <a href="http://nasconetwork.com/">NASCO</a> project, which is <span style="color: #231f20; font-family: Times;">proposing a corridor to alleviate the bottleneck. It has pejoratively been christened the "NAFTA Superhighway". It's </span>had many iterations, here is a good representation:</div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div style="text-align: center;">
<img alt="Inline image 5" height="340" src="http://willyloman.files.wordpress.com/2010/01/nasco-trade-corridors-map.jpg" width="400" /></div>
</div>
<h3>
Notable Economic Growth</h3>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
A <a href="http://usatoday30.usatoday.com/money/economy/2011-06-20-state-gdp-growth_n.htm">USA Today article</a> talks about just how substantial this has been (but has really incorrect analysis; it's USA Today after all):</div>
<blockquote class="tr_bq">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 25px; text-align: left;">Texas became the USA's second-largest economy during the past decade — displacing </span><a href="http://content.usatoday.com/topics/topic/Places,+Geography/States,+Territories,+Provinces,+Islands/U.S.+States/New+York" style="color: #00529b; font-family: arial, helvetica, clean, sans-serif; line-height: 25px; outline-style: none; text-align: left; text-decoration: none;" target="_blank" title="More news, photos about New York">New York</a><span style="font-family: arial, helvetica, clean, sans-serif; line-height: 25px; text-align: left;"> and perhaps heading one day toward challenging California — in one of the biggest economic shifts in the past half-century.</span> </blockquote>
<blockquote class="tr_bq">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 25px; text-align: left;"></span><span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;">The dramatic realignment of the nation's economy was illustrated by </span><a href="http://content.usatoday.com/topics/topic/Places,+Geography/States,+Territories,+Provinces,+Islands/U.S.+States/North+Carolina" style="color: #00529b; font-family: arial, helvetica, clean, sans-serif; line-height: 22px; outline-style: none; text-align: left; text-decoration: none;" target="_blank" title="More news, photos about North Carolina">North Carolina</a><span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;">, Virginia and Georgia all overtaking one-time industrial powerhouse Michigan in economic size from 2000 to 2010.</span></blockquote>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<i><span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;"><br /></span></i></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;">They are dummies and ignore the fact that it's because after NAFTA,<i style="font-weight: bold;"> </i><span style="font-weight: bold;">the trade centerpoint geographically moved downward with respect to population density until it reached the new center. </span></span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;">It's a pretty big oversight, especially since they provide a little map supporting the hypothesis:</span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; text-align: center;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;"><img alt="Inline image 6" height="320" src="http://i.usatoday.net/news/graphics/2011/0621-whosUpwhosDown.jpg" width="320" /></span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; text-align: center;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;">How kind of them.</span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;"><br /></span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;">Here <a href="http://www.bea.gov/iTable/iTable.cfm?ReqID=70&step=1&isuri=1&acrdn=1">is a chart</a> to show this more accurately. You can see how the old centerpoint of Ohio has stayed flat while the new one of Texas is booming</span></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<div style="text-align: center;">
<span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;"><img alt="Inline image 7" height="213" src="http://i.imgur.com/tvoj5.png" width="400" /></span></div>
</div>
<h4>
The Future</h4>
<div>In 2022:</div>
<div>
<ul>
<li><span style="font-family: arial, helvetica, clean, sans-serif; line-height: 22px; text-align: left;">Globally: <a href="http://en.wikipedia.org/wiki/Zomia_(geography)">Zomia will massively shrink</a> as Central Asia continues to have an increasing role in global trade. Burma and Bangladesh will become increasingly important focal points.</span></li>
<li><span style="text-align: left;"><span style="font-family: arial, helvetica, clean, sans-serif;"><span style="line-height: 22px;">Europe: The European Union may survive but not in its current form. Either the periphery will be cut or there will be policies to erect artificial barriers to decentralize the European Single Market or a new legislative oversight body will form that can usurp the sovereignty of a member state. The trading center-point may be affected by the continued rise of Africa.</span></span></span></li>
<li><span style="text-align: left;"><span style="font-family: arial, helvetica, clean, sans-serif;"><span style="line-height: 22px;">North America: The trading center-point will continue to move southward, perhaps landing on El Paso in the US and falling towards Mexico City as the Central American population boon continues.</span></span></span></li>
</ul>
</div>
kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com1tag:blogger.com,1999:blog-8573056240198184825.post-43269196178492788172012-11-09T19:43:00.004-08:002012-11-10T15:35:16.135-08:00Security Questions are Fucking Retarded.<span style="font-size: large;">Problem 1: The answers aren't secrets</span><br />
Stop asking stuff that the internet knows better than I do. The birthplace of my father and my mother's maiden name aren't closely guarded state secrets. In fact, I'd google it myself.<br />
<br />
<span style="font-size: large;">Problem 2: The questions are stupid</span><br />
People hardly remember things that change. My favorite movie when I signed up for your site won't be the same as it is now. Luckily I can go online and see what I was raving about back then, <i>just like everyone else</i>.<br />
<br />
<span style="font-size: large;">Problem 3: The answers require memorization</span><br />
Questions that someone might know but google doesn't like "Where was your first kiss?" mostly have answers that will be a sentence like, "Under the bleachers at the homecoming game".<br />
<br />
Would answering it later with a comma and a word change like "Under the bleachers<i>,</i> at <i>my</i> homecoming game" work? No? Thought not. <i>(More Below)<sup>*</sup></i><br />
<br />
<span style="font-size: large;">Conclusion</span><br />
The shit's retarded and since what you're doing probably isn't important enough for me to care, here's my answers: "a", "b" annnnd "c". Just go set those as default values now. Thanks.<br />
<br />
<hr />
<span style="font-size: x-small;"><sup>*</sup>I'm fucked with the "easy" ones too. e.g., [Mission, The Mission, (blank)] + [SF, SanFran, San Francisco, Bay Area, The Bay, The Bay Area, NorCal, (blank)] + (optional comma) + [CA, California, (blank)] ~= 144 ways to say "The Mission".</span><br />
<span style="font-size: x-small;">How did I phrase it? I get 3 tries, oh goodie. Hopefully I didn't type it as "The Missin".</span>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com4tag:blogger.com,1999:blog-8573056240198184825.post-42709290444669570152012-10-17T17:20:00.001-07:002012-10-17T17:21:07.276-07:00How well-intended, smart, focused, hard-working people royally fuck up and spin their wheelsThere's a line of roles:<br />
<br />
Researcher ---- Scientist ---- Engineer ---- Business Person ---- Sales Person<br />
<br />
With two relationships<br />
<ul>
<li> Ability to take something and make someone use it in their life</li>
<li> Ability to create something genuinely new</li>
</ul>
<h4>
The Intersection known as Innovation</h4>
Either you, or the entity that you are working with has to be in a narrow perimeter in this world or else you are just either making something that nobody will use, or making something that isn't progressive<br />
<br />
Being a successful entrepreneur, venturist, futurist, etc ... depends on knowing how these roles interact and influence one another in the minds and actions of the creators, consumers, and middlemen between the two.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-88901206991585809172012-08-27T12:57:00.001-07:002012-08-27T20:19:13.180-07:00Free Societies Need Bad Security.Effective security would have made Wikileaks, the <a href="http://en.wikipedia.org/wiki/Pentagon_Papers">Pentagon Papers</a>, exposing <a href="http://en.wikipedia.org/wiki/Watergate_scandal">Watergate</a>, <a href="http://en.wikipedia.org/wiki/Iran%E2%80%93Contra_affair">Iran-Contra</a>, <a href="http://en.wikipedia.org/wiki/Abu_Ghraib_torture_and_prisoner_abuse">Abu-Gharib</a>, and <a href="http://en.wikipedia.org/wiki/Teapot_Dome_scandal">Teapot Dome</a> impossible.<br />
<br />
Imagine: A library replaced by a device which bricks if someone stops paying the monthly extortion fee. Owning of content is replaced with access to specific content on specific devices by specific people within a specific time. Archeological digs are futile. Correspondences of important people, those that are critical to the understanding of great thinkers, are totally opaque or destroyed forever.<br />
<br />
<a href="http://www.youtube.com/watch?v=yYqkU1y0AYc">General purpose computing</a> no longer happens since all devices are locked down and not reprogrammable. Hobbyist computing and electronics is a historical footnote, only available on exorbitantly expensive authorized programmer machines where continual royalties are paid for nearly every action, automatically.<br />
<br />
Your internet access device is something provably incapable of any kind of cryptography that will elude authorities with private keys burned in by the manufacturer gifting copies to those of power.<br />
<br />
Machinery will oversee strict adherence to any power that wants to dictate how you live your life. Forget about things like drug experimentation, political dissent, unauthorized research or even speeding on the interstate at 3AM. Pop art like dj-remixing or what Andy Warhol did are either prohibitively expensive or legally (and therefore physically) impossible.<br />
<br />
Commercial enterprises, as effective as predictable and irrelevant as integral, install proverbial blinders so consumers stare at the carrot on a string in front of them the entire day. They live in a powerless and ineffective fantasy world that convinces them of the opposite; creating the same art and have same ideas as every generation before without any access to those ideas.<br />
<br />
After all, Martin Luther King's <a href="http://en.wikipedia.org/wiki/I_Have_a_Dream#Copyright_dispute">"I have a dream speech"</a> or the works of Camus, Orwell, and Huxley, are private property with perpetually extending sunsets of protection. In an effective security system, these pieces of private property can be removed and regulated to exist only under certain terms. It will be wonderful.<br />
<br />
A world of effective security will only solidify and perpetuate the currently malleable power structures of society just like the development of giant weapons of the 20th century have brought on new eras of statehood longevity and oppression, irrelevance and absolutism, indifference and imminent destruction.<br />
<br />
Ineffective security, which we currently have; permits the annals of power to be porous and vulnerable; where the light-footed innovator can expose corruption or redefine the world in new disruptive ways. It permits the curious to gain easy access to private property (such as a copy of Catch-22) regardless of the intentions of the property holder. <span style="font-size: small;"><i></i></span><span style="font-size: small;"><i>It permits for the free exchange of information because the gatekeepers locks currently do not work.</i></span><br />
<br />
Being able to have introspective analysis into the machines of implementations permit new ideas to blossom, progressing society regardless of the confines of the socioeconomic order. Effective security will shackle this process by those confines, not liberate one from it.<br />
<br />
That's the problem. It is important for things to be broken. It is absolutely critical to the organic nature of the process of innovation.<br />
<br />
comment on <a href="http://www.reddit.com/r/technology/comments/yx4y4/free_societies_need_bad_security/">reddit</a> or <a href="http://news.ycombinator.com/item?id=4440529">HN</a>.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-15956614311202566092012-01-26T12:28:00.000-08:002012-01-26T12:43:37.545-08:00The Transcendance of Empathy<div style="text-align: center;"><span style="font-size:180%;">Does this offend you?<br /></span></div><div style="text-align: left;"><a href="http://i.imgur.com/s8Eh3.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 468px; height: 377px;" src="http://i.imgur.com/s8Eh3.jpg" alt="" border="0" /></a><span style="font-weight: bold;">Awesome. </span>Just don't shoot the messenger. Here's what that message is:<br /></div><span style="display: block;" id="formatbar_Buttons"><span onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 15);ButtonMouseDown(this);" class="" style="display: block;" id="formatbar_InsertOrderedList" title="Numbered List"></span></span><ol><li>Tacit dissapproval of <a href="http://kara.allthingsd.com/files/2009/10/applethink-gandhi.jpg">Apple's advertising</a>. Apple has co-opted the greatest thinkers of the 20th century, in public domain images, to peddle electronics. To illustrate the true horror of the campaign, Mother Teresa is directly, as opposed to Apple's preferred implicitly, saying "I approve of my image being used to sell plastic stuff from China."</li><li>When you mouth the words, "I Approve", and look at the image, you are reminded of The Culture of Consumption, especially of excess, which is Apple's modus operandi. It means that ones excess income, which is, after all, excess by definition, goes to luxury items with full knowledge of global starvation. In so doing, you are an indirect deciding factor in people going to sleep hungry and Part of the Problem.</li><li>The iPad being coveted by Mother Teresa is supposed to show the line between humans and the possessions we have and how we decide to take on the responsibilities and time commitment of things and not people.</li><li>The real child in her arms being the background to the iPad emits a feeling that this could easily be your child, but isn't and how the notion of those that one cares for is a fleeting subjective game, crass, and indifferent.</li></ol>This is the transcendence of empathy.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-60602585881421050932012-01-19T11:28:00.000-08:002012-01-19T11:29:31.557-08:0080s mtvmy new project, <a href="http://80smtv.com">80s mtv</a>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com1tag:blogger.com,1999:blog-8573056240198184825.post-8672733901135590422012-01-18T18:27:00.000-08:002012-01-18T20:31:12.335-08:00Don't Pay For Content<span style="font-size:130%;">They Don't Deserve Your Money</span><br />Content providers do not trust you. They bully you into complying with a narrow view of acceptable use, shackling you to the glacial pace of policy-making.<br /><br />They do not offer any of the confidence, security, or assurance that you have come to expect in return for your money.<span style="font-size:130%;"><br /></span><br />Their are <a href="http://www.bhphotovideo.com/c/product/735592-REG/Coby_MP757_16G_MP757_16GB_2_4_Touch_Pad.html">$60 devices that store 6,000 songs</a>. At $1 per song, this $60 device can store $6,000 of content. It is easily stolen or lost and the songs can be deactivated at any time, for any reason.<br /><br />This is like paying $6,000 for a highly-delicate, non-refundable, non-replaceable $6,000 "money card" that you are supposed to carry around everywhere and hope you don't drop it, damage it, or forget it. And oh yeah, the balance can be decreased arbitrarily without notice.<br /><br />Sounds stupid, right?<br /><br />It is, and that's the best deal they offer. You'll probably pony up for the same thing multiple times. Sounds like a sweetheart deal for them, doesn't it? That's right, say it with me:<br /><span style="font-size:130%;"><br />They Are Scamming You</span><br />They want you to pay for a restricted license to play a downloaded file that can be remotely deleted at any time. Then, if you lose it and want another copy, they will act like they have no record that you already paid them for it; as if an accounting system is some technically insurmountable pipe dream. That's stupid, they already have every purchase on file and have probably already sold your data ten times over.<br /><br />Really, they are lying to you and are just looking for an excuse to charge you money.<br /><br />You should not be doing business with someone like that, who fundamentally mistrusts you and is not willing to give you control of what you pay for. So because the content provider no longer trusts you, you must no longer trust them.<br /><br /><span style="font-size:130%;">The Old Way</span><br />This wasn't always this case. 15 years ago, if you purchased an audio CD, you were permitted the following:<br /><ol><li>The right to duplicate and convert.<br />You could copy the CD onto a cassette or CD-R for personal use and archiving.<br /><br /></li><li>The right to device agnosticism.<br />That CD would work in your car, handheld player, boombox, and home stereo system. They were not keyed to a class of system and were fundamentally generic.<br /><br /></li><li>The ad-free right.<br />As a quid-pro-quo for your money, you could enjoy the CD without arbitrary advertisements.<br /><br /></li><li>The right of merchantability.<br />If you mailed in a damaged CD in case, many record labels would send you a new copy for a nominal fee, ensuring you that you wouldn't have to double-pay to re-access what you already purchased.<br /><br /></li><li>The right of satisfaction.<br />Many music stores permitted you to listen to the entire CD in the store prior to purchase or even return it if you simply didn't enjoy it.</li></ol><span style="font-size:130%;">You Get Nothing For Your Money</span><br />In the digital age, all of these rights will ideally (in the eyes of the provider), be removed; because there is a fundamental culture of distrust.<br /><br />Fortunately, there is still one mechanism that guarantees you such rights.<br /><br /><span style="font-size:130%;">Piracy Is The Answer</span><br />Piracy gives you the consumer confidence you have become accustomed to in the 90s that the content provider refuses to offer in the internet age:<br /><ol><li>You can backup the content freely in the way of your choosing.</li><li>You can enjoy the content on future technology or any existing one.</li><li>The content is pure and functional. It comes without restrictions or advertising.</li><li>The content is readily replaceable.</li><li>If you are not satisfied, you can revoke ownership of it without any fear of an unrecoverable monetary loss.</li></ol>Until the content providers give you the same guarantees in the digital age that they gave in the physical one, they will not be offering a product worthy of your time or money so there is no reason to give them any of it.<br /><br />So, for a product you can trust in, become a Pirate today.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com2tag:blogger.com,1999:blog-8573056240198184825.post-27589836389282266662011-12-30T15:55:00.000-08:002012-06-27T15:48:16.613-07:00Flash Sucks<div class="usertext-body">
<div class="md">
But everything else sucks more.<br />
<br />
Where is the alternative to the write-once run-anywhere platform that has a rich UI toolkit, is installed on almost all machines ... what? Java you say? Really, come now; Loading anything in Java in the browser feels like I'm booting up a Virtual Machine. What about Silverlight? No, not that either. <br />
Standards you say? Ok, let's roll. You can do most of what Flash does with:<br />
<ol>
<li>CSS3</li>
<li>HTML Video</li>
<li>WebGL</li>
<li>Adaptive Bitrate Streaming (<a href="http://en.wikipedia.org/wiki/HTTP_Live_Streaming" rel="nofollow">progress</a>)</li>
<li>HTML Canvas</li>
<li>Imaginary Partial Loading Support That Doesn't Exist (maybe the partially supported <script defer="defer">)</li>
<li>SVG</li>
<li><a href="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/flashplayer/pdfs/flash_player_10_security.pdf" rel="nofollow">The Imaginary Sandboxing for Separation of Applications standard</a></li>
<li>HTML Audio</li>
<li>HTTPS</li>
<li>WebSockets</li>
<li>Imaginary Crossdomain.xml Equivalent That Doesn't Exist</li>
<li>LocalStorage</li>
<li>ECMAScript 5</li>
<li>IndexedDB</li>
</ol>
And even if you got the imaginary things working and the drafts finalized you still need a solution that<br />
<ul>
<li>Works on all major platforms</li>
<li>Works on all major browsers</li>
<li>Has no nuanced implementation details</li>
<li>Has non-conflicting, non-ambiguous standards</li>
<li>Is well understood</li>
<li>Has a usable IDE for graphic designers</li>
<li>Has a wide, cheap, coder base.</li>
</ul>
Flash does this. In fact, I had streaming, synchronized, animation and audio in 1996, on Netscape 2.0, on a Pentium 1 @ 120Mhz with 16MB of RAM, on a 28.8Kbps connection, on Windows 95. All I had to do was download a 160KB add-on and restart my browser; back before DOM 0, and when the W3C was moving from SGML to the fancy new "XML" standard.<br />
A decade and a half later, going to the <a href="http://www.optimum7.com/css3-man/" rel="nofollow">CSS3 equivalent</a> I have to carefully choose the browser, then see my cpu hosed and still have frame drop, have audio sync problems, and have to load ALL of it before seeing ANY of it.<br />
The Flash hate is totally misplaced. What they have done is absolutely phenomenal. I'm sorry that you see teeth whitening ads and porno site popups with it, but don't blame the technologists; that's like blaming Honda Of Japan because some asshole cut you off on the Freeway.<br />
And besides, what will the ad-haters use in this future world of 2022? Some amalgamated FlashBlock equivalent that can easily just turn off all the annoying stuff? This line will be blurred and it won't be possible.<br />
Adobe has done, and continues to do what Microsoft Failed at, what Apple Failed at, what Sun Failed at, and what Google is almost, but not quite, succeeding in, decades later.</div>
</div>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com1tag:blogger.com,1999:blog-8573056240198184825.post-68557597357399145432011-11-27T19:47:00.000-08:002012-10-17T19:26:52.025-07:00What a Nice Logo you have, Where Did You Find it?The small record label <a href="http://www.facebook.com/balancealliance">Balance Underground (or Alliance)</a> has apparently lifted the <a href="http://andystechblog.files.wordpress.com/2011/06/debian-logo.jpg">Debian swirl</a> as their logo for the past few years (<a href="http://www.debian.org/logos/">actually legal</a>, but only if the jackets have a disclaimer). It's a sub-label of another swirly label called <a href="http://www.discogs.com/label/Balance">Balance Recordings</a> that appears to have different artwork.<br />
<br />
<sub>Apparently they were also Spelling-Bee Champions.</sub><br />
<a href="http://www.discogs.com/label/Balance+Alliance"><img src="http://s.dsimg.com/image/L-150-144485-1247756854.jpeg" /></a><br />
<img src="http://andystechblog.files.wordpress.com/2011/06/debian-logo.jpg" style="width: 260px;" /><br />
<br />
Here's some releases, most of them link back to discogs; the ones at the bottom are from their Facebook page.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://s.discogss.com/image/R-1841959-1247153522.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://s.discogss.com/image/R-1841959-1247153522.jpeg" width="309" /></a></div>
<br />
<a href="http://www.discogs.com/Jeremiah-Feat-Vusa-Mkhaya-Balance-Alliance-Special-Edition/release/2266873"><img src="http://s.dsimg.com/image/R-150-2266873-1275818354.jpeg" style="display: inline;" /></a><a href="http://www.discogs.com/Brawther-Untitled/master/293816"><img src="http://s.dsimg.com/image/R-150-1768280-1245054188.jpeg" style="display: inline;" /></a><a href="http://www.discogs.com/Joint-Movement-Project-Find-A-Love/release/2303111"><img src="http://s.dsimg.com/image/R-150-2303111-1316536710.jpeg" /></a><a href="http://www.discogs.com/Various-Untitled/master/297335"><img src="http://s.dsimg.com/image/R-150-2244792-1272018657.jpeg" style="display: inline;" /></a><a href="http://www.discogs.com/Brawther-Untitled/release/2951136"><img src="http://s.dsimg.com/image/R-150-2951136-1308781096.jpeg" style="display: inline;" /></a><a href="http://www.discogs.com/Saint-Sebastian-Wipe-The-Needle-Life/release/2607163"><img src="http://s.dsimg.com/image/R-150-2607163-1316536975.jpeg" style="display: inline;" /></a><a href="http://www.discogs.com/Jay-Robertson-Me-Realizo/master/344222"><img src="http://s.dsimg.com/image/R-150-2463550-1286227977.jpeg" style="display: inline;" /></a><a href="http://www.discogs.com/Various-Isaev-Cutout-Classics-Volume-Three/release/2824375"><img src="http://s.dsimg.com/image/R-150-2824375-1302717041.jpeg" /></a><img src="http://photos-d.ak.fbcdn.net/hphotos-ak-snc6/168312_10150142196897814_306308832813_8382499_7349296_a.jpg" style="width: 150px;" /><br />
<br />
<b>About the author</b><br />
<a href="http://qaa.ath.cx/">Chris Mckenzie</a> writes <a href="https://github.com/kristopolous">Free software</a>.<br />
<br />
<b>Edit 1:</b> The Debian swirl appears to be <a href="http://lists.debian.org/debian-legal/2010/12/msg00015.html">trivial to construct</a> and has been used by <a href="http://i.imgur.com/gFKfs.jpg">other organizations</a>.<br />
<b>Edit 2:</b> A representative from the organization in question has some replies below concerning the logo! :)kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com14tag:blogger.com,1999:blog-8573056240198184825.post-82937359138157108522011-11-23T13:49:00.000-08:002011-11-23T14:00:47.844-08:00Augmented Wiki Model<h1>Augmented Wiki Model</h1> <h2>Statement of problem</h2> <p> An artifact of the traditional wiki model is that malice, bias, and fiction (un-valued content) can masquerade itself as factual information. The mechanisms deployed to prevent this; banning users, protecting, and locking pages each require manual intervention by a member of a privileged group of users. </p> <h2>Objective</h2> <p> To minimize the amount of un-valued content on a wiki by augmentation of the wiki model.<br /></p><h3>Assumptions</h3> <ol><li> The value of a user's recent contributions can be used to predict the value of a user's contributions in the near future. </li><li>The value of a page of content currently to a wiki community can be used to predict the value of the content in the future under a certain guideline (outlined below). </li></ol> <h3>Methodology</h3> Given the above axiomatic assumptions, I propose to augment the wiki model as follows: <p> </p><ol><li>Assign a variable to every user and to every page.</li><br /><ol><li>The user variable will be called the "integrity" of the user and be a signed number starting at 0.</li><br /><li>The page variable will be called the "value" of the page and be a signed number starting at 0.</li><br /></ol><li>Every user will be allowed to state a fully retractable, single "+1" "0" or "-1" on another user's or page's value. In theory this will create the following:</li><br /><ol><li>The value of the user's contributions will be directly reflected by the sum of the value of their integrity, assigned by other users.</li><br /><li>The value of the page's content will be directly reflected by the sum of the value of the page, assigned by users.</li><br /></ol><li>Under the above constraints, the following limitations, that by assertion preserve the spirit of the wiki, can be imposed:</li><br /><ol><li>There will be two types of edits: moderated, and un-moderated.</li><br /><ul><li>Moderated edits</li><br /><ul><li>Another user has to approve the edit</li><br /><li>Any edit where a user's integrity is less than a page's value becomes a moderated edit</li><br /><li>Only users whose integrity is greater than or equal to the value of the page can approve an edit queued for moderation</li><br /></ul><li>Un-moderated edits</li><br /><ul><li>An edit that does not need approval.</li><br /><li>Any edit where a user's integrity is greater than or equal to the value of the page becomes an un-moderated edit</li><br /></ul></ul><li>Furthermore, the following safeguards will be used</li><br /><ul><li>Since certain accounts will now be of more value than others, hijacking will become a problem.</li><br /><ul><li>A user's integrity will only be viewable by a user with more integrity.</li><br /><li>Page values will always be viewable.</li><br /><li>Only a user with an integrity greater than or equal to the a page's value can view the queue for moderation with the exception of</li><br /><ul><li>A user who submitted an edit for moderation can purge their submission from the queue</li><br /></ul><li>The history of a page will not reveal to a user with insufficient integrity which edits were moderated and which edits were not</li><br /><li>Since people can gain integrity through deceit, and then only disclose malicious intent after accumulation of power, any vote placed upon a user or a page is fully retractable.</li><br /></ul></ul></ol></ol> <p></p> <h3>Hypothesis 1</h3> <p> Under the augmented wiki model as proposed above, the quantity of un-valued content on a wiki will decrease. </p> <h3>Hypothesis 2</h3> <p> The augmented wiki model as proposed above eliminates the need for the traditional manual protection mechanisms employed to prevent un-valued content being committed. </p> <p></p>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-59093440284715405472011-11-11T20:22:00.000-08:002013-08-08T22:54:34.918-07:00The winners are: Opera, IE, Firefox, Chrome, Safari; in that order.This is a response to a <a href=http://www.reddit.com/r/programming/comments/m7qj8/ie_10_is_the_most_standardscompliant_js_browser/>contentious blog entry</a> I wrote <a href=http://kristopolous.blogspot.com/2011/11/acid3-of-js-has-few-surprises.html>two days ago</a>. <br /><br />In under 36 hours, a lot has changed:<br /><ul><li>ECMAscript.org has updated their tests</li><li>Opera 12 Alpha is out.</li><li>Firefox 10 Alpha is out.</li></ul>Also, many said I didn't give Opera a fair shake. So now the beta and alpha builds have been included.<br /><br />Here's the updated (2011-11-11) results. Each browser's data is compressed with bzip2.<br /><table border="1" cellpadding="5" cellspacing="1"><thead><tr><th>Browser</th><th>Fails</th><th>The photo</th><th>The data</th><th>Release Status</th></tr></thead><tbody><tr><td><img style="border:0;;box-shadow:0;padding:0;vertical-align:middle;margin:0 6px 0 0" src=http://9ol.es/jstest/icon-opera.png>Opera 11.60 beta 1147</td><td>1</td><td><a href="http://i.imgur.com/747B6.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-opera-1160-results.xml.bz2">XML Results</a></td><td>Beta</td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-ie.png>IE 10 10.0.8102.0</td><td>6</td><td><a href="http://i.imgur.com/VDSGM.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-ie-10-results.xml.bz2">XML Results</a></td><td>Alpha</td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-opera.png>Opera 12.00 alpha 1116</td><td>11</td><td><a href="http://i.imgur.com/bkJWU.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-opera-1200-results.xml.bz2">XML Results</a></td><td>Alpha</td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-firefox.png>Firefox 10.0a2 2011-11-11</td><td>160</td><td><a href="http://i.imgur.com/Eo8ne.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-firefox-10-results.xml.bz2">XML Results</a></td><td>Alpha</td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-firefox.png>Firefox 9.0</td><td>164</td><td><a href="http://i.imgur.com/TtEhD.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-firefox-9-results.xml.bz2">XML Results</a></td><td>Beta</td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-firefox.png>Firefox 8.0</td><td>164</td><td><a href="http://i.imgur.com/SEaMM.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-firefox-8-results.xml.bz2">XML Results</a></td><td><b>Release</b></td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-ie.png>IE 9 9.0.8112.16421</td><td>322</td><td><a href="http://i.imgur.com/QhAbc.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-ie-9-results.xml.bz2">XML Results</a></td><td><b>Release</b></td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-chrome.png>Chrome 17 17.0.932.0 dev-m</td><td>415</td><td><a href="http://i.imgur.com/SUivE.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-chrome-17-results.xml.bz2">XML Results</a></td><td>Alpha</td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-chrome.png>Chrome 16 16.0.912.36 beta-m</td><td>415</td><td><a href="http://i.imgur.com/25xYA.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-chrome-16-results.xml.bz2">XML Results</a></td><td>Beta</td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-chrome.png>Chrome 15 15.0.874.120 m</td><td>416</td><td><a href="http://i.imgur.com/NYZ6g.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-chrome-15-results.xml.bz2">XML Results</a></td><td><b>Release</b></td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-safari.png>Safari 5.1.1 6534.51.22</td><td>772</td><td><a href="http://i.imgur.com/LNF3i.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-safari-5-results.xml.bz2">XML Results</a></td><td><b>Release</b></td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-opera.png>Opera 11.52 1100</td><td>3751</td><td><a href="http://i.imgur.com/UtLZv.png">Screenshot</a></td><td><a href="http://www.iizuu.com/111111-jstest/111111-opera-1152-results.xml.bz2">XML Results</a></td><td><b>Release</b></td></tr><tr><td><img style="border:0;margin:0 6px 0 0;box-shadow:0;padding:0;vertical-align:middle;" src=http://9ol.es/jstest/icon-ie.png>IE 8 8.0.6001.18702</td><td>N/A<sup>[1]</sup></td><td><a href="http://i.imgur.com/5FnJV.png">Screenshot</a></td><td>N/A</td><td><b>Release</b></td></tr></tbody></table><small><sup>1</sup>The test fails to run in IE8, much like the last time. But after the error is hit, the status bar quickly goes back to saying "done". The developers tools, however, shows the error in the same place.</small><br /><br /><b>Well, Opera wins.</b> and the old becomes new again. IE10 still takes the number 2 slot with everything else staying nearly the same.<br /><br /><i>about:</i><br /><small>Tests were done on Windows 8, XP, and Vista; to try to main consistency. If you want to contact the author, reply here below. The author is <a href=http://9ol.es>Chris McKenzie</a>; a programmer dedicated to truth, no matter how crazy it gets. Check out <a href=http://github.com/kristopolous>his projects on github</a>.</small>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com5tag:blogger.com,1999:blog-8573056240198184825.post-13847911807814960822011-11-09T19:29:00.001-08:002011-11-14T13:53:11.040-08:00The Acid3 of JS has a few surprises.<b>Edit:</b> <a href=http://kristopolous.blogspot.com/2011/11/winners-are-opera-ie-firefox-chrome.html>Updated Results Are Available Here</a><br /><br />Wikipedia has an article on a Javascript conformance test called <a href="http://en.wikipedia.org/wiki/Sputnik_%28JavaScript_conformance_test%29">sputnik</a> from Google.<br /><br />It has the results from various Desktop browsers on how standards-compliant they are. Now I know what you are thinking, probably #1 is Chrome because the test is from Google, followed by Opera, Safari, and Firefox; with IE trailing behind in a pitiful display of brokenness.<br /><br />But that's not what Wikipedia shows. In fact, it shows <b>IE as the most standards-compliant browser</b>.<br /><br />Microsoft has quite brilliant engineers and recently they've began to take <a href="http://blogs.msdn.com/b/ie/">their browser seriously again</a>, but to say that Internet Explorer has the most standards compliant JS engine? This would be <a href="http://www.virtuosimedia.com/dev/css/ultimate-ie6-cheatsheet-how-to-fix-25-internet-explorer-6-bugs">quite a departure</a> from <a href="http://www.enhanceie.com/ie/bugs.asp">history</a>.<br /><br />I needed to verify these results, for my own sanity.<br /><br />According to Wikipedia, the test has changed hands and is now hosted at <a href="http://test262.ecmascript.org/">test262.ecmascript.org</a>. You can go there now, it's on a domain registered <a href="http://qaa.ath.cx/jstest/ecmascript.org.txt">by Mozilla Corporation</a>. So this doesn't look like <a href="http://linux.slashdot.org/story/05/02/17/1616232/Study-Finds-Windows-More-Secure-Than-Linux">some wonky unfair comparison</a> that almost looks to be designed to make Microsoft look good. Let's get questions of legitimacy out of the way.<br /><br />Here's the updated (2011-11-09) results. Each browser's data is compressed with bzip2.<br /><table border="1" cellpadding="5" cellspacing="1"><thead><tr><th>Browser</th><th>Fails</th><th>The photo</th><th>The data</th></tr></thead><tbody><tr><td>IE 10 10.0.8102.0</td><td><b>6</b></td><td><a href="http://i.imgur.com/Z8F1E.png">Screenshot</a></td><td><a href="http://qaa.ath.cx/jstest/ie-10-results.xml.bz2">XML Results</a></td></tr><tr><td>Firefox 8.0</td><td>164</td><td><a href="http://i.imgur.com/GOeKV.png">Screenshot</a></td><td><a href="http://qaa.ath.cx/jstest/firefox-8-results.xml.bz2">XML Results</a></td></tr><tr><td>Firefox 9.0 (2011-11-08)</td><td>164</td><td><a href="http://i.imgur.com/746As.png">Screenshot</a></td><td><a href="http://qaa.ath.cx/jstest/firefox-9-results.xml.bz2">XML Results</a></td></tr><tr><td>IE 9 9.0.8112.16421</td><td>322</td><td><a href="http://i.imgur.com/btmT5.png">Screenshot</a></td><td><a href="http://qaa.ath.cx/jstest/ie-9-results.xml.bz2">XML Results</a></td></tr><tr><td>Chrome 16.0.912.32 beta-m</td><td>415</td><td><a href="http://i.imgur.com/0nOPU.png">Screenshot</a></td><td><a href="http://qaa.ath.cx/jstest/chrome-16-results.xml.bz2">XML Results</a></td></tr><tr></tr><tr><td>Chrome 15.0.874.106 m</td><td>416</td><td><a href="http://i.imgur.com/Nbfax.png">Screenshot</a></td><td><a href="http://qaa.ath.cx/jstest/chrome-15-results.xml.bz2">XML Results</a></td></tr><tr><td>Opera 11.52</td><td>3750</td><td><a href="http://i.imgur.com/bLy90.png">Screenshot</a></td><td><a href="http://qaa.ath.cx/jstest/opera-11-results.xml.bz2">XML Results</a></td></tr><tr><td>IE 8 8.0.6001.18702</td><td>N/A<sup>[1]</sup></td><td><a href="http://i.imgur.com/4vXV7.png">Screenshot</a></td><td>N/A</td></tr></tbody></table><sup>1</sup>The test fails to run in IE8 and hits a Javascript error fairly early on.<br /><br /><span style="font-weight: bold;">IE 10 did the best by far</span>. Surprised? Me too. The next up was Firefox. Also surprised? Yeah, here too. Then IE 9 ... IE 9? The world is crazy sometimes. Chrome comes in right above Opera, which basically eats shit ... that's a new one. What has this world come to?<br /><br />One of the important things to note is that failures seem to happen in batches. That is to say it's successful for a few hundred (or a few thousand) tests, then a bunch of tests fail consecutively. Almost makes me think of that math exam you once got where questions 2-8 depended on you getting question 1 right.<br /><br />These tests also don't speak to how performant the browsers are on, well, anything. Their are more factors than compliance-to-standards when it comes to providing the best web experience. Regardless, these results certainly support the on-going notion that IE is finally back in the running.<br /><br /><h3>Further Work</H3> I just looked at the number of failed tests; not focusing on the content of what tests failed. I'm not familiar enough (and just plain not smart enough) with the internals of ECMAScript to know whether the results warrant further investigation or concern. I do know from my own experience that I've fallen victim to many more IE Javascript bugs then other browsers. And perhaps, that's the important thing; not whether a feature is implemented, or passes a smoke screen test, but whether the feature <a href="http://msdn.microsoft.com/en-us/library/bb250448(v=vs.85).aspx">has problems</a>. It would be great to hear what some of the browser developers have to say about these results.<br /><br /><i>about:</i><br /><small>Tests were done on Windows 8, XP, and Vista; to try to main consistency. If you want to contact the author, reply here below. The author is <a href=http://qaa.ath.cx>Chris McKenzie</a>; a programmer dedicated to truth, no matter how crazy it gets. Check out <a href=http://github.com/kristopolous>his projects on github</a>.</small>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com7tag:blogger.com,1999:blog-8573056240198184825.post-40325539701702125002011-11-04T13:57:00.000-07:002011-11-04T16:08:10.458-07:00PHP? LOLZ!First, complaints from an imagined developer:<br /><blockquote>OMG PHP,<br /><ol><li>You are not nerdporn. When I do my contracting as a developer, I can no longer take my fixie to the local programmers coffee shop to do work and look cool. Since I don't go out otherwise, how the hell am I going to get a girlfriend in Sunnyvale with such crap?<br /></li><li> You are so easy to use that your community is chock full of people who can't code. Like a business guy fooled into the idea he can skimp out on hiring one of us expensive nerds by coding that brilliant facegrouptube idea himself (with an iphone app of course, it'll make millions!). How hard can it possibly be to write a product and platform? Pshh!, piece-o-cake!<br /></li><li> You are simply not expressive enough. My coding boner goes way flaccid when I see how not purty PHP is. When my emacs window doesn't follow the rule of thirds when looking at code I get pissed off and it makes baby jesus cry.</li></ol>Sincerely,<br />Programmers of the Internet.<br /></blockquote>With all the hate, why is it still hands down, the most popular language for websites that people actually use?<br /><br />Things get done when bickering pedantic coders stop caring about process and focus on product. Picky nerd debates about refactoring, design, coding approach ... get tossed, because they are more annoyed by the environment then they are by all those lost Dr Who episodes. This speeds things up enormously (because nobody is arguing any more) and like magic, shit actually gets done.<br /><br />This makes PHP an extremely productive, fluff-free language. It's not going to change any time soon and nobody is excited about it; people don't assemble in church basements on a Tuesday night like narcotics addicts to talk about how awesome it is at solving all your problems.<br /><br />It becomes <span>just a tool; which is the ideal position of any language.</span>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-6191030393431040532011-10-05T22:32:00.000-07:002011-10-05T23:37:20.373-07:00Americas wealthiest company put out a press release today.<div style="text-align: left;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="display:inline-block;vertical-align:middle" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzlSm72jxJ0S1ePi8-5frwNPIZCHjMaIiBZDLiaqsm3DrVOfjupdluMmpHkMwoC8xjFRcxaaoTqlNGLehIpC27B3YVMkTlehNmaGmrbcsBIclMdte5oaToT1g1GpNV3787auI6d7Bt6qo/s1600/apple_shrunk.png"><img style="cursor: pointer; width: 33px; height: 33px;border-radius:0;border:0;box-shadow:0 0 0 0;margin:0;padding:0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzlSm72jxJ0S1ePi8-5frwNPIZCHjMaIiBZDLiaqsm3DrVOfjupdluMmpHkMwoC8xjFRcxaaoTqlNGLehIpC27B3YVMkTlehNmaGmrbcsBIclMdte5oaToT1g1GpNV3787auI6d7Bt6qo/s320/apple_shrunk.png" alt="" id="BLOGGER_PHOTO_ID_5660251518004962578" border="0" /></a><span style="font-weight: bold;">iPhone 4S reviews weren't what we expected</span><br /></div><br />So we pulled the plug. There will be no Jobs. No Jobs today, no Jobs tomorrow; no Jobs forever! Now go away because without Jobs, we'll never again have anything you'll want.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-43375354813549284662011-10-03T15:06:00.000-07:002011-10-04T11:19:11.883-07:00Droid X Gingerbread ReviewI "upgraded" my Motorola Droid X recently to Gingerbread:<br /><ul><li>Recording videos doesn't work. Instead my phone skillfully convinces me it's recording but then has no stop button, no way to leave the application, and stays in the video mode until I pull the battery.</li><li>The phone now runs hot and the battery lasts about 1/3 the time as before. Might as well carry around an assortment of extra batteries just so I can use it throughout a regular business day.<br /></li><li>Swype now prefers really obscure words like "tutu" when I mean to type "you" and half the time fails to put a space in between words. The browser gets real confused when that happens and clears the input, not permitting me to manually add a space after I realize the mistake.<br /></li><li>Although the experience is now shinier with gradients and catchy animations, it is effectively immaterial when applications are hanging left and right and the actual interface for major components (like marketplace) have discarded basic features and transformed themselves from applications to advertisements.<br /></li></ul>Now here's some big questions:<br /><ul><li>Why is task switching still unsolved? I need to download third party apps just to go in between two running processes. Really?<br /></li><li>Why is task killing still so difficult? To kill a task, Simply follow these 10 basic steps: (1) Go to the home screen, (2) Click the left button, (3) Press "Settings", (4) Scroll the menu down, (5) Press "Applications", (6) Press "Manage applications", (7) Press the "All" tab, (8) Scroll through the application list, (9) Press the menu item of the application you want to stop, (10) Press "Force stop".<span style="font-style: italic;"><br />What the hell is that? 10 steps to exit a program? </span><span>I'd hope that making this easier would be somewhat a priority.</span><br /></li></ul><span style="font-weight: bold;">Useful things that shouldn't have been removed</span><br /><ul><li>Was moving an icon from the application list to the home screen so unbelievably hard and counterintuitive that you had to axe it and replace it with a 3 step process (which doesn't work if you have a task switcher btw)</li><li>What is the white gradient near the bottom of the screen? My guess is that 1 out of every 10,000 users had some phone background that was just a montage of android icons and then they went in to their carrier, complaining that they couldn't find the buttons on the interface. It really harkens back to the old days when there was a d-pad with an "ok" button in the center wherein the default functions for the d-pad were operations that incurred a charge, like calling your voicemail or depositing money directly into your carriers bank account.<br /></li><li>The interface is now branded everywhere with my mobile carrier. Are they so insecure that I need to be reminded every screen in the largest letters on the screen, who I pay every month? My carrier has already opted to plaster their logo on both sides of the phone (in fact, it is etched in the back).</li></ul><span style="font-weight: bold;">Features that nobody wants</span><br />When I press the home key slightly too quickly, a very slow and clunky application pops up that overrides my silent volume setting and chimes "Say a command". I usually get here when I am trying to exit a hung application in order to go through the ten stop process to kill it. However, I get redirected to conversation mode. I've tried "Go fuck yourself" or "Eat shit" but it just responds with "Did you say ... Call Mom?"<br /><br />And finally, Blockbuster. Costumers are literally going way out of their way, with the possibility of bricking their phone in order to remove their application from the default install list. That's how bad blockbuster actually is. People hack their phone to uninstall it.<br /><br /><span style="font-weight: bold;">Conclusion</span><br />I know how hard it is to make an Operating System; but having things like the video recorder crashing the phone should have been caught in early QA testing; a user trying swype for five minutes would notice the expansive vocabulary that the phone guesses when you are trying to say "I am outside near the gas station", and they should have noticed way early that they literally cut the phones battery life by 70% ... and then should have been like "hrmm ... let's not release this."<br /><br />This version is a major disappointment. It's such an important time too; Google has an opportunity to really snatch the marketshare from Apple; but it's not going to happen with crap like this.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-76107511160546718972011-09-01T15:15:00.001-07:002011-09-01T15:17:10.863-07:00Sometimes Old Ideas just need Good ExecutionWhen ideas that have never been successful keep coming up over and over again it's usually because they simply haven't been implemented right and are just waiting for someone to think up the right sauce.
<br />
<br />Ambitious successful technology is usually a culmination of decades of failure. For example:
<br />
<br />1. Touch screen computing (iPad)
<br />2. On-demand video (YouTube, Hulu)
<br />3. Video phones (Skype)
<br />4. The all-in-one fits-in-the pocket pda/phone (Android/iPhone)
<br />
<br />If you talked to say, a YouTube exec in 2004 about their ideas you'd probably walk away thinking "Oh yeah, that idea; the one that has failed so hard, so many times, that I was looking for the hidden cameras".
<br />
<br />And you'd be dead wrong.
<br />
<br />This isn't new, if you go back 40 years you'll find that Credit Cards, Bar Codes, ISBN numbers, the home theater, all had predecessors that sucked. Even the personal computer and the home video game system had years of failed starts.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-42446510392580553582011-08-29T13:07:00.000-07:002011-08-29T13:18:16.317-07:00The Lottery AnalogyI've told you the lottery ticket analogy, right? It's really important that everyone understands this:
<br />
<br />If you want to win the lottery, you need to do something that makes that possible; in this case it's buy a ticket. But you'll probably lose and that ticket will probably be worthless. However, you cannot win the lottery without it. And who knows? You might, actually, indeed, win.
<br />
<br />Here's the rules:
<br /><ol><li>You can't win without playing.</li><li>Every time you play, you get a new chance to win, independent of the previous chances.</li><li>Doing the right thing on the wrong day is worthless. Even if you do everything perfect and you get really lucky, there are still externalities that will almost always snatch the victory from you. You will then see someone doing the exact same thing as you on another day and succeeding.</li><li>When you realize that you picked the right numbers on the wrong day, get over it and Play Again. Don't allow your past to paralyzed you.
<br /></li><li>You will officially lose far before you personally know it. Make sure you know what failure and loss looks like and then accept it. Never fool yourself into thinking you have a winner, acknowledge the loss and move on as quickly as possible.</li></ol>This is true in all aspects of life: you want to have a famous pop song? You need to do something that makes that possible; in this case work quite hard and make a song. But you'll probably lose. That song, will probably be listened to by nobody. However, you can't have a famous song without it.
<br />
<br />Want to be a successful author or get a good job or make money on the stock market or be a famous scientist? The same rules apply.
<br />kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com8tag:blogger.com,1999:blog-8573056240198184825.post-10578298427919765032011-07-20T04:46:00.000-07:002011-07-20T04:52:10.602-07:00on getting a job<span><div style="font-weight: bold; "><span style="font-weight:bold;">know what you can tolerate</span></div><div><span>if you don't think you could put up with being a sysadmin every day, don't ever apply as one; regardless of skill; you won't get the job unless you interview at a dysfunctional company that you won't want to work at. know what role you would be willing to put up with and apply strictly for those positions.</span></div><div><span><br /></span></div><b>getting an interview</b></span><br />resumes are important, github is more. you are pitching yourself, over email. silence isn't a problem. keep trying until someone explicitly says no. remember you are talking to humans and not grammar professors. be cordial but formal; assertive, eager, and well-mannered.<br /><br /><span style="font-weight:bold;">interviewing</span><br />smile, agree with everything, answer slowly and clearly, make eye contact, laugh at their jokes, gloss over their mistakes, don't bring in any baggage, and don't worry too much.<br /><br /><span style="font-weight:bold;">after the interview</span><br />it's critical to send an email after about 4 but less then 24 hours later. repeat the same pleasantries.<br /><br /><b>about pay</b><br />understand what you need to leverage before it comes on the table. you should make the first offer, always. do it at the point of accepting the job after the employer has vested in you as a future employee. make it implicitly but not explicitly clear that you will quickly back out if conditions aren't met.<div><br /><b>remember why are you working</b><br />most programmer I know would rather be working on their pet project (which is The Next Big Thing) full-time instead of for a company. If this is your goal, remember this at the negotiation table; 5 day work weeks, coming in around noon, leaving at 5 strictly every day; all of these accommodations are best set at this point.</div>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-64960864586076726522011-05-27T13:08:00.000-07:002011-05-27T23:39:38.078-07:00Abandon your cakePretend you spend all day making your spouse a cake. You carefully research the ingredients and then painstakingly try to the best of your effort to do everything well. However, it comes out slightly too brittle; the hand-made frosting is a little tart. But you spent a lot of time on it.<br /><br />You present the cake. After the overjoyed response, you proceed to cut the first slice and your spouse takes the first bite, rolls the taste around, ponders a bit and very seriously states, "A bit bland, the frosting needs some work. Let's go to the grocery store and get a better one."<br /><br />You are shocked. "Let's go to the grocery store?!", you spent all day on that damned thing; the store wasn't even open when you started; there were not even cakes available for sale at the time you began.<br /><br />But sure, you aren't a pastry chef and you probably made a few mistakes along the way, but it's <span style="font-weight:bold;">your</span> cake. You made it specifically for your spouse.<br /><br />But now, of all things, your spouse looks impartially at it, throws out the idea that you had anything to do with it and does some objective comparison. The conclusion is inescapable; the store is in fact open now, and does sell better cakes than the one that you made and instead of making it yourself you probably <span style="font-style:italic;">should have</span> just gone out and bought one when the store opened, spending all of 20 minutes.<br /><br />However painful it may be, you must acknowledge that if you want to enjoy a great cake, you should toss yours in the garbage, forget about it, and grab one from off the shelf.<br /><br />Software is the same way. Oftentimes you will find that a solution baked in-house by a colleague you know and respect is not as mature as one that is open source. <br /><br />Sometimes although the in-house solution may predate the open source one by many years, the open source solution appears to have raced ahead in quality, stability, and features.<br /><br />You know intellectually that you will get a better product if you go forward with the open source solution that is well supported and well written. You know that you will free up the time of all parties involved. It looks like a pure business and logical decision. It's easy to forget the fact that you are suggesting to toss out someone's handmade cake by effectively saying:<blockquote>Hi. I just wanted to say that you wasted your time and your solution is inferior to something I found in 30 seconds on google. We should be using this instead.</blockquote>Breaking this news is one of the most difficult things to do at a personnel level on any programming team. You look like the new kid tossing out personal insults, disparaging the quality of your colleagues works; suggesting that they produced inferior code that simply is not good enough to be put in any project that you want to work on.<br /><br />The truth is though, adopting open source (ie, off-the-shelf) components over in-house solutions can often be a leading factor in whether a project is successful and done on schedule. Off-loading as much responsibility as possible permits your team to focus on the product and not the dependencies.<br /><br />When you are the cake maker, this reality is a very difficult thing to accept. "My cake is worthless?", you incredulously pout. You skeptically go over the open source project with a fine-toothed comb. "But wait", you insist, "It can't do xyz, and I can. Ha!" or "Let's run some performance tests and see how this POS does". <br /><br />However, you acknowledge that it is well done. They are catching errors that you were too lazy to check for; they have active mailing lists and people around the world fixing bugs while you are at home sleeping. Intellectually, you know what to do:<br /><br /><span style="margin:0;padding:0;display:block;text-align:center;">Abandon Your Cake.</span><br />Implement the stuff you have that the open-source project does not and submit a patch. Probably introduce yourself as someone who has written a similar project but has done the grief of switching over.<br /><br />Once you get over yourself and toss your cake away, you can hop on the winning team with enough courage and strength. <br /><br />Don't look at it as if you need to match the feature-set of the project but as a collaborative project with <span style="font-style:italic;">open-membership</span> that you have specific expertise on. <br /><br />You came up with a solution to a generic problem that many people face and you learned a lot by building it out yourself. You have a lot of knowledge to contribute. You were good enough to do the solution single-handed; you are certainly good enough to contribute to a group effort.<br /><br />So someone else won the internet lottery fame game this time, it happens. Go join them and you will be a valued member of their team. After a little while you will be able to faithfully consider it your project as much as any other contributor.<br /><br />It will be easier, you'll get more exposure, and you can claim part ownership of something that people actually <span style="font-style:italic;">have</span> heard of instead of filling your resume with github projects that are only watched by yourself.<br /><br />Sharing the fame beats pounding the pavement any day.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com3tag:blogger.com,1999:blog-8573056240198184825.post-4424565835086899802011-04-17T17:18:00.000-07:002011-04-17T17:19:26.208-07:00hold on ... even better<pre><br /> if($level=="Level 1" && $month=="Month 1")<br /> {<br /> $newLevel="Level 1";<br /> $newMonth="Month 2";<br /> }<br /> else if($level=="Level 1" && $month=="Month 2")<br /> {<br /> $newLevel="Level 1";<br /> $newMonth="Month 3";<br /> }<br /> else if($level=="Level 1" && $month=="Month 3")<br /> {<br /> $newLevel="Level 1";<br /> $newMonth="Month 4";<br /> }<br /> else if($level=="Level 1" && $month=="Month 4")<br /> {<br /> $newLevel="Level 1";<br /> $newMonth="Month 5";<br /> }<br /> else if($level=="Level 1" && $month=="Month 5")<br /> {<br /> $newLevel="Level 1";<br /> $newMonth="Month 6";<br /> }<br /> else if($level=="Level 1" && $month=="Month 6")<br /> {<br /> $newLevel="Level 2";<br /> $newMonth="Month 1";<br /> }<br /> else if($level=="Level 2" && $month=="Month 1")<br /> {<br /> $newLevel="Level 2";<br /> $newMonth="Month 2";<br /> }<br /> else if($level=="Level 2" && $month=="Month 2")<br /> {<br /> $newLevel="Level 2";<br /> $newMonth="Month 3";<br /> }<br /> else if($level=="Level 2" && $month=="Month 3")<br /> {<br /> $newLevel="Level 2";<br /> $newMonth="Month 4";<br /> }<br /> else if($level=="Level 2" && $month=="Month 4")<br /> {<br /> $newLevel="Level 2";<br /> $newMonth="Month 5";<br /> }<br /> else if($level=="Level 2" && $month=="Month 5")<br /> {<br /> $newLevel="Level 2";<br /> $newMonth="Month 6";<br /> }<br /> else if($level=="Level 2" && $month=="Month 6")<br /> {<br /> $newLevel="Level 3";<br /> $newMonth="Month 1";<br /> }<br /> else if($level=="Level 3" && $month=="Month 1")<br /> {<br /> $newLevel="Level 3";<br /> $newMonth="Month 2";<br /> }<br /> else if($level=="Level 3" && $month=="Month 2")<br /> {<br /> $newLevel="Level 3";<br /> $newMonth="Month 3";<br /> }<br /> else if($level=="Level 3" && $month=="Month 3")<br /> {<br /> $newLevel="Level 3";<br /> $newMonth="Month 4";<br /> }<br /> else if($level=="Level 3" && $month=="Month 4")<br /> {<br /> $newLevel="Level 3";<br /> $newMonth="Month 5";<br /> }<br /> else if($level=="Level 3" && $month=="Month 5")<br /> {<br /> $newLevel="Level 3";<br /> $newMonth="Month 6";<br /> }<br /> else if($level=="Level 3" && $month=="Month 6")<br /> {<br /> $newLevel="Level 4";<br /> $newMonth="Month 1";<br /> }<br /> else if($level=="Level 4" && $month=="Month 1")<br /> {<br /> $newLevel="Level 4";<br /> $newMonth="Month 2";<br /> }<br /> else if($level=="Level 4" && $month=="Month 2")<br /> {<br /> $newLevel="Level 4";<br /> $newMonth="Month 3";<br /> }<br /> else if($level=="Level 4" && $month=="Month 3")<br /> {<br /> $newLevel="Level 4";<br /> $newMonth="Month 4";<br /> }<br /> else if($level=="Level 4" && $month=="Month 4")<br /> {<br /> $newLevel="Level 4";<br /> $newMonth="Month 5";<br /> }<br /> else if($level=="Level 4" && $month=="Month 5")<br /> {<br /> $newLevel="Level 4";<br /> $newMonth="Month 6";<br /> }<br /></pre><br /><br />That must have taken like days or something ... I don't know if the programmer even knew about the advanced "copy" and "paste" concepts.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-78338591326363309162011-04-16T22:23:00.001-07:002011-04-16T22:23:40.662-07:00wait wait<h2> I can top that (below) </h2><br /><pre><br /> switch($month)<br /> {<br /> case'1':<br /> $date = calculateenddate(1,$weakly,7,$unixtime);<br /> break;<br /> case '2':<br /> $date = calculateenddate(2,$weakly,7,$unixtime);<br /> break;<br /> case '3':<br /> $date = calculateenddate(3,$weakly,7,$unixtime);<br /> break;<br /> case '4':<br /> $date = calculateenddate(4,$weakly,7,$unixtime);<br /> break;<br /> case '5':<br /> $date = calculateenddate(5,$weakly,7,$unixtime);<br /> break;<br /> case '6':<br /> $date = calculateenddate(6,$weakly,7,$unixtime);<br /> break;<br /> case '7':<br /> $date = calculateenddate(7,$weakly,7,$unixtime);<br /> break;<br /> case '8':<br /> $date = calculateenddate(8,$weakly,7,$unixtime);<br /> break;<br /> case '9':<br /> $date = calculateenddate(9,$weakly,7,$unixtime);<br /> break;<br /> case '10':<br /> $date = calculateenddate(10,$weakly,7,$unixtime);<br /> break;<br /> case '11':<br /> $date = calculateenddate(11,$weakly,7,$unixtime);<br /> break;<br /> case '12':<br /> $date = calculateenddate(12,$weakly,7,$unixtime);<br /> }<br /> return $date;<br /></pre>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-44917260363276983622011-04-16T22:15:00.000-07:002011-04-16T22:18:21.556-07:00What is a loop?<pre><br />function duedates($programStartDate, $month, $request) {<br /> if ($request == "accelarate")<br /> {<br /> $weakcycle = '2';<br /> }<br /> else if ($request == "deaccelerate")<br /> {<br /> $weakcycle = '4';<br /> }<br /> else<br /> {<br /> $weakcycle = '4';<br /> }<br /> $db = new databasemanager();<br /> $unixtime = strtotime($programStartDate);<br /><br /> switch($month)<br /> {<br /> case'2':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> break;<br /> case'3':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> break;<br /> case'4':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> break;<br /> case '5':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> break;<br /> case '6':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(5,$weakcycle,7,$unixtime);<br /> break;<br /> case '7':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(5,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(6,$weakcycle,7,$unixtime);<br /> break;<br /> case '8':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(5,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(6,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(7,$weakcycle,7,$unixtime);<br /> break;<br /> case '9':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(5,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(6,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(7,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(8,$weakcycle,7,$unixtime);<br /> break;<br /> case '10':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(5,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(6,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(7,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(8,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(9,$weakcycle,7,$unixtime);<br /> break;<br /> case '11':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(5,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(6,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(7,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(8,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(9,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(10,$weakcycle,7,$unixtime);<br /> break;<br /> case '12':<br /> $date[] = calculateenddate(1,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(2,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(3,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(4,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(5,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(6,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(7,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(8,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(9,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(10,$weakcycle,7,$unixtime);<br /> $date[] = calculateenddate(11,$weakcycle,7,$unixtime);<br /> break;<br /> }<br /> return $date;<br /> }<br /></pre><br /><br /><h2><br />... Solid Gold I tell you ... solid gold ....</h2>kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-54427071797615585922011-04-10T13:40:00.000-07:002011-04-10T13:43:24.618-07:00horrible css today<pre><br /> <div class="heading18 width250 brdrbtm padbtm_10">Search for <br />Trainings</div><br /> <div class="gr10New width250 pad_top"><br /><strong class="bluetext11"><br />Search for Upcoming Teacher Training Programs<br /></strong></div><br /> <div class="pad_b3 width250 pad_top"><strong>Select Level:</strong></div><br /></pre><br />Now look what you did; you broke the internet.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0tag:blogger.com,1999:blog-8573056240198184825.post-12105544189087841212011-04-10T10:12:00.000-07:002011-04-10T10:14:06.625-07:00Horrible SQL<pre><br />$db->query("delete from email_campain_settings where UserID='".$_POST['objID']."' and<br />TagValue='Active' and TagID='free' ");<br />$db->query("delete from email_campain_settings where UserID='".$_POST['objID']."' and<br />TagValue='Active' and TagID='paid' ");<br />$db->query("delete from email_campain_settings where UserID='".$_POST['objID']."' and<br />TagValue='Active' and TagID='GOLD' ");<br />$db->query("delete from email_campain_settings where UserID='".$_POST['objID']."' and<br />TagValue='Active' and TagID='SILVER' ");<br />$db->query("delete from email_campain_settings where UserID='".$_POST['objID']."' and<br />TagValue='Active' and TagID='PLATINUM' ");<br /></pre><br /><br />Fantastic. Just go home, ok?kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com1tag:blogger.com,1999:blog-8573056240198184825.post-62651331824505768512011-04-08T17:31:00.001-07:002011-04-08T17:31:54.575-07:00Javascript DatabaseThrowing my hat into this one: A Generic <a href=https://github.com/kristopolous/db.js>Javascript Database</a> for all.kristopoloushttp://www.blogger.com/profile/03488643479825208921noreply@blogger.com0