Sunday, December 29, 2019
Cloudy mainframes in 2020
With the new NTT and Microsoft Alliance announced this month, look for interesting things to happen in this space and more in the coming months. NTT Research opened its Palo Alto offices in July 2019 as a new Silicon Valley Startup.
Some of the initiatives listed in the PR include:
1. Global Digital Fabric.
2. Cybersecurity threat intelligence analytics
3. Social robotics with relational AI for digital companions
4. Digital workpace solutions
5. Knowledge discovery and management.
6. All-photonics networks
7. Digital twin computing
8. Innovative Optical and Wireless Network (IOWN)
9. Natural interactions between people, nature and technology.
The NTT DATA Group's 2019 Annual report may shed some light on these initiatives.
The PHI, CIS and MEI Labs within NTT Research are working with universities to research hardware, materials and computational techniques. See this presentation on Quantum Computing with some of these partners mentioned.
What's Global Digital Fabric? I don't think it's nanotech shirts, though they sound pretty game-changing for athletes and the medical industry. According to this announcement, it's combining Microsoft Azure with NTT's "globally-connected ICT infrastructure".
Social robots will be fascinating. Robot companions could shadow you during sports, at home, in school, at a hospital or at work. Something as simple as a robot pet or insect gently reminding you about your prescriptions or monitoring your blood sugar could change many people's lives. A physical, interactive robot nagging you about your homework, guiding your studies and providing conversational AI for languages could change the way you learn.
What if we could take a child's stuffed toy and use Relational AI and some motors to turn it into a trusted teaching companion? Jacqueline Westlund's post on MIT's web site is really fascinating. There is an open-source MIT AI Ethics Education Curriculum available here. Human-robot interaction (HRI) will be huge in 2020.
All-photonics networks will accomodate "petabit-class scalable optical networks". I can see AI & ML playing a big part in reducing noise and improving performance across large ranges. Intel, Sony and NTT announced an "innovation forum" called the Innovative Optical and Wireless Network (IWN) Global Forum to accelerate R&D in this space.
Speaking of noise reduction, I hope we see noise reduction home "appliances" emerge in 2020. Perhaps some active acoustic soundproofing foam which uses noise cancellation on a room-scale. Having that soundproof tunnel at home would be great for relaxation, concentration. Being able to cheaply control the acoustic properties of a room using some fabric or foam would be great for musicians and music aficionados.
The topic of natural interactions between people, nature and technology is super-broad and could apply to many areas of study. The NTT DATA Group's AI Guidelines provide some guidelines for transparency and understanding in AI. The NTT DATA Technology Foresight 2019 highlights predictions in areas such as XR Space (AR/VR/MR), brain tech, social and digital divides and many other topics. A great read towards 2020 tech.
A 2018 presentation on "corevo" from NTT identifies 4 types of AI: Agent, Ambient, Heart-Touching, Network.
It's the Heart-Touching AI's which excites me in 2020. Analyzing people's minds and bodies to understand their deep psyche, their intellect, and their instincts. Tech such as mind and body reading and bidirectional mind communication, emotional and tactile feedback loops will bring us closer to natural interactions with AI devices.
Now back to old school computing, AzureCAT has you covered on the mainframe front with Deploying NTT Data UniKix in Azure.
Part 1 Deploying the VM
https://techcommunity.microsoft.com/t5/AzureCAT/Deploying-NTT-Data-UniKix-in-Azure-Part-1-Deploying-the-VM/ba-p/775840
Part 2 - Configure TPE and compile the ACCT Application
https://techcommunity.microsoft.com/t5/AzureCAT/Deploying-NTT-Data-UniKix-in-Azure-Part-2-Configure-TPE-and/ba-p/779142
Open Mainframe Project
https://github.com/openmainframeproject
https://landscape.openmainframeproject.org/
x3270 terminal emulator
http://x3270.bgp.nu/
I truly hope I am not on any Cobol projects in 2020.
Wednesday, October 30, 2019
Useful DOS commands
I appreciate the complexity and flexibility that Zsh has vs. DOS, and miss a lot of the features.
Sometimes though, there are some interesting tricks I forget about when using DOS/Windows/Powershell.
Grab the history to a file. I always hit F7, and would appreciate having my session's file around for a basic command window.
doskey /HISTORY > history.txt
https://www.howtogeek.com/298163/how-to-use-your-command-history-in-the-windows-command-prompt/
Also see Start Transcript
https://4sysops.com/archives/powershell-transcript-record-a-session-to-a-text-file/
Pipe a python script's output and stderr output
python -m myscript.py &2>1
Teeing Objects
https://adamtheautomator.com/tee-object-powershell/
Ascii Doom
https://dario-zubovic.itch.io/1337-doom
Last one should be cross-platform!
Monday, October 28, 2019
Common Kubernetes Commands
The Kubernetes Client kubectl recently became an independent tool outside of the main Kubernetes repo.
Some common Kubernetes kubectl commands.
https://kubernetes.io/docs/reference/kubectl/overview/
https://github.com/kubernetes/kubectl/
https://kubernetes.io/docs/reference/kubectl/cheatsheet/
Get the current cluster / namespace context
kubectl config get-context
Use the specified cluster context
kubectl config use-context my-cluster-name
Which cluster am I on
kubectl cluster-info
Create my service/deployment/secret/configmap/replicationcontroller/pod/job
kubectl apply -f myyaml.yaml
Delete the applied object(s)
kubectl delete -f myyaml.yaml
Delete a pod
kubectl delete -n dev mydevpod
Get a list of pods for all namespaces
kubectl get pods -A
Get the logs for a pod
kubectl logs -n dev mydevpod-abcde
kubectl get internals
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/get/get.go
Copy files to a pod
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
Other commands
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/cmd.go
get, describe, delete, label, edit, patch, annotate, expose, scale, autoscale, taint, rollout, logs, exec, rolling-update, cordon, config use-context, config delete-cluster, cp
kubectl get namespace
kubectl config get-context
kubectl config get-clusters
kubectl config get-users
Saturday, February 16, 2019
Microsoft Learning Resources and Restructuring Big Data
A number of exams have been retired recently or are set to retire.
https://buildazure.com/2018/12/21/microsoft-exams-scheduled-to-retire-in-early-2019/
Microsoft is leveraging edX for its Microsoft Professional and Capstone tracks. Pick a topic and go.
Microsoft Virtual Academy is going away and being replaced with Microsoft Learn. What's great about learn is that it provides a no-cost sandbox in Azure for learning, directly in the labs! Microsoft is pursuing developer adoption, and developers have concerns with their credit cards and cloud services. A former colleague of mine rang up a large bill in Amazon after leaving on some Hadoop clusters he was using for training. This fear of costs and the pay-as-you-go model will continue to limit the cloud experience for entry-level developers.
Speaking of cost containment, it is 2019 and we still can't pause HDInsight clusters.... I think that this feature alone would "Spark" increased growth of Hadoop on Azure. Azure Databricks and its job-based cluster model seems to have the right approach, and the friction of spinning up and pausing clusters is much less than in HDInsight.
With Databricks being the fastest growing company in North America, I see adoption of Cloudera (+ the former Hortonworks) and HDInsight in the cloud continuing to increase. The vast zoo of services between Hortonworks Data Platform (HDP) and Cloudera Data Platform (CDP) being combined and deprecated will make for an interesting gene pool.
And all will sit on Azure Data Lake Gen2 Blob Storage? Microsoft marketing needs a better name than hierarchial namespace for their game-changing big-data filesystem....
When Apache and Microsoft worlds collide - there are some amazing code reviews coming out of those JIRA tickets where companies such as Microsoft enter the open-source arena.
Microsoft Azure HDInsight Big Data Analyst
Friday, October 26, 2018
Azure CosmosDB Resources
A few links to assist with CosmosDB
CosmosDB Indexes
http://muratbuffalo.blogspot.com/2018/08/logical-index-organization-in-cosmos-db.html?utm_content=78727690&utm_medium=social&utm_source=twitter
CosmosDB Cheat Sheets
https://docs.microsoft.com/en-us/azure/cosmos-db/query-cheat-sheet?WT.mc_id=twitter&utm_content=78509449&utm_medium=social&utm_source=twitter
CosmosDB Like A Pro
https://medium.com/@david.nissimoff/azure-cosmos-db-like-a-pro-minimize-cost-maximize-productivity-24dfee205c0
CosmosDB Ignite 2018 Sessions
https://www.youtube.com/playlist?list=PLmamF3YkHLoLkL4Q-fRgbG8URj503ZMgd
Monday, May 14, 2018
Durable Functions goes GA
- They can checkpoint on await and maintain state
- They can orchestrate other functions
- They define workflows as code.
Be sure to view the release notes and open issues to make sure durable extensions will work in your scenario.
https://github.com/Azure/azure-functions-durable-extension/releases/tag/v1.4.0https://github.com/Azure/azure-functions-durable-extension/issues
Saturday, January 21, 2017
Azure DocumentDB Emulator Released
Most enterprise organizations and developers doing testing against cloud services require on-premise versions of those services. This simplifies development, reduces latency instead of connecting to cloud resources, and reduces costs. For customers using on-premise builds, it is vital to making sure that all builds and tests are contained in their own silo.
https://docs.microsoft.com/en-us/azure/documentdb/documentdb-nosql-local-emulator
Comparison of HBase, MongoDB and DocumentDB
http://db-engines.com/en/system/HBase%3BMicrosoft+Azure+DocumentDB%3BMongoDB
DocumentDB provides protocol support for any apps written to use MongoDB to convert MongoDB servers to a PaaS Azure model. Some features such as aggregation pipelines are not yet available.
https://docs.microsoft.com/en-us/azure/documentdb/documentdb-protocol-mongodb
DocumentDB has been around since 2014, however MongoDB is still the beast in its category.
http://db-engines.com/en/ranking/document+store
An intro to DocumentDB
https://docs.microsoft.com/en-us/azure/documentdb/documentdb-introduction
Analyze data with HDInsight and DocumentDB
https://docs.microsoft.com/en-us/azure/documentdb/documentdb-run-hadoop-with-hdinsight
The MongoDB Spark Connector
https://github.com/mongodb/mongo-spark
DocumentDB as a device registration store for Azure IoT Hub
https://docs.microsoft.com/en-us/azure/iot-suite/iot-suite-what-are-preconfigured-solutions
I'm still looking for a good way to do on-premise Azure Data Factory tests for simulating pipelines.... just upvoted Support MSBuild...
https://feedback.azure.com/forums/270578-azure-data-factory?filter=new&page=4
Tuesday, January 10, 2017
Awesome Awesomeness Lists including Cloud, IoT and Mobile
Awesome Mobile UI/UX Interfaces
https://github.com/cymcsg/Awesome-Mobile-UI
Awesome API
https://github.com/Kikobeats/awesome-api
Awesome IoT
https://github.com/HQarroum/awesome-iot
Simulate Popular Mobile Devices for Testing
https://www.asp.net/mobile/device-simulators
Mobile Dev Learning
https://github.com/MakinGiants/awesome-android-learner
Awesome Awesomeness List
https://github.com/bayandin/awesome-awesomeness
Curated List of Awesome Lists
https://github.com/sindresorhus/awesome
The Viral Progressive Web App
https://cloudfour.com/thinks/the-business-case-for-progressive-web-apps/
Progressive Apps
https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/
Service Workers
https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
Getting Started with WebVR
https://developers.google.com/web/fundamentals/vr/getting-started-with-webvr/
Friday, December 2, 2016
Azure HDInsight Apps & Domain-Joined Premium HDInsight Clusters
When spinning up an Azure HDInsight cluster, there are a few options during setup, including adding marketplace apps from 3rd-party vendors.
The blurb from the install screen.
External Apps
- Datameer: Datameer offers analysts an interactive way to discover, analyze, and visualize the results on Big Data. Pull in additional data sources easily to discover new relationships and get the answers you need quickly.
- Streamsets Data Collector for HDnsight provides a full-featured integrated development environment (IDE) that lets you design, test, deploy, and manage any-to-any ingest pipelines that mesh stream and batch data, and include a variety of in-stream transformations—all without having to write custom code.
- Cask CDAP 3.5 for HDInsight provides the first unified integration platform for big data that cuts down the time to production for data applications and data lakes by 80%. This application only supports Standard HBase 3.4 clusters.
Custom Apps
|
Name
|
Script
|
|
Install Spark
|
|
|
Install R
|
|
|
Install Solr
|
|
|
- Install Giraph
|
|
|
Pre-load Hive libraries
|
Bootstrapping Config Files
Connectivity
Connecting to the cluster using sshWorking with HD Insight, Hue and many of the other browser-based tools sometimes requires Setting up SSH tunneling, if you don't have access directly to HDInsight network.
You can avoid this by setting up some edge nodes in the cluster.
https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apps-use-edge-node
Extending the network is also useful. When provisioning an HDInsight cluster, you can assign it to a VNet.
https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-extend-hadoop-virtual-network
RStudio & RevoR
Rikard Sandström has some helpful links - installing a Premium HDInsight Spark cluster with RStudio + Tunnel and Creating HDInsight Clusters with Templates.Tuesday, May 31, 2016
ChatOps and Azure Resources
Slack seems to be the method of choice for many firms coming back to the '90s realm of IRC, with persisted chat windows, ChatOps continuous integration and automated deployments. Companies like Shopify use it for their deployments activities and for their customers feature stories.
The ability to do ChatOps activities, wire up deployment commands and notification messages in Slack is really cool.
Not to be late to the party, Microsoft introduced /skype integration with Slack in the new year.
https://www.skype.com/en/features/slack/ The motto of Microsoft in 2016 seems to be if you can't beat 'em... hang out with them.
Coming back to Azure with a _few_ resources, an enormous amount of Azure shortcuts here.
https://blogs.technet.microsoft.com/tangent_thoughts/2016/02/04/bookmark-this-aka-msazureshortcuts/
The Azure ML Learning Cheat Sheet
https://azure.microsoft.com/en-us/documentation/articles/machine-learning-algorithm-cheat-sheet/
The Azure Web Sites (Web Apps?) Cheat Sheet
http://microsoftazurewebsitescheatsheet.info/
A Complete List of Microsoft Azure Tools
http://scottge.net/2015/08/03/a-complete-list-of-microsoft-azure-tools/
With Microsoft Canada adding its new data centres and ExpressRoute functionality, it's an exciting time to be a cloud developer above the 49th parallel north.
Wednesday, June 13, 2012
Meet the New Windows Azure - ScottGu's Blog
Now if they had a VM to VHD converter they may get even more traction.
Windows Azure now allows you to deploy up to 10 web-sites into a free, shared/multi-tenant hosting environment (where a site you deploy will be one of multiple sites running on a shared set of server resources). This provides an easy way to get started on projects at no cost.
Microsoft has gone and given away free hosting.
Lots more features here.
Meet the New Windows Azure - ScottGu's Blog
Wednesday, May 2, 2012
Crowdsourcing and Cloud Labor
Technology isn’t the only thing contained in the cloud. There are people floating around in there too.
One of the challenges with natural learning, neural networks and text analysis is the ability to categorize an opinion context. Using a lexicon of various terms, and the syntax of the terms in a statement, you can do a general categorization. However, what’s to say that “you’re so dumb” and “you’re SO dumb” mean the same thing. The one with capitals could be a sarcastic comment, depending on the context.
We can do some general analysis of text terms, however manually tagging these may prove to be more accurate. How do you setup a manual tagging job using real labor?
CrowdFlower’s system leverages large groups of workers to solve massive but technically simple tasks. One of these services is sentiment analysis, the study of public opinion on a given subject. Other sentiment analysis programs use computational linguistics to perform this task, but computers cannot always discern nuances of tone, such as sarcasm or irony. CrowdFlower’s version is unique in that actual humans perform the sentiment analysis.
Sounds interesting!
Monday, April 9, 2012
SSIS Junkie : AdventureWorks2012 now available for all on SQL Azure
Why not host your training platforms in the cloud? It only makes sense, especially for databases, as every developer doesn’t need the latest Adventureworks database on their laptop, and it’s a big waste to add to a local server.
AdventureWorks2012 now available for all on SQL Azure
SSIS Junkie : AdventureWorks2012 now available for all on SQL Azure
Awaiting the launch of Tailspin toys to the cloud….
Monday, April 2, 2012
The R programming language for programmers coming from other programming languages
Learning R? An introduction and comparison against other common programming languages.
R is more than a programming language. It is an interactive environment for doing statistics. I find it more helpful to think of R as having a programming language than being a programming language. The R language is the scripting language for the R environment, just as VBA is the scripting language for Microsoft Excel. Some of the more unusual features of the R language begin to make sense when viewed from this perspective.
The R programming language for programmers coming from other programming languages
Friday, March 30, 2012
The Omega Project for Statistical Computing
Looking for R packages and addons? Here’s a bunch.
The Omega Project for Statistical Computing
Thursday, March 22, 2012
Stack Exchange Data Explorer and Big Data
There are a lot of properties under the StackExchange banner. Here is a tool that lets you run SQL-style queries against them all.
Friday, March 16, 2012
Installing hadoop development cluster on Windows and Eclipse -- Introduction
Hadoop & HDFS on Windows here for all the non-Linux types. Of course, this is missing all the Hive/Pig/etc goodness and the Cloudera configuration.
This tutorial describes how to set up such a cluster on a computer running Microsoft Windows. It also describes how to integrate this cluster with Eclipse, a prime Java development environment.
Installing hadoop development cluster on Windows and Eclipse -- Introduction
Wednesday, March 14, 2012
Java interop with .NET
To wire up those cloud apps that are written using Java, use some translation tools.
IKVM.NET is useful for several different software development scenarios. Here is a sampling of some of the possibilities.
Monday, March 12, 2012
How-to install R on CentOS « /home/kOoLiNuS
Once you get your Hadoop cluster setup, you’ll probably want R. Here’s how to install it.
A not so christmas-connected topid today as I’m going to write down a few lines on how-to install the open source statistical tool and relative developement libraries R on CentOS release 4 and 5.
CentOS 5 - Networking Support - Setting up a folder share using Likewise over an Active Directory Network
You may want to access your CentOS VM using a file share at one point. Here’s how.
I'm making a shift from Ubuntu to CentOS 5. Things are obviously quite a bit different between the two, as I've discovered. I'd appreciate some input as I make the shift.
The first problem (and hopefully easiest) is designating a folder to be shared. In Ubuntu it was as easy as right-clicking a folder and click Share Folder. I need to learn what the method is for CentOS, either via the GUI or otherwise.