Wednesday, May 1, 2019

Zdraví (15. - 21.4.2019)

Strava

Výzkum z University of Illinois provedený na myších ukázal, že konzumace znovu použitého oleje může u rakoviny prsu vést až ke čtyřnásobně rychlejšímu metastázování (ve srovnání s myšmi, krmenými čistým sojovým olejem).

Nově publikovaná studie ukázala, že zvýšená konzumace omega-6 nasycených mastných kyselin snižuje riziko vzniku kardiovaskulárních onemocnění.

Lidé, kteří vynechávají snídani a večeří těsně před spánkem, mají 4 až 5 krát vyšší pravděpodobnost vzniku komplikací (vyšší riziko smrti, dalšího infarktu atd.) v následujícím měsíci po prodělaném infarktu.

I konzumace mírného množství červeného a zpracovaného masa (párky, šunka, slanina...) zvyšuje pravděpodobnost vzniku rakoviny tlustého střeva. Podle studie projektu UK Biobank je i průměrná konzumace 76 gramů červeného nebo zpracovaného masa denně, ve srovnání s průměrnou konzumací 21 gramů denně, spojena s tímto rizikem zvýšeným až o 20 procent.

Fyzická aktivita

Klidová tepová frekvence 75+ úderů za minutu ve středním věku je spojena s dvojnásobným rizikem předčasné smrti. A zvýšená klidová frekvence v 50ti je zase spojena se zvýšeným rizikem onemocnění srdce v následujících 11ti letech.

Podle výzkumu z University of California cvičení během pozdního rána vede ke zvýšenému množství kyslíku v buňkách a má na tělo více omlazující účinek než cvičení v jiných částech dne.

Podle studie z Boston University Shool Of Medicine i lehká fyzická aktivita redukuje stárnutí mozku a pomáhá uchovávat větší objem mozku. Každá hodina týdně navíc, strávená lehkou fyzickou aktivitou, je spojena s přibližně o 1,1 roku mladším mozkem.

Domácí práce také pomáhají s udržováním mladšího mozku. I lehké aktivity, které trvají pouze minutu či dvě, mají účinek. Lidé, kteří provedou alespoň 10000 kroků denně, mají ve srovnání s těmi, kteří v průměru ujdou okolo 5000 kroků, cca o 0,35 procenta větší objem mozku - tzn. o 1,75 roku mladší mozek.

Monday, April 29, 2019

IT links (22. - 28.4.2019)


Sunday, April 28, 2019

AI, ML, Robots and Brains (15.4. - 21.4.2019)

Society


Algorithms


Robots


Health


Cars


Hardware


Brains

Tuesday, April 23, 2019

IT links (15. - 21.4.2019)


Friday, April 19, 2019

AI, ML, Robots and Brains (8.4. - 14.4.2019)

Society

The rise of the killer robots – and the two women fighting back
AI must be accountable, EU says as it sets ethical guidelines
Facebook’s AI is helping to deliver health care and electricity to unmapped regions
How artificial intelligence can help in the fight against human trafficking
What you may not understand about China’s AI scene
A leading AI conference is trying to fix the field’s reproducibility crisis
7 surprising things that could change the job market by 2030
Democrats want feds to target the 'black box' of AI bias
This newsletter was not written by a robot*
Google takes on 'Africa's challenges' with first AI centre in Ghana

Algorithms

Two rival AI approaches combine to let machines learn about the world like a child
Using artificial intelligence to understand collective behavior
New technique cuts AI training time by more than 60 percent
New algorithm helps to detect and analyze suspicious activity in surveillance footage
How machine learning can help regulators
First machine-generated book published
Scientists improve cycling performance of Al-based batteries with high areal density cathode
'Deep learning' casts wide net for novel 2-D materials
Machine learning algorithm predicts who will be left standing in 'Game of Thrones'
AI agent offers rationales using everyday language to explain its actions
Artificial intelligence singles out neurons faster than a human can

Robots

Can robots build a Moon base for astronauts? Japan hopes to find out.
Robots created with 3D printers could be caring for those in golden years
Team develops robotic machine vision solution for shiny objects
Meet Blue, the low-cost, human-friendly robot designed for AI
Walmart robot janitors will mop floors, scan shelves, sort items and more
Alphabet’s drone division has launched its first public delivery service
Robots to the rescue of the Great Barrier Reef
This robot can sort recycling by giving it a squeeze
A robot has figured out how to use tools

Health

AI identifies risk of cholesterol-raising genetic disease, Stanford-led study finds
An AI Firm Wants to Predict Costly Pharma Flops

Cars

This compact and cheap lidar could steer small autonomous vehicles
Ford is realizing that the self-driving car market is not as simple as it thought
Italy's Motown Opens Its Roads to Autonomous-Vehicle Testing
A user's guide to self-driving cars
Tesla’s inclusion of Autopilot on every car unravels a long-term Full Self-Driving strategy
Self-Driving Light Trucks Will Be Allowed on California Roads

Hardware

Qualcomm Announces New AI Chip for Cloud Data Center Servers

Brains

I feel you: Emotional mirror neurons found in the rat
'Mindreading' neurons simulate decisions of social partners
Team Linked to Elon Musk Edges Closer to Brain Computers

Thursday, April 18, 2019

IT links (8. - 14.4.2019)


Monday, April 15, 2019

Removing duplicate links in Feedly with own Chrome extension

As an info junkie, I am interested in a broad range of topics, able to go through hundreds of links each day. Feedly is allowing me to do it via my cell phone and computer easily.

But when you are following a bigger number of RSS channels, you start to notice duplicate links, pointing to the same articles:


And this can be sometimes pretty annoying.

So, I decided, as a software developer, to get rid of such duplications. I decided to implement a Chrome extension for that because it looks like the most straightforward approach. I also wanted to try it, because I never implemented such an extension before. So, this article can serve as a short tutorial on how to make it.


Basic extension structure



The main file here is manifest.json. It contains metadata related to an extension, like name, description, the extension icon (representing the extension in Chrome's extensions panel), or permissions it needs.



Content and background scripts


There is a possibility to display HTML popup in case a user clicks on the extension icon, but we are not going to need it here. We just need to trigger action that detects duplicate links and removes them.

For this purpose, two separate types of scripts are needed. The first one - background script in Chrome extension development terms - handles the icon click event. Background scripts (defined in background.scripts property of manifest.json file) have access to Chrome API (and thus access to the click event), but cannot access the content of a page.

The second type of scripts - content scripts - have access to page content. These are defined in content_scripts property of the manifest. They are injected into the code of every visited page (if you do not specify any restrictions) and interact with the content.

We want to have a script injected to the Feedly page only in our case. This restriction is defined in content_scripts property - in matches array.

These two types of scripts are separating extension logic from access to page content. But to make it work together another piece of functionality is needed - message passing.

We can see how this works on the example of two scripts from Feedly Unique extension. The first one represents background script - handles Feedly Unique icon click event - sends clicked_feedly_unique message:

The message is then handled by event listener on the content script side:


This script also contains the algorithm for duplicates removal.


Loading the extension into your browser


And now, how to use it in your Chrome browser?

The first thing you need to do is to turn on developer mode in your Chrome - just enter Extensions page (chrome://extensions/) and toggle Developer mode switch in the upper-right corner.

Then click the Load unpacked button (upper-left corner) and select your extension code folder on your local machine.

The plugin is then displayed on Extensions page together with other installed plugins:


For each change, you do to your extension code a reload button highlighted above must be clicked.

Background page link enables you to access the Chrome developer tools window of background scripts. So, you can spot errors or see debug logs of the scripts there. This information is not visible in the developer tools window of a page where a plugin functionality should be applied.

Content scripts stuff only should be visible in the developer tools window of a particular page.

You should see and access the plugin in Google Chrome's extensions panel after load into Chrome:



Feedly Unique and future improvements


The Code of extension that I developed is available on GitHub here.

There are some additional features that could be included in the extension, like automatic scrolling down to load all available links, triggering title-only view and sorting from the oldest to newest (both needed for the proper working of the extension).

Now you need to do all these changes manually before you run the extension.

Saturday, April 13, 2019

AI, ML, Robots and Brains (1.4. - 7.4.2019)

Society


Algorithms


Health


Hardware


Robots


Cars


Brains

Wednesday, April 10, 2019

IT links (1.4. - 7.4.2019)


Thursday, April 4, 2019

AI, ML, Robots and Brains (25.3. - 31.3.2019)

Society


Algorithms


Health


Hardware


Robots


Cars


Brains

Tuesday, April 2, 2019

IT links (25.3. - 31.3.2019)

Oracle revealed in a presentation on 21st March that future Java development will focus on improving language and runtime support for big data, machine learning, and cloud-native workloads.

Couple of days ago (19th March) JDK 12 was released.
This release contains (in preview mode) for example really nice simplification of switch statements - switch expressions.

This reminds me one simple lightweight web framework that I discovered recently, Javalin. Look at simple Hello World example:

Javalin app = Javalin.create()
  .port(7000)
  .start();
app.get("/hello", ctx -> ctx.html("Hello, Javalin!"));

The server starts at port 7000 and call to "/hello" returns the message.

But I am missing raw String literals from recent Java release, hopefully they will be included in JDK 13.

Anyway, there is a nice approach how to deal with long Strings, simply with String.join call:

String.join(System.getProperty("line.separator"),
       "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",
       "Nullam at arcu a est sollicitudin euismod.",
       "Class aptent taciti sociosqu ad litora torquent per conubia nostra.");

And more interesting things are to come - one really interesting improvement, that could be included in JDK 13 release, are better default messages for the most common Java exception, NullPointerException.

Spring Framework celebrated the 15th anniversary of its first release on 25th March

27th March - IntelliJ IDEA 2019.1 was released. Adds functionality like Themes customization (I am so far happy with my Darcula theme), and support for already mentioned switch expressions.
Another for me interesting functionality is for example improved Maven Diagrams for dependencies check and ability to cherry-pick only some of the files right from the VCS log.

Wednesday, February 6, 2019

AI, ML, Robotics Tracker (21.1. - 27.1.2019)

Society

AI is sending people to jail—and getting it wrong
Biased algorithms: here's a more radical approach to creating fairness
Building ethically aligned AI
To protect us from the risks of advanced artificial intelligence, we need to act now
A Game-Changer?: The U.S. Navy Wants Robotic Warships
A.I. Demilitarisation Won’t Happen
Microsoft Seeks to Restrict Abuse of its Facial Recognition AI
Researchers say Amazon face-detection technology shows bias
Three charts show how China’s AI industry is propped up by three companies
$3 Billion Google-Backed AI Unicorn UiPath Set to Achieve Revenue Growth of 5614%
'AI' to hit hardest in U.S. heartland and among less-skilled: study
How AI is changing knowledge work: MIT’s Thomas Malone
We analyzed 16,625 papers to figure out where AI is headed next

Cars, Mobility

Uber Is Open to Outside Investment Into Self-Driving Car Unit
Waymo says it will build self-driving cars in Michigan
Apple self-driving car layoffs are a nod to reality
Crowdsourced maps should help driverless cars navigate our cities more safely
Boeing’s electric autonomous passenger air vehicle just had its first flight
Self-driving cars: why we can't expect them to be 'moral'

Robots

The robot AI dog that will keep an eye on children and the elderly
Starship officially releases 25 autonomous delivery robots into the wild
Meet Amazon Scout, a delivery robot with a human chaperone (for now)
Interactive control to guide industrial robots
One year into the mission, autonomous ocean robots set a record in survey of Antarctic ice shelf
Why NVIDIA Is Doubling Down on Home Robotics

Algorithms

An algorithm that mimics our tribal instincts could help AI learn to socialize
Erosion in wind turbine blades solved with the help of artificial intelligence
Machine learning in action for the humanitarian sector
New technology for machine translation now available
Researcher using computer vision, machine learning to ensure the integrity of integrated circuits
AI tested at Heathrow could prevent plane delays in bad weather
Information theory holds surprises for machine learning
Physicists use supercomputers and AI to create the most accurate model yet of black hole mergers
DeepMind’s new AI just beat top human pro-gamers at Starcraft II for the first time
Identifying artificial intelligence 'blind spots'
AI Scholar: Chatbots that improve after deployment
Machine Learning Security

Health

Can artificial intelligence help doctors and patients have better conversations?
Artificial intelligence can dramatically cut time needed to process abnormal chest X-rays