Author Archives: admin

.Net Core 1.1, ASP.NET Core and Cross platform

It appears that Microsoft has released ,NET Core 1.1 and ASP.NET Core.  There is a lot of information to absorb and understand.

Places you may want to start with:

dot.net

.NET Core

ASP.NET Core

Microsoft Github for dotnet

Awesome dotnet on Github

There is so much information, samples, tutorials you can leverage in order to get up-to-speed on ASP.NET Core and .NET Core.  I’m really only interested in the API, server centric of .NET Core and ASP.NET Core.  I know ASP.NET Core has awesome SPA development support and also Native support of iOS, Android on the Mac.  Before I make the move into looking at Microsoft native offering I will be focusing on Native using Swift and Xcode.

-br

What have I been doing lately

This post is in regards to what I’ve been playing with or thinking about playing with in no particular order:

  1. Learning Haskell
  2. Postgrest is written in Haskell which is a server based application that exposes Postgres Schema as Rest Service.  It support oAuth security, CRUD, stored procedures and querying)
  3. Leaning Elm
  4. Visual Studio Code
  5. Visual Studio 2015 cross platform support for iOS, Android, Clang, etc
  6. Compiling C++ or anything to optimized Javascript.
  7. C++ Certification (I know C and Java so this should be easy)
  8. Google
  9. Progress Web Apps
  10. Firebase
  11. Game Maker / Enigma Development Environment
  12. Heroku 
  13. Hackaton / Hackdays
  14. IOT (ActiveMQ, Mosquitto message broker)

-br

Photosphere Viewer

I want to create a vtour application using PhotoSphere-Veiwer which is a open source javascript application that uses the Three.js rendering engine.  It only requires the Photspheres images, 10 of thousands of generated images, xml, html and javascript.

More analysis and design is required but this is looking to be a long term idea I can work on.

-br

Understanding Heroku One-off Dyno and Job Scheduler

I have been working on designing a daily upload node.js application that calls a third-party in order to refresh the application MongoDB datastore. One of the solutions I was investigating was Heroku Worjer Dynos, Background Jobs and Queuing.  I spent several hours of scratching my head trying to figure out how I could add a refresh button feature to my web application using the above pattern.  I decided that it was not really a feature that should be implemented.

What I need to do:

  1. Create a refresh file by call third party service and saving the query results to a JSON flat file
  2. Drop the MongoDB collection.  I don’t have Mongo available to me on the dyno so I will need to connect using headstone (Headless Keystone) script to purge all of the collections documents.
  3. Create a new MongoDB collection using the the JSON flat file as input.  Again headstone (Hedless KeystoneJS) script to insert the documents.
  4. Remove the JSON flat file

With Heroku I will be able to create a One-Off Dyno and Schedule it on a nightly.  Having Papertail enabled to monitor and notify me of any issues.

-br

 

Google Location Geolocation API

Working with 3rd party data I’m finding that most of the GEO data (Latitude and Longitude) are missing or incorrect.  Thankfully the Address and City data is usually correct,

My maps display will now need to include a check for lat and lng.  If it is unavailable then I will need to call the Google Geocoding API using javascript.

 

This is the code I need to add and call from my address location function:

function codeAddress() {
    var address = document.getElementById("address").value;
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location
        });
      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });
  }

 

Bootstrap templates and tools

My on going learnings of Bootstrap has lead me to discover a few useful sites and tools:

  1. The original getBootstrap.com of course.
  2. I discovered startBootstrap.com the other day while I was trying to figure out margin settings for the thumb nail gallery I’ve been working.  Having looked at the templates and seeing some of the cool plugins (wow.js, animate.js, FitTxt.js) has me kicking myself for not discovering it sooner.  The good thing that my next project will definitely leverage the templates provided on this site.  It’s a MIT license so modifying it and using it in other open source and commercial projects should not be a problem.
  3. Pingendo Bootstrap Prototyping app.  It is available on Linux, Mac and Windows.  I was able to load up one of the more popular startbootstrap templates without any issues.  Just a warning that it is somewhat resource intensives.  I’m running Linux Mint 64 on a Dual Core and 6 Gig of memory and running Pingendo does seem to impact overall system performance.
  4. If your using Jade templating engine for developing you sites I found jade2html.org very useful for converting these bootstrap html to jade template.

-br

GoLang and Heroku

I know it has been long time since you seen anything from me on this Blog.  If your a follower I apologize for that.

Things have been somewhat busy here at B.G.R Consulting doing  the Design, Development and I.T support of a subsidiary company (Riverboat Media) that we started up back in December 2015.  The technologies used, which are mentioned in the this Blog title have most likely been the most used these days by start-ups and enterprise.  Who knows maybe even the technologies I’m using for this blog may change also (Ghost).

For sometime I’ve been looking at the Go language and trying to determine if I could add it to the slew of technologies we are already levering here at B.G.R Consulting.  Just recently an opportunity has arisen for me to seek out an alternate to Node.js.  Unfortunately the Node.js plugin or npm module would build on Heroku cloud because of native SWIG interface to a C++ module (libRets).

So looking at the options, open source client modules available I finally determined that the best one to leverage was one written in GoLang (gorets).  After some challenges with getting my local environment setup (VS Code, GoLang extensionGo debugger) and the CI working with Heroku vendor dependencies (GoDeps).

Post a comment any time if you have a question.  I will try to respond as soon as possible.

-br

 

 

 

 

 

 

Ruby on Rails

I’ve be using a Ruby open source application call Reckon.  It is application that parses your PFS csv file and write out to command line ledger file.  I wanted to try to debug it and realized fairly quick that I needed a crash course on Ruby on Rails.  I found a couple of good learning material Rails Crash Course: A No-Nonsense Guide to Rails Development and Ruby on Rails Tutorial.  The learning material is very current, it shows how to deploy to the Heroku cloud and the other actual uses cloud ide (Cloud9).

I guess the thing that I was most impressed with was the Convention over Configuration development style or paradigm that Ruby on Rails uses.  This paradigm leverage the naming in general way in order to solve the data mapping and other conventions.   I can definitely say the this approach will save time, I’ve seen it reduce time frame by as much as two weeks.

I was equally impressed with Cloud9, what could be better then doing your development on the Cloud environment (Linux) and through a browser.

-br