Java Experts
HIRE STANDARD STAFFING: Outside the box- not off the shelf - solutions Staffing firm for contract and permanent job placements, specializing in accounting,
financial, research and management professionals, higher level support ...
Phoenix Java User's Group Includes meeting, mailing list, and group information.
JSF Central - Your JavaServer Faces Community - News Kito D. Mann's questions and answers on technology from JSFCentral.com.
C/C++ Users Journal Practical technical information, with an extensive code archive, for advanced
C/C++ programmers. A monthly hardcopy magazine since 1983.
Urbancode Software Development - Enterprise Java Experts Developing custom software based on Java technology and offer a full range of
services to help our clients transition to and fully take advantage of Java.
JSLEE and the JAIN Initiative White papers, FAQs, specifications for this set of next generation telecom products
and services.
Java Security (Java in a Nutshell) Excerpt from Java Security chapter from O'Reilly's "Java In A Nutshell" book.
BlogBridge: Home Windows, Mac and Linux based RSS feed reader, which is designed to allow users
to easily manage and follow hundreds of feeds.
ASERT: Experts in Java, J2EE, XML and Web Services Advanced Software Engineering Research and Training offers a wide range of training
and consulting services in JAVA, XML, Linux, Web Logic Server.
No Fluff, Just Stuff Java Symposium A Java symposium series in 25 cities throughout the US and Canada.
Kattare I/S: Home - Java Hosting, Servlet Hosting, JSP Hosting ... Offers hosting, eCommerce, database, domain name, and programming services.
Prentice Hall PTR Books in computer science, business, and engineering.
JavaBeans Java component architecture.
AJUG: Atlanta Java User Group Includes meeting history, directions, events, and job listings.
TheServerSide.com - News, Patterns, Reviews, Discussions, Articles ... Includes message boards, product reviews, and patterns repository.
Custom J2EE enterprise software development, Outsourcing ... Custom software development for the enterprise. Outsourcing offshore. Java and
J2EE experts.
Java Tutorials A collection of free Java tutorials for all levels of expertise.
conferences.oreilly.com -- O'Reilly Conference on Enterprise Java News and updates from the March 2001 O'Reilly Conference on Enterprise Java.
For more conference news, visit OnJava.com.
Welcome to eJobShop, your source for java resources Provides distributed Java development and testing services.
Kasamba - Ask an Expert - Expert Advice Online Gives users direct access to experts in a wide range of categories. Offers full
sound and video facilities in addition to e-mail and chat.
rss_url = $url;
$this->num_to_show = $numtoshow;
$this->do_update = $update;
$this->my_html = preg_replace("/(#{.*?):(.*?})/", "\\1__\\2", $html); //xx:xx tag workaround
$this->content = $this->fetch_feed();
$this->parse_feed();
$this->show();
}
/* string */
function fetch_feed()
{
$url_parts = parse_url($this->rss_url);
$filename = $url_parts['host'] . str_replace("/", ",", $url_parts['path']) . "_" . @$url_parts['query'];
if(file_exists($this->data_directory . "/$filename")) {
$last = filemtime($this->data_directory . "/$filename");
if(time() - $last > $this->update_interval * 60 || $this->update_interval == 0) {
$update = 1;
}
} else {
$create= 1;
}
if($create == 1 || ($this->do_update == TRUE && $update == 1)) {
$fp = @fsockopen($url_parts['host'], 80, $errno, $errstr, 5);
if (!$fp) {
echo "Couldn't open rss feed {$this->feed_url} in {$_SERVER['PHP_SELF']}
\n";
return;
}
fputs($fp, "GET " . $url_parts['path'] . "?" . @$url_parts['query'] . " HTTP/1.0\r\n"
."Host: " . $url_parts['host'] . "\r\n"
."User-Agent: Drew's RSS Reader 0.1\r\n"
."Connection: Close\r\n\r\n");
while(!feof($fp)) {
$rss_data .= @fgets($fp, 1024);
}
list(, $rss_data) = explode("\r\n\r\n", $rss_data, 2);
$output = @fopen($this->data_directory . "/$filename", "w+");
if(!$output) {
return $rss_data;
} else {
flock($output, LOCK_EX);
fputs($output, $rss_data);
flock($output, LOCK_UN);
fclose($output);
}
} //update
return file_get_contents($this->data_directory . "/$filename");
}
/* void */
function parse_feed()
{
preg_match("/
(.*?)<\/title>/", $this->content, $title);
$this->feed_title = @$title[1];
preg_match("/ (.*?)<\/link>/", $this->content, $link);
$this->feed_link = @$link[1];
preg_match("/(.*?)<\/description>/", $this->content, $description);
$this->feed_description = @$description[1];
preg_match_all("/- ]*>(.*?)<\/item>/s", $this->content, $items);
if (sizeof($items[0]) == 0) {
echo "No item elements found in rss feed.
\n";
}
for($i = 0; $i < sizeof($items[0]); ++$i) {
preg_match_all("/(?:<([\w:]*)[^>]*>(?:)?<\/\\1>)+?/si", preg_replace("/- ]*>/", "", $items[0][$i]), $elements);
for($j = 0; $j < sizeof($elements[0]); ++$j) {
$elements[1][$j] = str_replace(":", "__", $elements[1][$j]); //regex fix for items with : like dc:date
$this->rss[$i][$elements[1][$j]] = trim(html_entity_decode($elements[2][$j]));
}
}
}
/* void */
function show()
{
if($this->my_html == "") {
$this->show_html();
} else {
$this->show_user_html();
}
}
function show_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
echo "-
rss[$i]['link']}\" target=\"_new\">{$this->rss[$i]['title']} \n";
}
}
function show_user_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
extract($this->rss[$i]);
$item = preg_replace("/#\{([^}]+)}/e", "$\\1", $this->my_html);
echo $item;
}
}
} // end class
$url = "http://www.justinpfister.com/gnewsfeed.php?q=Expert&lang=en&ned=us";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
$url = "http://search.news.yahoo.com/usns/ynsearch/categories/47/index.html?p=Expert";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
?>