What is Caddy?
Caddy is an alternative web server easy to configure and use. Matt Holt – The Project leader of Caddy claims that Caddy is a general-purpose web server, claims to be designed for human and it is probably the only of its kind.
Features of Caddy
- Speedy HTTP requests using HTTP/2.
- Capable Web Server with least configuration and hassle free deployment.
- TLS encryption ensure, encryption between communicating applications and user over Internet. You may use your own keys and certificates.
- Easy to deploy/use. Just one single file and no dependency on any platform.
- No installation required.
- Portable Executables.
- Run on multiple CPUs/Cores.
- Advanced WebSockets technology – interactive communication session between browser and server.
- Server Markdown documents on the fly.
- Full support for latest IPv6.
- Creates log in custom format.
- Serve FastCGI, Reverse Proxy, Rewrite and Redirects, Clean URL, Gzip compression, Directory Browsing, Virtual Hosts and Headers.
- Available for All known Platform – Windows, Linux, BSD, Mac, Android.
What make caddy Different?
- Caddy aims at serving web as it should be in the year 2017 and not traditional style.
- It is designed not only to serve HTTP request but also human.
- Loaded with Latest features – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, templates and other out-of-box features.
- Run the executables without the need of Installing it.
- Detailed documentation with least technical description.
- Developed keeping in mind the need and ease of Designers, Developers and Bloggers.
- Support Virtual Host – Define as many sites as you want.
- Suited for you – no matter if your site is static or dynamic. If you are human it is for you.
- You focus on what to achieve and not how to achieve.
- Availability of support for most number of platforms – Windows, Linux, Mac, Android, BSD.
- Usually, you have one Caddy file per site.
- Set up in less than 1 minute, even if you are not that much computer friendly.
Visit Caddy website: HERE
“You’ve designed a beautiful site. It looks great, it sells widgets, and it gets the job done! But, there’s always room for improvement, especially on the technical side of things. One of the best ways to improve the overall experience on your site is to enhance your site speed.
Besides making the experience better for your users, page speed is also becoming a major influence on search engine optimization. So, don’t downplay the value of page speed, even if your site is pretty fast already. Look at how fast your competitors are loading and you may find the quick way to get ahead of the search engine curve — faster sites get preferential treatment.”
10 ways to speed up:
- Faster Servers Mean Faster Results
- Turn on File Compression
- Put Images into CSS
- Minify CSS
- Minify JS
- Minify HTML
- Proper Image Sizes
- No CSS @import
- Browser Caching
- Clean Up Bad Requests
Quality and quality assurance is an ever present requirement in today’s world. In the field of programming, the management of code quality is a key issue in larger project, especially in cases where several programmers work on a project. Each programmer brings his or her own knowledge to the project, including their own coding style and solutions. While this can be a good concept locally, the whole project can become confusing and unmaintainable.
Luckily this is not a new issue and several solutions have been created for it. Static analysis tools is a collection of such solutions. They include standardization of coding and error detection.
For the list of static analysis tools for PHP, visit the following page: https://github.com/exakat/php-
With technology always advancing and the automation all types of routine jobs, there’s never been a better time to learn to code and pick up some specialist skills. The demand for these skills has never been higher, and what’s more, you can master them from the comfort of your own home.
In this article, we’ll be discussing some free and premium resources to help you get started with learning for starters and more skilled coders also. Most of the following resources will cover wider areas, which adds even more to our value.
My favourite website to read articles on is: SitePoint
SitePoint shares articles very frequently, has various tutorials for both beginners and experts. The articles are all free to read, but SitePoint has premium content also called SitePoint Premium, with video tutorials and top-quality books to learn from.
Next is: Tuts+
As part of Envato’s creative ecosystem, Envato Tuts+ contributes to the mission of “helping people learn and earn online”.
Envato Tuts+ tutorials are available to you completely free—all 23,360 of them!. Based around specific projects, they include step-by-step written instructions and screenshots to help you practice and master the skills needed to create a practical outcome.
Standards for developing flexible, durable, and sustainable HTML and CSS. Really handy basics that should be followed, written based on years of experience.
High-level advice and guidelines for writing sane, manageable, scalable CSS. Harry Roberts is a CSS specialist, who does lots of presentations in conferences, worked with well known companies such as Adobe, Google. This guideline is a bit more advanced, but will truely be a turning factor in your CSS writing.
More advanced: Sass guideline by Hugo Girauduel
Sass is an extension of CSS that adds power and elegance to the basic language. Sass’ ultimate objective is to fix CSS’ flaws. CSS, as we all know, is not the best language in the world . While very simple to learn, it can quickly get quite messy, especially on large projects. This is where Sass comes in, as a meta-language, to improve CSS’ syntax in order to provide extra features and handy tools. Meanwhile, Sass wants to be conservative regarding the CSS language.
Starting with: Treehouse
Learn from over 1000 videos created by expert teachers on web design, coding, business, and much more. Their library is continually refreshed with the latest on web technology so you’ll never fall behind. They have free trial for two weaks, after that it costs 25 $ / month.
Two more I like: Codecourse & Codecademy
Codecademy provides a wider area of knowledge. They extend their video courses with useful resources for developers such as: version controlling with Git, command line tutorials, more advances topics like Sass & AngularJS. They have many free to watch tutorials, and some premium content for 20 $ / month. I would recommend their free tutorials for starters since it’s really well organised and makes the user follow up a real life example.
Codecourse gives more attention to framework specific tutorials, I would recommend their free courses for coders who have already mastered the basics.
Final personal favourite one: Laracasts
Learning to code positively affects all areas of your life and gives you a newfound sense of energy to really pursue the goals you want in life.
A lot of people think that this positive impact is limited to improving your technological skills and ability to use a computer, but it’s so much more than that. It changes your whole life, from lifestyle, through social life, to career. Wish all of you starters good luck!
The following article was written by Mike MacCana, founder at CertSimple. It explains that HTTPS can provide identity, SEO, access to HTML5 powerful features and even keep network carriers from messing with your site’s content. Read on for how or see the original article here: CertSimple
You know this, but let’s recap with a practical example:
Alice needs to send a message to Bob, privately. Someone – let’s call them Malory – sets up a wifi access point in Alice’s favorite cafe, Malory can happily reconstruct all the HTTP traffic between Alice and Bob. Malory runs
apt-get install driftnet
on her Linux laptop and enjoys a flat white while everyone else’s HTTP browsing appears on her screen in realtime.
Except HTTPS traffic won’t show up on Malory’s screen: things encrypted with a website’s public key can only be decrypted with the website’s private key. Because the website’s private key is (hopefully) only available to the website, Malory can’t decrypt the traffic.
1. Ownership attestation
Making sure Alice is actually talking to Bob. There are different levels of validation: domain validated certificates prove control of a domain, but don’t assert any particular entity controls the certificate – even if the domain is similar to a well known company.
The EV certificates you see at banks, online wallets and other high trust websites check the company applying for the certificate is who they say they are, so you know whose key you’re encrypting with. The browser displays the company name and where the company is registered, but you can check the full details inside the certificate:
2. Search engines use HTTPS as a ranking signal
You’ll need to set up HTTPS for your whole site rather than using something like a ‘billing’ subdomain. This also gives you flexibility to make previously static content interactive. Want to let users give you their contact details on a blog post? You’ve already set up HTTPS so you can do that securely.
3. Ability to use HTML5 ‘powerful features’
- Video and Microphone
- Device motion / orientation
- Pointer locking
- Encrypted Media Extensions (aka DRM)
This has already started in the current version of Canary, with geolocation being made HTTPS only since Chrome 50. If you run Canary – and soon for all Chrome users – you’ll need HTTPS for geolocation. Otherwise
navigator.geolocation.getCurrentPosition() will fail with:
4. Not having your content modified by carriers
Carriers are awful:
- Comcast adds advertisements
- AT&T adds tracking
- Verizon adds tracking and sells access to advertisers
- T-Mobile re-encodes videos, degrading quality
- The Chinese government makes your users attack GitHub.
The only thing that’s stopping them? HTTPS. If the carrier can’t decrypt the packets passing through their network (because they don’t have the site’s private key) they can’t inject their own content.
This is effective enough to the point where nefarious carriers have asked users to install configuration profiles to add the carrier’s root certificates, which are used to modify and inspect what should be private traffic. Thankfully you have control over what your browser trusts.
5. Ability to send passwords in newer browsers
Current Firefox nightlies, and soon Firefox stable, add warnings to pages that use
password type inputs without HTTPS. Here’s what it looks like:
If you’re not already considering HTTPS a standard part of your web app development cycle, you should be.
If you want an EV certificate, visit CertSimple.
A glimpse of HTML 5.1
The release of the HTML5 standard about two years ago was a big deal in the web development community. Not only because it came packing an impressive list of new features, but also because it was the first major update to HTML since HTML 4.01 was released in 1999. You can still see some websites bragging about the use of the “modern” HTML5 standard today.
Fortunately, we didn’t have to wait quite that long for the next iteration of HTML. In October 2015, the W3C started working on the draft of HTML 5.1 with the goal of fixing some of the issues that were left open in HTML5. After many iterations, it reached the state of “Candidate Recommendation” in June 2016, “Proposed Recommendation” in September 2016 and finally a W3C Recommendation in November 2016. Those who followed this development probably noticed that it was a bumpy ride. A lot of initial HTML 5.1 features were dropped due to poor design or a lack of browser vendor support.
While HTML 5.1 was still in development, the W3C has already started working on a draft of HTML 5.2 which is expected to be released in late 2017. In the meantime, here’s an overview of some of the interesting new features and improvements introduced in 5.1. Browser support is still lacking for these features but we’ll refer you to at least some browsers which can be used to test each example.
The following SitePoint article covers the following:
Context Menus Using the
Details and Summary Elements
More input types —
Responsive Images ( The
srcsetImage Attribute, The
sizesImage Attribute, The
Validating Forms with
Allowfullscreen for Frames
Read the article here: SitePoint
Clinical trials were conducted with the help of paper based case report forms (CRFs) for
decades. This was – being -changed during the last 30 years. In this presentation I show
how the electronic CRFs (eCRFs) superseded the paper based CRFs gradually.
There was a very complex regulation and well established practice for managing of paper
CRFs by the 80’s. It turned out that this regulation and practice cannot be adequately applied
to eCRFs. The processes of randomisation, query handling or adverse event reporting
should have been reconsidered.
Safety concerns are always present with respect to a computer system. But if this system is
for collection of sensitive data in order to obtain a valuable pattern, these concerns are
increased. I give examples how the regulation – Title 21 CFR Part 11 – controls of data
It is also important to understand how other standard, like CDISC (Clinical Data Interchange
Standards Consortium) and their development influence the implementation of eCRFs.
In a study design the choice between a paper based and an electronic CRF is partly an
economical question. This aspect was already investigated in detail, and I will summarize
how costs of the two tools can be compared.
At the end I would like to give a view on the most probable future of the eCRF concept.
Today’s challenge is a geographical one. Do you know which cities are the most populated cities in the world? Do you know where they are? China? USA? By way of contrast, do you know which cities are the smallest cities in the world?
Today we want to show you where you can find the largest and the smallest cities in the world by population on a map. While there is general agreement from trustworthy sources on the web about which are the most populated cities, agreement becomes sparser when looking for the smallest cities in the world. There is general agreement though about which ones are the smallest capitals in the world.
We collected data for the 125 world’s largest cities in a CSV text file and data for the 10 smallest capitals of equally small and beautiful countries in another CSV text file. Data includes city name, country, size in squared kilometers, population number, and population density. The challenge of today is to localize such cities on a world map. Technically this means:
- To blend the city data from the CSV file with the city geo-coordinates from the Google Geocoding API into KNIME Analytics Platform
- Then to blend the ETL and machine learning from KNIME Analytics Platform with the geographical visualization of Open Street Maps.
The benefits you will realize by choosing a remote development agency can be significant.
Remote teams often have more experience and greater talent than local coding enterprises. They service the global marketplace, and have a solid understanding of recent trends and technologies.
Good remote coders have learned and practiced ways to become highly productive. And they constantly strive to improve their skills.
Being remote not only requires better communication, it forces it to happen. How does this happen? Weekly meetings, chat sessions, and the exceptional clarity in briefs, specifications, and feedback. These are all part of the overall scheme.
Keep these four golden rules in mind when working with a remote agency:
- A clear brief helps to get a project off to a solid start. Collaboration can get underway even before your brief is finalized when you have a good agency working with you. Be willing to listen to any guidance the project manager may offer. It can help to get everyone on the same page as the project gets underway.
- Practicality is important. Your coding agency should advise you on the coding best practices and the technologies that they plan to put into play. The final decision is yours, but it should be a knowledge-based decision.
Technologies may vary, but the maker’s touch is essential.
- Communicate efficiently and effectively. Understand your responsibilities toward making collaboration work by preparing yourself for periodic briefings. Avoid making changes once the project is in development. If you must do so, be prepared to negotiate new deadlines. Work with the agency to determine which means of communications will work best.
- Listen to the specialists. Professional developers always have the user in mind. Criticism is intended to be constructive, and it is given with the best of intentions. The feedback you may receive is based on solid, variate coding experience.
Read full article: here
The Progressive Web Apps (PWA) technology developed by Google has been available to the public for almost a year, but relatively few people outside the world of hardcore developers are aware of what exactly they are, and how they can use them to their benefit.
It’s important to recognize that there are a few different concepts bundled up into the term “Progressive Web App” and that these individual parts have been available in one form or another before being tied together under one package. Those parts are: Service Worker, App Shell and JSON Manifest.
The Service Worker
The single most interesting component is that of the service worker script. This script acts as an additional layer between the website requests and the internet servers around the world.
It is also responsible for caching content when a visitor browses a PWA enabled page, and stores that data locally on the visitor’s device, whether that is a mobile phone, tablet or desktop computer.
This means that every time we click a link on a website with a Progressive Web App, the request will pass through the service worker script and then based on the rules set forth, will go online and ask for a new web page.
Alternatively, if the user is offline it is possible to have the service worker serve a cached page from the local storage, meaning that we can now design websites that will work 100% when browsed offline, as long as that user has been to the site at least once before.
While the idea of caching content and serving it to users without internet access is not by any means a new one, the combination with an app shell is powerful and offers entirely new ways of thinking about web development.
Read more: Here