<?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>REVYNET</title>
	<atom:link href="http://tilaa.revynet.org/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://tilaa.revynet.org</link>
	<description>Developer, Hacker and Inventor</description>
	<lastBuildDate>Sat, 17 Mar 2012 04:19:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Transparent Firewall With OpenBSD VM</title>
		<link>http://tilaa.revynet.org/?p=321</link>
		<comments>http://tilaa.revynet.org/?p=321#comments</comments>
		<pubDate>Sat, 17 Mar 2012 03:50:46 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://tilaa.revynet.org/?p=321</guid>
		<description><![CDATA[Perfect documentation! http://www.computerglitch.net/?p=84 &#160; Transparent Firewall With OpenBSD VM November 19, 2009 I had a job where I needed to place a firewall in front of a network of publicly accessible computers. I decided to use a virtual transparent firewall to protect the entire network and make no changes on the client computers. This is [...]]]></description>
			<content:encoded><![CDATA[<p>Perfect documentation!</p>
<p>http://www.computerglitch.net/?p=84</p>
<p>&nbsp;</p>
<h1><a title="Permanent Link to Transparent Firewall With OpenBSD VM" href="http://www.computerglitch.net/?p=84">Transparent Firewall With OpenBSD VM</a></h1>
<h4><img src="http://www.computerglitch.net/wp-content/themes/Cleaker/Cleaker/images/calendar.png" alt="Date" align="top" /> November 19, 2009</h4>
<p>I had a job where I needed to place a firewall in front of a network of publicly accessible computers. I decided to use a virtual transparent firewall to protect the entire network and make no changes on the client computers. This is document describes how I did it.</p>
<p>First the hardware: I decided to use a Dell Poweredge 1900 with ESXi server. The server has (2) Quad Core Processors, 16GB of RAM and 3 NICs. The storage is local with 4 drives set in a RAID 5 providing 600GB of storage.</p>
<p>Now for the NIC setup. You can see from the below diagram the BSD Bridge is setup on vmnic0 and vmnic1, vmnic2 is reserved for management and other VM’s.</p>
<p><center><a title="VHost Network" href="http://www.computerglitch.net/images/vhost-network.jpg" rel="lightbox"><img src="http://www.computerglitch.net/images/vhost-network_thumb.jpg" alt="" border="0" /></a></center>One VERY IMPORTANT note before I begin to explain the setup of the OpenBSD VM, the two NICS that will be used for the transparent firewall must be setup<br />
in ESXi for promiscuous mode! See the image below.</p>
<p><center><a title="VHost Promicuous" href="http://www.computerglitch.net/images/prom-mode.jpg" rel="lightbox"><img src="http://www.computerglitch.net/images/prom-mode_thumb.jpg" alt="" border="0" /></a></center>Configure the OpenBSD VM with two NICS, both tied to the NICs configured in promiscuous mode. Install OpenBSD on the VM.</p>
<p>For the configuration of OpenBSD do the following:<br />
Enable PF and IP forwarding (edit /etc/rc.conf and /etc/sysctl.conf)</p>
<p>Configure the bridge (substitute your NIC names in place of vic0 and vic1)<br />
First create the file /etc/bridgename.bridge0:</p>
<div># touch /etc/bridgename.bridge0</div>
<p>Add the following to the bridgename.bridge0 file:</p>
<div>add vic0<br />
add vic1<br />
up</div>
<p>After you have added this file reboot the OpenBSD VM, when the system comes back up you should see the following when issuing ifconfig -a</p>
<div>bridge0: flags=41&lt;UP,RUNNING&gt; mtu 1500<br />
groups: bridge</div>
<p>Once you have confirmed the bridge is running its time to configure pf to control the traffic. Here is an example /etc/pf.conf file that blocks all<br />
external traffic destined for the internal network and allows all internal traffic destined for the internet:</p>
<div>ext_if=”vic0″<br />
int_if=”vic1″#Allow all traffic out from our network (vic1)<br />
pass out quick on $int_if all<br />
pass in quick on $int_if all<br />
pass out quick on $ext_if all#Block all traffic on external interface (vic0) by default<br />
block in log on $ext_if all</div>
<p>A more elaborate example allows SSH traffic from specific IP’s to the internal network and configures OpenDNS redirection for content filtering on the<br />
internal network:</p>
<div>ext_if=”vic0″<br />
int_if=”vic1″allowed_ips=”{ 68.180.206.184, 209.85.171.100 }”<br />
opendns=”{ 208.67.222.222, 208.67.220.220 }”<br />
internal_ips=”{ 206.46.232.39/27 }”#Redirect to OpenDNS for content filtering<br />
rdr on $int_if inet proto udp from any to any port 53 -&gt; $opendns#Allow all traffic out from our network (vic1)<br />
pass out quick on $int_if all<br />
pass in quick on $int_if all<br />
pass out quick on $ext_if all#Block all traffic on external interface (vic0) by default<br />
block in log on $ext_if all</p>
<p>#Inbound Allow Rules<br />
pass in log quick on $ext_if proto tcp from $allowed_ips to $internal_ips port 22 modulate state</p>
</div>
<p>Here is a diagram of the hardware setup and wiring:</p>
<p><center><a title="Transparent FW Hardware" href="http://www.computerglitch.net/images/hardware-dia.gif" rel="lightbox"><img src="http://www.computerglitch.net/images/hardware-dia_thumb.jpg" alt="" border="0" /></a></center></p>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=321</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Game, what to send up first&#8230;&#8230;</title>
		<link>http://tilaa.revynet.org/?p=317</link>
		<comments>http://tilaa.revynet.org/?p=317#comments</comments>
		<pubDate>Tue, 03 Jan 2012 20:06:14 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Space]]></category>

		<guid isPermaLink="false">http://tilaa.revynet.org/?p=317</guid>
		<description><![CDATA[Lets go to space again!! &#160; http://shackspace.de/wiki/doku.php?id=project:hgg:faq &#160; http://yro.slashdot.org/story/12/01/03/1723225/german-hackers-propose-uncensorable-global-grid-with-satellites]]></description>
			<content:encoded><![CDATA[<p>Lets go to space again!!</p>
<p>&nbsp;</p>
<p><a href="http://shackspace.de/wiki/doku.php?id=project:hgg:faq" target="_blank">http://shackspace.de/wiki/doku.php?id=project:hgg:faq</a></p>
<p>&nbsp;</p>
<p><a href="http://yro.slashdot.org/story/12/01/03/1723225/german-hackers-propose-uncensorable-global-grid-with-satellites" target="_blank">http://yro.slashdot.org/story/12/01/03/1723225/german-hackers-propose-uncensorable-global-grid-with-satellites</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=317</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Observations Made in The Past Couple years</title>
		<link>http://tilaa.revynet.org/?p=313</link>
		<comments>http://tilaa.revynet.org/?p=313#comments</comments>
		<pubDate>Tue, 20 Dec 2011 16:31:24 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[Bad Things]]></category>
		<category><![CDATA[Happening to an innocent population]]></category>
		<category><![CDATA[Happening under a messed up Government]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://tilaa.revynet.org/?p=313</guid>
		<description><![CDATA[For those that know what I actually do for a living, it is funny to read an article like this because I can easily back it. In short I monitor a small segment of the interent, where you have most likely passed through and I look at this traffic to see who is good and [...]]]></description>
			<content:encoded><![CDATA[<p>For those that know what I actually do for a living, it is funny to read an article like this because I can easily back it.</p>
<p>In short I monitor a small segment of the interent, where you have most likely passed through and I look at this traffic to see who is good and who is bad.</p>
<p>I end up seeing traffic from countries that most people have never heard of, and sometimes a "large" amount of traffic.</p>
<p>But there is only one "large" country that baffled me until recently looking into their conditions, considering that the Vatican has a larger footprint than North Korea.</p>
<p>&nbsp;</p>
<p>http://www.nytimes.com/2006/10/23/technology/23link.html</p>
<p>&nbsp;</p>
<h1>The Internet Black Hole That Is North Korea</h1>
<div>By <a title="More Articles by Tom Zeller" href="http://topics.nytimes.com/top/reference/timestopics/people/z/tom_jr_zeller/index.html?inline=nyt-per">TOM ZELLER</a> Jr.</div>
<div>Published: October 23, 2006</div>
<div id="articleBody">
<p>THE tragically backward, sometimes absurdist hallmarks of <a title="More news and information about North Korea." href="http://topics.nytimes.com/top/news/international/countriesandterritories/northkorea/index.html?inline=nyt-geo">North Korea</a> and its leader, <a title="More articles about Kim Jong II." href="http://topics.nytimes.com/top/reference/timestopics/people/k/_kim_jong_il/index.html?inline=nyt-per">Kim Jong-il</a>, are well known. There is Mr. Kim’s Elton John eyeglasses and strangely whipped, cotton-candy hairdo. And there is the North Korean “No! Yeeesssss ... No! O.K. Fear the tiger!” school of diplomacy.</p>
<div id="articleInline">
<div id="inlineBox">
<div>
<div><a>Enlarge This Image</a></div>
<p><a><img src="http://graphics8.nytimes.com/images/2006/10/23/business/23link.1_190x245.jpg" alt="" width="190" height="245" border="0" /></a></p>
<div>Jason Reed/Reuters</div>
<p>A Department of Defense satellite image of the Korean Peninsula showing wide illuminated areas in South Korea and the relative darkness of the North.</p>
</div>
</div>
</div>
<p><a name="secondParagraph"></a>A newer, more dangerous sort of North Korean eccentricity registered around 4.0 on the Richter scale earlier this month — a nuclear weapon test that has had the world’s major powers scrambling, right up through last week, to develop a policy script that would account for Mr. Kim’s new toy.</p>
<p>But whatever the threat — and however lush the celebrations broadcast on state-controlled television from the streets of Pyongyang in the days afterward — the stark realities of life in North Korea were perhaps most evident in a simple satellite image over the shoulder of Defense Secretary <a title="More articles about Donald H. Rumsfeld." href="http://topics.nytimes.com/top/reference/timestopics/people/r/donald_h_rumsfeld/index.html?inline=nyt-per">Donald H. Rumsfeld</a> during an Oct. 11 briefing. The image showed the two Koreas — North and South — photographed at night.</p>
<p>The South was illuminated from coast to coast, suggesting that not just lights, but that other, arguably more bedrock utility of the modern age — information — was pulsating through the population.</p>
<p>The North was black.</p>
<p>This is an impoverished country where televisions and radios are hard-wired to receive only government-controlled frequencies. Cellphones were banned outright in 2004. In May, the <a title="More articles about Committee to Protect Journalists" href="http://topics.nytimes.com/top/reference/timestopics/organizations/c/committee_to_protect_journalists/index.html?inline=nyt-org">Committee to Protect Journalists</a> in New York ranked North Korea No. 1 — over also-rans like Burma, Syria and Uzbekistan — on its list of the “10 Most Censored Countries.”</p>
<p>That would seem to leave the question of Internet access in North Korea moot.</p>
<p>At a time when much of the world takes for granted a fat and growing network of digitized human knowledge, art, history, thought and debate, it is easy to forget just how much is being denied the people who live under the veil of darkness revealed in that satellite photograph.</p>
<p>While other restrictive regimes have sought to find ways to limit the Internet — through filters and blocks and threats — North Korea has chosen to stay wholly off the grid.</p>
<p>Julien Pain, head of the Internet desk at Reporters Without Borders, a Paris-based group which tracks censorship around the world, put it more bluntly. “It is by far the worst Internet black hole,” he said.</p>
<p>That is not to say that North Korean officials are not aware of the Internet.</p>
<p>As far back as 2000, at the conclusion of a visit to Pyongyang, <a title="More articles about Madeleine K. Albright." href="http://topics.nytimes.com/top/reference/timestopics/people/a/madeleine_k_albright/index.html?inline=nyt-per">Madeleine K. Albright</a>, then secretary of state, bid Mr. Kim to “pick up the telephone any time,” to which the North Korean leader replied, “Please give me your e-mail address.” That signaled to everyone that at least he, if not the average North Korean, was cybersavvy. (It is unclear if Ms. Albright obliged.)</p>
<p>These days, the designated North Korean domain suffix, “.kp” remains dormant, but several “official” North Korean sites can be found delivering sweet nothings about the country and its leader to the global conversation (an example: <a href="http://www.kcckp.net/en" target="_">www.kcckp.net/en</a>/) — although these are typically hosted on servers in <a title="More news and information about China." href="http://topics.nytimes.com/top/news/international/countriesandterritories/china/index.html?inline=nyt-geo">China</a> or <a title="More news and information about Japan." href="http://topics.nytimes.com/top/news/international/countriesandterritories/japan/index.html?inline=nyt-geo">Japan</a>.</p>
<p>Mr. Kim, embracing the concept of “distance learning,” has established the Kim Il-sung Open University Web site, <a href="http://www.ournation-school.com/" target="_">www.ournation-school.com</a> — aimed at educating the world on North Korea’s philosophy of “juche” or self-reliance. And the official North Korean news agency, at <a href="http://www.kcna.co.jp/" target="_">www.kcna.co.jp</a>, provides tea leaves that are required reading for anyone following the great Quixote in the current nuclear crisis.</p>
<p>But to the extent that students and researchers at universities and a few other lucky souls have access to computers, these are linked only to each other — that is, to a nationwide, closely-monitored Intranet — according to the OpenNet Initiative, a human rights project linking researchers from the University of Toronto, <a title="More articles about Harvard University." href="http://topics.nytimes.com/top/reference/timestopics/organizations/h/harvard_university/index.html?inline=nyt-org">Harvard</a> Law School and Cambridge and Oxford Universities in Britain.</p>
<p>A handful of elites have access to the wider Web — via a pipeline through China — but this is almost certainly filtered, monitored and logged.</p>
<p>Some small “information technology stores” — crude cybercafes — have also cropped up. But these, too, connect only to the country’s closed network. According to The Daily NK, a pro-democracy news site based in South Korea, computer classes at one such store cost more than six months wages for the average North Korean (<a href="http://snipurl.com/DailyNK" target="_">snipurl.com/DailyNK</a>). The store, located in Chungjin, North Korea, has its own generator to keep the computers running if the power is cut, The Daily NK site said.</p>
<p>“It’s one thing for authoritarian regimes like China to try to blend the economic catalyst of access to the Internet with controls designed to sand off the rough edges, forcing citizens to make a little extra effort to see or create sensitive content,” said Jonathan Zittrain, a professor of Internet governance and regulation at Oxford.</p>
<p>The problem is much more vexing for North Korea, Professor Zittrain said, because its “comprehensive official fantasy worldview” must remain inviolate. “In such a situation, any information leakage from the outside world could be devastating,” he said, “and Internet access for the citizenry would have to be so controlled as to be useless. It couldn’t even resemble the Internet as we know it.”</p>
<p>But how long can North Korea’s leadership keep the country in the dark?</p>
<p>Writing in The International Herald Tribune last year, Rebecca MacKinnon, a research fellow at the Berkman Center for Internet and Society at Harvard, suggested that North Korea’s ban on cellphones was being breached on the black market along China’s border. And as more and more cellphones there become Web-enabled, she suggested, that might mean that a growing number of North Koreans, in addition to talking to family in the South, would be quietly raising digital periscopes from the depths.</p>
<p>Of course, there are no polls indicating whether the average North Korean would prefer nuclear arms or Internet access (or food, or reliable power), but given Mr. Kim’s interest in weapons, it is a safe bet it would not matter.</p>
<p>“No doubt it’s harder to make nuclear warheads than to set up an Internet network,” Mr. Pain said. “It’s all a question of priority.”</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=313</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[BIFU] Installing Sun&#8217;s JDK on CentOS 5.x</title>
		<link>http://tilaa.revynet.org/?p=303</link>
		<comments>http://tilaa.revynet.org/?p=303#comments</comments>
		<pubDate>Tue, 13 Dec 2011 15:25:43 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://tilaa.revynet.org/?p=303</guid>
		<description><![CDATA[I keep on needing this document and I want to preserve it. For some strange reason I can't commit Chris's doc to memory http://chrisschuld.com/2008/10/installing-sun-java-on-centos-5-2/ &#160; Written By: Chris SchuldThursday, October 9th, 2008 By far the most messy thing on CentOS 5.2 is adding Sun’s Java.  I have never found great success from the different packages that [...]]]></description>
			<content:encoded><![CDATA[<p>I keep on needing this document and I want to preserve it. For some strange reason I can't commit Chris's doc to memory http://chrisschuld.com/2008/10/installing-sun-java-on-centos-5-2/</p>
<p>&nbsp;</p>
<p>Written By: Chris SchuldThursday, October 9th, 2008</p>
<div>
<div>
<p>By far the most messy thing on CentOS 5.2 is adding Sun’s Java.  I have never found great success from the different packages that are out there for installing java.  I prefer to simply use the packages from Sun.</p>
<p><strong>Step (1)</strong> : Visit Sun’s web site and download the latest version of Java (the *.bin file not the *-rpm.bin) (<a href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a>)<em>(pay close attention if you want the 32bit or 64bit version)</em></p>
<p><strong>Step (2)</strong> :</p>
<div>
<div>
<pre>[user@www]# cd ~
[user@www]# wget "[GIANT_SUN_URL_TO_GET_THE_JAVA_BIN_FILE_x64_IN_THIS_CASE]"
[user@www]# /bin/sh jdk-6u7-linux-x64.bin</pre>
</div>
</div>
<p><strong>Step (3)</strong> : Setup the alternatives correctly</p>
<div>
<div>
<pre>[user@www]# alternatives --install /usr/bin/java java /opt/jdk1.6.0_07/bin/java 2
[user@www]# alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
   2           /opt/jdk1.6.0_07/bin/java

Enter to keep the current selection[+], or type selection number: 2
[user@www]#</pre>
</div>
</div>
<p><strong>Step (4)</strong> : Check to make sure the install was a success</p>
<div>
<div>
<pre>[user@www]# java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
[user@www]#</pre>
<div></div>
</div>
</div>
<div>Revy's Version:</div>
</div>
<div>1) I do get the package from Sun/Oracle, but I get the RPM's and stash them on my local RPM Repository</div>
<div></div>
<div>2) The paths above are not correct and they are missing other binfiles that I use on my servers:</div>
<div>
<p>[root@dynamic-83 ~]# alternatives --install /usr/bin/java java /usr/java/default/bin/java 2</p>
<p>[root@dynamic-83 ~]# alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 2</p>
<p>[root@dynamic-83 ~]# alternatives --config java</p>
<p>&nbsp;</p>
<p>There are 3 programs which provide 'java'.</p>
<p>Selection Command<br />
-----------------------------------------------<br />
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java<br />
2 /usr/lib/jvm/jre-1.4.2-gcj/bin/java<br />
3 /usr/java/default/bin/java</p>
<p>Enter to keep the current selection[+], or type selection number: 3<br />
[root@dynamic-83 ~]# alternatives --config javac</p>
<p>There are 2 programs which provide 'javac'.</p>
<p>Selection Command<br />
-----------------------------------------------<br />
*+ 1 /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/javac<br />
2 /usr/java/default/bin/javac</p>
<p>Enter to keep the current selection[+], or type selection number: 2</p>
<p>&nbsp;</p>
</div>
<div>ln -s /usr/java/default/bin/jar /usr/bin/jar</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=303</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I want one</title>
		<link>http://tilaa.revynet.org/?p=300</link>
		<comments>http://tilaa.revynet.org/?p=300#comments</comments>
		<pubDate>Tue, 29 Nov 2011 15:54:19 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[Cool stuff]]></category>

		<guid isPermaLink="false">http://tilaa.revynet.org/?p=300</guid>
		<description><![CDATA[http://tech.slashdot.org/story/11/11/29/0413257/a-3d-display-you-can-touch &#160; It flickers a little, but this would be awesome for a "war room". &#160; &#160; &#160; A 3D Display You Can Touch Posted by Unknown Lamer on Tuesday November 29, @05:14AM from the lasers-through-the-looking-glass dept. &#160; mikejuk writes"Are we getting closer to really effective volumetric 3D display technology? A new display, designed in Russia, uses cold [...]]]></description>
			<content:encoded><![CDATA[<p>http://tech.slashdot.org/story/11/11/29/0413257/a-3d-display-you-can-touch</p>
<p>&nbsp;</p>
<p>It flickers a little, but this would be awesome for a "war room".</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<header>
<h2><a href="http://tech.slashdot.org/story/11/11/29/0413257/a-3d-display-you-can-touch">A 3D Display You Can Touch</a></h2>
<div id="details-26436856">Posted by <a href="http://unknownlamer.org/" rel="nofollow">Unknown Lamer</a> <time id="fhtime-26436856" datetime="on Tuesday November 29, @05:14AM">on Tuesday November 29, @05:14AM</time><br />
from the lasers-through-the-looking-glass dept.</div>
</header>
<p>&nbsp;</p>
<div id="fhbody-26436856">
<div id="text-26436856">mikejuk writes<em>"Are we getting closer to really effective volumetric 3D display technology? A new display, designed in Russia, <a href="http://www.i-programmer.info/news/144-graphics-and-games/3397-solid-3d-projection-that-you-can-touch.html">uses cold fog and a laser projector</a> to create a volumetric 3D image that you can touch. A tracking device, and no it's not a Kinect, is used to detect the users hand and <a href="http://eu.techcrunch.com/2011/11/23/move-over-kinect-%E2%80%94-displair-from-russia-is-a-gesture-interface-in-thin-air/">moves the virtual objects in response</a>. There have been cold fog 3D displays before this but this one has a reasonable resolution and looks near to being a finished product that could be on sale soon. Estimated price? Between $4000 and $30,000."</em></div>
<p><object width="420" height="315" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/Hy9bNhALo4g?version=3&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed width="420" height="315" type="application/x-shockwave-flash" src="http://www.youtube.com/v/Hy9bNhALo4g?version=3&amp;hl=en_US&amp;rel=0" allowfullscreen="true" /></object></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=300</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anonymous Goes After GodHatesFags.com &#8211; Slashdot</title>
		<link>http://tilaa.revynet.org/?p=292</link>
		<comments>http://tilaa.revynet.org/?p=292#comments</comments>
		<pubDate>Sat, 19 Feb 2011 18:59:20 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[Anonymous]]></category>
		<category><![CDATA[Bad Things]]></category>
		<category><![CDATA[Hactivism]]></category>
		<category><![CDATA[Happening to Bad People]]></category>

		<guid isPermaLink="false">http://www.revynet.org/?p=292</guid>
		<description><![CDATA[Anonymous Goes After GodHatesFags.com - Slashdot. I'm ok with this.]]></description>
			<content:encoded><![CDATA[<p><a href="http://politics.slashdot.org/story/11/02/18/2336216/Anonymous-Goes-After-GodHatesFagscom">Anonymous Goes After GodHatesFags.com - Slashdot</a>.</p>
<p>I'm ok with this.</p>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=292</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building VPNs with OpenBSD and IPSEC</title>
		<link>http://tilaa.revynet.org/?p=290</link>
		<comments>http://tilaa.revynet.org/?p=290#comments</comments>
		<pubDate>Sat, 19 Feb 2011 18:30:34 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.revynet.org/?p=290</guid>
		<description><![CDATA[Building VPNs with OpenBSD and IPSEC.]]></description>
			<content:encoded><![CDATA[<p><a href="http://undeadly.org/cgi?action=article&amp;sid=20110219160358">Building VPNs with OpenBSD and IPSEC</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=290</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Callable , Synchronization] Java Thread Demo With a Shared Data Object</title>
		<link>http://tilaa.revynet.org/?p=272</link>
		<comments>http://tilaa.revynet.org/?p=272#comments</comments>
		<pubDate>Thu, 10 Feb 2011 17:25:01 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.revynet.org/?p=272</guid>
		<description><![CDATA[So here I am, I need to manage a queue of sorts, but I want many objects to interact with it, and even objects that exist in other threads within the same application. So what is the best model? What won't kill me? So far I have to 2 fancy shmancy solutions, 1 model with [...]]]></description>
			<content:encoded><![CDATA[<p>So here I am,</p>
<p>I need to manage a queue of sorts, but I want many objects to interact with it, and even objects that exist in other threads within the same application.</p>
<p>So what is the best model?</p>
<p>What won't kill me?</p>
<p>So far I have to 2 fancy shmancy solutions, 1 model with a custom Queue controller object using synchronization , and another with an interesting interface to manage the Queue and puts in place a couple interesting scenarios when inserting into a limited Queue.</p>
<h1><span style="text-decoration: underline;">First Solution: Synchronization</span></h1>
<p>Ok, your asking what is so special in Synchronization?</p>
<p>Well what is special is that only ONE thread can call a method at a time, so when you want to do a pull, you will be sure that a thread is doing a pull.</p>
<p>This in the end is nice, but wasn't 100% what I was looking for, but here is just in case you find this useful.</p>
<p>File: JavaThreadDemo.java</p>
<pre>import java.util.*;
import java.util.concurrent.*;

public class JavaThreadDemo {
	//This Queue thinks too much of itself.
	static Queue gQ = new Queue();

	//A pretty constructor
	public JavaThreadDemo() {
	}

	//Main method funky funk.
	public static void main(String[] args) {
		ExecutorService pool = Executors.newFixedThreadPool(3);
		Set&lt;Future&lt;Boolean&gt;&gt; set = new HashSet&lt;Future&lt;Boolean&gt;&gt;();

		//Create the threads
		Callable&lt;Boolean&gt; callable = new Thready(gQ,"Thread 5000",5000); // Run every 5 seconds
		Callable&lt;Boolean&gt; callable2 = new Thready(gQ,"Thread 3000",3000); //Run Every
		Callable&lt;Boolean&gt; callable3 = new Thready(gQ,"Thread 4000",4000);
		Future&lt;Boolean&gt; future = pool.submit(callable);
		Future&lt;Boolean&gt; future2 = pool.submit(callable2);
		Future&lt;Boolean&gt; future3 = pool.submit(callable3);

		//Add the threads to the nice little set and let them cook.
		set.add(future);
		set.add(future2);
		set.add(future3);

		while (true) {
			//Lets see who is in there:
			gQ.print();
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}</pre>
<p>File: Queue.java</p>
<pre>public class Queue {

	private String value ="Not Set";
	private long cnt = 0;
	public Queue() {
	}

	public Queue(String mVal) {
		this.value = mVal;
	}

	public synchronized void setString(String astr) {
		this.value = astr;
	}

	public synchronized  String getValue() {
		return this.value;
	}

	public synchronized void print() {
		this.cnt++;
		System.out.println(this.cnt+" "+this.value);
	}

}</pre>
<p>File: Thready.java</p>
<pre>import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;

public class Thready2 implements Callable {

	private BlockingQueue mQ ;
	private boolean pull;
	private long time;
	private String thID = "";

	public Thready2(BlockingQueue aQ, boolean pull, long time,String ID) {
		this.mQ = aQ;
		this.pull = pull;
		this.time = time;
		this.thID = ID;
	}

	@Override
	public Boolean call() throws Exception {
		boolean retVal = true;
		int offerCnt = 0;
		while  (retVal) {
			Queue aQi = null;
			if(pull) {
				aQi = mQ.take();
				System.out.println("Got Something : " + mQ.size()+" : " + aQi.getValue());
			} else {
				aQi = new Queue(this.thID+":"+offerCnt);
				System.out.println("I am making a sacrifical offering.. ");
				if(mQ.offer(aQi,1,TimeUnit.SECONDS)) {
				System.out.println("The Gods have taken my offering.");
				} else {
					System.out.println("The Gods have rejected my offering of " + this.thID+":"+offerCnt);
				}
				System.out.println("The Queue is now : " + mQ.size());
				offerCnt++;
			}
			Thread.sleep(this.time);
		}

		return null;
	}

}</pre>
<h1><span style="text-decoration: underline;">Second Solution: BlockingQueue Interface</span></h1>
<p>Note: Please use the Queue.java from the first example.</p>
<p>Now for this one, I am using a BlockingQueue interface, this is nice because it does what I did with synchronization, but has a few more features that I am displaying here.</p>
<p>What I am displaying with putting an item on the Queue is a timeout, that is nice because you don't want a deadlocked situation when your allocated resources are maxed,<br />
and on the listener end to pop a Queue item off the stack will wait and listen till the cows come home, and reduces the code required like other polling methods. There are other methods to poll and that also have a timeout.</p>
<p>Overall, I have to think that this is a better method because I can show my process who is really in control.</p>
<p>File: JavaThreadDemo2.java</p>
<pre>import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class ThreadDemo2 {
	//The Queue
	private final BlockingQueue&lt;Queue&gt; queue = new ArrayBlockingQueue&lt;Queue&gt;(10);

	//A Constructor
	public ThreadDemo2() {
	}

	//Where we start
	public boolean start () {
		boolean retVal = true;
		Queue cQ  = null;
		try {
			//Create Executor pool
			ExecutorService pool = Executors.newFixedThreadPool(3);

			//This is where we will "store" these threads
			Set&gt; set = new HashSet&gt;();

			//Creating the threads
			Callable&lt;Boolean&gt; callable = new Thready2(queue,true,1000,"Listen0");
			Callable&lt;Boolean&gt; callable2 = new Thready2(queue,false,1000,"push1000");
			Callable&lt;Boolean&gt; callable3 = new Thready2(queue,false,400,"push0400");
			Future&lt;Boolean&gt; future = pool.submit(callable);
			Future&lt;Boolean&gt; future2 = pool.submit(callable2);
			Future&lt;Boolean&gt; future3 = pool.submit(callable3);

			//Add them to the nice set and let them cook.
			set.add(future);
			set.add(future2);
			set.add(future3);
		} catch (Exception e) {
			e.printStackTrace();
		}
		if (cQ == null ) {
			System.out.println("cQ is null");
		}
		return retVal;
	}

	public static void main(String[] args) {
		ThreadDemo2 me = new ThreadDemo2();
		if(!me.start()) {
			System.out.println("I dies.");
		}
	}

}</pre>
<p>File:Thready2.java</p>
<pre>import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;

public class Thready2 implements Callable {

	private BlockingQueue mQ ;
	private boolean pull;
	private long time;
	private String thID = "";

	public Thready2(BlockingQueue aQ, boolean pull, long time,String ID) {
		this.mQ = aQ;
		this.pull = pull;
		this.time = time;
		this.thID = ID;
	}

	@Override
	public Boolean call() throws Exception {
		boolean retVal = true;
		int offerCnt = 0;
		while  (retVal) {
			Queue aQi = null;
			if(pull) {
				aQi = mQ.take();
				System.out.println("Got Something : " + mQ.size()+" : " + aQi.getValue());
			} else {
				aQi = new Queue(this.thID+":"+offerCnt);
				System.out.println("I am making a sacrifical offering.. ");
				if(mQ.offer(aQi,1,TimeUnit.SECONDS)) {
				System.out.println("The Gods have taken my offering.");
				} else {
					System.out.println("The Gods have rejected my offering of " + this.thID+":"+offerCnt);
				}
				System.out.println("The Queue is now : " + mQ.size());
				offerCnt++;
			}
			Thread.sleep(this.time);
		}

		return null;
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=272</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Custom Event &#124; Example Depot</title>
		<link>http://tilaa.revynet.org/?p=270</link>
		<comments>http://tilaa.revynet.org/?p=270#comments</comments>
		<pubDate>Fri, 28 Jan 2011 10:27:22 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
		
		<guid isPermaLink="false">http://www.revynet.org/?p=270</guid>
		<description><![CDATA[public void myEventOccurred(MyEvent evt); via Creating a Custom Event &#124; Example Depot.]]></description>
			<content:encoded><![CDATA[<p>public void myEventOccurred(MyEvent evt);</p>
<p>via <a href="http://www.exampledepot.com/egs/java.util/custevent.html">Creating a Custom Event | Example Depot</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=270</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Axis2 Transport Framework &#8211; Developer.com</title>
		<link>http://tilaa.revynet.org/?p=268</link>
		<comments>http://tilaa.revynet.org/?p=268#comments</comments>
		<pubDate>Fri, 28 Jan 2011 10:25:44 +0000</pubDate>
		<dc:creator>revhelix</dc:creator>
		
		<guid isPermaLink="false">http://www.revynet.org/?p=268</guid>
		<description><![CDATA[The Axis2 Transport Framework - Developer.com.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.developer.com/services/article.php/3606466/The-Axis2-Transport-Framework.htm">The Axis2 Transport Framework - Developer.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tilaa.revynet.org/?feed=rss2&#038;p=268</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

