GitHub Pages is free hosting for static content webpages, and a cost-effective way to publish microsites for all of
your projects. Can it handle custom domains, and HSTS domains? How about multiple custom HSTS domains?
The suitability of programming languages across different domains is a contested topic. AWS Lambda Functions are a
serverless solution that can be used for a wide range of problems from tiny to large tasks. For lightweight tasks how
does the JVM stack up?
AWS Lambda offer the ability to run code functions without a server. Basically standalone functions that receive JSON as
a parameter and have up to 15 minutes to do anything. The source of the JSON event can be anything, AWS has configured
most of their AWS products to emit events; for example uploading a file to S3 creates JSON that contains information
about the file. Lambdas are meant to be simple and short-lived code snippets, so each Lambda can only listen to 1 source
for events (although you can proxy multiple types of events through a single source). The most generic source for events
is to listen to HTTP requests on a public URL, and we’ll cover how that can be done in this article.
GitHub Packages is a Maven compatible repository accessible outside of GitHub. It serves as the code repository used in
Java project compilation both on workstations and within a CI/CD pipeline, as well as allowing manual file downloads
through the GitHub web interface. Because it is meant for only these 2 purposes there is no REST API available making
custom integrations more difficult than need be. This article documents the URLs exposed through Maven which can be
used to create an API of simple HTTP commands. URLs to browse packages and download files will be covered, as well as
steps to more effectively use free tier resources allowed on private repositories.
GitHub Packages is a natural extension of a CI/CD pipeline created in GitHub Action. It currently offers repositories
for Java (Maven), .Net (NuGet), Ruby (Gems), JavaScript (npm), and Docker images.
For a lot of users this can be a free private service if you can squeeze under the size limitation and are okay using
OAuth keys managed in GitHub.
The command line progress bar was the first step towards graphical UI. It was an exciting addition to a numerical
percent ticking away as a running task took forever to complete. It started with safe for everywhere ascii characters
Over time there has been an ebb and flow to the ratio of JavaScript:HTML used in websites. What motivates the change,
and where is this ratio ultimately headed?
The Reactive Manifesto puts together the ideal architecture for today’s system
infrastructure, designed to cope with ever-increasing need for performance, reliability and responsiveness. The same
evolution of expectations is taking place in the JavaScript front-end, but do the same ideas and principles apply?
HTML elements are free
to change the style, size, and placement of their children, and even their order. A lot of advanced use cases define
rendering based on both the properties of element as well as the properties of their children; one particularly
interesting case is the 2 column timeline. This is similar to a standard 2 column flow, except instead of first filling
one column and overflowing to the second, columns are filled simultaneously – inserting elements into whichever has the
least content. The net effect is elements occurring earlier in the HTML markup are placed vertically higher in the page
than elements occurring later. The page reads top to bottom as a chronological timeline, which while being a simple
enough concept cannot be done using standard HTML. In fact, the exact ordering of elements are different based on widths
of the columns. Column placements are determined by previous element’s heights, and heights are a function of widths, so
setting colum...
Thread-Local storage (TLS)
allows static variables to be attached to the currently executing thread. The most common use of TLS is to allow global
context to be available throughout the entire call stack without passing it explicitly as a method parameters. In a
web-application, this allows contextual request metadata, such as the URL, to be referenced anywhere within the code
handing the request; which is extremely useful for logging or auditing purposes.
Most sortable HTML
table generators (such as AngularJS’s ng-grid) allow cells to be customized and
formatted according to templates, however all templates are specified as parsed strings of HTML content. The Web
Components specification allows for HTML Templates, meaning
actual HTML fragments can be used instead of pieced together strings. Two benefits are better readability, CSS
encapsulation by way of Shadow DOM, and soon to be native
support by modern browsers.
As businesses now rely
more heavily on web applications to perform daily operations, a user-friendly datatable/spreadsheet is indispensable to
all web developers. While individual requirements vary, the core staple is the sortable table. Using Polymer’s Templates
and Data-Binding, one can be implemented in a remarkably concise way.