devsJune 24, 2019

heartthrob-vision: making the web more accessible

With a simple configuration you can make your website more accessible by adding description to your images automatically via Azure Cognitive Services.

After loading your page, the heartthrob-vision will send the url of every photo on your page to the Microsoft Azure Cognitive Services to create a description of what is showing on the image.

NOTE: We recommend to create manually all alt text for every image on your website. It will improve way more the accessibility of your website than using heartthrob-vision.

Look at examples at the documentation and the GitHub repository.

devsMay 28, 2019

heartthrob: the fluent design framework to the web

Today I’m releasing the heartthrob framework can add more elegancy to your project, to looks like the Microsoft Fluent Design design, it was also inspired by Michael West – an incredible designer who will dominate the world with his ideas.

Built, since 2016, from scrath with bare CSS – and JavaScript, it uses the grid system for responsive websites based in Bootstrap 3, the idea is to have a start for when you need to develop a solution for your company or for yourself, it’s clean, simple, easy and still small.

The ideia behind this project is to make it as simple as possible for new developers, and agencys that creates several websites a month, by making it simple to study, contribute and modify. It also does a lot of automatic functions without you needing to spend too much time in it.

Perfect for dashboards: I built and use heartthrob in several dashboards and CMSs in several startups and corporate systems.
More to share about this soon.

Bootstrap grid system: One of the key points of heartthrob is using the same bootstrap grid, with a tool that you have more control.
It also has a lot of compatibility with any website using bootstrap since we used a lot of similiar classes names.

Kendo ui compatibility: Inside heartthrob you will find a kendo.heartthrob css file, that can add all the work made in this framework to the kendo interface. This looks pretty good for grids, dropdowns, scheduler and other inputs. under development.


Take a look on the documentation to see what heartthrob can do it for you.

contribute: let’s build it together

I and my team are using it in the solutions we build every single day, so expect nice fixes and small additions as it will be more and more compatible with Kendo and other browsers.


I’m more than open to have contributions to this project, so go to the GitHub page to help me make it even better!

NOTE: Heartthrob isn’t ready for mobile, I invite you to create a pull request with some fixes for mobile, especially on the header and on the content.

UncategorizedMarch 10, 2018

The best part of the Summit is after it

Contrary to what I was hoping to happen: coming home extremely tired without being able to say at least one word or recognize a friend face in front of me, because I would be so exhausted that after 48 hours of intense travel. I’m energetic, wanting to make the world spin faster. I’m singing Zip-a-dee-doo-dah, zip-a-dee-ay!

The Summit is the largest global meeting of MVPs (Microsoft and Windows Insiders) in the world! So you can imagine that after learning all what they have to teach us, see what is coming, feel again the taste of the Microsoft vibe to be, and of course, desperately want an interview with the guys to start working there tomorrow, you would be as energetic as I am tonight.

Understand what I mean about the Summit helping break down interpersonal barriers. So, I have two things that I’m addicted to: lists and OneNote, and they kind of talk to each other. So it’s no surprise that I made a list of approximately 20 items that I wanted to resolve within the Summit. Things like: details and networking to help me with meetups, technical information of products that were preventing me from advancing, doubts about the work’s process of several friends and co-workers, anyway. Most of this list I was able to solve in the previous two days of the Summit just because I was with other recognized leaders in the community. And how do you get when you can solve most of your problems? Energetic, excited among other feelings.

There are no technical barriers, there is support. There is no independent developer, there is a community. There are no dreams, there is action! I have energy that will take 5 days to get the thoughts, ideas, information in order. A energy that will review every project, from the old ones that are still in the paper, to the young ones that still have not announced. The Summit is more than a conference with a bunch of nerds together – which is great – is a way to get me to focus on what really matters: the community. To work, to produce, to create, to volunteer, to make of its mission: the community.

During one of the sessions I was asked something about myself that was not on my resume, and while several answered something very interesting and that impacted the world, I could only think of the TV Shows that I already watched. There’s something wrong. There is something wrong with spending most of my time producing software that will not add anything to the world, or produce software that few will use.

If I want to create more for the community, and make it part of my life, I need to change. I need to go back and redo every project, aligning them with the needs of the community, I need to make the world go faster, not only for me but for everyone around me, who by chance, today more than ever, I want everyone to knows how to code. It is to use this positive vibe that I can find in Microsoft offices to do something good, something useful, and not use the tons of confidential content I received this past week for personal use and that only I will have access to.

If you do not know what vibe I’m talking about, just watch the Windows Insider Team Webcasts, where the presenter wears a Mexican taco hat, and one of the program’s direct will cosplay some Star Trek character. They have so much fun that they do not even seem to be working. Who says work is the opposite of fun?

Every year is like this. Every Summit I come back with a lot of energy that needs to be unloaded. Every Summit I’m sure I’m on the right track, and better than that, the path gets less tortuous and brighter. It is a new gas that we received after meeting with friends, like Andre Buss, who want to boost even more the Brazilian community of Insiders. And I wanted to thank a lot of the MVPs who helped me just for the drinks, in the car, or at the cafe or at the parties: Angelo Belchior, David and Colin Smith, Erick Wendel, Raphael Koellner, Raphael Santos, Thamyris Gameiro and Jaqueline Ramos and several others it would be almost impossible to list everyone’s name here.

I mean, even with all that energy, I still desperately want my bed, my warmth and my feet up.

I just got back from MVP Summit, back from Microsoft. Yes, it was 18 hours on a plane and totaling 48 hours of travel. It’s not for anyone. I know I can be dramatic sometimes – always – but when I got into a shower in Aeromexico’s VIP room, I noticed that my socks were soaked with blood. Reason? Maybe that I’ve been walking to and from so much, the three times I lost Uber and I ran out like a madman in the street that just lost his hat to the inclement weather of Seattle. That may be a reason I found blood in my socks. It’s been 48 hours since I’ve been on the road (two to get home) and 72 hours without getting my foot up.

As Dona Sarkar would say, Hustle-as-a-Service, right?

Vítor Norton

UncategorizedDecember 14, 2017

Here is the new Formula hotfixes: v3.1710.371

Today I released a new version of Formula – Universal Code Editor, with some improvements and bug fixes. This is the first update since the Dark mode and fluent design update, check it out:

  • The sidebar won’t blink when resizing the window.
  • Added the link, on the sidebar, to open the “New File” page. This link also allow you to close the sidebar.
  • Improved the autoident algorithm.

This is it, hope you like it, and as always, send me your feedback and keep coding.

UncategorizedOctober 24, 2017

New version of Formula: v3.1710.363

Another update had hit the store! Now Formula ? Universal Code Editor has a bunch of new features and bug fixes that will make you love this product. I heard your feedback and this is the biggest release of Formula since the very first update. Do you wanna see what is changed? Take a closer look!

And because I want so badly that you can enjoy this update with me, I?m opening a trial mode of 1 days until November 27th, and don?t forget that MVPs get Formula for free!

New user interface

Formula?s user interface was based on Microsoft Edge to few similar and closer to what users expect from a Universal App. But a few users had complained about the design, and since your feedback counts, I had updated it!

Starting with the new Fluent Design on the Windows 10 Fall Creators Update, the app locks hot with the highlight that it created, and the acrylic design? Oh, gosh! It is looking stunning and awesome.

After that I had work on create a new icon for Formula, it now is a transparent tile and it looks awesome on the task bar.

Welcome page

The welcome page had received a refresh look too, with a lot of work and a lot of feedback from the beta testers, this area now includes:

  • Recent files: A more intuitive, more productive way to open files, see the latest files opened with the app!
  • Developer news: Discover what is being developed on Formula and what me, the developer, must say about it. This is all the news related from Formula.
  • Icons, Icons, Icons: there is new icons all over across the app, including on tabs, and using it on the welcome page is a way to make it easy for new users to identify what they want.

Dark Mode

Yeah! It is here! The top requested feature of all time! A totally, full, complete dark mode! Developers prefer to code with an ambient that is comfortable to their eyes and sometimes a lot of light on eyes isn?t exactly comfortable. So, I hear you, and now, it?s here! To enable it, just put your phone or PC with Dark Mode, and you can customize it on Settings > Personalization and change to Dark Mode.

Please tell me your thoughts on the brand new Dark Mode!


Formula is all about the code. So here are a few changes that will improve the way you code!

  • Personalization: You can now change the default font-size, font-family on the brand-new Settings pane. To do so, go to Settings > Personalization. You will need to refresh the tab you are working on for the changes to take effect.
  • Full screen: You can use the new button on the editor to open it on full screen, or hit F11.
  • Status bar: There is three highlights here: Line and column: besides the number of line of code, a few users would love to see in what line they are and what column, now on the right bottom corner, you can see it! And, improved non UFT-8 recognition. It isn?t perfect yet, I know, but I?m working on it, and part of this work is that the app now shows you the encoding it is using on the status bar. Yet on the status bar you can now see in what language you are coding in.
  • More language support: yeah! Of course, and this is the biggest number of codes languages ever included on Formula. Previously it was only 18 languages, and now it can recognize 34! Here is the complete list of new languages: Cobol (yeah? I know, but it is Universal Code Editor, remember?), CooffeeScript, Crystal, Cython, Fortran (Universal Code? I mean, universal), F#, Objective-C, Pascal, PowerShell, Ruby, Factor, Diff, Groovy, Elm and Yaml. If your favorite language is missing, please let me know and I will work to include it.

Tabs improvements

I?ve made a lot of work over here, and you will love how tabs works now, more than 90% of the logic here was rewrite, so many bugs were fixed and new functions arrived:

  • Reorganize tabs: you can now drag one tab to the left or right to change its current position.
  • Context menu: Right click on one tab to access functions like: Close tab, close other tabs, close all but saved.
  • Tabs view: tabs now takes the amount of space necessary for each one, it has a nice icon next to it and the tabs view: you can access every tab you are currently working on by just clicking on tabs view. Swipe left to delete it!

The app itself

  • Command line: I?m still making this a thing, but you can now type ?formula? on the prompt command or file explorer address bar to open it.
  • Settings page: This is really exciting, not only because the features that are here, but what it will be on the future. But for now, you can clean recent files, restore defaults, change layout settings and more.
  • About page: The about page won a new section: news! See what?s going on with Formula from here.
  • Changelog: Looking to changelogs are now completely different! Changelogs can have images, gifs, and the reading experience was really improved.

Bug fixes

  • Now, when you are typing a new file name you can hit the Enter button to create it.
  • After creating a new file, it will open automatically.
  • Tabs won?t blink when you save or change a file.
  • Status bar will now disappear when a file is closed.
  • The design was also improved for high DPI devices.
  • When opening a new file, the windows would blink it, it?s now fixed.
  • Fixed an issue that would broke the New File page after selecting a language and going back to change the language category.
  • Fixed a few TYPOs.
  • Fixed an issue that prevent files with the code ?</textarea>? to open, like the jquery file. It is not a problem anymore (after fixing it, we ? at Vítor Norton – gave a party).
  • Removed the Donate with Paypal button.


Formula will support Windows 10 Mobile forever! But Windows 10 initial builds (10240 and 10586) isn?t supported anymore, because of features like Context Menu on Tabs. If you want to have this update you will need to update your Windows machine as well.

The app development cycle will follow Windows development cycle, so you will have a new incredible version, like this one, on March or April next year. Please send me feedbacks of any bugs you may found, I will be sending hotfixes until December 15th.


UncategorizedJuly 05, 2017

Building Formula: A close look at the icon

Formula is a great product and is receiving a lot of great feedbacks and since the beginning of this year, I was planning to make a full redesign to it, for two reasons: 1) I can and I love to code 2) it?s growing fast and the sometimes it fails within the design.

So, this past week I?m developing a lot of great stuff (my beta club already knows what going on), and one of the things that I was dying to solve was the Formula Icon ? and let me just say that: When you install Formula on your computer it will no longer be called: ?Formula ? Universal Code Editor?, but only ?Formula?. Simple.

But the problem that I was dying to solve, was a design issue: especially the file icons and the icon that was showed on the taskbar. Look at it, it?s ugly. It has some blue borders, it is un? yeah? not good looking. Not good looking for a professional application ? and a paid one!

One of the firsts things I did was to make the tile transparent ? yeah! You can celebrate that! After the Dark mode support, this was the top 1 feedback I received about design. After solving this I tried some icon changes, and, well, it was not looking great too.

None of those was looking great (except maybe the second one). So, I tried a new approach, just remove the blue thing.

Yeah! Now it is looking great. Yet, something bottles me? You only see the inside draw if you paid attention. Let?s make it bigger then.

No, definite not! This is not great at all? someone please delete it! I can?t deal with this icon. Why am I still looking to it? Too big, too messy, too much. No!

And before I continue, you should know that I tried without the octagon, but this is my brand, and only the inside-code-draw was REALLY ugly.

So, I tried to make it just a little bit bigger. Not too much.

Yeah! This looks way better. My work is done! Now I can pin it to my taskbar without burning my eyes.

You can join the beta club (for free) and experiment what is coming before everybody else, and yet be part of the development of one great product. To join the beta club just complete the form on the Formula Beta Page (or just get in touch with me). Don’t forget to join the Skype group! New bits are being delivered almost everyday with incredible news.

Note: a Portuguese version of this post is coming.

UncategorizedJuly 04, 2017

Meet Nomi-PC: My new machine

These last few weeks have been very intense for me and one of the things that happened in those last few weeks was the long awaited message from the Post Office: “Object left for delivery”. Ahhh that message delights. My computer was coming.

So, I used my old notebook for a while, and it’s pretty good: i7 + 8GB ram and 1TB, it’s so good that it was even mentioned by Terry Myerson at WINHec . There was only one problem: I needed more. I needed a device that could handle it. For those who do not know I work fast, very fast. When I get to do something, I do it fast. Do you think I’m joking? I was able to make one app per week in 2015! Yesterday I even recorded 80 videos for the YouTube channel! I have several examples to give, but I think you understand what I mean. I worked faster than my machine allowed, and it was not slow.

Yes, computers crash, computers get 10 minutes to close a tab or open the Edge / Firefox / Chorme / IE, in fact the latter can stay even longer than that. Anyway … computers are slow, crash and give problems. And if you had a computer that, in the words of Panos Paney – director of everything that is Surface at Microsoft – let technology fade away for you to focus on your work? So I need a freaking computer! So I bought a really freaking gamer PC. And here is the configuration:

  • Intel i7 7700K 4.2GGhz 8MB
  • 16GB Ram DDR4
  • 240GB SDD (+ 2HDs de 1 Tera)
  • MSI Radeon RX 580 4GB
  • Gabinete PCYES Tiger Branco
  • Asus prime Z270M-Plus

And to keep up with that, a mouse with nothing less than 19 buttons from Multilaser Warrior series and a semi-mechanical keyboard.

Of course you’ll want to see the pictures of this beauty, right? You wouldn’t be a nerd if you didn’t want to see the photos.

Curiosity, the name I gave the PC was Nomi-PC, a character played by the beautiful Jamie Clayton in the series Sense8. I was days to choose the name of the computer, but when I chose, did not even give 24 hours and I saw the news that they canceled Sense8? At least it’s still going to have an end (thank you Netflix and Lana).

This will allow me to create things much faster, so, you will see me out there because I will be doing a lot more.

UncategorizedJune 26, 2017

Hello WordPress, how are you?

If you follow me for more than one year you probably know that I’m a Windows developer and also, a aspnet developer. I start on the web business with aspnet (after the Blogger). So it was natural for me to write my own CMS (like WordPress) on aspnet. And that was what I made. You know, this is incredible hard when you are trying to do this by yourself and with absolute no satisfaction. And, yeah, aspnet Web Forms!

This wasn’t the only thing I was doing wrong, and by wrong I mean: not doing the way I was suppose to be doing. Like, everybody was using GitHub or Visual Studio Online as a repository, I was with TortoiseSVN. Everybody was doing opensource projects, while me… well, no projects at all. That’s because I was focused on trying to create my own CMS and my own website in AspNet. A website that I was really proud. That never happened. So many posts I cancelled because of the non-ideal-website-I-had. I mean, it always look great but it always was missing something, from the backend to the frontend.

I was not happy. And not happy mean: no new projects, no new posts. If I’m changing my website later I wouldn’t share a link because it will be broken in a few weeks. It is insane when you think that I’m doing this for 7 year! Seven years that I’m trying to find a perfect website (yes, all my friends was telling me to go to WordPress). I did not listen and then, I missed the opportunity.

So, back in January 2016, I decide to move, not only my website to WordPress but all my projects for the correct thing. Now I am WordPress. Two questions came with this: Are you abandoning Microsoft? and why it took one year and 5 months to change it all?

No, I’m not abandoning Microsoft. I love aspnet and love to create with this technology, so that’s why I’m still using it to manage my webservices, and all the web projects. It is just not the think for blogs, like this. I can give you tons of examples why WordPress is a better way to manage a website than aspnet. Actually, I had write about one example – translating websites, WP does it better.

It took me a long, long time to change my website to WordPress, and here is the reasons:

1) I was lost. Literary lost. I was trying to do something that wasn’t my call. I find a job. I quite the job. I found another job. I quite that job too. I’m studying. I have a week with more than 7 test coming up, I have to study! How can I find time to do this? I couldn’t. Again, if you follow me, you know that I tried a lot of things early this year and last year. Now, I’m focused. I know exactly what I’m suppose to do and exactly what I suppose to go. I’m officially a Software Engineering at Vítor Norton Company (Yeah, it is a company with my name), and I’m just finishing my studies. So you know, now I have more free time.

2) It was complicated. I had this website: a really good website. With all the functions that I wish, and this blog. This blog hasn’t any function that I want. I don’t know how to create with PHP. I have to learn first. So moving, step by step to the WordPress was hard. Was hard because I collected about 5 websites that I was not only moving to WordPress but merging then to only one. Still a lot of things that I miss about the aspnet, like the submenu changing from page to page. I’m still trying to figure it out how to make it (if you know a way, please, tell me). And to help with that mix, I had Formula, Conjugar, Random 42 and True Dark Mode. 4 apps! 4 APPS, not counting the unsupported apps like Tocha Olimpica or Time Calculator and plus 3 apps unsupported! And if you remember well, in this time frame I took a company (B-WEB) and was editor in chief at vNext for 6 months. This is a lot of work. This was complicated. I wish it was easer, but it wasn’t.

Of course I took this opportunity to give a nice update to the website. Including a lot of Fluent Design stuff (sorta).

This point that I’m currently in: this website that I’m currently in. This is the website I wished for 2 years ago, and I’m being good to myself not putting 7 years ago here. So, what would I accomplish if I had this website 2 years ago? Stay tuned.

UncategorizedJune 07, 2017

Going beyond translating a website

So a client had made one little challenge to me, put his website in English, Portuguese and Spanish. Easy peace. For sure make this is pretty simple, and I had been doing that for a couple of year, websites with more than one language: I have some experience with that, so why did I doubt of my? I knew exactly how to do it, and with WordPress it’s simpler than I’m used to – not to mention WordPress community. Ok, gonna give you some context of how I worked with this.

In the beginning of 2015 I saw that my public wasn’t only Brazilians, but the whole world, and language was a big challenge. Not for me, but for my systems. I handle it, in three steps:

Step one, the stupid apprentice

Of course that when you are making your own CMS and trying to reengineering the wheel, you are this type of mean person and don’t want to see how other people did it before you. I was this kind of person. Back then, on 2015 spring to December 2016 I put a Multilanguage system on my websites. And that was terrible, for two reasons:

  1. The code was really bad written. Like, really bad. I hadn’t made the resources files and dictionaries to put all string of my website there, I made on the code. I’m not proud of this. I’m so not proud of this that there is a gap between the beginning of 2015 and the beginning of 2016 on my repository. Just to you have an idea, the website was in Web Forms! Yeah, ASPNET WEBFORMS! Disgusting I know! And this was in 2015!!! I had issues, serious issues.
  2. I was only translating some content, the blog post was in Portuguese, and yeah… Definitely that was no pleasing me.

Step two, let’s make the right thing

This time I decided to the right thing, and early 2016, I remade, from the ground, my website to Asp Net MVC – and later 2016 I made it aspnet core -, and create the pretty resources files. The code was really beautiful, and now I’m proud of it. But still, my website was divided in three parts:

  1., a aspnet core website with translation to English and Portuguese.
  2., a WordPress website for English posts.
  3., a WordPress website for Portuguese only, posts.

This three parts was mixed, sharing the same files for the theme/layout (the Heartthrob framework, CSS and JavaScript), even some webservices. It worked for a while, but still, it wasn’t what I needed and wanted. At least, my code was really a good code. And of course, a automatic translator, from Bing to the other languages around the globe. The world would be my client now!

Also, because of this really great new way – at least for me haha – to build a Multilanguage system, I made my apps (all apps, except Formula – Universal Code Editor), with the support to English, Portuguese, Italian and French. It was a different experience, even that I was using the same language and framework.

Step three, and here we go!

A few weeks ago, I received a proposal of one client that wanted his website in several languages. What he wants is pretty simple, and yes I can make it. He wants a WordPress blog in English, Portuguese and Spanish. A blog in those three languages, not threes blog each one with one language. This is really simpler than what I had made. Except that I didn’t.

He asked me, and of course, I said that it was possible to make, but I would analyze the situation before. I runt to my office, and in a couple of hours I was able to run a test website with several languages exactly like his wanted. Some WorPress’s plugins, some theme adaptation and here we go… but of course, to ensure the success of your client  you had to use your product first. Have you ever went to a Apple Store and saw their employee using a Samsung phone? It just don’t make sense. If you are selling, you should use your product. That’s the rule.

During the last week I remade somethings on my website, including the removal of Bing translator. The world could be my client, but no one was using it, and It was giving me more work than pleasure. Also I check line by line of my website code and I discovered more than 50 string on the site that wasn’t being translated (and, just because, I made the Formula Privacy Police available in Portuguese? Do this mean that Formula is coming in Portuguese? I don’t know… I honest don’t know).

And I went further, I create a merge on my both WordPress. And now I only have one, and it took some structural changes, and even some layout touches to receive the I utilized Loco and PolyLang to help me translate the website to English and Portuguese. (And, yes, I changed the host, and more than 20 issues was fixed doing that).

Of course I took the opportunity to make a really good cleaning on the site, I removed old categories, posts that didn’t made sense on this blog and so on… a really update in everything.


I was in doubt with this idea of building a website in several languages for this client, cause I really haven’t done it before. But still, I made it. It’s complicated and if you read it, you understand me. So, before you tell I tell my client i needed to take his problem, to fix his problem, to experience his problem, and then, I can deploy on his solution.

Can we begin to use our products before shipping it? Would it be too much to ask? Now I’m in peace to know that my product will be useful, and for good.


UncategorizedMay 09, 2017

Developer note: the difference of v2.1705.188 to v2.1705.189

Hey my people, Saturday I released one new version of Formula – Universal Code Editor, with incredible fixed for bugs that was annoying a lot of people, like saving files with only one line. And besides that, now it has a privacy policy, as I understand that this is a product that is growing up fast and it is important to keep you privacy.

But the v2.1705.188 was already build, tested, and, just waiting to send to the store as I typed the changelog post. And one friend of mine, Irina, told me about one bug, that I did know about. When opening files with “\n” or anything that includes “\”, the app you create a new “\” right after it, when opening. That would make a lot of slashes across your code. This is annoying and can compromise your work. So I decide to push the update a little bit just to fix it.

The reason why this issue was happening, is because the very first update of Formula, that included the fix: “Bug that won?t allow to open files with \”. The fix was this lines of code:

This lines of code was made because the previous syntax highlighter would crash if the file contais any “\” without the other “\\”. And after I changed the syntax highlighter this was improved but not fixed, but opening files and saving then is more complex than you can think. And as the product was evolving, this two lines of code was, well… old. So this only change, the removal of this couple of lines was the fix. And that is the difference between the 188 to 189 compilation (you guys did not received the 188).

I’m never tired to say how much your feedback is incredible and valuable. So please, send me feedback about everything. And if you want you can join Formula beta club. They are receiving builds as soon as I commit a change.