Experiencing Hour of Code
December 15th, 2017
Hour of Code is an annual event aimed at introducing students to computer science. This is my experience.
Hour of Code is an annual event aimed at introducing students to computer science. This is my experience.
Smart speakers are continuing to become more popular in people’s homes. They are incredibly affordable and offer a natural way of communicating with your favorite applications with your voice. Alexa has now surpassed 20,000 skills in its store…
High Availability With A Single Instance
There was a discussion on our company Slack recently about databases and XML, and someone pointed out that PostgreSQL has some nice XML functions . I’m a Postgres fan and knew that it had some XML functions but haven’t dug into them yet. Using my…
With the arrival of ABAC, companies are considering the switch from RBAC. Is this the right call or can RBAC still be relied on as a security solution?
Real Time Data with RethinkDB and CouchDB/PouchDB
Moving from a traditional monolithic application to a microservice platform provides many challenges for organizations.
A recent Android application I worked on required storing the latitude and longitude of a user’s location. I was asked to convert that latitude and longitude into a user-readable address. I could have written the code in Java, which would convert…
Spark Job Server for Persistent Contexts and Low Latency Jobs
With the explosion of IoT devices across the world, handling communication with those devices in a secure, scalable and globally distributed manner is becoming increasingly important. Protocols such as MQTT offer a means for communicating with these…
Simplifying Distributed Systems Using Apache Kafka
Demonstrating how easy it can be to build our RESTful webservices with Node, I will live code a full CRUD (Create, Read, Update, and Delete) REST service with NodeJS. We will utilize MongoDB as our presistent backend, Mongoose as our ODM (Object…
A brief overview and guide of setting up a MimoLite module to monitor and control a garage door.
Discussing the various aspects of using, configuring, and debugging Z-Wave devices.
Recently at one of my clients, I found myself looking for a different setup for building and managing REST calls to various APIs I was working with.
A tutorial for configuring a reverse proxy via nginx and SSL using Lets Encrypt for a home automation server like Home Assistant.
Automatically download and setup OS-specific Webdriver executables.
A guide to set up a Raspberry Pi 3 with Home Assistant
Google has been updating their APIs to require OAuth 2.0. One of our clients makes considerable use of the Google Webmaster Tools APIs instrumented for 14,629 individual websites (and growing). I recently had the opportunity to help this client…
At the end of January, Object Partners will have officially been in business for 20 years. While that sounds like a very long time, it’s gone by quickly for some of us old timers. When we started OPI, we wanted it to be the kind of place where…
Last week I had the opportunity to attend my second JavaOne conference. It was my first since 2009 and thus my first since Oracle took the reigns from Sun. It was also the first where I was invited as a “speaker”. The reason for the quotes around…
Examples of interacting with complex UI elements in Geb browser functional tests.
Recap of the workshops and talks at the Gr8Conf US 2015 conference.
Review some command-line hits for more fine-grained git control
During the first week of June, I had the opportunity to speak and attend Gr8Conf EU in Copenhagen, Denmark. The conference was relatively small but had many amazingly talented speakers and attendees. Just check the agenda and you’ll see many of the…
A tutorial on the CLOB data type in Oracle
if you run a command with at least one argument twice a day, then you should make an alias for it.
Google Code is shutting down (because everyone uses github anyway) So long and thanks for all the fish. It has been a good ride — thank you for pushing open collaboration forward! Its been a good transition to git. If you haven’t yet, consider…
Currently, Travis doesn’t have a way to display a build status badge for individual jobs in a matrix build. You can only get an individual badge which displays “passing” if all the jobs pass or “failed” if one job fails. I’ve created a small open…
This step-by-step walk-through will guide you through building an Apache Kafka cluster from the ground up, with vanilla Debian as a base on Vagrant boxes.
Object Partners is pleased to welcome Jeremy Schacherer to their technology consulting staff. Jeremy has 19 years of technology experience working in the food packaging, government, internet auctions, insurance and direct mail industries. Jeremy has…
Describes a recipe for using git bisect and curl to find where in the commit history a bug was introduced.
Implementing Single Sign-on Using Rails, Oauth2 and Wordpress as an Oauth Provider
Gits reflog is a powerful feature that allows a user to recover from almost any error. Github doesnt offer direct access to the reflog of the backing repository but using a couple of Githubs APIs, we can recover a commit from the remote reflog.
Agile and QA teams both have their compliment of Creatives who don’t fit the mold yet provide tremendous value to the team through the very traits that set them apart.
The test data you have available creates a major design constraint for your automated tests, impacting both test coverage and validity. You can address this challenge in several ways.
The Oracle XML type functions (e.g. updateXML, EXTRACT) can be applied to xml formatted data in any column type by using the XMLType() conversion function.
We had a great time at Mobcon, as well as the time leading up to it! We had a lot of congenial conversations, got to show off some of our many accomplishments within our mobile practice, and in general had a fun time mingling with the local business…
Presents a new approach for date and time processing that solves almost all Daylight Savings Time issues as well as decreasing the size of a JSON stream.
This post will discuss how to solve the problem of playing a Youtube video from a press from an initial starting image, and then replacing the image when the video has ended playing. Over the last two years on a few different web projects, I have had…
How to implement Advanced Process Control (APC) in a manufacturing facility to improve process capability and product quality
Connecting to the built-in Mac VNC may cause the host machine to freeze up when connecting from Windows. Included are some potential fixes.
Learn how to use JCS to cache data in your application.
Recovering from Merge Errors in Mercurial with Sub-Repositories and Named Branches
One very nice thing Servlet 3.0 brings us is a set of annotations to declare Filters and Servlets and Listeners. With these annotations, the configuration of applications is removed from the web.xml file and put into the applications JARs and WEB-INF/classes.
Properly configure Log4J, SLF4J, and Logback to not emit logging events from abstract classes.
JSTL 1.2 Core Set tag removes attributes from other scopes when the value is null and the names overlap!
Step-by-step instructions for uninstalling Juniper Network Connect VPN client and installing and configuring it to run in OS X 10.6+. Addresses issues with the default install, 64 bit kernel, and coexistence with VMWare or Parallels
It is possible to create a single sign-on system using only the Java jdk and its built-in support for public key infrastructure (PKI) and digital signatures.
As a thought experiment, I muse what could be done to make a cluster to run locally.
How to Set up Google Analytics on localhost for testing in development.
In my previous post A successful git-svn workflow, I wrote about starting out with git-svn. This post is a followup with notes on more advanced topics.
Using Firebug to tweak layouts is incredibly easy. With Firebug Lite, that functionality is available in just about every web browser.
This article is to cover the process of setting up a virtual machine in such a way that you can remote administer it and connect to it like any server on your network. This example will be running and OS X host with a Ubuntu Server 10.10 guest.
A quick discussion on the difference between @include and jsp:include tags when trying to include one JSP in the rendering of another.
A quick tutorial on how to setup password-less ssh-logins with public/private keys
My experience diving into git and git-svn on a larger team.
Git has a lot of tools in its shed but in my opinion, none is more powerful and useful than local developer branches.
I’ve been working with the Jive SBS platform for about 6 months at my current client. SBS stands for “Social Business Software“. At its heart, Jive is a portal product, with an emphasis on supporting social networking. Jive is a licensed product. It can be used effectively out of the box, but licensees have access to the source code (as well as the source of any open-source projects that Jive leverages). Jive provides a robust mechanism for customizing the functionality of the product via plug-ins that developers can create and install. I have found that the platform has some very useful functionality, as well as some substantial shortcomings. In this posting, I’ll describe some of the pros and cons of the platform (as I see them).
Taking care performance requirements for applications and planning for those are as important as managing other functional requirements of an application. If not done properly, it can break your application even after building a functional application (but not performing one). In this posting I try to outline a practical approach of handling performance requirements.
A list of FireFox extensions that I use (daily, weekly, or monthly) to streamline web application development.
Writing a resume can be challenging, and you probably get tons of varying advice from lots of different people. There really isnt one way to write a resume, but there are a lot of ways to write an incorrect one. Take bits and pieces of the advice you get, and mold that advice into your own style and resume. Ill cover the basics (cover letter, summary, technical skills section, professional experience, education, and font/formatting), but dont be afraid to add your own touch beyond the basics.
It happens from time-to-time and for a variety of reasons that one might want to have a back-up of a Subversion repository.
Validate the information contained in a local object when passing through a mocked method, and afffect it as an external system would be expected to.
Thoughts on what software developers can do to advance the concept of sustainable computing.
In a team environment, the better a developer is at collaborating and working with others, the better the project will turn out.
I am sure that you have heard the often quoted “great developers are 10 times more productive than average developers”. As a consultant, I have seen this in practice many times, over the course of many projects at many clients. I am sure that you…
More and more organizations are relying on open source software to build, test, deploy, and run mission critical IT applications. From small start-ups to Fortune 500 companies, organizations worldwide are continuing to find open source as a cost effective means to deliver quality business applications. With a wealth of commercial and open source software options widely available, how does an organization know if an open source product is right for them?
Agile projects have been around for years now, but for companies that are still new to the concepts and process, some simple pitfalls can delay your project. I have seen projects at companies that have run into challenges so here are some ideas for successful starts and pitfalls to avoid.
As consultants we often find ourselves in a new office several times a year and it is up to us to carry our green habits with us as we go. Programs offered at offices are most often by, for, and about employees leaving consultants and contractors out of the loop on available facilities and programs. With this just being the way of things, here are nine simple, portable things we can do to perpetuate a green lifestyle wherever we find ourselves working on a given day.
Tis’ the season for predictions into 2010. After researching data from various sources, and talking with many colleagues over the past year and into 2010, I’ve put my finger on a handful of things that popped out at me. None of these predictions are groundbreaking, they’re fairly common sense. But, I think they’re important to keep an eye on, and with the media and government telling us that the recession is over, we shouldn’t become complacent in preparing for the upcoming year.
Perhaps Minnesota politician Al Franken’s character on Saturday Night Live said it best when Stuart Smalley declared “I’m good enough, I’m smart enough, and doggone it, people like me!” A good consultant is not just measured by their productivity…
How many times do you find yourself creating this code over and over again in tests or even production code? Rather than writing this same code over and over again, there is an easier way to create a simple generic list of objects in one method…
What brought us to Agile? The most common software management technique in the past and today is called “waterfall” Software Development. As defined by Wikipedia, the definition for Waterfall development is a sequential development process, in which…
There are a lot of different ideas, questions, and discussions going around about resumes and cover letters, so I thought I’d jump in the mix. I’ve seen literally tens of thousands of resumes in my day, some terrible, some great. But all are…
I’ve been approached recently by members of various projects about how to improve code coverage numbers. In an abuse of the numbers or a misunderstanding of their purpose, there’s mandates to keep code coverage at 80%. Other team’s have been closer…
A Slashdot story pointed out the Windows 7 Beta release was made public, so I downloaded the DVD image, made up a quick VMWare image, and installed the new Windows for play. Sometimes I’d have a spare PC laying around that I’d use as a lab to install…