My name’s Norman Ovenseri and I think that outlandish ideas are the best.

I don't publicize my social media, so if you want to get into contact by email then WHOIS query the domain.

Recent Posts

  • On Companies That Think Churn Calls are a Good Idea

    Updated at December 15, 2019 at the 02th hour

    Reference: https://twitter.com/suj1th/status/1070336643125690368

    Looks like Stripe may do this practice. What makes anyone think that a candidate should waste their time giving feedback when companies don't give feedback to candidates when they reject them. Absolutely, laughable. 😂 If I have got a call like that I'd say "Would you guys have told me what went wrong if it was the other way around?" and then "bye". Sucks for companies that want to improve or whatever but don't give the time of day to candidates.

  • Show Mac OS X Bluetooth Signal Strength

    Updated at December 12, 2019 at the 15th hour

    Not sure why it is so hard to show signal strength of bluetooth devices on a Mac nowadays, but...


    The signal strength is not real time updated, so you'll have to do the same steps to get an updated value.

    zzzZz Thanks Apple zzZzz for complicating this. Makes me wanna sleep zzzZZZzzZZZZzz.

  • Making my own Eyeglasses

    Updated at December 13, 2019 at the 09th hour

    Couple of months ago I was inspired by a post called "Making my own glasses" (https://www.eidel.io/2019/04/24/making-my-own-glasses/) where the author goes to different optometrists to get different measurements of his eyes for medical certification for a pilot license. In the end, he buys a set of trial lenses and trial frames to measure the best parameters for eye glasses and he buys one.

    I decided to buy trail lenses and a frame too. My motivation stemmed from the left lens on my new eyeglasses seeming to have the wrong parameters. Wearing them made my queazy after a month since the difference is subtle. I figured the optometrist got it wrong and must have changed the prescription from last time as my old glasses fit me super well. No queaziness. Maybe the eye doctor's assistant gave the wrong left eye parameter to the store I ordered from or they heard it wrong. I dunno. I got the old and new parameters so I could test them against the old and new glasses.

    When I did receive the trial lenses and frame, I started playing around with spherical diopters then added some cylinders. I went to uncomfortable positive (black lenses) and then to ...

  • On the idea of "Just Restart the Application"

    Updated at December 10, 2019 at the 22th hour

    The Microsoft Windows days where programs would memory leak and perform illegal operations causing your OS to freak out and slow down and at some point you'd give up and restart the compute and now everything is back to normal ... I can say I don't miss at all. Thank god for better tools and development practices.

    Now when this practice is used for networked applications in a datacenter where someone is on call for that application, well I can say if you worked for me.. you would be teetering on a line that separates you from low performer to does enough. Yes, I vehemently detest the idea of "just restart the application" with no solution in sight. The fact that one will allow an application to keep Oom-ing is telling on culture.

    Any software engineer managing the application must to get down to business with memory heap analysis tools to figure out what is being allocated, what is allocating the memory and then not freeing it. Just leaving the application for weeks on end only to restart or to schedule restarts of clusters of applications because cannot find source of memory leak is more than enough cause to be ...

  • Thought Provoking #2: Lession To Unlearn

    Updated at December 08, 2019 at the 16th hour

    Another thought provoking post recently is one like Lession to Unlearn (http://paulgraham.com/lesson.html)

    I liked learning, and I really enjoyed some of the papers and programs I wrote in college. But did I ever, after turning in a paper in some class, sit down and write another just for fun? Of course not. I had things due in other classes.

    Lesson to Unlearn jives with me a lot. Like money, grades are a means to an end, but don't make me emotional or feel like I am jubilant looking at them. I played at a game and got a result whether favorable or unfavorable. Once you get enough of it, motivation behind acquiring favorable results decreases. Back in college and high school, I stopped caring as much for grades as I did in elemntary school. Why? I made a game and made money near the end of elementary school, so I dissociated the idea that I needed good grades in order to make any money (technically I made money in fifth grade too, but I guess not enough.). I started to question things more in high school and even more so in university enough that I would selectively not do certain ...

  • Thought Provoking #1: What is Systems Programming, Really?

    Updated at December 08, 2019 at the 16th hour

    A thought provoking read is What is Systems Programming, Really? (http://willcrichton.net/notes/systems-programming/).

    I've dabbled on the idea of low level vs high level programming languages before. You have to wonder what is the limit for high level vs low level and I think this post approaches it well. The author noted that several contributors to lower level languages when asked this question: "what is a systems programming language in 2014?" that they generally agreed that the language must offer you a way to get to the binary bits of data and to instruct the machine on how to process the data precisely.

    Memory Allocation: Think about it, memory allocation is generally not something one writes in a high level language. Who wants to think about how bits in memory are set, accounted for and shifted while trying to serve a web page, so clearly memory allocation must be a low level attribute. I cannot agree with this since one can write a memory allocator in any language. I would agree one had said you could tell the OS how to allocate memory instead of the runtime. In my opinion, it is generally a time suck to write one since whatever ...

  • Authz Libraries Are Not Fast especially for a Microservices world.

    Updated at December 06, 2019 at the 16th hour

    What makes me want to write this post? Ah, I've been working on my own product and scouring around for a good answer to authorization. Particularly, authorization libraries in NodeJs. Some are really bad just looking at their GitHub pages and others are pretty good. All of them make an assumption that authz rules are stored somewhere (code, memory, db), which is great. Some are flexible about where policies are stored offering plugins. A lot tend to be rigid on the idea of Role based authz (RBAC) and not enough of Attribute based authz (ABAC). None approach how to do fast authorization as to not execute the authz check for the same request as it traverses the system. Hell, you may not even want to do any more authorization checks unless policy data has changed.

    The libraries I liked tended towards attribute based authz, which meant that the subject, action and resource can have attributes. Some libraries posed doing withdraw over limt checks as examples. Probably not a good example. Maybe that should be hardcoded as the condition will never change outside of limit threshold, easy to write and is very much resistant to any library ...

  • Shoutout to Mozilla for Nunjucks

    Updated at November 30, 2019 at the 17th hour

    Mozilla maintains Nunjucks (https://mozilla.github.io/nunjucks/), a templating library written in Javascript. Apparently drew its inspiration from Jinja, which is a really good templating lib in Python.

    I was looking for a templating library, written in Javascript, that supported conditional statements and inline importing files. Handlebars and co. do not, from what I saw, support inline imports as you have to register "partials" in code which is not ideal. Look, when writing code generation software the template files can get quite big and yuck with all the control statements and blocks. I wanted a way to split the files into manageable chunks and Nunjucks delivers.

    You can even precompile your templates if you wanted performance. It is targeted for html templates though.

    A bonus is that you can define macros, which I use to split up common pieces such as function argument formats or partial SQL statements.

    So far, I really happy with this choice of templating library combined with a prettify library.

  • Switching Software Libraries every once in a while

    Updated at November 29, 2019 at the 23th hour

    A topic that people tend to discuss about. Stability. Who doesn't want stability? The knowledge you gain by sticking to one thing. It makes you feel safe that you can rely on this thing... say a set of libraries. The productivity benefits where everyone can learn from what you did and you can start a new project with those set of libraries again faster than before. Managers and stakeholders are happy that you got results. You feel good knowing that you delivered something and customers are using it. When you see the other people who took a risk at trying other new shiny libraries, you scoff at them and tell them use these libraries and you wouldn't have had the trouble. Yeah, always feeling smug about any competitors. You've turned into an evangelist.

    Blog - Switch to NodeJS

    If you've followed this blog since the start, it was first a WordPress site because it is a ready to go content management system. Who has the time to create a blog from scratch anyway. That attitude changed as I kept having to upgrade the blog because of security vulnerability. I believe at one point my blog got hacked since I didn't ...