Get me outta here!

Squid Eyes

Trading, Creativity, Science and Code

Menu

Skip to content
  • Home
  • About
  • Fiction
  • Resume

Author Archives

Louis S. Bermanhttps://louisberman.wordpress.comLouis Berman is a serial entrepreneur who co-founded four different technology firms, most typically serving as CTO. Mr. Berman also served as the CTO at GiftCertificates.com and Kideo.com; both leading firms in their respective industries. Most recently, at Ars Unica, he co-invented and developed the superlative Smartie! trade execution platform. At NPI Traders Mr. Berman created three different technical-analysis/simulation platforms along with more than 60 trade and order-management agents. Those agents were used to run millions of trade simulations, iterating ranged parameter-sets against multi-year bar-level pricing/volume data, frequently employing self-tuning genetic programming-based AI frameworks. An avid astronomer, Mr. Beman led the very first visual observation of Eris—the largest dwarf planet in our solar system.

Campity Do Dah

March 24, 2018 by Louis S. Berman

The leaves have begun to bud, the snow has started to melt, so it can only mean one thing: time for another Code Camp (2018.1).  This time round I have two sessions scheduled:

Go Serverless with Azure Functions, Logic Apps and EventGrid
Azure’s serverless story makes it dead simple to decompose your clunky monolithic apps into performant DevOps-friendly microservices. Join Microsoft Cloud Solutions Architect Louis Berman as he shows you how to build and deploy a significant cloud-scale application by live-coding a real-world example of automating employee on-boarding to the Microsoft Graph as a serverless app. As a bonus he’ll also show you how to get a handle on your serverless workloads through DevOps.

Zero to DevOps (with VSTS)
DevOps is the secret sauce behind today’s most successful development teams and companies. Join Microsoft Cloud Solutions Architect Louis Berman as he shows you how to speed your race into the cloud; in many cases by as much as 10x within a single year. In this demo-heavy session Mr. Berman will demonstrate how very easy it is for every organization to adopt DevOps, but just as importantly he’ll also focus on the soft-skills needed to “sell” DevOps to your clients and peers. The session will conclude with Mr. Berman’s “Top 10 Tips for DevOps Success!”

If you’d like to get a jump on things (or if you’re reading this after 3/24/2018) you can download my decks:

  • Philly Code Camp 2018.1 Zero to DevOps
  • Lessons learned on Microsoft’s DevOps Journey
  • Philly Code Camp 2018.1 Serverless.pptx

I also prepared a Functions demo (LsbServerless) which you can download from GitHub.

May the Serverless be with you…

 

Code Code-CampDevOpsEventGridFunctionsLogic Apps Leave a comment

Wax On, Wax Off

January 13, 2018 by Louis S. Berman

WaxOnWaxOffHTTP clients can be infuriating in that they generally work without a hiccup; until they don’t!

I recently wrote a utility to receive and then save streamed Bid/Ask data from OANDA; called OandaSink.  It wasn’t rocket science—some six hundred lines in all—so I turned it on and the program didn’t skip a beat for three solid weeks.  Then, for some unknowable reason,  the server forced a disconnect and all of my lovely retry / reconnect  logic didn’t do what it was supposed to.
Continue reading →

Code ClumsyDHCPHttpClient TestingWMI Leave a comment

Trope

September 17, 2017 by Louis S. Berman

In eleven minutes and some odd seconds, I’d be dead. Not even twelve. Eleven! And I couldn’t do anything to change that less than salutary fact. The “timer” was ticking, but contrary to the popular trope, there was no loose red wire to cut and stop it all. No, the bomb wasn’t even a “bomb” bomb but a routine physics experiment gone terribly wrong, and I knew full well that it couldn’t be stopped thanks to the implacability of runaway exponentials and all that.

Continue reading →

Fiction Science Black Hole Leave a comment

I Was (Great American) Eclipsed

August 22, 2017 by Louis S. Berman

EclipseFor those of you who experienced the Great American Eclipse, enough said.  For those who missed it, let me be the first to commiserate with you; you quite simply have no idea.

I could say something like “The moment was glorific;” a true statement, for sure, although an inadequate testament at best.  Indeed, the worst traffic jam in Wyoming history could do nothing to lessen my appreciation and wonder.  I’d do it again in a heartbeat!

BTW, the traffic jam was truly epic.  In my own case, it took ten miserable hours for my wife and I to crawl back to Denver even though the outward journey only took about three.  And we were the lucky ones; three of the four other couples that accompanied us on this trip took at least 13½ exhausting hours to do the same.

To get a good sense of the how the eclipse went down (at least in Casper, WY), check out KCWY13’s Even Scientist Were Blown Away By Great American Eclipse.  I get a good bit of air-time and I only manage to make one flub; see if you can spot it.  As to my favorite moment, at 1:48 or so my friend friend Gary Trapuzzano and his lovely wife Tracey Berlin kiss on camera after totality, clearly elated if also a bit stunned; pretty much summing up the whole experience for me.  Sheer magic.

Again, the eclipse was transcendent.  Word to the wise, though: 4/8/2024 looks to be even better!

Astronomy Eclipse Leave a comment

Tickety, Tickety Tick

August 14, 2017 by Louis S. Berman

TickerTo develop and back-test trading algos its essential to have great gobs of historical data on hand, almost always at the tick level.  More often than not this data comes from your broker—OANDA, Alpari, DukasCopy, and Integral (TrueFX), to name a popular few—whether through commercial platforms like MT4 or proprietary APIs.  Alternately, one can use a generic downloader like Birt’s Tick Data Suite.

Over the years I’ve worked with more than a dozen brokers and other data providers so you think I’d have a handle on this stuff by now, but nothing could be further from the truth.  No, its an ever changing and messy landscape.   Continue reading →

Code Trading C#forexHistData.comVS2017 Leave a comment

Cancel That

August 10, 2017 by Louis S. Berman

Cancellation in a multi-threaded Console App can be surprisingly difficult, even though I’ve done it dozens (hundreds?!?) of times before.  As any programmer can tell you, there are the “Things you know” and “Things you merely think you know.”  In programming, fiddly little details count.

I won’t go into the trade-offs between using Tasks or Parallel.For[Each] or TPL DataFlow, but suffice it to say that the later is both the most useful and easiest to get right.  Enjoy…

using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using System.Threading.Tasks.Dataflow;

namespace CancelDemo
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Press any key to cancel...");
         Console.WriteLine();

         var cts = new CancellationTokenSource();

         var client = new HttpClient();

         try
         {
            var fetcher = new ActionBlock<string>(
               async url =>
               {
                  await client.GetAsync(url, cts.Token);

                  Console.WriteLine($"FETCHED {url}");
               },
               new ExecutionDataflowBlockOptions()
               {
                  CancellationToken = cts.Token,
                  MaxDegreeOfParallelism = Environment.ProcessorCount
               });

            urls.ForEach(url => fetcher.Post(url));

            fetcher.Complete();

            var readKey = new TaskFactory(cts.Token).StartNew(() =>
            {
               while (!Console.KeyAvailable)
                  Thread.Sleep(100);

               cts.Cancel();

               Console.ReadKey(true);
            });

            Task.WaitAny(new Task[] { fetcher.Completion, readKey });
         }
         catch (OperationCanceledException)
         {
         }
         catch (Exception error)
         {
            cts.Cancel();

            Console.WriteLine("Error: " + error.Message);
         }

         Console.WriteLine();
         Console.Write("Press any key to terminate...");

         Console.ReadKey(true);
      }

      private static List<string> urls = new List<string>()
      {
         "https://www.pinterest.com/pin/143270831869696811/",
         "https://www.pinterest.com/pin/155585362100632165/",
         "https://www.pinterest.com/pin/23010648069511614/",
         "https://www.pinterest.com/pin/303711568591359002/",
         "https://www.pinterest.com/pin/314900198915723688/",
         "https://www.pinterest.com/pin/316166836311260373/",
         "https://www.pinterest.com/pin/535576580657166380/",
         "https://www.pinterest.com/pin/56154326576327972/",
         "https://www.pinterest.com/pin/56154326576368600/",
         "https://www.pinterest.com/pin/88523948898601589/",
         "https://www.pinterest.com/pin/108438303498183811/",
         "https://www.pinterest.com/pin/127156389453876236/",
         "https://www.pinterest.com/pin/270708627574674608/",
         "https://www.pinterest.com/pin/368380444492800731/",
         "https://www.pinterest.com/pin/250653535491278041/",
         "https://www.pinterest.com/pin/565483296932119884/",
         "https://www.pinterest.com/pin/173177548141309276/",
         "https://www.pinterest.com/pin/430867889333901210/",
         "https://www.pinterest.com/pin/61361613645883874/",
         "https://www.pinterest.com/pin/16466354858074206/"
      };
   }
}


Code Parallel.ForEachTasksTPL Dataflow Leave a comment

Guitar #3

July 11, 2017 by Louis S. Berman

Taylor_GS_Mini_e_Koa_FLTD

I am by no means a talented guitarist, although after more than six full months of trying I can report that I have indeed been making progress. Maddeningly-slow-make-you-question-the-whole-thing progress, but progress nonetheless.

I love to twang the strings and hear them resonate.  I love to palpate my fingertips and worry at my hardening calluses.  I love to sub-vocalize the name of a note only to find my fingers on the strings in the (mostly!) correct position. I’ve come to hate my all too weak and bendy ring finger but can’t help but be inordinately pleased those few times it comes perfectly into line without the least bit of wheedling.  I even love the stupid evil what-the-hell-could-they-have-been-thinking F-Major; the barred five-string chord from hell! Continue reading →

Uncategorized Leave a comment

Post navigation

← Older posts

Recent Posts

  • Campity Do Dah
  • Wax On, Wax Off
  • Trope
  • I Was (Great American) Eclipsed
  • Tickety, Tickety Tick

Archives

  • March 2018
  • January 2018
  • September 2017
  • August 2017
  • July 2017
  • January 2017
  • November 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • April 2016
  • March 2016
  • January 2016
  • October 2015
  • November 2014
  • January 2014
  • December 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013

Categories

  • Astronomy
  • Blather
  • Can't Make This Shit Up
  • Code
  • Existential Risk
  • Fiction
  • How-To
  • Marie Anne Chiment
  • Microsoft
  • Music
  • Politics
  • Science
  • Singularity
  • Sports
  • Trading
  • Uncategorized

Meta

  • Register
  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.com
Blog at WordPress.com.
Squid Eyes
Blog at WordPress.com.
Cancel