Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Submission + - iOS 10 deprecate crutial API for VoIP and communication apps (apple.com)

neutrino38 writes: iOS 10 has been released in september 2016. It contains a technical change that has been overlooked by the general public. It deprecates an API that is crutial for VoIP and other instant messaging applications that enable to keep one socket active despite of the fact that the application would run in background. As replacement, developpers needs to use the PushKit: when an incoming call is to be forwarded to an iOS VoIP client

the VoIP infrastructure needs to :
  • withold the call
  • contact Apple push infrastructure using a proprietary protocol to wake up the client app remotely
  • wait for the application to reconnect to the infrastructure and release the call when it is ready

This "I know better than you" approach is ment to further optimize battery life on iOS devices by avoiding the use of resources by apps running in background. It has also the positive effect to force developpers to switch to push model and remove all periodic pollings that ultimately use mobile data and clog the Internet.

However, the decision to use an Apple infrastructure has many consequences for VoIP providers:

  • in order to serve iOS app, those infrastructure will need to be tied with Apple service so the reliability of serving incoming calls is directly bound to Apple service.
  • Apple may revoke the PushKit certificate. It has then life and death decision power over third party communication infrastructures.
  • organisation wanting to setup IPBX and use iOS client have no option but to open access for the push services of Apple in their firewall.
  • It is not possible to have iOS VoIP or communication client in network disconnected from the Internet.
  • Pure standard SIP client are now broken on iOS

This is the perfect walled garden. Ironically, the only VoIP "app" that is not affected is the (future ?) VoLTE client that will be added to iOS one day.May be the day of over the top communication services are numbered on iOS.

Comment Re:AI? (Score 1) 67

Well no that is not silly at all. Modern video codecs are in fact a toolbox containing different techniques that are more suited for such r such type of scenes.
- action movies would have better movment over definition
- still sequences
- sequences where only part of the scene is moving.

Using deep neural network to
1- identify which type of scene and adjust codec settings on the fly
2- compare the rendering to the original uncompressed version
3- readjust if necessary and learn from the situation

would be a breakthrough IMHO.

Submission + - French politician uses hologram to hold meeting in two cities at the same time. (lemonde.fr)

neutrino38 writes: The French presidential election is approaching fast. One of the candidate, Jean-Luc Melanchon used an hologram to hold two public meeting at once. With a political program that is mostly socialist and very left leaning, some people pointed out that he used private innovation to stand out from the crowd.

Comment End of Plugins = Techno racism (Score 2) 163

This move from Mozilla foundation is consistent with what we have seen happening with Chrome, Edge. It has been initiated long by Apple which decided to drop flash support on their mobile device.

The motivation of these move are well known: less battery usage, more security. For general public it is justified.

However there are a whole range of corporate application that relied and still rely on plug-ins. Not just flash. So deep down, by not providing at least a supported version of browser with plugin, the industry is building a monolithic platform ...again. Single language, single platform. Its about control not user choice.

The argument that HTML5 is now mature enough does not fly very far. Mature enough for common web app sure. But it you start using advanced feature such as WebRTC, you'll start seeing glitches and incompatibilities that pushes some service to advertize "please use Chrome" ...

The fact is that now people in general (users, developers and software editors) are techno racists. They want security and despite technology that is not 'like them'. So the prefer to slam the door and drop the plugins and by decree ban any foreign technology from our beloved HTML / JS free platform.

This is unfortunately consistent with the behavior of the political world of today ...

User Journal

Journal Journal: Apple and IP V6

Apple Computer announced last year that starting from June 1, 2016, they would not accept any application that would not support IP V6 only networks. This is a good move from a major player that could increase the acceptance of IP V6. We understand that this protocol is also the preferred choice for telco operator that are getting headeache dealing with IP V4 exhausion.

Submission + - The fall of the stupid network (hyperorg.com)

neutrino38 writes: If you are in the tech field, you could not miss the attack that occurred on DynDNS service. It hit the general news as well.

This caused disruption on many services that are popular in the US. Ars Technical has an article about it The novelty is that devices such as wifi routers and IP cameras and other compromised connected devices were used to create a large scale distributed attack

There was a warning: OVH, the popular French hoster was hit by such an attack a few weeks ago. Now it reminds me the triumphant article written in 1997, "The Rise of the Stupid Network". That approach has founded and still founding the technical setup of the Internet as we know it. As a telco engineer, I believe that while it freed a lot of innovations, it is a very naive american approach. Many network extremist neutrality advocates also stick to this not fully understanding the consequences of their choices. For my part, I believe that network deserving massive user bases needs end to end management tools.

In the case of this attack, DNS queried with random names causing DNS provider overflooding. Good ! Then, each access provider should maintain at least a cached version of the most popular DNS zone and changes should bu pushed to them. How come that DNS queries cannot be cached locally?

More generally, network admins need to step up on all this, congregate and alter the Internet structure so legit services are declared, checked, hardened the rest of the grey or dark services can be blocked easily in case such abuse occurs.

Submission + - Would redundancy and really long TTL have countered a lot of DDOS effects? (medium.com) 1

marmot7 writes: My primary takeaways from this article was that it's important to have redundancy (additional NS's) and that it's important to have a very long TTL when you're not actively updating something. Would the measures in this article have at least limited the damage of these attacks? The long TTL change alone would have made the cache likely covered the entire attack, right?

Comment Let the people choose ! Damn ! (Score 1) 131

[rant on] It strikes me that Google hires probably the brightest minds and do not grasp basics of IT: different people have different needs!

While it is acceptable to start restricting an securing web browser by disabling some features and external plugins for general public, it is quite unacceptable NOT to leave any option but not to upgrade for specialized use. I still did not get over NPAPI deprecation. Companies like mine have built specialized solutions around plugins and/or flash and with Google ecosystem (and with Apple one) we have NO choice.

As they represents a sizeable chunk of the market. It's a PROBLEM.

We had to basically rebuild our own web browser with NPAPI support to continue our business.

https://github.com/operationiv... (for those interested)

I can imagine how flash based solutions companies are thrilled about this announcement. And then - the question: what is the procedure to make it into the 'whitelist'. Google is turning into nanny state organization. Seems that they upgraded their motto as well

'Don't do evil' -> 'We do you good (even against your wish)

At least, the reviled Microsoft is doing a fine job ensuing good compatibility with their decade old WIn32 API. The perfect example is ActiveX support that has been removed from WIn10 / EDGE browser. But Win10 ships with Internet Explorer that HAS kept the active X support.

I can here teams of young (male virgin?) bright devs shrieking and getting excited by the newest JS bla bla framework and sighting when having to support legacy code. What a turn off for them !

But ....

To me, plugins where not only 'small add-ons'. They represented a web compound documents model, open toward other technologies.

Pure HTML5 is a 'la pensée unique', 'there is no alternative' way.

It reflects in the code how insecure people feel about 'foreign' things more generally and it is sad.

[/rant finished]

Submission + - The four promises of Actor Based Programming for telco software (wikipedia.org)

neutrino38 writes: The Actor Model is a theoritical computation model which aims is to improve concurrent computing. In essence, Actors are 'processes' that can receive, process and send messages to other Actors. This is a computation model that is not based on shared memory and opposes the traditionnal shared memory, locking and multithreading model. In terms of hardware architecture, the multithreaded model aims at powerful servers few CPUs and shared memory whereas the actor model aims for concurrent processing on many computers cooperating through reliable networks links.

To my profane eyes, there are little theoritical differences between object model and actor model. But I am no academics and the intent here is to throw some practical views on the possible benefits that programmers can draw from actor based programming.

One has to admit that the original vision of many computers cooperating through networks did not materialize yet. The dominant model is a cloud of powerful cooperating servers providing online services to smart terminals through network. Multithreaded programming is the mainstream way of developping server side software.

However, there are some trends in computing that may be game changers. These are:
  • the 'cloud' or flexible computing where server-side applications are hosted on virtual machines Multiple 'instances' of the same application can be created on demand to cope with load surge. Context information is shared through add-ons such as memcached or databases. Advanced realtime web applications such as facebook use message and notifications and look like good candidate of actor based implementations.
  • the Internet of Thing where multiple devices with low processing power coordinates over a local area network and through the Internet. Again, this matches nicely with actor model purposes.
  • finally, server side applications such as HTTP servers are put under pressure by growing users bases. The 10K user problem well documented for web servers, occurs in any big server-side application. Adding more processors to cope with load does improve performance linearly as processes or threads spend more and more time to wait for locks when accessing critical ressources. The actor model provides a 'lock free' alternative that can overcome this issue.

Several programming frameworks and languages provides very good ways to implement actor based software. Three of them come in mind:

  • Erlang, a language developped by Ericsson and open sourced or Elixir that provides a friendlier language syntax but produce bytcode that is compatible with Erlang VM.
  • Scala a language that produces java compatible bytcode. It is used in the famous Minecraft game
  • The C++ Actor Framework brings the actor model into native code.

Erlang and Scala merge functional programming with actor model and that has a solid consequence: developpers can only assign variables once and cannot change the value. The only way to change a variable is to send a new messsage (or to call a function) with new arguments. This is a radical way to prevent any use of memory sharing but this breaks most of the classical programming techniques: loops needs to be implemented by recursive function calls or can be replaced with more functional equivalents.

Let's focus now on server side application development, especially in telecommunication field where protocol exchange is the main purpose. Intuitively the actor model fits perfectly . However the majority of telecommunication apps are still developped in classical C/C++ with scripting languages or in Java (SIP servlet). But Actors make four important promises:

  1. I shall not fail: Telco applications should always be on. With the OTP framework, Erlang provides a radical way to recover. If an actor detects an error condition, it can crash and be restarted. Dependant actors will be nicely notified about the restart. Application can partially crash and restart limiting the impact to a single user. Erlang also supports code replacement without application stop. I did not test it first hand but if proved, this is a tremendous advantage in telco business.
  2. I will not block: by design, actor model is lock free. This remove one of the worst nightmare of any server side application developpement.
  3. I can scale: actor model breaks downs a piece of software into a set of coordinated actors that do not share any memory. They exchange messages transparently and therefore can be very easily spread on several hardware system. Traditionnal approach implies communication context sharing that was never fully scalable.
  4. I am a finite state machine: That concept is not enough understood while it is central to build robust and resilient telecommunication applications. actor model is about exchanging message. The actor framework provides a natural way to map messages into function calls and implement FSM easily.

So ... why the telecom world is not rushing to embrace actor based programming ?

Its because it requires major cultural changes and telco world is a bit conservative.

  • Software needs to be entirely redesigned into actors that are simple and pipelined.
  • Developpers need to give up any use of shared memory to store a "communication context".
  • no more control on lock and threading
  • Langages such as Erlang and even C++ Actor framework uses a syntax that is so different from procedural approach that the learning curve is very steep. Almost hostile.

All this is much more radical than moving from init scripts to systemd on Linux. And this transition is costly: training developers, software redesign and reimplementation.

Is it worth it ? That is a question we are asking ourselves

Comment Apple example (Score 1) 202

I remember when apple rolled out iOS 8 and our web app broke (it was a simple form with buttons !)

Also when you are using advanced feature such as webrtc, then you have to block users for loading the page with Safari or Internet Explorer. I am sorry but while on paper HTML5 is the best approach, it does not yet offer the uniform API an behavior that web developper need to save time and money.

Comment I agree except on the development time will decrea (Score 2) 202

I am all for HTML5 improved support and standard but our experence with various HTML5 implementation is that developpers actually spend a LOT of time accomodating the differences between browsers and browser versions.

Not only between mobile and desktop but between different browsers and different version of the SAME browser.

Different implementations of the same standards are almost always breaking the code.

So on the contrary using HTML5 increases the development time and maintenance cost as web sites or web apps have to be "corrected" to follow browser support or interpretation of HTML5.

In comparison, such maintenance for flash applications is close to nil even flash was upgraded from version 5 to version 11.

However, I agree that flash beiing proprietary, it is not the way to go now.

Slashdot Top Deals

"Protozoa are small, and bacteria are small, but viruses are smaller than the both put together."

Working...