jExcel – the JavaScript spreadsheet

Tables on the web are always challenging. Whether you do them by hand, or with the help of a framework or library, they often carry a lot of complexity, performance costs, and compatibility issues.

Recently I came across jExcel, which seems to be quite powerful, with lots of advanced features, and, at the same time, rather simple to use. The recent release of version 3, brings even more features and improves on the existing ones:

  • Drag and drop columns
  • Resizable rows
  • Merge columns
  • Search
  • Pagination
  • Lazy loading
  • Full screen flag
  • Image upload
  • Native color picker
  • Better mobile compatibility
  • Better nested headers compatibily
  • Amazing keyboard navegation support
  • Better hidden column management
  • Great data picker: dropdown, autocomplete, multiple, group options and icons
  • Importing from XSLX (experimental)

Have a look at some of the usage examples too.

faast.js – serverless batch computing made simple

faast.js is a new framework that makes writing serverless functions super easy. Read more about it in this introductory blog post:

Faast.js started as a side project to solve the problem of large scale software testing. Serverless functions seemed like a good fit because they could scale up to perform work in parallel, then scale down to eliminate costs when not being used. Even better, all infrastructure would be managed by the cloud provider. It seemed like a dream come true: a giant computer that could be as big as needed for the job at hand, yet could be rented in 100ms increments.
But trying to build this on AWS Lambda was challenging:
* Complex setup. Lambda throws you into the deep end with IAM roles, permissions, command line tools, web consoles, and special calling conventions. Lambda and other FaaS are oriented towards an event-based processing model, and not optimized for batch processing.
* Primitive package dependency support. Everything has to be packaged up manually in a zip file. Every change to the code or tests requires a manual re-deploy.
* Native packages. Common testing tools like puppeteer are supported only if they are compiled specially for Lambda.
* Persistent infrastructure. Logs, queues, and functions are left behind in the cloud after a job is complete. These incur costs and count towards service limits, so they need to be managed or removed, creating an unnecessary ops burden.
* Developer productivity. Debugging, high quality editor support, and other basic productivity tools are awkward or missing from serverless function development tooling.
Faast.js was born to solve these and many other practical problems, to make serverless batch processing as simple as possible.

And here’s the quick visualization of the architecture for you.

Chrome Extensions: PHP Console and JavaScript Errors Notifier

Here are a couple of handy Google Chrome extensions that I came across the other day.

PHP Console

PHP Console can display PHP errors and var dumps in the Google Chrome Developer Console and notification popups. It can also execute PHP code remotely, with the help of this server side library.

JavaScript Errors Notifier

JavaScript Errors Notifier lets you know of any JavaScript errors either with an icon highlight, or with a popup window. This makes things a lot easier to notice.

You Don’t Need jQuery

You Don’t Need jQuery is a GitHub repository with a collection of code snippets that show how to do the most common jQuery bits in native JavaScript. The collection covers a whole range of subjects, like:

  • Query selector
  • CSS and style
  • DOM manipulation
  • AJAX
  • Events
  • Promises
  • Animations
  • … and more.

All examples should work just fine in all modern browsers.

Additionally, have a look at the You Might Not Need jQuery website.