Java Streams Overview, Part II

In my previous article, I wrote about the fundamentals of streams in Java 8. Now, let's augment our skills with some additional information about streams, like how we can chain them, and we can use them to access files.

Chaining Streams

When working with streams, they are often chained together.

How do I permanently add an entry to sys.path in Python

Because Microsoft will be removing vbScript in the next version of Windows, I have been busy converting my utility vbScripts into Python. Part of this is a library of functions that I keep in D:\include. I'd like to maintain this system in Python, but the import process is rather clumsy. I have to

import sys
sys.path.insert(0,r'D:\include')

Only after that can I import a file. The documentation is somewhat obtuse but I gather my best option is to add the file D:\include__init__.py. As long as that folder is known to Python I could then do

from include import myfile1

to include the file D:\include\myfile1.py. The only problem is that I have yet to find a way to permanently add the include folder to the list of folders that Python searches. I'm sure there is a simple way. Anyone know what it is?

Take Back Your Web: Tantek Çelik’s Call to Action to Join the Independent Web

Tantek Çelik, Web Standards Lead at Mozilla and co-founder of IndieWebCamp, delivered an inspirational talk titled “Take Back Your Web” at the most recent beyond tellerrand conference in Düsseldorf, Germany. He opened the presentation with a litany of Facebook’s wrongdoings, taking the world’s largest social network to task for its role in increasing polarization, amplifying rage, and spreading conspiracy theories.

Çelik challenged the audience to “stop scrolling Facebook,” because its algorithms are designed to manipulate users’ emotions and behaviors. He noted that it is the only social network with a Wikipedia page dedicated to its criticism. This massive document has a dizzying number of references, which Wikipedia says “may be too long to read and navigate comfortably.” As an alternative to scrolling Facebook, Celik encouraged attendees to spend time doing nothing, an activity that can be uncomfortable yet productive.

The “Take Back Your Web” presentation is a call to action to join the independent web by owning your own domain, content, social connections, and reading experience. Celik recommends a number of IndieWeb services and tools to empower users to take control of their experiences on the web.

With a free site hosted on GitHub, he said the costs of owning your own domain are less than owning a phone or having internet service. Suggestions like this are targeted at developers who share Twitter names instead of domains and post articles on Medium. Setting up a site on GitHub is not a simple task for most. That’s why networks like WordPress.com, along with hosts that provide instant WordPress sites, are so important for enabling average internet users to create their own websites.

Celik referenced Matthias Ott’s recent article “Into the Personal-Website-Verse,” highlighting the section about the value of learning new technologies by implementing them on your own website: “A personal website is also a powerful playground to tinker with new technologies and discover your powers.” It’s one of the few places developers can expand their skills and make mistakes without the pressure to have everything working. Ott enumerates the many benefits of people having their own enduring home on the web and encourages developers to use their powers to make this a reality:

As idealistic as this vision of the Web might seem these days, it isn’t that far out of reach. Much of what’s needed, especially the publishing part, is already there. It’s also not as if our sites weren’t already connected in one way or another. Yet much of the discussions and establishment of connections, of that social glue that holds our community together – besides community events in real life, of course –, mostly happens on social media platforms at the moment. But: this is a choice. If we would make the conscious decision to find better ways to connect our personal sites and to enable more social interaction again, and if we would then persistently work on this idea, then we could, bit by bit, influence the development of Web technologies into this direction. What we would end up with is not only a bunch of personal websites but a whole interconnected personal-website-verse.

Check out Çelik’s slides for the presentation and the recording below for a little bit of inspiration to re-evaluate your relationship with social networks, create your own site, or revive one that has been neglected.

7 Keys to Successful Solution Delivery Using Disciplined Agile

Sometimes true agility needs discipline to become a reality.

As organizations scale their Agile practices, they face multiple challenges related to their working culture, organization structure, solution architecture, technical infrastructure, and so on.

While there are many Agile models and frameworks offering possible ways to address these challenges, it is ultimately the leaders in an organization who have to determine what would work for them in the transformation journey.

Are Agile Testers Still a Thing?

We need our testers in agile. See, they have a post it.

With the implementation of Agile methodologies and the coupling of roles in software development, the tester has been lost, especially since integrated roles like the full stack developer started to emerge. Companies are looking for people capable of performing analysis, design, architecture, development, and testing, grouping these skills into one single specialist.

But don’t all these roles have to be taken into account for software development? Although there are those developers with extensive knowledge who are capable of performing functions in each of these areas, there is always a role that loses some importance.

How to Become a Continuous Learner

Today is the perfect day to become a continuous learner.

I had the opportunity to hear Derek Downey, director of the Open Source Database Practice at Pythian, share his thoughts on Adopting a Habit of Continuous Learning at Percona Live.

Derek is a proponent of, "If you’re not learning, you’re dying," and strongly recommends making learning an ingrained habit. Why a habit? Because a habit is when your brain automates the tasks you do on a regular basis like brushing your teeth or working out.

Jetpack 7.4 Adds Business Hours Block and Ability to Share Content Through WhatsApp

Jetpack 7.4 is now available and includes a new Business Hours block. This block contains a toggle that users can set to show whether they’re open or closed.

There’s also a way to add additional times so restaurants, for example, can display when they’re open for breakfast, lunch, and dinner. However, I couldn’t figure out a way to add text to label what the hours mean. Also, depending on the theme, the alignment displays incorrectly. You can see the block in action below.

Sunday
Closed
Monday
9:00 AM – 1:00 PM
5:00 PM – 10:00 PM
Tuesday
9:00 AM – 5:00 PM
Wednesday
9:00 AM – 5:00 PM
Thursday
9:00 AM – 5:00 PM
Friday
9:00 AM – 5:00 PM
Saturday
Closed

The Slideshow, Carousel, and Tiled Galleries blocks have all received enhancements to improve their look and performance on mobile devices. The Carousel block also contains better theme compatibility.

WhatsApp is now included in the Jetpack Sharing module. Users can enable it by browsing to Jetpack > Settings > Sharing > Configure sharing buttons. The button supports sharing content through the stand-alone app and the web interface.

Jetpack 7.4 also makes a number of enhancements to the Recurring Payments block such as improving the display of the renewal frequency in the button list and improving the look of the payment modal on mobile devices. This version also requires users to be on the Premium or Professional plan on WordPress.com in order to access the button.

You can see a full list of changes in 7.4 by viewing the changelog.

Movin’ Modals Along a Path

Modals always be just appearin'. You might see one once in a while that slides in from one of the edges, or uses some kind of scale/opacity thing to appear from "above" or "below." But we can get weirder than that. Why not have them come in on an offset-path?

Just a swoopy arc is kinda fun.

See the Pen
Move Modal In on Path
by Chris Coyier (@chriscoyier)
on CodePen.

Or we could Mary Poppins it and have it come floating in from afar.

See the Pen
Move Modal In on Path: Mary Poppins Edition
by Chris Coyier (@chriscoyier)
on CodePen.

Or get straight up wiggly woggly.

See the Pen
Move Modal In on Path: Wackadoo
by Chris Coyier (@chriscoyier)
on CodePen.

That's all. I figured you were here for the CSS tricks, anyway. ;)

The post Movin’ Modals Along a Path appeared first on CSS-Tricks.

Mule Programming Style Guide: DataWeave Code

In this post, I will discuss how I format my DataWeave code to improve its readability.

In my previous post about my Mule programming style, I discussed a couple of things: first, why the readability of your code is so important, and second, how having a single flow that describes the overall intent of the code through descriptive doc:name attributes can really improve the readability of your code.

When Should We Start Learning How to Be Agile?

Why wouldn't we want to teach agility along with reading, writing, and arithmetic?

I was recently reading the book by the Indian philosopher Jiddu Krishnamurti On Education, which talks about the need for schools to educate "integrated" beings, to make them conscious and reflective rather than "dumbing them down" with knowledge not to be discussed.

Which then got me thinking about the subject of agility: Why aren't we teaching agility in grade school? Indeed, my research on the Net in terms of agility learning initiatives at school did not yield much at all. 

Cloud-Native Data Platform Frees Developers to Focus on App Development

I had the opportunity to meet with Robin Schumacher, Chief Product Officer and Jonathan Ellis, Co-founder and Chief Technology Officer of DataStax at their Accelerate user conference where DataStax CEO Billy Bosworth introduced DataStax Constellation in his keynote.

Constellation is a cloud data platform that simplifies development and operation of modern applications. Constellation will launch later this year with two cloud services: DataStax Apache Cassandra as a Service and DataStax Insights. DataStax Apache Cassandra as a Service will deliver scale-up and scale-down Cassandra clusters, on consumption-based pricing.

Machine Learning in Android Using Firebase ML Kit

Back in the day, using machine learning capabilities was only possible over the cloud, as it required a lot of compute power, high-end hardware, etc. But mobile devices nowadays have become much more powerful and our algorithms more efficient. All this has led to on-device machine learning being a possibility and not just a science fiction theory.

On-device machine learning is being used everywhere, such as:

Using the Telegraf Elasticsearch Input Plugin

The Telegraf Elasticsearch plugin is really easy to use, and it can show you a lot of useful information. To begin, let's get the InfluxDB sandbox up and running as well as an Elasticsearch node that we can populate with some data using Kibana.

Installing the InfluxDB Sandbox

For this tutorial I've opted to use the InfluxDB Sandbox, which is really easy to get running. Just clone the repository and run the ./sandbox up command and you've got all four components of the TICK stack running in their own containers. Follow the instructions here to clone the repository and get it running.