Console #81 -- ML-For-Beginners, Vizzu, and everydayvirtualvacation
An Interview with Simon of Vizzu
Sponsorship
RocketHub
Why pay a high monthly subscription fee when you can save money by getting lifetime SaaS deals on your essential marketing tools?
RocketHub gives you access to amazing lifetime deals on SaaS. The company is founded by entrepreneurs who specialize in building and growing SaaS companies.
Become a Rocketeer today and never pay full price for software ever again!
Not subscribed to Console? Subscribe now to get a list of new open-source projects curated by an Amazon engineer in your email every week.
Already subscribed? Why not spread the word by forwarding Console to the best engineer you know?
The Console Career Service
Want to make more money for your work? Let us find you a new, higher-paying job for free! Sign up for The Console Career Service today! The benefits of signing up include:
Automatic first-round interviews
One application, many jobs (1:N matching)
Free candidate preparation service
New opportunities updated regularly
All roles, from PM to SWE to BizOps
High potential, venture-backed, and open-source opportunities
Even if you’re not actively looking, why not let us see what’s out there for you?
Ready to sign up? Click below and sign up for free in less than 5 minutes👇
Projects
ML-For-Beginners
ML-For-Beginners is a 12 week, 26 lesson, 52 quiz, classic Machine Learning course from Microsoft.
language: Jupyter Notebook, stars: 27261, watchers: 565, forks: 5447, issues: 17
last commit: November 26, 2021, first commit: February 05, 2021
repo: https://github.com/microsoft/ML-For-Beginners
social: https://twitter.com/OpenAtMicrosoft
vizzu-lib
Vizzu is a library for animated data visualizations and data stories.
language: C++, stars: 643, watchers: 7, forks: 13, issues: 7
last commit: November 08, 2021, first commit: June 07, 2021
social: https://twitter.com/VizzuHQ
repo: https://github.com/vizzuhq/vizzu-lib
everydayvirtualvacation
everydayvirtualvacation is an iCal file to transport you to a new place every day.
language: Python, stars: 25, watchers: 1, forks: 3, issues: 0
last commit: November 17, 2021, first commit: October 31, 2021
social: https://twitter.com/chapmanjacobd
repo: https://github.com/chapmanjacobd/everydayvirtualvacation
Patreon
Console is powered by donations. We use your donations to grow the newsletter readership via advertisement. If you’d like to see the newsletter reach more people, or would just like to show your appreciation for the projects featured in the newsletter, please consider a donation 😊
An Interview With Simon of Vizzu
Hey Simon! Thanks for joining us! Let’s start with your background. Where have you worked in the past, where are you from, how did you learn how to program?
I’m Simon, the CTO & Founder of Vizzu, a small startup from Budapest, Hungary. I have 15 years of experience in SW development. I have worked at a multinational in the automotive industry and a small local company in the telecommunication industry before Vizzu.
I started coding at 8. First, I wrote a hangman game on our ZX Spectrum. Several hundred lines of code in several hours, then I watched my brother reimplementing it in 10 lines and 10 minutes. That day I learned the abstraction principle, and I've been hooked ever since.
What’s your most controversial programming opinion?
That tab is the objectively superior character to use for indentation. :)
What is your reasoning behind this?
I used space indentation till one of my coworkers pointed out the main benefit of tabs: every developer can set the tab size as they like, so they can view the same codebase with the visual appearance that fits their need best while rendering the endless arguments about indentation size pointless.
What is your favorite software tool?
Git, no question about it.
If I gave you $100 million to invest in one thing right now, where would you put it?
$90 million in AI, $10 million in Vizzu. I can’t wait to have a discussion with an artificial generic intelligence.
What branch of AI?
Neural networks and deep learning.
What are you currently learning?
Programming is both my work and a hobby for me, so I tend to spend way too much time with it. Because of this, I recently started to learn something completely different: oil painting.
What resources are you using to learn oil painting?
I have a teacher, I also watched some youtube tutorials and of course Bob Ross :)
How do you separate good project ideas from bad ones?
I’m not sure I can. At least not in the sense of financial success. For me, subjectively, a project idea is good if I have an urge to implement it, but this is because my goal is “happy engineering”. Vizzu was unique from this point of view because I wanted to “solve” it immediately after seeing the initial mockups. I also felt that it could attract plenty of users.
Why was Vizzu started?
Let me quote my co-founder, András Kangyal, who's been working in interaction design for over 20 years:
“Being a designer, I always approach things from a visual perspective and it drove me mad how much my hands are tied when visualizing information unless I go back to algorithms and coding. So my goal was to bridge this gap between data and its visual representation, to be able to communicate and query data and discover the underlying patterns visually.”
Where did the name for Vizzu come from?
We started to use vizzu as a shorthand for data visualizations in-house. After we had some vizzus we started using it also as a verb e.g.: “We should vizzu this!”. It was the natural choice for the company and product name at the end.
Are there any overarching goals of Vizzu that drive design or implementation?
Indeed. Our goal is to build an intuitive graphical user interface for charts that anyone with basic tech skills can use to analyze their data and create a story or an interactive report. The animation capability and the generic engine for all the different chart types are the foundations of this GUI.
What is the most challenging problem that’s been solved in Vizzu, so far (code links to any particularly interesting sections are welcomed)?
Maybe the core idea behind the engine, to view chart rendering as a continuous parameter space and implement it as such. This solution enables the library to be able to interpolate between any chart type.
Are there any competitors or projects similar to Vizzu? If so, what were they lacking that made you consider building something new?
I’d quote our CEO & co-founder Peter, for this: There are many excellent quality dataviz software products and technologies available and widely used on the market. Charting libraries like d3, Highcharts, Chart.js, Plotly, and matplotlib are used by so many developers and data scientists for a reason. Regarding our future target group of business and casual users, they too have multiple options to choose from, ranging from Excel and Google Spreadsheets to BI tools like Tableau and PowerBI. Still, our approach is so different from others that we thought it worth building Vizzu to see how it can fit into this vibrant ecosystem. The key difference is our approach to use charts as interactive elements both for exploration and explanation, within a single system.
Is Vizzu intended to eventually be monetized if it isn’t monetized already?
Using the open-source library is, obviously, totally free of charge. It is released under the liberal Apache 2.0 license, meaning anyone can implement it into their commercial product without any restrictions. But, of course, if someone needs indemnification or professional support, we are ready to provide those - for a fee.
How do you balance your work on open-source with your day job and other responsibilities?
Fortunately, my day job is to work on an open-source project, Vizzu. :)
Do you think any of your projects do more harm than good?
No.
What is the best way for a new developer to contribute to Vizzu?
We welcome any contributions, bug fixes, features, addons, howtos, etc. This page is a good starting point for new developers: https://github.com/vizzuhq/vizzu-lib/wiki .
Are there any other projects besides Vizzu that you’re working on?
Not right now. I have a pet project I always lack time to revisit, called 4dtris, a Tetris in four dimensions.
You can install the game here: https://launchpad.net/4dtris
Do you have any other project ideas that you haven’t started?
I always have more ideas than time, so a lot of project ideas have accumulated. Recently, I've been thinking a lot about writing an agent-based social simulation.
Can you elaborate on this further?
The goal would be to specify a set of rules for the simulated agents based on human behavior, and check out what kind of collective behavior would emerge. A bit like psychohistory in Asimov’s Foundation series.
Have you given any thought to what sort of "human behaviors" you'd give the simulated agents?
I was thinking of a super abstract model here. Each agent can connect with others, creating a network of agents. Each of them can share, take, and accumulate information or resources. They could also multiply or die based on their accumulated resources. Maybe their collective knowledge and resources modify the environment, allowing them to create more resources, move faster, or connect with others further away.
Not sure about their behavior/decision making though. Maybe it can be controlled implicitly by some natural selection model.