The CIA Just Dumped 12 Million Declassified Documents Online


(AP Photo/Carolyn Kaster)

After years of fighting with FOIA requesters, the CIA has finally uploaded over 12 million documents to its website. While many of the documents have been declassified for some time, the pages were intentionally hard to access, and only available on a few computers sitting at the National Archives. But now, anyone can search the documents from anywhere.

“We’ve been working on this for a very long time and this is one of the things I wanted to make sure got done before I left,” the CIA’s Joseph Lambert told Jason Leopold from BuzzFeed. Lambert will be retiring soon after 32 years with the agency.

The files contain everything from the CIA’s strange mind control experiments to reports on Communist activity around the world. Many of the pages have already been liberated by the likes of researcher Michael Best and Leopold himself, and uploaded to places like Archive.org. But they’re now all there at the CIA website for your own searching pleasure. All 12 million of them.

A quick search for names like “Donald Trump” yield little more than newspaper clippings from the 1980s about government contracts and “the party of the century.” But those don’t even tell the full story. As you can see from the big white box in the upper right hand corner, they’ve been “sanitized” for release. Why was the CIA keeping newspaper clippings like that? We may have to wait a few more decades to find out.

You can search the entire CIA database of documents here.

[Buzzfeed]

via Gizmodo
The CIA Just Dumped 12 Million Declassified Documents Online

What Employees Value More Than Salary, According to Glassdoor

Salary is important, but it’s not the only thing that contributes to job satisfaction. New research from Glassdoor reveals what makes people happiest at their jobs and how it varies depending on income.

Glassdoor wanted to see how employee values change as their income changes. What workplace factors do employees workers value overall, and how does it change with salary increases? To answer this, Glassdoor looked at their own data: salary reports and company reviews from over 600,000 users. They looked at six different factors: culture & values, senior leadership, career opportunities, business outlook, work-life balance and compensation & benefits.

They used the “Shapley Value” analysis method to see how various factors change the overall outlook. They explain:

In other words, under this approach, the six workplace factors can be thought of as a “pie” in terms of predictive power of employee satisfaction. We then add and drop factors from our model, and examine how the “pie” of predictive power changes with each adjustment — how more or less important a factor is to overall satisfaction. This approach allows us to identify which factors are the most statistically “important” predictors to overall employee satisfaction.

Overall, they found that culture and values were the biggest predictor of employee satisfaction, at 22% of the “pie.” Leadership quality was also important (21%) along with career opportunities (18%). Positive business outlook, work-life balance, and compensation and benefits were actually the least impactful predictors of employee satisfaction, according to Glassdoor’s analysis.

Unsurprisingly, compensation became less important as salary increased. After all, if your salary needs are met, it’s one less factor you have to worry about. When income increased, the most valuable factors mattered even more to employees: culture and values, the quality of senior leadership, and career opportunities.

Don’t let this data keep you from negotiating a higher salary, but if you’re looking for a job, it helps to know what other workplace traits matter. To check the report out for yourself, head to the links below.

What Matters Most in a Job When Pay Rises | Glassdoor

Photo by startupstockphotos.com


via Lifehacker
What Employees Value More Than Salary, According to Glassdoor

Sand absorbs high-speed projectiles better than steel

If someone is firing projectiles in your direction, you might be safer hiding behind a sand block rather than a steel wall, new research shows.

While sand has long been used in military fortification, limited literature exists on the mechanism behind its energy absorption capabilities. A team of engineers at the National University of Singapore decided to find out more about the material’s unique ability to resist impact.

They experimented by firing projectiles of various shapes and masses at different velocities against a common silica sand block of varying density.

The results show that the sand block absorbed more than 85 percent of the energy exerted against it by the impact of a high-speed projectile. Further, the resistance offered by the sand increased with the speed at which the projectile travelled.

The impact also resulted in an extreme frictional force that could break the projectile into pieces, as the sand grains dilate and dissipate the pressure, resisting continual penetration of the projectile. While heavier and elongated projectiles were more effective at penetrating the target due to higher stress at the point of contact, the compaction of the sand held little influence as the projectile compacted the sand along its path of penetration.

In contrast, the energy absorption capacity of an equivalent steel plate reduces dramatically as the velocity of the projectile increases, resulting in the projectile passing through it without further resistance. This is known as the hydrodynamic effect, where the high-speed projectile causes the steel to melt and behave akin to a fluid.

Listen: Sand dunes emit creepy ‘burps’ and moans

The team says the study points to the wide-ranging potential applications of sand, beyond glass making, building construction, and land reclamation. A key application is in modern defense systems, which has yet to be thoroughly explored.

“Steel, which is one of the key materials used in the construction of armor systems, can be partially replaced with sand as a cost-effective, environmentally friendly, and lightweight sacrificial layer, given its superior energy absorption performance,” says Darren Chian Siau Chen, an assistant professor in civil and environmental engineering.

“Given the possibility of hostile threats, sand could also be used as a complementary building material to steel to enhance protection of critical infrastructure and household shelters, given its projectile-resisting function,” says Chian.

The team plans to further investigate the potential of sand through large-scale trials, as well as explore the energy absorption capabilities of similar geomaterials such as rock rubble.

Source: National University of Singapore

The post Sand absorbs high-speed projectiles better than steel appeared first on Futurity.

via Futurity.org
Sand absorbs high-speed projectiles better than steel

The Raspberry Pi Zero Makes a Great Motion Sensing Security Camera Too

We know that a Raspberry Pi can be turned into a motion sensing security camera, but it’s even cheaper to do it with the $5 Raspberry Pi Zero. DIYer Mark West shows you how.

The actual process here isn’t terribly different from a regular Raspberry Pi, which just requires you to hook up the Raspberry Pi Camera Module and then install a bunch of software. The real clever part of this one comes from the ZeroView camera mount, which crams the Pi Zero and camera module into a tiny little case that you can suction cup to a window. West’s camera is set up to send you an email when the camera detects motion, but he does note it might require some experimentation with positioning to limit false positives. Head over to West’s site for the full guide.

Build a Motion Activated Security Camera with the Raspberry Pi Zero | utbrudd


via Lifehacker
The Raspberry Pi Zero Makes a Great Motion Sensing Security Camera Too

Star Wars Sadists Can Finally Enjoy Watching Chewie Rip Unkar Plutt’s Arm Off

Han Solo says you should never fuck with a Wookie because they’ll rip your arm off, and now we’ve got proof. Ouch.

The unaired scene from The Force Awakens shows Unkar Plutt confronting Rey in Maz Kanata’s castle after she and Finn “stole” the Millennium Falcon. Chewie, always one to defend a friend, comes in and shuts Unkar up by literally ripping his arm out of his socket. The clip was first teased last year ahead of The Force Awakens’ 3D Collector’s Edition release in November, but the full version (arm pulling and all) has finally been brought to the public.

It’s a pretty graphic scene; and while it is terrific, I can understand why Disney chose to take it out. Kids probably wouldn’t take too kindly to seeing the dismembered digits of some creepy alien flopping through the air while blood spurts out of his gaping armhole. Although it’d probably make for a hilarious toy. Unkar Plutt, now comes with detachable arm…yank it off and he screams!

[YouTube]

via Gizmodo
Star Wars Sadists Can Finally Enjoy Watching Chewie Rip Unkar Plutt’s Arm Off

Roll Your Own, Self-Hosted Image Gallery with Chevereto

For many people, Google Photos, Flickr, and other cloud-based image hosting services are perfect for backing up photos, sharing them, and organizing them into galleries. If you’d rather use a self-hosted solution you control, or maybe use one in addition to those cloud services, Chevereto is worth a look.

Chevereto has been around for a long time—it’s not new, really, but what’s interesting about it is that the developer offers both a paid, hosted service you can sign up for on their homepage, but also Chevereto Free, an open source version of the gallery software you can download from Github (linked below) and install and run on your own web host. Best of all, they offer an installer you can run from the web, or even installation services so you can make sure your gallery is locked up tight and installed properly.

Chevereto itself is a richly featured gallery tool. You get beautiful, responsive galleries that look just as good on mobile as they do on the desktop, profiles for multiple users, an image uploader so you don’t have to do things in small batches, social features for easy image sharing (and for easy login), and feature updates as they’re available. The whole service is worth a look if you’d rather take control of your own photo library, but don’t know where to start. There’s a paid version of the self-hosted solution as well that comes with support and a few more features, so check that out too, if you’re interested in supporting the project.

Chevereto Free | GitHub via Chevereto


via Lifehacker
Roll Your Own, Self-Hosted Image Gallery with Chevereto

A Startup with the Risk Profile of an Incubator? (A WhenHub Post)

Note: If you’re a business model nerd like me, this post is likely to interest you despite the fact that it also involves a transparent promotion for my startup. However, if the normal mechanisms of capitalism feel icky to you, I understand. Feel free to skip this one. But I promise it is interesting.

The big problem with startups is that most of them fail. Still, lots of people are willing to take that risk because the upside potential is so high. Also, failing makes your odds of succeeding with the next startup much higher. It turns out that failure is an excellent teacher. But any way you look at it, startups are risky business.

Startup incubators reduce their risk by pooling a bunch of startups together and hoping that at least one is a big winner that pays for all the losers. This is similar to the concept of investing in an index fund instead of picking individual stocks. Diversification is a great way to spread risk, but the tradeoff is that the upside potential is watered down by the losers in the pack.

In a perfect world you would have the upside potential of a startup with the risk profile of an incubator. The closest anyone gets to that perfect world is an initial product and a few pivots before running out of cash. A three-pivot startup is like a mini-incubator in itself. It takes three separate swings at the ball and hopes at least one of them connects. But three swings is not many when you consider how often startups fail. Is there a business model that does better?

I hope so, because my startup WhenHub is designed from the ground up to be similar to the risk profile of an incubator but in the form of a single startup. We accomplish that by creating useful products that have universal appeal across thousands of different applications. If the public gets excited about any one of those thousands of applications, we probably have a way to monetize. 

Our startup’s domain is time, including any kind of schedule, historical timeline, curriculum, itinerary, you name it. We take those “stories” of time and turn them into interactive visualizations you can share. That means literally every human over the age of 12 has dozens of potential uses for what we do. It’s good for families, businesses, schools, and any other kind of organization. 

We like to compare WhenHub to office applications such as Word, Excel, PowerPoint and the Google equivalents. If you ask me who the target market is for any of those applications, I would say the question makes no sense. People of all types use those products for thousands of distinct reasons. WhenHub is like that, by design. 

Obviously we can’t completely match the risk profile of an incubator because we have one team of people, and ideally you want to diversify both the people and the products to get the best risk control. But our team has happily worked together for a long time, no drama, and that’s all good news. I don’t see that changing unless the people change. And we all seem happy at the moment. (Thrilled, actually. This phase is the most fun.)

WhenHub is both a Studio product that you access with your web browser plus an app that does real-time travel visualizations. Both parts of WhenHub are designed to have thousands of potential uses. 

Before designing WhenHub we met in person with some of the smartest investors in the startup world. One well-known billionaire told us he only likes startups that have the so-called network effect, and so we designed to that. WhenHub gets more valuable as more people use it, and it is hard to leave once you are in it. (Like Facebook, for example.)

One of the most successful angel investors in the country told us he likes startups that can grow without advertising, so we designed to that standard too. Our “time stories” piggyback on any headline that is already viral and we add visual appeal to make sharing attractive. For example, at the end of this post is a Whencast of the NFL Playoff season. (Sports schedules are a tiny part of what we do.)

Another famous investor told me he doesn’t like to invest in anything that a teen wouldn’t use. The WhenHub app is perfect for teens heading to casual meet-ups. And the we expect schools to be big adopters of the WhenHub scheduling features. So teens will be all over it, we hope, once we get their attention. And their parents and teachers will do that for us. The Network Effect will drag them in.

We’ll be looking for several million in funding in the next month or so. If you are a qualified investor and you want a sneak-peak at the pitch deck, you can contact me at Investor@WhenHub.com. We like advice too. 

Business reporters are welcome to use the same email if you want to hear more about our business model.

Here’s an example of how WhenHub piggybacks on current events that the public already cares about. This example is the NFL playoff schedule, but it could be any current event. You can add the schedule to your own calendar, or share with others via email, or on social media, and we will keep it updated throughout the playoffs. You can even embed it in your blog with a copy-paste to HTML, like I did below.

This map-style visualization is one of many options. click the icon in the lower right corner to see full screen. 

image

via Scott Adams’ Blog
A Startup with the Risk Profile of an Incubator? (A WhenHub Post)

US Appeals Court Revives Antitrust Lawsuit Against Apple

iPhone app purchasers may sue Apple over allegations that the company monopolized the market for iPhone apps by not allowing users to purchase them outside the App Store, leading to higher prices, a U.S. appeals court ruled. From a report on Reuters: The 9th U.S. Circuit Court of Appeals ruling revives a long-simmering legal challenge originally filed in 2012 taking aim at Apple’s practice of only allowing iPhones to run apps purchased from its own App Store. A group of iPhone users sued saying the Cupertino, California, company’s practice was anticompetitive. Apple had argued that users did not have standing to sue it because they purchased apps from developers, with Apple simply renting out space to those developers. Developers pay a cut of their revenues to Apple in exchange for the right to sell in the App Store.



Share on Google+

Read more of this story at Slashdot.

via Slashdot
US Appeals Court Revives Antitrust Lawsuit Against Apple

PHP and MySQL Basics III — Resulting Results

In the first two blogs entries on this series we set up a connection to MySQL and sent off a query. Now we need to get the data back from the database and into the application.

An Embarrassment of Riches

PHP has many options for what we want to do. But for the best place to start with was checking that rows were actually returned from a query. Below the results from a query are returned to a variable named $result. We can find out how many rows were returned from the server by examining $result->num_rows.

if (!$result = $mysqli->query($sql)) {

// Again, do not do this on a public site, but we'll show you how
// to get the error information
echo "Error: Our query failed to execute and here is why: \n";
echo "Query: " . $sql . "\n";
echo "Errno: " . $mysqli->errno . "\n";
echo "Error: " . $mysqli->error . "\n";
exit;
}

// succeeded, but do we have a result?
if ($result->num_rows === 0) {
// Oh, no rows! Sometimes that's expected and okay, sometimes
// it is not. You decide.
echo "No data returned.";
exit;
}

This is a case where a programmer needs to know their data. In some cases you will not have a record or records returned because there is no data. Other times no data returned is a sign of big problems. So you have to have some education on what you expect back, and what you do not expect back.

Example

<?php
$mysqli = new mysqli("localhost", "root", "hidave", "world_x");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

/* Select queries return a resultset */
$query="SELECT Name, CountryCode, District FROM city LIMIT 10";

if ($result = $mysqli->query($query)) {

if ($result->num_rows){
printf("Select returned %d rows.\n", $result->num_rows);

/* free result set */
$result->close();
} else {
echo "No data returned";
}
} else { // if ($result)
printf("Query failed: %s", $mysqli_error);
}

$mysqli->close();
?>

Sometime you just need the number of records, like number of outstanding customer orders. But in this case we are making sure we have some data to work with before proceedings.

So Now We Have Data

Now you have at least three choices — rare, medium, or well done. Err, make that an associative array, an array or an object. Each have their uses and it is okay to have a favorite you use more.

$query="SELECT Name, CountryCode, District FROM city LIMIT 10";

if ($result = $mysqli->query($query)) {

if ($result->num_rows){
printf("Select returned %d rows.\n", $result->num_rows);
$assoc = $result->fetch_assoc();
$row = $result->fetch_row();
$obj = $result->fetch_object();

} else {
echo "No data returned";
}
} else { // if ($result)
printf("Query failed: %s", $mysqli_error);
}

So you make you choice of method and take the results. Here we use fetch_assoc(), fetch_row(), or fetch_object(). Depending on how you want to refer to the data, you use the one that fits the situation. Of course they are similar in use.

//associated array keys = column name, data = data from DB
printf("Sample assoc array %s -> %s\n", $assoc['Name'], $assoc['CountryCode']);

// simple row
printf("Sample row array %s -> %s\n", $row[0], $row[1]);

//object
printf("Sample object %s -> %s\n", $obj->Name, $obj->CountryCode);

Yes, you need to know all three as you will be looking at old code or someone else code that does not use your favorite. And sometimes you may need an object rather than a simple row.

Full Listing

<?php
$mysqli = new mysqli("localhost", "root", "hidave", "world_x");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

/* Select queries return a resultset */
$query="SELECT Name, CountryCode, District FROM city LIMIT 10";

if ($result = $mysqli->query($query)) {

if ($result->num_rows){
printf("Select returned %d rows.\n", $result->num_rows);
$assoc = $result->fetch_assoc();
$row = $result->fetch_row();
$obj = $result->fetch_object();
} else {
echo "No data returned";
}
} else { // if ($result)
printf("Query failed: %s", $mysqli_error);
}
//associated array keys = column name, data = data from DB
printf("Sample assoc array %s -> %s\n", $assoc['Name'], $assoc['CountryCode']);

// simple row
printf("Sample row array %s -> %s\n", $row[0], $row[1]);

//object
printf("Sample object %s -> %s\n", $obj->Name, $obj->CountryCode);

$result->close();
$mysqli->close();
?>

via Planet MySQL
PHP and MySQL Basics III — Resulting Results