Feed aggregator

China's Subsea Cable Drive Defies US Sanctions

Slashdot - Wed, 2024-06-26 19:31
Chinese undersea cable manufacturers are experiencing growth despite U.S. trade restrictions, as Beijing pushes for self-sufficiency in critical communications infrastructure, Nikkei is reporting. FiberHome International Technologies, blacklisted by the U.S. in 2020, reports increased business due to China's drive for domestic production. "We don't need foreign technologies," a FiberHome executive told Nikkei. China is challenging U.S. dominance in the global undersea cable network, which spans 1.4 million kilometers and carries over 95% of the world's data. Chinese companies are expected to contribute 45% of new cable installations from 2023 to 2028, according to industry estimates. The Asia-Pacific region leads in subsea cable investment, with China spearheading multiple projects connecting to Southeast Asian nations. This aligns with President Xi Jinping's "Digital Silk Road" initiative, part of the broader Belt and Road strategy. However, geopolitical tensions have led to project delays and increased costs. Some cables are being rerouted to avoid contentious areas like the South China Sea, potentially creating parallel networks divided along geopolitical lines.

Read more of this story at Slashdot.

Categories: Computer, News

Canonical Expands Ubuntu Pro With Distroless Docker Image Service Offering 12-Year Support

Slashdot - Wed, 2024-06-26 18:40
BrianFagioli writes: Canonical has introduced a new service enabling the creation of custom distroless Docker images under its "Everything LTS" program. This initiative allows customers to include any open-source software in their Docker images, regardless of whether it is packaged in Ubuntu, with a security maintenance commitment of up to 12 years. [...] This expansion of the Ubuntu Pro offering incorporates numerous new open-source components, especially current AI/ML tools, maintained directly from the source rather than as traditional 'deb' packages. This approach aims to minimize the attack surface of containers, thereby enhancing security and aiding compliance with various regulatory standards such as FIPS, FedRAMP, EU Cyber Resilience Act, FCC U.S. Cyber Trust Mark, and DISA-STIG.

Read more of this story at Slashdot.

Categories: Computer, News

How The Kaspersky Ban Will Hit Resellers in the US

Slashdot - Wed, 2024-06-26 18:07
The U.S. government last week announced an unprecedented ban on selling Russian cybersecurity firm Kaspersky's software, citing national security concerns. The move, effective July 20, has left American resellers confused and worried about its impact. Kaspersky can provide updates to existing customers until September 29, after which the software's effectiveness will diminish. From a report: Avi Fleischer, the founder of Technical Difficulties, told TechCrunch that not only does he sell Kaspersky to his customers, he also uses its products on his phone and personal computer. He added that the ban is "annoying, to say the least," because he will now have to find another antivirus company and migrate all his customers to the new product, which will cost him time and money. "It's just a lot of time lost for nothing. And I don't see how I can even really charge end users for this," Fleischer said in a phone call. "It was my suggestion that they use Kaspersky and now Kaspersky is being banned by the United States government. What am I supposed to do?"

Read more of this story at Slashdot.

Categories: Computer, News

YouTube in Talks With Record Labels Over AI Music Deal

Slashdot - Wed, 2024-06-26 17:20
YouTube is negotiating with major record labels to license songs for AI tools that clone popular artists' music, according to Financial Times. The Google-owned platform is offering upfront payments to Sony, Warner, and Universal to secure rights for training AI software, aiming to launch new features this year. But there are roadblocks to the deal, the story adds: However, many artists remain fiercely opposed to AI music generation, fearing it could undermine the value of their work. Any move by a label to force their stars into such a scheme would be hugely controversial. [...] YouTube last year began testing a generative AI tool that lets people create short music clips by entering a text prompt. The product, initially named "Dream Track," was designed to imitate the sound and lyrics of well-known singers. But only 10 artists agreed to participate in the test phase, including Charli XCX, Troye Sivan and John Legend, and Dream Track was made available to a just small group of creators.

Read more of this story at Slashdot.

Categories: Computer, News

Supreme Court Rebuffs Challenge To Biden's Social Media Outreach

Slashdot - Wed, 2024-06-26 16:40
The U.S. Supreme Court on Wednesday rejected to impose limits on the way President Joe Biden's administration may communicate with social media platforms, overturning a lower court decision in a case brought by Missouri, Louisiana, and five individuals. In a 6-3 ruling, the court found plaintiffs lacked legal standing to sue, unable to show a "concrete link" between officials' conduct and harm suffered. The case centered on whether the administration coerced platforms to censor disfavored speech when alerting them to content violating their policies, particularly regarding elections and COVID-19. The administration argued it sought to mitigate online misinformation hazards. Plaintiffs claimed platforms suppressed conservative-leaning speech under government pressure. The Justice Department contended that government officials have long used their platform to express views on public matters.

Read more of this story at Slashdot.

Categories: Computer, News

Apple Expands Self-Service Repair Diagnostics To Europe

Slashdot - Wed, 2024-06-26 16:02
Apple has extended its self-service repair diagnostics tool to 32 European countries, including the UK, France, and Germany. The software, previously limited to technicians, allows customers to perform system configuration after self-repairs on iPhones, Macs, and Studio Displays. Launched in the U.S. last year, the tool is part of Apple's Self Service Repair program, which provides access to genuine parts, tools, and manuals for select models. The expansion supports 42 Apple products in 33 countries and 24 languages, furthering the company's efforts to extend product lifespan.

Read more of this story at Slashdot.

Categories: Computer, News

'Great Resignation' Enters Third Year

Slashdot - Wed, 2024-06-26 15:00
An anonymous reader quotes a report from Reuters: The proportion of workers who expect to switch employers in the next 12 months is higher than that from the "Great Resignation" period of 2022, a PwC survey of the global workforce found. Around 28% of more than 56,000 workers surveyed by PwC said they were "very or extremely likely" to move from their current companies, compared to 19% in 2022, and 26% in 2023. PwC's 2024 "Hopes and Fears" survey also showed workers are embracing emerging technologies such as generative artificial intelligence (GenAI) and prioritizing upskilling amid rising workloads and heightened workplace uncertainty. Pete Brown, global workforce leader at PwC UK, said employees are placing an "increased premium" on organizations that invest in their skills growth, and so, businesses must prioritize upskilling and employee experience. About 45% of the workers surveyed said they have experienced rising workloads and an accelerating pace of workplace change in the last 12 months, with 62% saying they have seen more change at work in the past year than the previous 12 months. Among employees who use GenAI daily, 82% said they expect it to increase their efficiency in the next 12 months. Reflecting confidence that GenAI opportunities would support their career growth, nearly half of those surveyed by PwC expected GenAI to generate higher salaries, with almost two-thirds hoping these emerging tools will improve the quality of their work. Carol Stubbings, global markets and tax and legal services leader at PwC UK, said: "The findings suggest that job satisfaction is no longer enough." In order to retain talent and mitigate pressures, Stubbings said employers must invest in staff and tech platforms.

Read more of this story at Slashdot.

Categories: Computer, News

Mozilla's CPO Sues Over Discrimination Post-Cancer Diagnosis

Slashdot - Wed, 2024-06-26 12:00
Thomas Claburn reports via The Register: Mozilla Corporation was sued this month in the US, along with three of its executives, for alleged disability discrimination and retaliation against Chief Product Officer Steve Teixeira. Teixeira, according to a complaint filed in King County Superior Court in the State of Washington, had been tapped to become CEO when he was diagnosed with ocular melanoma on October 3, 2023. Teixeira then took medical leave for cancer treatment from October 30, 2023, through February 1, 2024. "Immediately, upon his return, Mozilla campaigned to demote or terminate Mr Teixeira citing groundless concerns and assumptions about his capabilities as an individual living with cancer," the complaint [PDF] says. "Interim Chief Executive Officer Laura Chambers and Chief People Officer Dani Chehak were clear with Mr Teixeira: He could not continue as Chief Product Officer -- and could not continue as a Mozilla employee in any capacity beyond 2024 -- because of his diagnosis." Chambers and Chehak are both named in the complaint, along with Mitchell Baker, the former CEO of Mozilla who stepped down in February and announced Chambers as her successor. "Mr Teixeira was enthusiastic to resume his critical role after treatment, but Mozilla would not tolerate an executive with cancer," said Amy Kangas Alexander, an attorney with law firm Stokes Lawrence who is representing the plaintiff, in an email to The Register. "When Mr Teixeira refused to be marginalized because of his disability, Mozilla retaliated and placed him on leave against his will. Mozilla has sidelined Mr Teixeira at the very moment he needs to be preparing his family for the possibility of a future without him." The complaint claims that Teixeira, appointed in August 2022, helped reverse the decade-long decline of Firefox, which generates about 90 percent of Mozilla's revenue and is the company's only profitable product. He's further credited with growing Mozilla's advertising business, and AI capabilities, and with reducing investment in the money-losing Pocket service. These and other successes, it's alleged, led to conversation in September 2023 when Baker outlined a plan for Teixeira to become CEO. Then he took medical leave and before he could return, the complaint says, Chambers was appointed interim CEO and Baker was removed, becoming Executive Chair of the Board of Directors. [...] A Mozilla spokesperson said in a statement: "We are aware of the lawsuit filed against Mozilla. We deny the allegations and intend to vigorously defend against this lawsuit. Mozilla has a 25-plus-year track record of maintaining the highest standards of integrity and compliance with all applicable laws. We look forward to presenting our defense in court and are confident that the facts will demonstrate that we have acted appropriately. As this is an ongoing legal matter, we will not be providing further comments at this time."

Read more of this story at Slashdot.

Categories: Computer, News

Newly Identified Tipping Point For Ice Sheets Could Mean Greater Sea Level Rise

Slashdot - Wed, 2024-06-26 09:00
In a new study published in the journal Nature Geoscience, scientists have identified a new Antarctic ice sheet "tipping point" where slight increases in the temperature of seawater infiltrating coastal ice sheets can lead to significant ice loss due to feedback loops that expand underwater cavities and accelerate ice collapse into the ocean. This mechanism could potentially cause future sea level rise to far exceed current predictions, impacting major global cities and billions of people. The Guardian reports: The researchers used computer models to show that a "very small increase" in the temperature of the intruding water could lead to a "very big increase" in the loss of ice -- ie, tipping point behavior. It is unknown how close the tipping point is, or whether it has even been crossed already. But the researchers said it could be triggered by temperature rises of just tenths of a degree, and very likely by the rises expected in the coming decades. [...] The new research [...] found that some Antarctic ice sheets were more vulnerable to seawater intrusion than others. The Pine Island glacier, currently Antarctica's largest contributor to sea level rise, is especially vulnerable, as the base of the glacier slopes down inland, meaning gravity helps the seawater penetrate. The large Larsen ice sheet is similarly at risk. The so-called "Doomsday" glacier, Thwaites, was found to be among the least vulnerable to seawater intrusion. This is because the ice is flowing into the sea so fast already that any cavities in the ice melted by seawater intrusion are quickly filled with new ice.

Read more of this story at Slashdot.

Categories: Computer, News

CodeSOD: Don't Read This Email

The Daily WTF - Wed, 2024-06-26 08:30

Evan sent us 545 lines of PHP code from a file called spec_email.php. It appears to participate in sending an email, with a nice big pile of HTML in it. We're going to take it in a few chunks, because… choices were made.

It opens with this check, and a few variable declarations:

.comment { border: none; } if(!empty($_GET['action']) && ($_GET['action'] == 'send') ) { $template = implode('', file(DIR_FS_CATALOG . 'email/index.htm')); $assign = array( 'BASE' => HTTP_SERVER . DIR_WS_CATALOG, 'TOPTEXT' => $_POST['txt'], 'HEADER1' => $_POST['head1'], 'HEADER2' => $_POST['head2'], 'HEADER3' => $_POST['head3'], );

Note both the $template and $assign variables- these are going to be important.

But before we play with those, let's take a look at our first major block of code.

$table1 = '<table width="636" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td width="25%"><td><td width="25%"><td><td width="25%"><td><td width="25%"><td></tr> <tr>'; if(!empty($_POST['directors1'])) { $k = 1; $tot = 1; $data_query = mysql_query("SELECT p.products_price, pd.products_name, pd.products_description, p.products_id, s.specials_new_products_price, p.products_image FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_SPECIALS . " s ON p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE p.products_id = pd.products_id AND pd.language_id = '" . $_SESSION['languages_id'] . "' AND p.products_id IN(" . join(",", $_POST['directors1']) . ")"); $num = mysql_num_rows($data_query); while($data = mysql_fetch_assoc($data_query)) { $table1 .= '<td align="center" width="25%" style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;">'; $table1 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '"><img src="' . HTTP_SERVER . DIR_WS_CATALOG . 'sp.php?id=' . $data['products_id'] . '" width="100" height="138" alt="" border="0"></a><br>'; $table1 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '">' . '$' . sprintf("%.2f", $data['specials_new_products_price']) . '</a>'; $table1 .= '</td>'; if($k == 4 && ($tot != $num)) { $table1 .= '</tr><tr>'; $k = 0; } $k++; $tot++; } } $table1 .= '</tr></table>'; $assign['TABLE1'] = $table1;

This creates an HTML table about "directors", with several links per row. They're using the table as a grid layout tool, which normally would be bad, but for emails is still a common thing, as many email clients don't properly support full HTML.

Note how the result gets stuffed into $assign['TABLE1'].

We repeat this for $table2 and $table3, which I'm skipping over right now.

Then we get this delightful bit:

foreach($assign as $key => $value) { $template = str_replace('{' . $key . '}', $value, $template); }

Remember that $template? We do repeated find-and-replaces with everything in our $assign array. This is their home brew templating engine. They make no attempt to be efficient, they just find-and-replace over and over and over again.

Finally, we can send the email.

$headers = "From: " . STORE_OWNER . " <" . STORE_OWNER_EMAIL_ADDRESS . ">\r\n"; $headers .= "Content-Type: text/html; charset=iso-8859-1\r\n"; if(!empty($_POST['preview'])) { if(!empty($_POST['preview_email'])) { //tep_mail($_POST['preview_email'], $_POST['preview_email'], $_POST['ttl'], $template, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // $headers .= 'Bcc: php4script@gmail.com' . "\r\n"; mail($_POST['preview_email'], $_POST['ttl'], $template, $headers,"-f".STORE_OWNER_EMAIL_ADDRESS); $message = 'Email sent'; } } elseif(!empty($_POST['real'])) { $cast_array = array(); $data_query = mysql_query("SELECT customers_email_address FROM " . TABLE_CUSTOMERS . " WHERE customers_specials = 1"); while($data = mysql_fetch_assoc($data_query)) { array_push($cast_array, $data['customers_email_address']); } $emails_str = join(",", $cast_array); $headers .= 'Bcc: ' . $emails_str . "\r\n"; mail(STORE_OWNER_EMAIL_ADDRESS, $_POST['ttl'], $template, $headers,"-f".STORE_OWNER_EMAIL_ADDRESS); }

If we preview the email, we send it to a preview_email address, otherwise we send it to a real address list of customers. At least they're doing it in BCC.

And that's the end of the if statement which opened this code, but it's not the end of our work. We also need to output the UI here. This is less of a mess of string concatenation and more of a mess of gigantic PHP blobs of code.

I'll share the full code, but there's one highlight. This is how they populate a drop down list:

while ($data = tep_db_fetch_array($query)) { $sel = 'selected'; if (trim($data['products_name'])) { echo '<OPTION value="'.$data['products_id'].'" '.$sel.'>'.$data['products_name'].'</OPTION>'."\n"; } }

Once upon a time, they wanted to make only the first item selected, but they forgot how, so instead they just apply the selected attribute to every item.

Evan shares that this was implemented by contractors who were very expensive, but also, clearly didn't care, but also clearly worked very hard on it. Harder than anyone should have, but hey, it's a lot of code!

Here is the code in its entirety:

<?php require('includes/application_top.php'); if(!empty($_GET['action']) && ($_GET['action'] == 'send') ) { $template = implode('', file(DIR_FS_CATALOG . 'email/index.htm')); $assign = array( 'BASE' => HTTP_SERVER . DIR_WS_CATALOG, 'TOPTEXT' => $_POST['txt'], 'HEADER1' => $_POST['head1'], 'HEADER2' => $_POST['head2'], 'HEADER3' => $_POST['head3'], ); $table1 = '<table width="636" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td width="25%"><td><td width="25%"><td><td width="25%"><td><td width="25%"><td></tr> <tr>'; if(!empty($_POST['directors1'])) { $k = 1; $tot = 1; $data_query = mysql_query("SELECT p.products_price, pd.products_name, pd.products_description, p.products_id, s.specials_new_products_price, p.products_image FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_SPECIALS . " s ON p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE p.products_id = pd.products_id AND pd.language_id = '" . $_SESSION['languages_id'] . "' AND p.products_id IN(" . join(",", $_POST['directors1']) . ")"); $num = mysql_num_rows($data_query); while($data = mysql_fetch_assoc($data_query)) { $table1 .= '<td align="center" width="25%" style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;">'; $table1 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '"><img src="' . HTTP_SERVER . DIR_WS_CATALOG . 'sp.php?id=' . $data['products_id'] . '" width="100" height="138" alt="" border="0"></a><br>'; $table1 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '">' . '$' . sprintf("%.2f", $data['specials_new_products_price']) . '</a>'; $table1 .= '</td>'; if($k == 4 && ($tot != $num)) { $table1 .= '</tr><tr>'; $k = 0; } $k++; $tot++; } } $table1 .= '</tr></table>'; $assign['TABLE1'] = $table1; $table2 = '<table width="636" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td width="25%"><td><td width="25%"><td><td width="25%"><td><td width="25%"><td></tr> <tr>'; if(!empty($_POST['directors2'])) { $k = 1; $tot = 1; $data_query = mysql_query("SELECT p.products_price, pd.products_name, pd.products_description, p.products_id, s.specials_new_products_price, p.products_image FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_SPECIALS . " s ON p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE p.products_id = pd.products_id AND pd.language_id = '" . $_SESSION['languages_id'] . "' AND p.products_id IN(" . join(",", $_POST['directors2']) . ")"); $num = mysql_num_rows($data_query); while($data = mysql_fetch_assoc($data_query)) { $table2 .= '<td align="center" width="25%" style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;">'; $table2 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '"><img src="' . HTTP_SERVER . DIR_WS_CATALOG . 'sp.php?id=' . $data['products_id'] . '" width="100" height="138" alt="" border="0"></a><br>'; $table2 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '">' . '$' . sprintf("%.2f", $data['specials_new_products_price']) . '</a>'; $table2 .= '</td>'; if($k == 4 && ($tot != $num)) { $table2 .= '</tr><tr>'; $k = 0; } $k++; $tot++; } } $table2 .= '</tr></table>'; $assign['TABLE2'] = $table2; $table3 = '<table width="636" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td width="25%"><td><td width="25%"><td><td width="25%"><td><td width="25%"><td></tr> <tr>'; if(!empty($_POST['directors3'])) { $k = 1; $tot = 1; $data_query = mysql_query("SELECT p.products_price, pd.products_name, pd.products_description, p.products_id, s.specials_new_products_price, p.products_image FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_SPECIALS . " s ON p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE p.products_id = pd.products_id AND pd.language_id = '" . $_SESSION['languages_id'] . "' AND p.products_id IN(" . join(",", $_POST['directors3']) . ")"); $num = mysql_num_rows($data_query); while($data = mysql_fetch_assoc($data_query)) { $table3 .= '<td align="center" width="25%" style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;">'; $table3 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '"><img src="' . HTTP_SERVER . DIR_WS_CATALOG . 'sp.php?id=' . $data['products_id'] . '" width="100" height="138" alt="" border="0"></a><br>'; $table3 .= '<a style="text-align:center; padding-right:5px; color: #303030; font-weight:bold; font-family: helvetica; font-size:16px; text-decoration:none;" href="' . tep_catalog_href_link('product_info.php', 'products_id=' . $data['products_id']) . '">' . '$' . sprintf("%.2f", $data['specials_new_products_price']) . '</a>'; $table3 .= '</td>'; if($k == 4 && ($tot != $num)) { $table3 .= '</tr><tr>'; $k = 0; } $k++; $tot++; } } $table3 .= '</tr></table>'; $assign['TABLE3'] = $table3; foreach($assign as $key => $value) { $template = str_replace('{' . $key . '}', $value, $template); } $headers = "From: " . STORE_OWNER . " <" . STORE_OWNER_EMAIL_ADDRESS . ">\r\n"; $headers .= "Content-Type: text/html; charset=iso-8859-1\r\n"; if(!empty($_POST['preview'])) { if(!empty($_POST['preview_email'])) { //tep_mail($_POST['preview_email'], $_POST['preview_email'], $_POST['ttl'], $template, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // $headers .= 'Bcc: php4script@gmail.com' . "\r\n"; mail($_POST['preview_email'], $_POST['ttl'], $template, $headers,"-f".STORE_OWNER_EMAIL_ADDRESS); $message = 'Email sent'; } } elseif(!empty($_POST['real'])) { $cast_array = array(); $data_query = mysql_query("SELECT customers_email_address FROM " . TABLE_CUSTOMERS . " WHERE customers_specials = 1"); while($data = mysql_fetch_assoc($data_query)) { array_push($cast_array, $data['customers_email_address']); } $emails_str = join(",", $cast_array); $headers .= 'Bcc: ' . $emails_str . "\r\n"; mail(STORE_OWNER_EMAIL_ADDRESS, $_POST['ttl'], $template, $headers,"-f".STORE_OWNER_EMAIL_ADDRESS); } } ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> <script language="javascript" src="includes/general.js"></script> <script language="JavaScript" src="includes/javascript/main.js"></script> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="2" cellpadding="2"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> </tr> </table></td> </tr> <tr> <td> <form action="<?=tep_href_link(FILENAME_SPEC_EMAIL, 'action=send');?>" method="post"> <? if(!empty($message)) { echo '<p style="color:red">' . $message . '</p>'; } $cur_day = date("j"); $cur_month = date("n"); $cur_year = date("Y"); $dow = date('w'); if($dow == 0) { $dow = 7; } $dow1 = $dow-1; $week1_begin = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1,$cur_year)); $week1_end = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1+6,$cur_year)); $week2_begin = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1+7,$cur_year)); $week2_end = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1+6+7,$cur_year)); $week3_begin = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1+7+7,$cur_year)); $week3_end = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1+6+7+7,$cur_year)); $week4_begin = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1+7+7+7,$cur_year)); $week4_end = date("Y/m/d", mktime(0,0,0,$cur_month,$cur_day-$dow1+6+7+7+7,$cur_year)); $data_week[] = array('id' => '', 'text' => 'All'); $data_week[] = array('id' => '1', 'text' => 'This Week (' . $week1_begin . ' - ' . $week1_end . ')'); $data_week[] = array('id' => '2', 'text' => 'Next Week (' . $week2_begin . ' - ' . $week2_end . ')'); $data_week[] = array('id' => '3', 'text' => 'Week 3 (' . $week3_begin . ' - ' . $week3_end . ')'); $data_week[] = array('id' => '4', 'text' => 'Week 4 (' . $week4_begin . ' - ' . $week4_end . ')'); if(!empty($_POST['week'])) { $date_begin = ${'week' . intval($_POST['week']) . '_begin'}; $date_begin = str_replace('/', '-', $date_begin); $date_end = ${'week' . intval($_POST['week']) . '_end'}; $date_end = str_replace('/', '-', $date_end); $from_filter = ", " . TABLE_SPECIALS_PERIODS . " sp "; $where_filter = " and p.products_id = sp.products_id and sp.date_start = '" . $date_begin . "' and sp.date_end = '" . $date_end . "'"; } ?> <table> <tr> <td class="main">Show Me: </td> <td><?=tep_draw_pull_down_menu('week', $data_week, $week, ' onChange=this.form.submit(); ');?></td> </tr> <tr> <td class="main">Email Title: </td> <td><input type="text" name="ttl" value="<?=$ttl;?>" size="75"></td> </tr> <tr> <td class="main">Text At Top: </td> <td><?=tep_draw_fckeditor('txt','800','300', $txt);?></td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td class="main">Heading 1: </td> <td><input type="text" name="head1" value="<?=$head1;?>" size="75"></td> </tr> <tr> <td></td> <td class="main"> <!-- begin list1 sarch --> <table> <?php $directors1 = $_POST['directors1']; if(empty($directors1)) $directors1 = array(-1); if(isset($directors1) && (count($directors1) > 0) ) { $query = tep_db_query("SELECT pd.products_id, pd.products_name FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE pd.language_id = '" . $_SESSION['languages_id'] . "' and pd.products_id IN(" . join(",",$directors1) . ") ORDER BY pd.products_name"); } ?> <tr> <td class="main"> Movies under this heading: <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main"> <SELECT name="directors1[]" multiple style="width:250px; height:120px"> <?php while ($data = tep_db_fetch_array($query)) { $sel = 'selected'; if (trim($data['products_name'])) { echo '<OPTION value="'.$data['products_id'].'" '.$sel.'>'.$data['products_name'].'</OPTION>'."\n"; } } ?> </SELECT> </td> <td class="main" valign="middle"> <? echo '&nbsp;&nbsp;'; echo tep_draw_input_field('director_left2right1','>>',' onclick="copyToList(\'directorslist1[]\',\'directors1[]\'); selectAll(\'directors1[]\');"',false,'button'); echo '&nbsp;&nbsp;<br>&nbsp;&nbsp;'; echo tep_draw_input_field('director_right2left1','<<',' onclick="copyToList(\'directors1[]\',\'directorslist1[]\'); selectAll(\'directors1[]\');"',false,'button'); echo '&nbsp;&nbsp;'; ?> </td> <td class="main"> <div id="director_search"> <? if($browser == 'IE') { ?> <SELECT name="directorslist1[]" multiple style="width:250px; height:120px" onkeyup="if(event.keyCode == 13){ copyToList('directors1[]','directorslist1[]'); selectAll('directors1[]'); document.forms['search'].directors_search.value=''; document.forms['search'].directors_search.focus();}" onKeyDown="if(event.keyCode == 9) { selectNext('directorslist1[]'); return false;}" > <? } else { ?> <SELECT name="directorslist1[]" multiple style="width:250px; height:120px" onkeyup="if(event.keyCode == 13){ copyToList('directors1[]','directorslist1[]'); selectAll('directors1[]'); document.forms['search'].directors_search.value=''; document.forms['search'].directors_search.focus();}" onKeyPress="if(event.keyCode == 9) { selectNext('directorslist1[]'); return false;}"> <? } $specials_query_raw = "select p.products_id, pd.products_name, pd.products_alt_title, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price, s.expires_date, p.am_orelease_date from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s" . $from_filter . " where p.products_status = '1' and s.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' /*and s.status = '1'*/" . $where_filter . " order by s.specials_date_added DESC"; $specials_query = tep_db_query($specials_query_raw); while ($data = tep_db_fetch_array($specials_query)) { if (trim($data['products_name']) && !in_array($data['products_id'], $directors1) ) { echo '<OPTION value="'.$data['products_id'].'">'.$data['products_name'].'</OPTION>'."\n"; } } // print $specials_query_raw; // exit; ?> </SELECT> </div> </td> </tr> </table> </td> </tr> </table> <!-- end list1 sarch --> </td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td class="main">Heading 2: </td> <td><input type="text" name="head2" value="<?=$head2;?>" size="75"></td> </tr> <tr> <td></td> <td class="main"> <!-- begin list2 sarch --> <table> <?php $directors2 = $_POST['directors2']; if(empty($directors2)) $directors2 = array(-1); if(isset($directors2) && (count($directors2) > 0) ) { $query = tep_db_query("SELECT pd.products_id, pd.products_name FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE pd.language_id = '" . $_SESSION['languages_id'] . "' and pd.products_id IN(" . join(",",$directors2) . ") ORDER BY pd.products_name"); } ?> <tr> <td class="main"> Movies under this heading: <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main"> <SELECT name="directors2[]" multiple style="width:250px; height:120px"> <?php while ($data = tep_db_fetch_array($query)) { $sel = 'selected'; if (trim($data['products_name'])) { echo '<OPTION value="'.$data['products_id'].'" '.$sel.'>'.$data['products_name'].'</OPTION>'."\n"; } } ?> </SELECT> </td> <td class="main" valign="middle"> <? echo '&nbsp;&nbsp;'; echo tep_draw_input_field('director_left2right2','>>',' onclick="copyToList(\'directorslist2[]\',\'directors2[]\'); selectAll(\'directors2[]\');"',false,'button'); echo '&nbsp;&nbsp;<br>&nbsp;&nbsp;'; echo tep_draw_input_field('director_right2left2','<<',' onclick="copyToList(\'directors2[]\',\'directorslist2[]\'); selectAll(\'directors2[]\');"',false,'button'); echo '&nbsp;&nbsp;'; ?> </td> <td class="main"> <div id="director_search"> <? if($browser == 'IE') { ?> <SELECT name="directorslist2[]" multiple style="width:250px; height:120px" onkeyup="if(event.keyCode == 13){ copyToList('directors2[]','directorslist2[]'); selectAll('directors2[]'); document.forms['search'].directors_search.value=''; document.forms['search'].directors_search.focus();}" onKeyDown="if(event.keyCode == 9) { selectNext('directorslist2[]'); return false;}" > <? } else { ?> <SELECT name="directorslist2[]" multiple style="width:250px; height:120px" onkeyup="if(event.keyCode == 13){ copyToList('directors2[]','directorslist2[]'); selectAll('directors2[]'); document.forms['search'].directors_search.value=''; document.forms['search'].directors_search.focus();}" onKeyPress="if(event.keyCode == 9) { selectNext('directorslist2[]'); return false;}"> <? } $specials_query_raw = "select p.products_id, pd.products_name, pd.products_alt_title, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price, s.expires_date, p.am_orelease_date from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s" . $from_filter . " where p.products_status = '1' and s.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' /*and s.status = '1'*/" . $where_filter . " order by s.specials_date_added DESC"; $specials_query = tep_db_query($specials_query_raw); while ($data = tep_db_fetch_array($specials_query)) { if (trim($data['products_name']) && !in_array($data['products_id'], $directors2) ) { echo '<OPTION value="'.$data['products_id'].'">'.$data['products_name'].'</OPTION>'."\n"; } } ?> </SELECT> </div> </td> </tr> </table> </td> </tr> </table> <!-- end list2 sarch --> </td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td class="main">Heading 3: </td> <td><input type="text" name="head3" value="<?=$head3;?>" size="75"></td> </tr> <tr> <td></td> <td class="main"> <!-- begin list3 sarch --> <table> <?php $directors3 = $_POST['directors3']; if(empty($directors3)) $directors3 = array(-1); if(isset($directors3) && (count($directors3) > 0) ) { $query = tep_db_query("SELECT pd.products_id, pd.products_name FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd WHERE pd.language_id = '" . $_SESSION['languages_id'] . "' and pd.products_id IN(" . join(",",$directors3) . ") ORDER BY pd.products_name"); } ?> <tr> <td class="main"> Movies under this heading: <table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main"> <SELECT name="directors3[]" multiple style="width:250px; height:120px"> <?php while ($data = tep_db_fetch_array($query)) { $sel = 'selected'; if (trim($data['products_name'])) { echo '<OPTION value="'.$data['products_id'].'" '.$sel.'>'.$data['products_name'].'</OPTION>'."\n"; } } ?> </SELECT> </td> <td class="main" valign="middle"> <? echo '&nbsp;&nbsp;'; echo tep_draw_input_field('director_left2right3','>>',' onclick="copyToList(\'directorslist3[]\',\'directors3[]\'); selectAll(\'directors3[]\');"',false,'button'); echo '&nbsp;&nbsp;<br>&nbsp;&nbsp;'; echo tep_draw_input_field('director_right2left3','<<',' onclick="copyToList(\'directors3[]\',\'directorslist3[]\'); selectAll(\'directors3[]\');"',false,'button'); echo '&nbsp;&nbsp;'; ?> </td> <td class="main"> <div id="director_search"> <? if($browser == 'IE') { ?> <SELECT name="directorslist3[]" multiple style="width:250px; height:120px" onkeyup="if(event.keyCode == 13){ copyToList('directors3[]','directorslist3[]'); selectAll('directors3[]'); document.forms['search'].directors_search.value=''; document.forms['search'].directors_search.focus();}" onKeyDown="if(event.keyCode == 9) { selectNext('directorslist3[]'); return false;}" > <? } else { ?> <SELECT name="directorslist3[]" multiple style="width:250px; height:120px" onkeyup="if(event.keyCode == 13){ copyToList('directors3[]','directorslist3[]'); selectAll('directors3[]'); document.forms['search'].directors_search.value=''; document.forms['search'].directors_search.focus();}" onKeyPress="if(event.keyCode == 9) { selectNext('directorslist3[]'); return false;}"> <? } $specials_query_raw = "select p.products_id, pd.products_name, pd.products_alt_title, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price, s.expires_date, p.am_orelease_date from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s" . $from_filter . " where p.products_status = '1' and s.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' /*and s.status = '1'*/" . $where_filter . " order by s.specials_date_added DESC"; $specials_query = tep_db_query($specials_query_raw); while ($data = tep_db_fetch_array($specials_query)) { if (trim($data['products_name']) && !in_array($data['products_id'], $directors3) ) { echo '<OPTION value="'.$data['products_id'].'">'.$data['products_name'].'</OPTION>'."\n"; } } ?> </SELECT> </div> </td> </tr> </table> </td> </tr> </table> <!-- end list3 sarch --> </td> </tr> <tr> <td colspan="2">&nbsp;</td> </tr> <tr> <td class="main" colspan="2">Preview Email, Send To: <input type="text" name="preview_email" value="<?=$preview_email;?>"><input type="submit" name="preview" value="Sent Preview"></td> </tr> <tr> <td class="main" colspan="2">&nbsp;</td> </tr> <tr> <td class="main" colspan="2"><input type="submit" name="real" value="Send Real Email To Specials List"></td> </tr> </table> </form> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> </table></td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> [Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!
Categories: Computer

Man Flies To Florida To Attack Another Player Over an Online Gaming Dispute

Slashdot - Wed, 2024-06-26 05:30
An anonymous reader quotes a report from the Associated Press: An online gaming dispute made its way to the real world when a New Jersey man flew to Florida to attack another player with a hammer, authorities said. Edward Kang, 20, is charged with attempted second-degree murder and armed burglary with a mask, according to Nassau County court records. He was arrested early Sunday morning. Kang and the victim, another young man around the same age as Kang, had never met in real life, but they both played ArcheAge, a medieval fantasy massively multiplayer online role-playing game. The game's publisher announced in April that it would be shutting down servers in Europe and North America on June 27, citing a declining number of active players. Kang flew from Newark, New Jersey, to Jacksonville, Florida, last Thursday after telling his mother that he was going to visit a friend that he had met while playing a video game, officials said. Officials didn't say how Kang learned where the victim lives. Upon arrival, Kang took an Uber to a hotel in Fernandina Beach, about 35 miles north of Jacksonville, and then bought a hammer at a local hardware store, deputies said. Kang went to the victim's Fernandina Beach home, which was unlocked, around 2 a.m. Sunday, authorities said. The victim was walking out of his bedroom when he was confronted by Kang, who hit him on the head with the hammer, officials said. The two struggled as the victim called for help. His stepfather responded and helped to restrain Kang until police arrived. The victim suffered several head wounds that were not considered life-threatening, officials said. Online court records didn't list an attorney for Kang. He was being held without bond.

Read more of this story at Slashdot.

Categories: Computer, News

Researchers Upend AI Status Quo By Eliminating Matrix Multiplication In LLMs

Slashdot - Wed, 2024-06-26 02:50
Researchers from UC Santa Cruz, UC Davis, LuxiTech, and Soochow University have developed a new method to run AI language models more efficiently by eliminating matrix multiplication, potentially reducing the environmental impact and operational costs of AI systems. Ars Technica's Benj Edwards reports: Matrix multiplication (often abbreviated to "MatMul") is at the center of most neural network computational tasks today, and GPUs are particularly good at executing the math quickly because they can perform large numbers of multiplication operations in parallel. [...] In the new paper, titled "Scalable MatMul-free Language Modeling," the researchers describe creating a custom 2.7 billion parameter model without using MatMul that features similar performance to conventional large language models (LLMs). They also demonstrate running a 1.3 billion parameter model at 23.8 tokens per second on a GPU that was accelerated by a custom-programmed FPGA chip that uses about 13 watts of power (not counting the GPU's power draw). The implication is that a more efficient FPGA "paves the way for the development of more efficient and hardware-friendly architectures," they write. The paper doesn't provide power estimates for conventional LLMs, but this post from UC Santa Cruz estimates about 700 watts for a conventional model. However, in our experience, you can run a 2.7B parameter version of Llama 2 competently on a home PC with an RTX 3060 (that uses about 200 watts peak) powered by a 500-watt power supply. So, if you could theoretically completely run an LLM in only 13 watts on an FPGA (without a GPU), that would be a 38-fold decrease in power usage. The technique has not yet been peer-reviewed, but the researchers -- Rui-Jie Zhu, Yu Zhang, Ethan Sifferman, Tyler Sheaves, Yiqiao Wang, Dustin Richmond, Peng Zhou, and Jason Eshraghian -- claim that their work challenges the prevailing paradigm that matrix multiplication operations are indispensable for building high-performing language models. They argue that their approach could make large language models more accessible, efficient, and sustainable, particularly for deployment on resource-constrained hardware like smartphones. [...] The researchers say that scaling laws observed in their experiments suggest that the MatMul-free LM may also outperform traditional LLMs at very large scales. The researchers project that their approach could theoretically intersect with and surpass the performance of standard LLMs at scales around 10^23 FLOPS, which is roughly equivalent to the training compute required for models like Meta's Llama-3 8B or Llama-2 70B. However, the authors note that their work has limitations. The MatMul-free LM has not been tested on extremely large-scale models (e.g., 100 billion-plus parameters) due to computational constraints. They call for institutions with larger resources to invest in scaling up and further developing this lightweight approach to language modeling.

Read more of this story at Slashdot.

Categories: Computer, News

MTV News Website Goes Dark, Archives Pulled Offline

Slashdot - Wed, 2024-06-26 02:10
MTVNews.com has been shut down, with more than two decades' worth of content no longer available. "Content on its sister site, CMT.com, seems to have met a similar fate," adds Variety. From the report: In 2023, MTV News was shuttered amid the financial woes of parent company Paramount Global. As of Monday, trying to access MTV News articles on mtvnews.com or mtv.com/news resulted in visitors being redirected to the main MTV website. The now-unavailable content includes decades of music journalism comprising thousands of articles and interviews with countless major artists, dating back to the site's launch in 1996. Perhaps the most significant loss is MTV News' vast hip-hop-related archives, particularly its weekly "Mixtape Monday" column, which ran for nearly a decade in the 2000s and 2010s and featured interviews, reviews and more with many artists, producers and others early in their careers. "So, mtvnews.com no longer exists. Eight years of my life are gone without a trace," Patrick Hosken, former music editor for MTV News, wrote on X. "All because it didn't fit some executives' bottom lines. Infuriating is too small a word." "sickening (derogatory) to see the entire @mtvnews archive wiped from the internet," Crystal Bell, culture editor at Mashable and one-time entertainment director of MTV News, posted on X."decades of music history gone... including some very early k-pop stories." "This is disgraceful. They've completely wiped the MTV News archive," longtime Rolling Stone senior writer Brian Hiatt commented. "Decades of pop culture history research material gone, and why?" The report notes that some MTV News articles may be available via internet archiving services like the Wayback Machine. However, older articles aren't available.

Read more of this story at Slashdot.

Categories: Computer, News

Waymo's Autonomous Ride-Hailing Service Now Available To All In San Francisco

Slashdot - Wed, 2024-06-26 01:30
An anonymous reader quotes a report from Reuters: Alphabet's Waymo said on Tuesday its autonomous ride-hailing service, Waymo One, is now available to everyone in San Francisco, nearly four years after a similar move in Phoenix, Arizona. Driverless vehicles are expected to drive commercial success for automakers even as regulatory scrutiny remains tight amid concerns of investors about growing investments in the nascent technology. Waymo had started a test service with its research-focused program in San Francisco in 2021, which included an autonomous specialist on board for all rides at that time, as it looked to commercialize the technology. The company said that about 300,000 people had signed up to ride with Waymo since it first opened a waitlist in the city, signaling strong demand. Now with open access, anyone can request a ride on its app. The company had opened access to everyone in Phoenix, Arizona without a waitlist in 2020. Mountain View, California-based Waymo is a self-driving technology pioneer, which started its first U.S. driverless taxi service in 2020 over a decade after it was born in 2009 as a project inside Google. In March, the company received approval from the California Public Utilities Commission (CPUC) to start its Waymo One in Los Angeles and some cities near San Francisco.

Read more of this story at Slashdot.

Categories: Computer, News

Seattle's Living Computers Museum Logs Off For Good

Slashdot - Wed, 2024-06-26 00:50
Kurt Schlosser reports via GeekWire: Living Computers Museum + Labs, the Seattle institution created by the late Microsoft co-founder Paul Allen as a hands-on showcase for rare computing technology and interactive displays, will not reopen, more than four years after closing just ahead of the pandemic. Allen's estate, which has been managing and winding down his vast array of holdings since his death in 2018, confirmed to GeekWire that the 12-year-old museum is closed for good. The estate also announced Tuesday that some key pieces from Allen's personal collection of computer artifacts, displayed over the years at Living Computers, will be auctioned by Christie's as part of a broader sale of various Allen items later this year. As directed by Allen's wishes, proceeds from the sale of any items will go to charitable causes. Allen's sister Jody Allen is the executor of his estate and for several years has been selling pieces of it, ranging from Seattle's Cinerama movie theater, the Everett, Wash.-based Flying Heritage and Combat Armor Museum, Vulcan Productions, Stratolaunch, the superyacht Octopus, and more. The estate previously teamed up with Christie's for a November 2022 auction of 155 masterpieces from Allen's extensive art collection. It was the world's most successful single-owner fine art auction ever, raising a record $1.62 billion. The new auction, titled "Gen One: Innovations from the Paul G. Allen Collection," is billed as "a celebration of first-generation technologies and the pioneering minds behind them." The event will feature more than 150 items in three separate auctions, including "Firsts: The History of Computing," an online sale closing Sept. 12. This auction pays homage to Allen's role shaping the modern computing landscape. A highlight of the sale is a computer that Allen helped restore and on which he worked, a DEC PDP-10: KI-10. Built in 1971, it's the first computer that both Allen and Microsoft co-founder Bill Gates ever used prior to founding Microsoft. It's estimated to fetch $30,000 to $50,000. Christie's said details about other computers and related items from Allen's collection will be shared this summer. The other two auctions of Allen property include "Pushing Boundaries: Ingenuity," a live auction on Sept. 10 that will feature items intended to tell the story of scientific and technological achievements spanning centuries. The top item is a 1939 signed letter from Albert Einstein to President Franklin Delano Roosevelt credited as the impetus behind the establishment of the Manhattan Project. It's estimated to fetch $4 million to $6 million. The third auction is "Over the Horizon: Art of the Future," an online auction closing Sept. 12, showcasing art devoted to interplanetary travel. A sale highlight is Chelsey Bonestell's "Saturn as Seen from Titan," circa 1952, and estimated to fetch $30,000 to $50,000.

Read more of this story at Slashdot.

Categories: Computer, News

South Korean ISP 'Infected' 600,000 Torrenting Subscribers With Malware

Slashdot - Wed, 2024-06-26 00:07
An anonymous reader quotes a report from TorrentFreak: Last week, an in-depth investigative report from JBTC revealed that Korean Internet provider KT, formerly known as Korea Telecom, distributed malware onto subscribers' computers to interfere with and block torrent traffic. File-sharing continues to be very popular in South Korea, but operates differently than in most other countries. "Webhard" services, short for Web Hard Drive, are particularly popular. These are paid BitTorrent-assisted services, which also offer dedicated web seeds, to ensure that files remain available. Webhard services rely on the BitTorrent-enabled 'Grid System', which became so popular in Korea that ISPs started to notice it. Since these torrent transfers use a lot of bandwidth, which is very costly in the country, providers would rather not have this file-sharing activity on their networks. KT, one of South Korea's largest ISPs with over 16 million subscribers, was previously caught meddling with the Grid System. In 2020, their throttling activities resulted in a court case, where the ISP cited 'network management' costs as the prime reason to interfere. The Court eventually sided with KT, ending the case in its favor, but that wasn't the end of the matter. An investigation launched by the police at the time remains ongoing. New reports now show that the raid on KT's datacenter found that dozens of devices were used in the 'throttling process' and they were doing more than just limiting bandwidth. When Webhard users started reporting problems four years ago, they didn't simply complain about slow downloads. In fact, the main concern was that several Grid-based Webhard services went offline or reported seemingly unexplainable errors. Since all complaining users were KT subscribers, fingers were pointed in that direction. According to an investigation by Korean news outlet JBTC, the Internet provider actively installed malware on computers of Webhard services. This activity was widespread and effected an estimated 600,000 KT subscribers. The Gyeonggi Southern Police Agency, which carried out the raid and investigation, believes this was an organized hacking attempt. A dedicated KT team allegedly planted malware to eavesdrop on subscribers and interfere with their private file transfers. [...] Why KT allegedly distributed the malware and what it precisely intended to do is unclear. The police believe there were internal KT discussions about network-related costs, suggesting that financial reasons played a role.

Read more of this story at Slashdot.

Categories: Computer, News

GM's Cruise Names Former Amazon, Microsoft Xbox Executive As New CEO

Slashdot - Tue, 2024-06-25 23:40
Cruise, the autonomous vehicle unit from General Motors, named Amazon and Microsoft executive Marc Whitten as its new CEO, replacing former CEO and co-founder Kyle Vogt. CNBC reports: Whitten was a founding engineer at Microsoft's Xbox before leaving the company after more than 17 years to become chief product officer of audio company Sonos in 2014, according to his LinkedIn profile. He then worked at Amazon as vice president of entertainment devices and services before his most recent role as chief product and technology officer for software development company Unity's Create. His appointment comes at a crucial time for Cruise, which is testing and relaunching its autonomous vehicles on public roadways. It ceased operations weeks after an Oct. 2 accident in which a pedestrian in San Francisco was dragged 20 feet by a Cruise robotaxi. A third-party probe into the October incident ordered by GM and Cruise found that culture issues, ineptitude and poor leadership fueled regulatory oversights that led to the accident. The probe also investigated allegations of a cover-up by Cruise leadership, but investigators did not find evidence to support those claims. During that time, San Francisco-based Cruise was attempting to expand its operations into a revenue-generating business for GM, which has been a majority owner of the company since acquiring it in 2016. Other investors now include Honda Motor, Microsoft, T. Rowe Price, and Walmart. As of this month, Cruise has resumed supervised driving in Phoenix, Houston and Dallas, in addition to its ongoing testing in Dubai. It has not relaunched in San Francisco, where it remains under investigation related to the accident.

Read more of this story at Slashdot.

Categories: Computer, News

VW To Invest Up To $5 Billion In EV Maker Rivian

Slashdot - Tue, 2024-06-25 23:20
Volkswagen today announced it will invest up to $5 billion in U.S. electric-vehicle maker Rivian as part of a new, equally controlled joint venture to share EV architecture and software. Shares surged 40% in extended Nasdaq trading after the announcement. Reuters reports: The investment will provide Rivian - known for its flagship R1S SUVs and R1T pickups - the funding it needs to develop its less-expensive and smaller R2 SUVs that are set to roll out in 2026, CEO RJ Scaringe told Reuters. Volkswagen will initially invest $1 billion in Rivian and a further $4 billion in investments later, the companies said. The partnership will help Volkswagen accelerate its plans to develop software-defined vehicles (SDV), with Rivian licensing its existing intellectual property rights to the joint venture.

Read more of this story at Slashdot.

Categories: Computer, News

OpenAI To Pull Plug on 'Unsupported' Nations Like China From July 9

Slashdot - Tue, 2024-06-25 22:52
ChatGPT developer OpenAI has sent out emails to users based in countries it considers "unsupported," saying it will block their access for good starting July 9. From a report: The email, reproduced on the OpenAI community forum here, includes a brief statement. "Our data shows that your organization has API traffic from a region that OpenAI does not currently support," it reads. "We will be taking additional measures to block API traffic from regions that are not on our supported countries and territories list starting on July 9." "To continue using OpenAI's services, you will need to access the service in a supported region," it concludes. Much of the world has access to OpenAI including virtually the entire West, most of Eastern Europe, South Asia, and about half of Africa. However, there are some notable absences on the list such as Russia, Iran, Saudi Arabia, and mainland China.

Read more of this story at Slashdot.

Categories: Computer, News

Slack Will Begin Deleting Older Content From Free Workspaces

Slashdot - Tue, 2024-06-25 22:11
An anonymous reader shares a report: Slack announced a significant change to its platform, saying it will "begin deleting messages and files more than one year old from free workspaces on a rolling basis." Slack's prior policy involved keeping messages and files for the lifetime of a free workspace, although accessing that full history required switching to a paid account. Under the new policy, Slack reserves the right to delete content from free workspaces after one year.

Read more of this story at Slashdot.

Categories: Computer, News

Pages