Feed aggregator

Security updates for Thursday

LWN Headlines -

Security updates have been issued by Arch Linux (chromium and nss), CentOS (bind and qemu-kvm), Debian (firefox-esr, ghostscript, hunspell-en-us, and uzbek-wordlist), Fedora (php-onelogin-php-saml), openSUSE (bind, gstreamer-plugins-good, and xen), Red Hat (bind, firefox, nss, nss and nss-util, and nss-util), and SUSE (ruby2.1).

Physicists Observe 'Negative Mass'

Slashdot -

Physicists have created a fluid with "negative mass," which accelerates towards you when pushed. From a report on BBC: In the everyday world, when an object is pushed, it accelerates in the same direction as the force applied to it; this relationship is described by Isaac Newton's Second Law of Motion. But in theory, matter can have negative mass in the same sense that an electric charge can be positive or negative. Prof Peter Engels, from Washington State University (WSU), and colleagues cooled rubidium atoms to just above the temperature of absolute zero (close to -273C), creating what's known as a Bose-Einstein condensate. In this state, particles move extremely slowly, and following behaviour predicted by quantum mechanics, acting like waves. They also synchronise and move together in what's known as a superfluid, which flows without losing energy.

Read more of this story at Slashdot.

Zivtech: Empowering Drupal 8 Content Editors with EVA: Attach All the Displays!

Drupal Planet -

Entity Views Attachment, or EVA, is a Drupal module that allows you to attach view displays to entities of your choosing. We used it recently on a project and loved it. You know it’s good because it has a no-nonsense name and an even better acronym. (Plus, the maintainers have taken full advantage of the acronym and placed a spaceman on the project page. Nice!)

Since the now-ubiquitous Paragraphs module provides the “paragraph” entity type, I figured these two will make good dancing partners.

Getting them to tango is simple enough. You create a paragraph bundle, target that bundle in the settings on an EVA view display, then arrange the view in the paragraph’s display settings. Voila – your view display shows up wherever you add this paragraph!

By attaching a view display to a paragraph entity and enabling that paragraph on a node’s paragraph reference field, you give your content editors the ability to place a view wherever they want within their page content. Better still, they can contextualize what they are doing since this all happens in the edit form where the rest of the node content lives. As far as I can tell, no other approach in the Drupal ecosystem (I’m looking at you Blocks and Panels) makes adding views to content this easy for your editors.

Case Study

The concept is pretty straightforward, but with a little cleverness it allows you to build some complex page elements. Let’s walk through an example. Consider the following design:

This mockup represents Section nodes and lists of Subpage nodes that reference them. In addition, the buttons links should point to the parent Section node. With a little elbow grease, we can build a system to output this with our friends EVA and Paragraphs.

Here’s how I’m breaking this down conceptually:

We have three things to build:

  1. A create a container paragraph bundle

  2. A child paragraph bundle with a Section entity reference field

  3. An EVA of subpages to attach to the child paragraph bundle

Building the Subpage EVA

As I mentioned before, Subpage nodes will reference Section nodes. With this in mind, we can build the EVA that lists subpages and expects a section node ID to contextually filter to subpages that reference that node.

Building the Section paragraph type

Next, we’ll create the Section paragraph type that will handle each grouping of a section node with its related subpages. The Section paragraph will have one field, an entity reference field limited to Section nodes, that gives us all the data we need from our section.

We’ll attach our EVA to this paragraph type and configure it to pass the referenced node’s ID as the contextual filter using tokens in the EVA settings. You will need to install the Token module to do this. Go to /admin/help/token to see all available tokens once installed. You need to grab the node ID through your entity reference field, so your token argument should look something like this:

[paragraph:field_node_reference:entity:nid]

We pass that token to our contextual filter, and we can tell our view to use that argument to create a link to the section node for our “View All Subpages” link. To do this, we’ll add a global text area to the view footer and check the “Use replacement tokens from the first row” checkbox. Then we’ll write some HTML to create a link. It’ll look something like this:

<a href="/node/{{ raw_arguments.nid }}">View all Subpages</a> Building the Section List paragraph type

Lastly, we’ll create the Section List paragraph type. This only really needs a paragraph reference field that only allows the user to add Section paragraphs, but I also added a title field that will act as a header for the whole list.

Tip: Install Fences module to control your field’s wrapper markup. I used this here to wrap the title in <h2> tags.

We’re finished!

Now that everything is built, we can allow users to select the Section List paragraph type in a paragraph reference field of our choosing. A user adds a Section List, then adds Sections via the entity reference. It looks like this in the node edit form:

Do you have any cool ways you use the EVA module in your builds? Let us know in the comments section below.

China To Question Apple About Live-Streaming Apps On App Store That Violate Internet Regulations

Slashdot -

Three Chinese government agencies are planning to tell Apple to "tighten up checks" on live-streaming software offered on its app store, which can be used to violate internet regulation in the country. "Law enforcement officers had already met with Apple representatives over live-streaming services, [state news agency Xinhua reported], but did not provide details of the meetings," reports The Guardian. From the report: The inquiry appears to be focused on third-party apps available for download through Apple's online marketplace. The company did not respond to requests for comment. China operates the world's largest internet censorship regime, blocking a host of foreign websites including Google, Facebook, Twitter and Instagram, but the authorities have struggled to control an explosion in popularity of live-streaming video apps. As part of the inquiry into live-streaming, three Chinese websites -- toutiao.com, huoshanzhibo.com and huajiao.com -- were already found to have violated internet regulations, and had broadcast content that violated Chinese law, including providing "pornographic content," the Xinhua report said. Pornography is banned in China. The three sites were told to increase oversight of live-broadcasting services, user registration and "the handling of tips-offs." Two of the websites, huoshanzhibo.com and huajiao.com, were under formal investigation and may have their cases transferred to the police for criminal prosecutions, the Xinhua report said. Casting a wide net, the regulations state that apps cannot "engage in activities prohibited by laws and regulations such as endangering national security, disrupting social order and violating the legitimate rights and interests of others."

Read more of this story at Slashdot.

Evolving Web: Migrate translations from CSV, JSON or XML to Drupal 8

Drupal Planet -

In my last post, I showed you how to migrate translated content from Drupal 6 to Drupal 8. But clients often don't start with their data in Drupal 6. Instead there's some other source of data that may include translations, like a CSV spreadsheet. In this article, I'll show you how to migrate multilingual content from such sources to Drupal 8.

This article would not have been possible without the help of my colleague Dave. Gracias Dave!

The problem

We have two CSV files containing some data about chemical elements in two languages. One file contains data in English and the other file, in Spanish. Our goal is to migrate these records into a Drupal 8 website, preserving the translations.

Before we start
  • Since this is an advanced migration topic, it is assumed you already know the basics of migration.
  • To execute the migrations in this example, you can download the migrate example i18n. The module should work without any trouble for a standard Drupal 8 install. See quick-start for more information.
Migrating JSON, XML and other formats

Though this example shows how to work with a CSV data source, one can easily work with other data sources. Here are some quick pointers:

  • Find and install the relevant migrate source module. If you do not have a standard source module available, you can:
    • try converting your data to a supported format first.
    • write your own migration source plugin, if you're feeling adventurous.
  • Modify the migration definitions to include custom parameters for the data source.
  • Some useful source formats are supported by these projects:
The module

To write the migrations, we create a module—in our case, it is named migrate_example_i18n. There's nothing special about the module declaration except for the dependencies:

How to migrate translations

    Before we start writing migrations, it is important to mention how Drupal 8 translations work. In a nutshell:

    • First, we create content in its base language, say in English. For example, we could create a brand new node for the element Hydrogen, which might have a unique node ID 4.
    • Now that the base node is in place, we can translate the node, say to Spanish. Unlike some previous versions of Drupal, this won't become a new node with its own node ID. Instead, the translation is saved against the same node generated above, and so will have the same node ID—just a different language setting.

    Hence, the migration definition for this example includes the following:

    • We migrate the base data in English using in example_element_en migration.
    • We migrate the Spanish translations using the example_element_es migration, and link each translation to the original English version.
    • We group the two migrations in the example_element migration group to keep things clean and organized.

    Thus, we can execute the migrations of this example with the command drush migrate-import --group=example_element.

    Warning

    Note that this plan only works because every single node we are importing has at least an English translation! If some nodes only existed in Spanish, we would not be able to link them to the (non-existent) original English version. If you encounter data like this, you'll need to handle it in a different way.

    Step 1: Element base migration (English)

    To migrate the English translations, we define the example_element_en migration. Here is a quick look at some important parameters used in the migration definition.

    Source source: plugin: csv path: 'element.data.en.csv' header_row_count: 1 keys: - Symbol fields: Name: 'Name' Symbol: 'Symbol' 'Atomic Number': 'Atomic number' 'Discovered By': 'Name of people who discovered the element' constants: lang_en: en node_element: 'element'
    • plugin: Since we want to import data from a CSV file, we need to use the csv plugin provided by the migrate_source_csv module.
    • path: Path to the CSV data source so that the source plugin can read the file. Our source files for this example actually live within our module, so we modify this path at runtime using hook_migration_plugins_alter() in migrate_example_i18n.module.
    • header_row_count: Number of initial rows in the CSV file which do not contain actual data. This helps ignore column headings.
    • keys: The column(s) in the CSV file which uniquely identify each record. In our example, the chemical symbol in the column Symbol is unique to each row, so we can use that as the key.
    • fields: A description for every column present in the CSV file. This is used for displaying source details in the UI.
    • constants: Some static values for use during the migration.
    Destination destination: plugin: 'entity:node'
    • plugin: Nothing fancy here. We aim to create node entities, so we set the plugin as entity:node.
    • translations: Since we are importing the content in base language, we do not specify the translations parameter. This will make Drupal create new nodes for every record.
    Process process: type: constants/node_element title: Name langcode: constants/lang_en field_element_symbol: Symbol field_element_discoverer: plugin: explode delimiter: ', ' source: Discovered By

    This is where we map the columns of the CSV file to properties of our target nodes. Here are some mappings which require a special mention and explication:

    • type: We hard-code the content type for the nodes we wish to create, to type element.
    • langcode: Since all source records are in English, we tell Drupal to save the destination nodes in English as well. We do this by explicitly specifying langcode as en.
    • field_element_discoverer: This field is a bit tricky. Looking at the source data, we realize that every element has one or more discoverers. Multiple discoverer names are separated by commas. Thus, we use plugin: explode and delimiter: ', ' to split multiple records into arrays. With the values split into arrays, Drupal understands and saves the data in this column as multiple values.

    When we run this migration like drush migrate-import example_element_en, we import all the nodes in the base language (English).

    Step 2: Element translation migration (Spanish)

    With the base nodes in place, we define a migration similar to the previous one with the ID example_element_es.

    source: plugin: csv path: 'element.data.es.csv' header_row_count: 1 keys: - 'Simbolo' constants: lang_en: en # ... destination: plugin: 'entity:node' translations: true process: nid: plugin: migration source: Simbolo migration: example_element_en langcode: constants/lang_es content_translation_source: constants/lang_en # ... migration_dependencies: required: - example_element_en

    Let us look at some major differences between the example_element_es migration and the example_element_en migration:

    • source:
      • path: Since the Spanish node data is in another file, we change the path accordingly.
      • keys: The Spanish word for Symbol is Símbolo, and it is the column containing the unique ID of each record. Hence, we define it as the source data key. Unfortunately, Drupal migrate support keys with non-ASCII characters such as í (with its accent). So, as a workaround, I had to remove all such accented characters from the column headings and write the key parameter as Simbolo, without the special í.
      • fields: The field definitions had to be changed to match the Spanish column names used in the CSV.
    • destination:
      • translations: Since we want Drupal to create translations for English language nodes created during the example_element_en migration, we specify translations: true.
    • process:
      • nid: We use the plugin: migration to make Drupal lookup nodes which were created during the English element migration and use their ID as the nid. This results in the Spanish translations being attached to the original nodes created in English.
      • langcode: Since all records in element.data.es.csv are in Spanish, we hard-code the langcode to es for each record of this migration. This tells Drupal that these are Spanish translations.
      • content_translation_source: Each translation of a Drupal node comes from a previous translation—for example, you might take the Spanish translation, and translate it into French. In this case, we'd say that Spanish was the source language of the French translation. By adding this process step, we tell Drupal that all our Spanish translations are coming from English.
    • migration_dependencies: This ensures that the base data is migrated before the translations. So to run this migration, one must run the example_element_en migration first.

    Voilà! Run the Spanish migration (drush migrate-import example_element_es) and you have the Spanish translations for the elements! We can run both the English and Spanish migration at once using the migration group we created. Here's how the output should look in the command-line:

    $ drush migrate-import --group=example_element Processed 111 items (111 created, 0 updated, 0 failed, 0 ignored) - done with 'example_element_en' Processed 105 items (105 created, 0 updated, 0 failed, 0 ignored) - done with 'example_element_es'

    If we had another file containing French translations, we would create another migration like we did for Spanish, and import the French data in a similar way. I couldn't find a CSV file with element data in French, so I didn't include it in this example—but go try it out on your own, and leave a comment to tell me how it went!

    Next steps + more awesome articles by Evolving Web

    95% Engineers in India Unfit For Software Development Jobs: Report

    Slashdot -

    An anonymous reader shares a report: Talent shortage is acute in the IT and data science ecosystem in India with a survey claiming that 95 percent of engineers in the country are not fit to take up software development jobs. According to a study by employability assessment company Aspiring Minds, only 4.77 percent candidates can write the correct logic for a programme -- a minimum requirement for any programming job. Over 36,000 engineering students form IT related branches of over 500 colleges took Automata -- a Machine Learning based assessment of software development skills -- and over 2/3 could not even write code that compiles.

    Read more of this story at Slashdot.

    No, Millennials Aren't a Bunch of Job-Hopping Flakes

    Slashdot -

    From a report: Today, Pew researchers published findings that refute yet another stereotype about millennials that actual millennials find infuriating: the idea that they're job-hopping more often than other generations. According to Pew's analysis of recent government data, "college-educated millennials are sticking with their jobs longer than their Gen X counterparts."

    Read more of this story at Slashdot.

    Dropsolid: Making a difference, One Drupal security patch at a time

    Drupal Planet -

    20 Apr Making a difference, one Drupal security patch at a time Nick Advisory by the Drupal security team

    Recently, the References module started receiving some attention (read here, here and here). The reason for this is that the Drupal security team posted an advisory to migrate away from the References module for Drupal 7 and move to the entity_reference module. At the time of writing (20 April), 121.091 sites are actively reporting to Drupal.org that they are using this module. That makes for a lot of unhappy developers.

    Things kicked off after a security vulnerability was discovered in the References module. The security team tried to contact the existing maintainers of that module, but there was no response. The security team had no choice but to mark the module as abandoned and send out the following advisory explaining that the details would be made public in a month and that everyone should upgrade, as there was no fix available.

    Migrate efficiently

    At Dropsolid, we noticed that for many of our older Drupal 7 installs we were still using this module extensively. Migrating all of the affected sites would have meant a very lengthy undertaking, so I was curious to find a way to spend less time and effort while still fixing the problem. We immediately contacted one of the people who reported the security issue and tried to get more information other than what was publicly available. That person stayed true to the rules and did not disclose any information about the issue.

    We didn’t give up, but made an official request to the security team offering to help and requesting access to the security vulnerability issue. The Drupal security team reviewed the request and granted me access. In the Drupal Security issue queue there was some historical information about this vulnerability, some answers and a proposed patch. The patch had not been tested, but this is where Dropsolid chimed in. After extensively testing the patch on all the different scenarios on an actual site that was vulnerable, we marked the issue as Reviewed and Tested by the Community (RTBC) and stepped up maintain the References module for future security issues.

    It pays off to step in

    I’d like to thank Niels Aers, one of my colleagues, as his involvement was critical in this journey and he is now the current maintainer of this module. He jumped straight in without hesitation. In the end, we spent less time fixing the actual issue compared to the potential effort for changing all our sites to use a different module. So remember: you can also make a similar impact to the Drupal community by stepping up when something like this happens. Do not freak out, but think how you can help your clients, company and career by fixing something for more than just you or your company.

    CodeSOD: ByteBool

    The Daily WTF -

    Tony Hoare has called null references his “billion dollar mistake”. Dealing with nulls and their consequences have created a large number of bugs, and eaten a lot of developer time. It’s certainly bad enough when you understand nulls and why they exist, but Benjamin Soddy inherited code from someone who absolutely didn’t.

    First, there’s our new type, the ByteBool:

    public enum ByteBool { IsFalse, IsTrue, IsNull }

    Not quite FileNotFound territory. Based on this code alone, you might think that this is some legacy .NET 1.1 code, back before .NET had nullable value types, and thus there was no way to set a boolean to null.

    You’d be wrong, however. Because as a sibling to ByteBool, we have the class NullHelper:

    public class NullHelper { /// <summary> /// Like the Helper.GetSafeInteger but returns a negative one instead of zero which may be a valid number /// </summary> /// <param name="value">The value.</param> /// <returns></returns> public static int ConvertNullableInt(int? value) { if (value.HasValue) { return value.Value; } else { return -1; } } /// <summary> /// Like the Helper.GetSafeInteger but returns a negative one instead of zero which may be a valid number /// </summary> /// <param name="value">The value.</param> /// <returns></returns> public static int? ConvertBackToNullableInt(int value) { if (value != -1) { return (int?)value; } else { return null; } } /// <summary> /// Converts the null bool to byte bool. /// </summary> /// <param name="boolean">The boolean.</param> /// <returns></returns> public static ByteBool ConvertNullBoolToByteBool(bool? boolean) { if (boolean.HasValue) { return (boolean.Value ? ByteBool.IsTrue : ByteBool.IsFalse); } else { return ByteBool.IsNull; } } /// <summary> /// Converts the byte bool to null bool to. /// </summary> /// <param name="byteBool">The byte bool.</param> /// <returns></returns> public static bool? ConvertByteBoolToNullBoolTo(ByteBool byteBool) { switch (byteBool) { case ByteBool.IsFalse: return false; break; case ByteBool.IsTrue: return true; break; case ByteBool.IsNull: return null; break; default: return false; break; } } }

    I’m no expert on the subject, but the comments alone read to me like poetry.

    Like the Helper.GetSafeInteger,
    but returns a negative one instead of zero which may be a valid number,
    the value,
    Like the Helper.GetSafeInteger,
    but returns a negative one instead of zero which may be a valid number,
    the value,
    Converts the null bool to byte bool,
    the boolean,
    Converts the byte bool to null bool to,
    the byte bool

    Benjamin junked this code, but ByteBool is still a legend around his office. “Are you sure you aren’t ByteBooling this?” is the polite way of saying “your code is bad and you should feel bad” during code-reviews. “I found a ByteBool,” is called out when someone trawls through legacy code, in the same tone of voice as a lifeguard finding a “floater” in the pool.

    hljs.initHighlightingOnLoad(); [Advertisement] Manage IT infrastructure as code across all environments with Puppet. Puppet Enterprise now offers more control and insight, with role-based access control, activity logging and all-new Puppet Apps. Start your free trial today!

    Qualcomm Collected Partial iPhone Royalties Despite Legal Battle With Apple

    Slashdot -

    From a report: Qualcomm continued to collect some royalties for Apple's use of its wireless technology in iPhones last year despite dueling lawsuits between the two mobile giants, cheering Qualcomm investors who feared that the payments had entirely dried up. Qualcomm said on Wednesday that Apple's contract manufacturers including Foxconn paid royalties, although they withheld around $1 billion from the undisclosed total amount due. The amount withheld equaled the amount Qualcomm withheld from Apple last year under a separate agreement to cooperate on mobile technology that has since expired.

    Read more of this story at Slashdot.

    Pronovix: Documenting web APIs with the Swagger / OpenAPI specification in Drupal

    Drupal Planet -

    As part of our work to make Drupal 8 the leading CMS for developer portals, we are implementing a mechanism to import the OpenAPI (formerly known as Swagger) specification format. This is a crucial feature not only for dedicated developer portals, but also for all Drupal sites that are exposing an API. Now that it has become much easier to create a RESTful API service in Drupal 8, the next step is to make it more straightforward to create its API reference documentation. That is why we think our work will be useful for site builders, and not just for technical writers and API product owners.

    South Indian Frog Oozes Molecule That Inexplicably Decimates Flu Viruses

    Slashdot -

    An anonymous reader quotes a report from Ars Technica: From the slimy backs of a South Indian frog comes a new way to blast influenza viruses. A compound in the frog's mucus -- long known to have germ-killing properties -- can latch onto flu virus particles and cause them to burst apart, researchers report in Immunity. The peptide is a potent and precise killer, able to demolish a whole class of flu viruses while leaving other viruses and cells unharmed. But scientists don't know exactly how it pulls off the viral eviscerations. No other antiviral peptide of its ilk seems to work the same way. The study authors, led by researchers at Emory University, note that the peptide appears uniquely nontoxic -- something that can't be said of many other frog-based compounds. Thus, the peptide on its own holds promise of being a potential therapy someday. But simply figuring out how it works could move researchers closer to a vaccine or therapy that could take out all flus, ditching the need for yearly vaccinations for each season's flavor of flu.

    Read more of this story at Slashdot.

    States Are Moving To Cut College Costs By Introducing Open-Source Textbooks

    Slashdot -

    In an effort to curb the rising cost of textbooks, which went up by 88% between 2006 and 2016, according to the U.S. Bureau of Labor Statistics, Maryland and New York have announced initiatives that adopt open-source, copyright-free textbooks. The initiatives will reward colleges who adapt or scale the use of OER (open educational resources) -- "materials like electronic textbooks that typically use licenses that are far less restrictive than traditional, copyrighted textbooks," reports Quartz. From the report: The University System of Maryland recently announced that it would be giving out 21 "mini-grants" to seven community colleges and five public four-year schools. The grants will go to "faculty who are adopting, adapting or scaling the use of OER [open educational resources] in Fall 2017 through high-enrollment courses where quality OER exists," according to the announcement. Although the mini-grants are only $500 to $2,500 each, the effort in Maryland is expected to save 8,000 students up to $1.3 million in the Fall 2017 semester alone. That's a significant amount, but just a drop in the bucket of what students in the state spend on textbooks each year. Another big investment in open educational resources came in the budget passed in New York state last week. The news was somewhat buried by the fact that the budget includes free tuition for New York students whose families make up to $125,000 a year, but the state will also be putting $8 million into open source materials over the next fiscal year.

    Read more of this story at Slashdot.

    marvil07.net: Re-activating Vote Up/Down

    Drupal Planet -

    Vote Up/Down is a drupal module that uses Voting API to provide a way to vote.
    These notes are about part of the history of the module, and the recent news about it, including a couple of releases!

    A long time ago...

    The project itself is really ancient, it started in 2006 by frjo, in Drupal 4.7, and the same code has evolved until Drupal 7.
    I took co-maintainership of the project around 2009-2010, when I met with lut4rp, at the time the one maintainer of the project; who made a rewrite to modularize it at the start of 6.x-2.x.
    At that time we were still using CVS officially (and some of us git locally), and we were thrilled to receive and integrate a patch from merlinofchaos, that extended the module a lot, and make it more maintainable.
    With the past of the time, I became the only active maintainer of the module.

    At the start I was pretty active as a maintainer there; but over the years, I have not been responsive enough, especially around the D7 port.
    During that time the community provided several patches and finally amitaibu created a sandbox, that I end up integrating into the project.
    Also, I managed to write another submodule, vud_field, in that process.
    For me it was clear, I advocated to remove vud_node, vud_term, and vud_comment form the project in favour of vud_field.
    From my perspective it was more beneficial: (a) vud_field provided mostly the same functionality on nodes, taxonomy terms, and comments; but also (b) provided voting on any entity, embracing D7 new APIs; and also (c) made things more maintainable.
    Sadly, the removal did not happened at that time, and that was one of the reasons why D7 version was never out of alpha status.

    Recent news

    After quite some time of inactivity in vote_up_down, this January, I started to port the module to D8, but I only started: only 4 porting commits got into the new 8.x-1.x branch.

    Then, I decided to add a GSoC project as student's suggestion to port Vote Up/Down to D8 for this year.

    In preparation, this week I have branched out D7 into two different versions 7.x-1.x and 7.x-2.x, adding respective releases to make things more clear:

    • 7.x.1-x (with 7.x-1.0-beta1 release): It still keeps all submodules, but it is not planned to be maintained for much longer anymore. I applied there all related code pending about vud_node, vud_comment, and vud_term.
    • 7.x-2.x (with 7.x-2.0 release): Instead, it only contains vud and vud_field, and it is planned to be maintained as the stable branch. Sadly there in not a complete upgrade path neither from 6.x-2.x nor from 7.x-1.x, but I added some starting code to do that on the related issue #1363928, and maybe someone would like to continue that.

    Hopefully one of the students proposing the port to Vote Up/Down to D8 gets accepted.
    It will be great to see the module active again!

    Etiquetas:

    First Evidence For Higher State of Consciousness Found

    Slashdot -

    New submitter baalcat quotes a report from Neuroscience News: Neuroscientists observed a sustained increase in neural signal diversity -- a measure of the complexity of brain activity -- of people under the influence of psychedelic drugs, compared with when they were in a normal waking state. The diversity of brain signals provides a mathematical index of the level of consciousness. For example, people who are awake have been shown to have more diverse neural activity using this scale than those who are asleep. This, however, is the first study to show brain-signal diversity that is higher than baseline, that is higher than in someone who is simply "awake and aware." Previous studies have tended to focus on lowered states of consciousness, such as sleep, anesthesia, or the so-called "vegetative" state. For the study, Michael Schartner, Dr Adam Barrett and Professor Seth of the Sackler Center reanalyzed data that had previously been collected by Imperial College London and the University of Cardiff in which healthy volunteers were given one of three drugs known to induce a psychedelic state: psilocybin, ketamine and LSD. Using brain imaging technology, they measured the tiny magnetic fields produced in the brain and found that, across all three drugs, this measure of conscious level -- the neural signal diversity -- was reliably higher. The findings have been published in Scientific Reports.

    Read more of this story at Slashdot.

    Navy, Marines Prohibit Sharing Nude Photos In Wake of a Facebook Scandal

    Slashdot -

    An anonymous reader quotes a report from Fortune: The Navy and Marine Corps issued new regulations that ban members from sharing nude photographs following a scandal involving military personnel sharing intimate pictures of their female colleagues -- some of which were taken without their knowledge -- in a secret Facebook group. The new statute, which was signed Tuesday by Acting Navy Secretary Sean Stackley, went into effect immediately and will be made permanent when the next edition of the Navy's regulations is printed, according to Navy Times. Military courts will handle violations of the new rule. The crackdown comes after a Facebook group was uncovered featuring naked photos of female service members. The group was eventually shut down by Facebook after a request from the Marine Corps. The Center for Investigative Reporting found that some of the photographs posted on the Facebook group may have been taken consensually, but others may not have been.

    Read more of this story at Slashdot.

    Ask Slashdot: What Are Good Books On Inventing, Innovating and Doing R&amp;D?

    Slashdot -

    dryriver writes: I've signed up to a project that involves inventing new ways to do things and also performing the technology R&D required to make these new ways a reality. So, dear Slashdotters, are there any good books on inventing, innovating or doing R&D? Books that describe different ways to approach inventing/R&D? Books on managing a team effort to invent, innovate and research? Or even good books about the history of past inventions -- how they were created, why they were created, how and why they succeeded or failed in the real world? Thanks!

    Read more of this story at Slashdot.

    Mediacurrent: Debug Drupal PHP in Vim with Vdebug

    Drupal Planet -

    I know quite a few developers that love Vim but think they have to use an IDE to be able to debug their applications. In this post I will show you how to set up Vim as a Xdebug client.

    The Vdebug plugin for Vim provides a way to do debugging inside Vim using the tools that Vim provides to great advantage. As the project page says,

     

    Pages

    Subscribe to Heydon Consulting aggregator