WebSockets, caution required!

“WebSockets provides simple APIs to broadcast information to clients and simple APIs to ship information from the clients to the web server.

A realtime channel to send information from the server to the client is very welcome. In fact it is a part of HTTP 1.1.

However, a brand new API for shipping information to the server from web browsers introduce a new decision point for developers:

  • When a user posts a message on chat, do I make a RESTful call and POST a message or do I bypass REST and use WebSockets?
  • If I use the new backchannel, how do I debug it? How do I log what is going on? How do I profile it? How do I ensure it does not slow down other traffic to my site? Do I also expose this endpoint in a controller action? How do I rate limit this? How do I ensure my background WebSocket thread does not exhaust my db connection limit?…”

https://samsaffron.com/archive/2015/12/29/websockets-caution-required

Profiling Python in Production

“We recently reduced CPU usage across our fleet by 80%. One key technique that made this possible was a lightweight profiling strategy that we could run in production. This post is about the ways we approached instrumentation, the tradeoffs involved, and some tools you can use to optimize your own apps (including code!)…”

https://nylas.com/blog/performance

BBQLinux, a user-friendly Linux distribution made for Android developers

BBQLinux is based on Arch Linux and is using a Rolling Release Development Model which means it is getting continually updated and upgraded. It will never be necessary to re-install a later release ofBBQLinux. It is fully compatible with Arch Linux and is using the same package repos. The default desktop environment is “MATE” but we’re also providing images with “CINNAMON”, “GNOME”, “PLASMA” and “XFCE4″…

http://bbqlinux.org/

Mitigating DDoS Attacks with NGINX and NGINX Plus

“NGINX and NGINX Plus have a number of features that – in conjunction with the characteristics of a DDoS attack – can make them a valuable part of a DDoS attack mitigation solution. These features address a DDoS attack both by regulating the incoming traffic and by controlling the traffic as it is proxied to backend servers…”

Mitigating DDoS Attacks with NGINX and NGINX Plus

Android on the desktop: Not really “good,” but better than you’d think

“Android is the most popular mobile OS on the planet, and Google has brought the OS to cars, watches, andtelevisions. And, according to a report from The Wall Street JournalGoogle will soon be bringing Android to yet another form factor: desktop and laptop computers. Re-architecting Android for a mouse and keyboard is going to require major changes to the smartphone operating system, but Android is actually much farther along that path today than most people realize…”

http://arstechnica.com/gadgets/2015/12/android-on-the-desktop-not-really-good-but-better-than-youd-think/

Blade – Micro kernel design of the MVC framework

blade is a web framework for rapid development of Java applications,you can be used to develop API, Web and back-end services and other applications, a RESTful framework, it provides a simple and convenient way of development, the whole operation of the micro kernel MVC bus guide frame, initial goal is to simplify the web development, and of course the author will upgrade in the future and integrate more compact components based on blade…”

http://bladejava.com/

Deep Learning – An MIT Press book in preparation

FAQ

    • Can I get a PDF of this book?
      No, our contract with MIT Press forbids distribution of too easily copied electronic formats of the book. Google employees who would like a paper copy of the book can send Ian the name of the printer nearest their desk and he will send a print job to that printer containing as much of the book as you would like to read.
    • Why are you using HTML format for the drafts?
      This format is a sort of weak DRM. It’s intended to discourage unauthorized copying/editing of the book. Unfortunately, the conversion from PDF to HTML is not perfect, and some things like subscript expressions do not render correctly. If you have a suggestion for a better way of making the book available to a wide audience while preventing unauthorized copies, please let us know.
    • What is the best way to print the HTML format?
      Printing seems to work best printing directly from the browser, using Chrome.
    • When will the book come out?
      It’s difficult to predict. We’re doing our best to finish it as soon as possible. We expect to deliver the manuscript to reviews by January, but there will be some delay with review, typesetting, etc.
      Please contact us if you are interested in using the textbook for course materials in the short term, we may be able to find a way to accommodate you.

http://goodfeli.github.io/dlbook/

Exploring Kotlin Standard Library

“Exploring the API docs and source code for a language’s standard library is usually illuminating and Kotlin is no different. In this series, I thought I’d look at some of the highlights of the Kotlin stdlib. In Part 1, I’ll be going over the default Kotlin namespace.

Both the API docs and the source code for the stdlib are available on github…”

http://jamie.mccrindle.org/2013/01/exploring-kotlin-standard-library-part-1.html
http://jamie.mccrindle.org/2013/01/exploring-kotlin-standard-library-part-2.html
http://jamie.mccrindle.org/2013/02/exploring-kotlin-standard-library-part-3.html