• Àâòîðèçàöèÿ


Daniel Pocock: Powering a ham radio transmitter rss_planet_mozilla 07-05-2018 11:04


Last week I announced the crowdfunding campaign to help run a ham radio station at OSCAL. Thanks to all those people who already donated or expressed interest in volunteering.

Modern electronics are very compact and most of what I need to run the station can be transported in my hand luggage. The two big challenges are power supplies and antenna masts. In this blog post there are more details about the former.

Here is a picture of all the equipment I hope to use:

The laptop is able to detect incoming signals using the RTL-SDR dongle and up-converter. After finding a signal, we can then put the frequency into the radio transmitter (in the middle of the table), switch the antenna from the SDR to the radio and talk to the other station.

The RTL-SDR and up-converter run on USB power and a phone charger. The transmitter, however, needs about 22A at 12V DC. This typically means getting a large linear power supply or a large battery.

In the photo, I've got a Varta LA60 AGM battery, here is a close up:

There are many ways to connect to a large battery. For example, it is possible to use terminals like these with holes in them for the 8 awg wire or to crimp ring terminals onto a wire and screw the ring onto any regular battery terminal. The type of terminal with these extra holes in it is typically sold for car audio purposes. In the photo, the wire is 10 awg superflex. There is a blade fuse along the wire and the other end has a PowerPole 45 plug. You can easily make cables like this yourself with a PowerPole crimping tool, everything can be purchased online from sites like eBay.

The wire from the battery goes into a fused power distributor with six PowerPole outlets for connecting the transmitter and other small devices, for example, the lamp in the ATU or charging the handheld:

The AGM battery in the photo weighs about 18kg and is unlikely to be accepted in my luggage, hence the crowdfunding campaign to help buy one for the local community. For many of the young people and students in the Balkans, the price of one of the larger AGM batteries is equivalent to about one month of their income so nobody there is going to buy one on their own. Please consider making a small donation if you would like to help as it won't be possible to run demonstrations like this without power.

https://danielpocock.com/powering-a-ham-radio-demo-oscal-2018

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Cameron Kaiser: TenFourFox FPR7 available rss_planet_mozilla 05-05-2018 07:48


TenFourFox Feature Parity Release 7 final is now available for testing (downloads, release notes, hashes). There are no other changes in this release from beta 3 other than remaining outstanding security patches. It will go live Monday evening Pacific time as usual assuming no showstoppers over the weekend.

http://tenfourfox.blogspot.com/2018/05/tenfourfox-fpr7-available.html

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè

Mozilla VR Blog: Experimenting with Computer Vision in WebXR rss_planet_mozilla 04-05-2018 23:06


Experimenting with Computer Vision in WebXR

Over the past few months, we’ve been experimenting with what it would take to enable efficient, usable computer vision in WebXR. We’ve implemented a simple set of APIs in our iOS WebXR Viewer and the webxr-polyfill to test these ideas, and created some examples demonstrating how these APIs would work in practice, from simple color detection to tracking black and white markers in 3D using a WebAssembly version of the OpenCV computer vision library.

The simplest example we built computes two values: the average luminance of all pixels in the image, and the RGB color of the pixels in the center of the screen. (Interestingly, since most cameras have auto-gain turned on, the average luminance is usually close to 0.5 in our tests.)

Experimenting with Computer Vision in WebXR

While seemingly trivial, even simple image analysis can be used in interesting ways, such detecting if a yellow post-it note is on the screen, or activating bombs to blow up zombies in an AR game students at Georgia Tech and the Savannah College of Art and Design made back in 2009.

Download the WebXR Viewer app and try a few samples, or use the sample code (available on github) as the starting point for your own explorations.

Computer Vision and WebXR

Many XR displays have cameras integrated into them, such the HTC Vive, Microsoft Hololens, and phones and tablets running ARKit and ARCore. WebXR can enable a wide range of cross platform applications that require non-standard tracking and sensing of the environment if it is possible to efficiently access video images from these cameras in Javascript, along with the properties of the camera such as it’s field of view and pose in the world.

Currently, XR platforms expose the pose (position and orientation) of the user’s display in the space around it. Some devices also track one or two controllers in the same space; others sense the structure of that space, either as full 3D meshes (on Windows MR and Hololens devices) or as planes (on ARKit and ARCore).

But AR applications, in particular, need to know more than just where they are in space; they also need to be able to sense and track “things” in the world. An AR application can only “augment” those things (people, images, or objects) that it knows about. Unfortunately, the various XR platforms will not be able to detect and track every possible thing an application might care about any time soon. Platforms like ARKit and ARCore are adding new sensing capabilities with each version, but those features are platform specific, preventing applications that rely on them from running everywhere.

Native applications can leverage SDKs like PTC’s Vuforia to detect and track images and objects. Lower level computer vision libraries like OpenCV let sophisticated developers create their own libraries for detecting and tracking things they care about. OpenCV can now be compiled into Web Assembly (a standard build target since December 2017) and run in a web page or Web Worker, opening the door to doing more sophisticated custom computer vision on the web.

Why Not Just Add Computer Vision Algorithms To the Browser?

Some of these algorithms will make it into the browsers over time, but a web standard like WebXR needs to expose a common subset of AR and VR capabilities that work on any platform, so that web apps written using the standard can reasonably expect to run everywhere. Each of the AR platforms supports a different set of sensing capabilities, and there is no reason to expect that every platform will support every possible form of sensing any time soon (if ever). There will continue to be new algorithms to sense and detect specific things in the environment, and being able to run them in every browser will let them be delivered to the widest audience.

Computer Vision On the Web

It’s currently possible to do simple computer vision on the web, by grabbing video frames from a device

×èòàòü äàëåå...
êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Chris H-C: TIL: C++ character constants aren’t created equal rss_planet_mozilla 04-05-2018 21:59


arrPtrTerm

When reviewing a patchset involving files, strings, timers, and multiple threads (essentially all the “tough to review” checkboxes right there), a comment from :froydnj caught my eye:

> +const char* kPersistenceFileName = "gv_measurements.json";
> +const char* kPersistenceFileNameNoExt = "gv_measurements";

Please make these `const char kPersistence...[] = "..."`, which is slightly smaller on all of our usual systems.

Why? Aren’t C arrays just pointers to the first element? Don’t we treat char[] and char* identically when logging or appending them to higher-order string objects?

Influenced by :Dexter and :jan-erik, I tried this out myself. I made two small C programs arr.c and ptr.c where the only difference was that one had a const char* and the other a const char[].

I compiled them both with gcc and then checked their sizes in bytes.arrPtrSizes

Sure enough, though ptr.c was smaller by one byte (* is one character and [] is two), after being compiled ptr was larger by a whole 8 bytes!

This is because C arrays aren’t identical to pointers to the first element. Instead they are identifiers that are (most of the time) implicitly converted to be pointers to the first element. For instance, if you’re calling a function void foo(char c[]), inside the function `c` is implicitly a char* and its size is that of a pointer, but outside of the function c could be an array with its size being the length of the array. As an example:

void foo(char c[]) {
  printf("sizeof(c): %d\n", sizeof c);
}
int main(void) {
  char arr[] = "a";
  printf("sizeof(arr): %d\n", sizeof arr);
  return 0;
}

Prints:

sizeof(arr): 2
sizeof(c): 8

Another way to think about this is that the char* form allocates two things: the actual string of four (“abc” plus “\0”) characters, and a pointer called ptr that contains the address of the place the ‘a’ character is stored.

This is in contrast to the char[] form which allocates just the four-character string and allows you to use the name arr to refer to the place the ‘a’ character is stored.

So, in conclusion, if you want to save yourself a pointer’s width on your constant strings, you may wish to declare them as char[] instead of char*.

:chutten

https://chuttenblog.wordpress.com/2018/05/04/til-c-character-constants-arent-created-equal/

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Mozilla VR Blog: This week in Mixed Reality: Issue 5 rss_planet_mozilla 04-05-2018 19:05


This week in Mixed Reality: Issue 5

As we continue to add the building blocks, we’re really seeing Firefox Reality, Hubs and the content related projects coming together.

Browsers

This week we continue to sprint towards delivering a MVP:

  • Added support for more multiple buttons in Firefox Reality.
  • Improved C++ error checking in Firefox Reality.
  • Researched about Voice input & VR permission prompts in Firefox Reality.
  • We built preview APKs of FxR on taskcluster for Daydream, Wave, and SVR.

Social

Since the announcement of our Hubs by Mozilla preview release, we are focusing on bug fixes and polishing up the bits and pieces:

  • Addressing design issues around VR entry flows for Desktop + Cardboard.
  • Improving Mobile navigation UI.
  • Lots of bugs and tech debt to fix up and address, full list here.

In addition to making Hubs the best social experience, we are tying up all the loose ends on self hosting.

Join our public WebVR Slack #social channel to participate in on the discussion!

Content ecosystem

We’re focusing on quality, bug fixes and mobile support on the WebVR exporter tool in Unity.

The WebXR Viewer on iOS now supports computer vision directly in the browser! Face detection, marker detection, etc. in WASM, alongside ARKit & WebXR. Article with more details coming soon...

Stay tuned next week for more developments across our three broad areas!

https://blog.mozvr.com/this-week-in-mixed-reality-issue-5/

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Hacks.Mozilla.Org: CDN, BCD, and SVG: MDN Changelog for April 2018 rss_planet_mozilla 04-05-2018 17:41


https://hacks.mozilla.org/2018/05/cdn-bcd-and-svg-mdn-changelog-for-april-2018/

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Daniel Pocock: GoFundMe: errors and bait-and-switch rss_planet_mozilla 04-05-2018 12:34


Yesterday I set up a crowdfunding campaign to purchase some equipment for the ham radio demo at OSCAL.

It was the first time I tried crowdfunding and the financial goal didn't seem very big (a good quality AGM battery might only need EUR 250) so I only spent a little time looking at some of the common crowdfunding sites and decided to try GoFundMe.

While the campaign setup process initially appeared quite easy, it quickly ran into trouble after the first donation came in. As I started setting up bank account details to receive the money, errors started appearing:

I tried to contact support and filled in the form, typing a message about the problem. Instead of sending my message to support, it started trying to show me long lists of useless documents. Finally, after clicking through several screens of unrelated nonsense, another contact form appeared and the message I had originally typed had been lost in their broken help system and I had to type another one. It makes you wonder, if you can't even rely on a message you type in the contact form being transmitted accurately, how can you rely on them to forward the money accurately?

When I finally got a reply from their support department, it smelled more like a phishing attack, asking me to give them more personal information and email them a high resolution image of my passport.

If that was really necessary, why didn't they ask for it before the campaign went live? I felt like they were sucking people in to get money from their friends and then, after the campaign gains momentum, holding those beneficiaries to ransom and expecting them to grovel for the money.

When a business plays bait-and-switch like this and when their web site appears to be broken in more ways than one (both the errors and the broken contact form), I want nothing to do with them. I removed the GoFundMe links from my blog post and replaced them with direct links to Paypal. Not only does this mean I avoid the absurdity of emailing copies of my passport, but it also cuts out the five percent fee charged by GoFundMe, so more money reaches the intended purpose.

Another observation about this experience is the way GoFundMe encourages people to share the link to their own page about the campaign and not the link to the blog post. Fortunately in most communication I had with people about the campaign I gave them a direct link to my blog post and this makes it easier for me to change the provider handling the money by simply removing links from my blog to GoFundMe.

While the funding goal hasn't been reached yet, my other goal, learning a little bit about the workings of crowdfunding sites, has been helped along by this experience. Before trying to run something like this again I'll look a little harder for a self-hosted solution that I can fully run through my blog.

I've told GoFundMe to immediately refund all money collected through their site so donors can send money directly through the Paypal donate link on my blog. If you would like to see the ham radio station go ahead at OSCAL, please donate, I can't take my own batteries with me by air.

https://danielpocock.com/gofundme-beware-bait-and-switch

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Daniel Pocock: Turning a dictator's pyramid into a ham radio station rss_planet_mozilla 03-05-2018 22:44


(Update: due to concerns about GoFundMe, I changed the links in this blog post so people can donate directly through PayPal. Anybody who tried to donate through GoFundMe should be receiving a refund.)

I've launched a crowdfunding campaign to help get more equipment for a bigger and better ham radio demo at OSCAL (19-20 May, Tirana). Please donate if you would like to see this go ahead. Just EUR 250 would help buy a nice AGM battery - if 25 people donate EUR 10 each, we can buy one of those.

You can help turn the pyramid of Albania's former communist dictator into a ham radio station for OSCAL 2018 on 19-20 May 2018. This will be a prominent demonstration of ham radio in the city center of Tirana, Albania.

Under the rule of Enver Hoxha, Albanians were isolated from the outside world and used secret antennas to receive banned television transmissions from Italy. Now we have the opportunity to run a ham station and communicate with the whole world from the very pyramid where Hoxha intended to be buried after his death.

Donations will help buy ham and SDR equipment for communities in Albania and Kosovo and assist hams from neighbouring countries to visit the conference. We would like to purchase deep-cycle batteries, 3-stage chargers, 50 ohm coaxial cable, QSL cards, PowerPole connectors, RTL-SDR dongles, up-convertors (Ham-it-up), baluns, egg insulators and portable masts for mounting antennas at OSCAL and future events.

The station is co-ordinated by Daniel Pocock VK3TQR from the Debian Project's ham radio team.

Donations of equipment and volunteers are also very welcome. Please contact Daniel directly if you would like to participate.

Any donations in excess of requirements will be transferred to one or more of the hackerspaces, radio clubs and non-profit organizations supporting education and leadership opportunities for young people in the Balkans. Any equipment purchased will also remain in the region for community use.

Please click here to donate if you would like to help this project go ahead. Without your contribution we are not sure that we will have essential items like the deep-cycle batteries we need to run ham radio transmitters.

https://danielpocock.com/turning-a-dictators-pyramid-into-a-ham-radio-station

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Mozilla Addons Blog: Winners of the Firefox Quantum Extensions Challenge to be announced May 8! rss_planet_mozilla 03-05-2018 19:20


The winners of the Firefox Quantum Extensions Challenge will be announced on Tuesday, May 8.

Tune in to the live awards ceremony on Air Mozilla at 17:00 UTC (what time is that in my region?) to discover which extensions were named Best Dynamic Theme, Best Tab Manager / Tab Organizer, and Best Extension for Games & Entertainment.

The post Winners of the Firefox Quantum Extensions Challenge to be announced May 8! appeared first on Mozilla Add-ons Blog.

https://blog.mozilla.org/addons/2018/05/03/winners-of-the-firefox-quantum-extensions-challenge-to-be-announced-may-8/

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Air Mozilla: Reps Weekly Meeting, 03 May 2018 rss_planet_mozilla 03-05-2018 19:00


Reps Weekly Meeting This is a weekly call with some of the Reps to discuss all matters about/affecting Reps and invite Reps to share their work with everyone.

https://air.mozilla.org/reps-weekly-meeting-20180503/

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Hacks.Mozilla.Org: Creating Web Things with Python, Node.js, and Java rss_planet_mozilla 03-05-2018 17:58


The Mozilla IoT team recently released the Things Framework, which allows you to build IoT devices that speak the Web Thing API. Last week, James built an ESP8266 web thing. This time, I’m going to show you how to build web things with Python, Node.js, or Java. These languages are definitely not optimal for small embedded devices; this tutorial is intended for higher-end devices that can run these languages with ease, or even your own desktop computer.

To demonstrate, we’ll be turning the Music Player Daemon (MPD) into a web thing. The libraries we’ll be using here are webthing-python, webthing-node, and webthing-java.

Intro to the Music Player Daemon (MPD)

The Music Player Daemon is an open-source music player that has been around since 2003. MPD operates in a client/server model, and is controllable over TCP with a simple text-based protocol. I won’t cover installation here, but MPD can be installed via your package manager on Linux, Homebrew on Mac OS X, or with binaries on Windows.

Some Quick Notes

Although this example is written for MPD, it would be easily portable to other music players with an API, or you could build your own player using this example as a base. More importantly, this example is primarily meant to demonstrate the Things Framework, which can be used to create an endless variety of web things.

The Python, Node.js, and Java web thing libraries all have essentially the same API. While they may not be entirely idiomatic for their respective languages, doing this allows us to maintain all the libraries more easily, which is incredibly valuable while the Web Thing API is still a living draft.

Getting Started

To start, initialize an empty project for your language of choice. For example, you might create a new project in IntelliJ IDEA for Java, or run npm init to start a new Node.js project. You’ll then want to add the webthing library as a dependency. Instructions for doing so can be found on the respective Github project page, or you can look here.

Now we’re ready to write some code. Essentially we’ll do the following:

  1. Create a Thing.
    1. Define its properties.
    2. Define its actions.
    3. Define its events.
  2. Attach the Thing to a WebThingServer.

Create a Thing

First off, let’s import our library of choice.

Python
from webthing import Action, Event, Property, Thing, Value, WebThingServer
JavaScript
const {
  Action,
  Event,
  Property,
  Thing,
  Value,
  WebThingServer,
} = require('webthing');
Java
import org.mozilla.iot.webthing.Action;
import org.mozilla.iot.webthing.Event;
import org.mozilla.iot.webthing.Property;
import org.mozilla.iot.webthing.Thing;
import org.mozilla.iot.webthing.Value;
import org.mozilla.iot.webthing.WebThingServer;

Now, we’ll create a basic subclass of Thing.

Python
class MPDThing(Thing):
    def __init__(self):
        Thing.__init__(self, 'MPD', 'musicPlayer', 'Music Player Daemon')
×èòàòü äàëåå...
êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Mozilla Addons Blog: May’s Featured Extensions rss_planet_mozilla 03-05-2018 01:30


Firefox Logo on blue background

Pick of the Month: Forget Me Not

by Lusito
Make Firefox forget website data like cookies, local storage, and more—while retaining data for only the websites you place on your whitelist.

“This extension is absolutely excellent, it works seamlessly and intuitively.”

Featured: Image Search Options

by Xamayon
Utilize a suite of customizable reverse image search options in a convenient context menu.

“Somebody listens! The ability to fine tune a context add-on. This one lets you open in a new tab OR window, choose which search engines or another program to search in, as well as save your preferences. Good Show!”

Featured: Kimetrak

by David L.
See at a glance what third party domains are tracking you. Or take a deeper look through a detailed statistics and analysis dashboard.

“Awesome extension to track those who are tracking you.”

Featured: Translate Now

by Geoffrey De Belie
Select text on any web page and right-click to open a new tab to display your translated word or phrase.

“Best translation (extension), as it’s the only one that works with DeepL — the only translator that’s worth it.”

Nominate your favorite add-ons

Featured extensions are selected by a community board made up of developers, users, and fans. Board members change every six months. Here’s further information on AMO’s featured content policies.

If you’d like to nominate an add-on for featuring, please send it to amo-featured [at] mozilla [dot] org for the board’s consideration. We welcome you to submit your own add-on!

The post May’s Featured Extensions appeared first on Mozilla Add-ons Blog.

https://blog.mozilla.org/addons/2018/05/02/mays-featured-extensions/

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
Air Mozilla: Bugzilla Project Meeting, 02 May 2018 rss_planet_mozilla 02-05-2018 23:00


Bugzilla Project Meeting The Bugzilla Project Developers meeting.

https://air.mozilla.org/bugzilla-project-meeting-20180502/

êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
About:Community: Firefox 60 new contributors rss_planet_mozilla 02-05-2018 22:26


With the upcoming release of Firefox 60, we are pleased to welcome the 63 developers who contributed their first code change to Firefox in this release, 59 of whom were brand new volunteers! Please join us in thanking each of these diligent and enthusiastic individuals, and take a look at their contributions:

  • 17039: 1423732
  • 36198: 1419935
  • dylan.turner: 1429278
  • eijebong: 1438195
  • ewhite7: 1393609
  • gregorywlodarek: 1434427
  • john357smith: 1411857
  • joseph.fergusson: 1429017
  • kanika16047: 1443828
  • paul.eliot.warner: 1399158
  • samreadingthompsondevelopment: 1432062
  • spencerb: 1415886
  • william.loughton: 1419932
  • zacknoyes2: 1407778
  • decltype: 712130, 1134077
  • Aanchal: 1431698
  • Adam Kasztenny: 1355166
  • Aleksandr: 1428048
  • Alfred Peters: 1412213
  • Allen: 1435060
  • Apoorv Goel: 1436717
  • Arjun Krishna Babu: 1428844, 1430060
  • Arthur Deschamps: 1438069
  • Ashish Daulatabad: 1357788, 1357791, 1430450
  • Ashish Kulkarni: 169521
  • Benjamin De Brasi: 1434901
  • Bj"orn Arnelid: 1434909
  • Bogdan Pozderca: 1412591
  • Connor Masini: 1417880
  • Cosmin Sabou: 1429361
  • Daniel Marshall: 1434483, 1434906
  • Edan: 1431394
  • George Dan: 1387632
  • Greg Fraley: 1396823
  • Jan-Erik Rediger: 1442563
  • Jashank Jeremy: 1438120
  • Jesse Cordeiro:
  • ×èòàòü äàëåå...
    êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
    Hacks.Mozilla.Org: Progressive Web Apps core guides on MDN Web Docs rss_planet_mozilla 02-05-2018 20:05


    Progressive web apps (PWAs) are a new way of building websites, but are they really all that new? The basic principles of PWAs came out of older strategies for app design such as progressive enhancement, responsive design, mobile-first, etc. Progressive web apps bring together proven techniques such as these with a new set of APIs and other features under one umbrella term; 2018 could be the year of PWA.

    On MDN Web Docs you’ll find a set of Core PWA Guides published for everyone who’s interested in checking them out. As a game developer I couldn’t stop myself from including a gamedev-related example in the series. js13kPWA is my website listing all the entries from the A-Frame category in the js13kGames 2017 competition.

    When the user visits the PWA with a supporting mobile browser, it should display a banner indicating that it’s possible to install the app as a PWA:

    When the user visits the PWA with a supporting mobile browser, it should display a banner indicating that it's possible to install the app as a PWA.

    It is still just a website like any other, so you can try it yourself with no extra steps needed. The source code is available on GitHub, and you can also view it live.

    There are currently five Core PWA Guide articles:

    Introduction to progressive web apps

    The first article of the series introduces progressive web apps: defining what is a PWA, what makes an app progressive, whether it’s worth building, and the advantages it brings over regular web apps.

    You can see the browser support, and check the js13k PWA example — the implementation of its contents is explained in subsequent articles.

    Progressive web app structure

    Now that you’ve learned the theory behind PWAs, you can look at the recommended structure of an actual app. This article goes through the differences between server-side rendering and client-side rendering, shows how you can mix them both, and explains how PWAs can be built using any approach you like.

    The app shell concept is the most popular approach for building the structure of an app. It’s important to follow the rules of being linkable, progressive, and responsive by design. We also discuss briefly how the Streams API will be able to help with faster progressive loading in the near future.

    Making PWAs work offline with service workers

    This article goes into details of implementing offline capabilities with service workers, explains the offline first approach, and looks at why the “progressive” in PWA is important.

    We then inspect the js13kPWA source code to learn how to register a service worker, and what its lifecycle looks like, with installation, activation and updates explained in detail, and how to clear the cache if needed.

    How to make PWAs installable

    The fourth article describes how to install PWAs on your mobile device with supporting mobile browsers, so the app can be used as if it were native.

    If the user clicks the button, there will be an extra step showing what the app will look like. When confirmed, the app will be installed on the home screen:

    ×èòàòü äàëåå...
    êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
    Air Mozilla: Weekly SUMO Community Meeting, 02 May 2018 rss_planet_mozilla 02-05-2018 19:00


    Weekly SUMO Community Meeting This is the SUMO weekly call

    https://air.mozilla.org/weekly-sumo-community-meeting-20180502/

    êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
    Cameron Kaiser: A semi-review of the Raptor Talos II rss_planet_mozilla 02-05-2018 10:16


    After several days of messing with firmware and a number of false starts, the Talos II is now a functioning member of the Floodgap internal network. It's under my desk with my other main daily drivers (my Quad G5, MDD G4, SGI Fuel and DEC Alpha 164LX) and shares a KVM. Thanks to the diligent folks at Raptor, who incredibly responded to my late night messages at 2am Pacific, the fans are now much more manageable and I'm able to get proper video output from the Radeon WX 7100 (though more on that in a minute). As proof of its functionality, I'm typing this blogpost on the Talos instead of on the G5. Here it is in its new home:

    I'll call this a "semi-review" because, well, the system is a work in progress and getting the most from it will take time. Relatively little is optimized for PowerPC these days, and even less still for little-endian PowerPC or POWER9 in particular. If you want performance benchmarks, you can read Phoronix's performance tests which are substantially more thorough than anything I could gin up. This is about my experiences with the unit now that I've been using it most of today with my early firmware issues now largely corrected.

    For what's in it, see my unboxing photographs from a few days ago. This system is best described as a middle-road configuration now that the 22-core chips are becoming available. It contains two four-core Sforza POWER9 processors on a 14nm process at 3.2/3.8GHz with 512K of L2 and 10MB of L3 per core; there is a discrepancy with the wiki which says 3.1/3.7 but you can read Raptor's spec sheet. SMT is available. By having both processors installed, all of the PCIe slots in this machine are unlocked (this was a deliberate design decision for efficiency, not to make you buy hardware you didn't need). All of the options in this unit are factory-installed: 32GB of ECC DDR4 RAM (maximum 2TB), an AMD Radeon Pro WX 7100 workstation video card (roughly a hopped-up RX 480), a Samsung 960 EVO 500GB NVMe SSD on a PCIe card and a Microsemi PM8068 SAS 3.0 controller. The machine comes stock in a Supermicro CSE-747 EATX case with two redundant 1400W power supplies, a SATA controller, onboard VGA, onboard USB 3.0, onboard 2xGigE network ports (Broadcom BCM95719), onboard RS-232 serial and an LG Blu-ray drive. A recovery disc with the factory firmware and manual is included. Sticker price was approximately US$7200.

    No operating system is installed except for Petitboot (more in a moment). This machine should eventually run anything that supports it (of course it will run NetBSD, at least someday), but your sole option right now is Linux, and bleeding edge Linux at that: Raptor's excellent tech support team tells me that kernel 4.13 is minimally required and 4.16 is strongly recommended. This greatly limits your choices out of the box especially if you don't already have another Linux system to support bringing this one up. I didn't, so I selected Fedora 28, which supports ppc64le and has kernel 4.16. As of this writing, the final release of 28 has just hit the streets, so that's very timely. Officially Fedora only supports the Server flavour on ppc64le, but we can convert that to a Workstation version after it's installed.

    The system boot sequence has several stages. You can read about them in a bit more detail on the RCS Wiki, but the breakdown is not unlike that of a modern POWER server, since this is mostly a modified OpenPOWER design. Immediately when power is applied, the system boots the "BMC" Baseboard Management Controller, which runs on an ARM6L service processor. This sits idle when the main processors are powered down. When the power button is pressed, the BMC starts the Initial Program Load (IPL) process on the main POWER9 CPUs from PNOR flash. Through a complex six-stage process the IPL terminates with loading

    ×èòàòü äàëåå...
    êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
    Mozilla Open Innovation Team: WebVR Experience Challenge, Winners Announced! rss_planet_mozilla 01-05-2018 03:41


    Mozilla seeks to continually grow a robust community around A-Frame and WebVR and to support developers who build content for this ecosystem. This is why we partnered with Sketchfab to create hundreds of medieval fantasy assets for the WebVR community to use. Today we are proudly announcing the Winners of the WebVR Experience Challenge!

    Building on the rich pool of assets from our Real Time Design Challenge we received many entries that used the glTF models and A-frame and turned them into really fun games and experiences! Each of the creators really put their own personal take on these assets. The entries of this contest allow us to see what VR can do in the Web, and that it is ready for an open community to experiment and innovate with it.

    We would like to thank our Judges who spent their time thoroughly reviewing each entry, Ada Rose Cannon, Developer Advocate for the Samsung Internet VR browser, Joshua Marinacci,

    Senior Developer Evangelist at Mozilla, working on Mixed Reality and Fernando Serrano Garc'ia, Engineering Manager at the Mozilla Mixed Reality team.

    Without further ado,

    1st place goes to Jorge Fuentes for Puppetrilla!

    • Ada Rose Cannon — “This looked amazing, very polished. Good use of sound!! Love that it has sound effects, the puppets are really fun to use!!”
    • Fernando Serrano Garc'ia — “I love its aesthetics and the idea of using puppets is so original! A really nice starting point for a multi-user experience where you could see how others create and share stories with the puppets.”

    Stunning work Jorge! We’re sending you the complete VR Set — including a VR-Ready Laptop and an Oculus Rift.

    2nd place goes to Andrew Fraticelli for Witches Brew.

    • Fernando Serrano Garc'ia — “Super cool, the interaction with the potions and the liquid is really nice.”
    • Joshua Marinacci — “The interaction is wonderful. The potion pouring effect is perfectly done.”

    Congratulations Andrew! You won a Pixel Phone and Daydream View and the Lenovo — Star Wars™: Jedi Challenges.

    3rd place goes to Danilo Pasquariello for Epic Medieval Battle.

    • Joshua Marinacci — “As a game it’s silly, but it’s just so fun. Very nice work redoing the animations on the characters to take them to a different direction.”
    • Fernando Serrano Garc'ia — “Really nice to be a medieval DJ, the animations are really cool. I miss being able to be a dancer too. :)”

    Nice work Danilo! Have fun with your new Pixel Phone and Daydream View.

    There are also 4 honorable mentions who will also be receiving a prize for their great work.

    Good job to the honorable mentions! The Lenovo — Star Wars™: Jedi Challenges are on their way to you.

    *Though this challenge was initially focused on A-Frame and

    ×èòàòü äàëåå...
    êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
    Air Mozilla: Mozilla Weekly Project Meeting, 30 Apr 2018 rss_planet_mozilla 30-04-2018 21:00


    Mozilla Weekly Project Meeting The Monday Project Meeting

    https://air.mozilla.org/mozilla-weekly-project-meeting-20180430/

    êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè
    The Firefox Frontier: Working for Good: Metrofiets Cargo Bikes rss_planet_mozilla 30-04-2018 19:53


    The web should be open to everyone, a place for unbridled innovation, education, and creative expression. That’s why Firefox fights for Net Neutrality, promotes online privacy rights, and supports open-source … Read more

    The post Working for Good: Metrofiets Cargo Bikes appeared first on The Firefox Frontier.

    https://blog.mozilla.org/firefox/metrofiets-cargo-bikes/

    êîììåíòàðèè: 0 ïîíðàâèëîñü! ââåðõ^ ê ïîëíîé âåðñèè