HNHacker News
TopNewBestAskShowJobs

asavinov

283 karma · joined July 10, 2016

https://github.com/asavinov - My projects

https://github.com/asavinov/intelligent-trading-bot Intelligent Trading Bot: Automatically generating signals and trading based on machine learning and feature engineering

submissionscomments
asavinov··on Programming as a Way of Thinking
The author focuses on the algorithmic and computational aspects of programming. Yet, nowadays programming is much more than this beautiful classical view on programming. Programming is more about describing a complex system by taking into account such aspects as concurrency, cross-cutting concerns, asynchronous events, transactionality, distributed computations etc.
asavinov··on IoT Market Projected to Grow 12x by 2023
Bosch. For example http://bosch-sensortec.com or http://bosch-connectivity.com
asavinov··on Machine Learning: A Summary on Feature Engineering Using R Language
What they describe is actually (very) shallow feature engineering and these methods have been used for decades. These techniques can hardly help in really difficult data analysis tasks where abstract features need to be either manually defined or automatically mined.
asavinov··on Ask HN: Have you created a programming language and why?
Concept-oriented programming http://conceptoriented.org. Not a language yet but an attempt to generalize OOP. It introduces concepts instead of classes and inclusion instead of inheritance.
asavinov··on Show HN: Bdash – A simple business intelligence application
Nowadays BI has (at least) two sides: visual analytics, and data wrangling. There are many tools aimed at visualization. But there is a lack of tools for easy data wrangling. I have been working on such a data wrangling tool, called Data Commandr, and an early version can be tested here: http://dc.conceptoriented.com
asavinov··on Classes Considered Harmful [pdf]
> "classes do not “model the real world”"

Classes are supposed to model sets (of objects), that is, instances represent real objects and classes represent real sets of objects. So the question is whether sets are as real as the members they consist of. For example, if a set of chairs is a reality that we can comprehend and want to represent in the system.

Yet, I think the problem is that we are probably not happy how classes model sets in OOP. They actually do not - and it is a major problem. (Classes in OOP are mostly templates for instantiating objects.) Also, we are not happy with how inheritance works and it also limits possible benefits of classes. But it is not a reason to say that classes per se are harmful. I would say that they are not as good as they could be :(

asavinov··on Classes Considered Harmful [pdf]
> Isn't AOP far more general than what you propose there?

Yes, definitely AOP provides much more freedom in injecting behavior to other parts of the code - it is its main goal while COP has different goals.

> you would need to duplicate a CCC e.g. logging in each distinct 'parent'

No, because in COP, "Parents are Shared Parts of Objects" [1], that is, a parent may have many children. Inheritance in COP is inclusion. If a parent implements a method then it will be reused by all its children.

[1] http://bibliography.selflanguage.org/_static/parents-shared-...

asavinov··on Classes Considered Harmful [pdf]
I like this kind of critical papers but I cannot agree with the author in this case. I have studied this problem quite deeply while working on concept-oriented programming and concept-oriented data model (http://conceptoriented.org/) for many years by also trying to minimize the number of basic constructs. Yet, my conclusion is that classes are actually needed.

There are several major reasons for that. One of them is that we actually need two different relations: 1) membership relation, and 2) inheritance (or inclusion in more general case). Unfortunately, we cannot reduce them to one relation. If we do (in prototype-based languages) then normally we will still distinguish the role of this one relation depending on the context.

Mathematically, we have the membership relation '∈' between an element and a set, and we have the subset relation '⊆'. Just as we need both of them, we need both class instances and classes. In other words, if somebody argues that classes are not needed, then it is analogous to the statement that sets are not needed and it is enough to have only membership relation among elements. It is possible to develop such a theory but then we will get an alternative mathematics. Or we will implicitly treat some elements as sets.

asavinov··on ETL for Developers
The list of connectors is quite impressive which is very important for data integration. But I could not find what kind of data transformation operators are available for building an ETL or data migration workflow.
asavinov··on Germany offers up to €30k for 6 months of working on OSS
For comparison, the EXIST Business Start-up Grant from BMWI (Federal Ministry for Economic Affairs and Energy) provides 2500 EUR/month = 30k€/year.

http://www.exist.de/EN/Programme/EXIST-Business-Startup-Gran...

So PrototypeFund (BMBF) pays twice as much for open source project development as EXIST for founding a startup. Yet, startups in EXIST get also something for equipment, marketing, coaching etc. Also, they probably will be taxed differently.

asavinov··on Show HN: Riko – A Python stream processing engine modeled after Yahoo! Pipes
Actually, it is a novel approach so I am not aware of anything similar. Initially, I implemented it for data wrangling (various potentially complex transformations: https://en.wikipedia.org/wiki/Data_wrangling) and it can be found here: https://bitbucket.org/conceptoriented/dce-java. The main point is that instead of defining a flow (graph) of tables we define a flow (graph) of columns. It can be used where Apache Spark is used.

StreamCommandr essentially relies on the same principles and changes only external API and some internal processing. The idea is that any data table is like a stream of records so that we add new records and delete outdated records. Simultaniously, we evaluate other columns and tables by performaing potentially complex computations which are difficult to do in a record flow.

asavinov··on Show HN: Riko – A Python stream processing engine modeled after Yahoo! Pipes
I am currently working on an alternative approach which is based on a column-oriented paradigm for in-stream analytics as opposed to flow-orientation. It is an adaptation of DataCommandr (http://conceptoriented.com) which is a column-oriented approach to data processing. Unfortunately, StreamCommandr is not yet available but it would be interesting to compare advanatages and drawbacks of these two paradigms.
asavinov··on X Without Y
> X Without Y

X = software, Y = human programmers = "software without programmers" AI?

asavinov··on Germany enlists machine learning to boost renewables revolution
Renewable energy supply strongly depends on weather forecast so essentially one needs a good algorithm for weather forecast. Yet, forecasting energy supply is much easier if all generators are integrated into one power grid because it is necessary to predict average supply for a (large) reagion.
asavinov··on How long should a SaaS free trial be?
A (fixed) trial period is analogous to having constant list prices or, in statistics, simple average with some constant time period. A more flesible approach would be to gradually decrease the amount of resources available to the account. Or even better some kind of machine learning algorithm could compute how these resources should be varied in order to maximize some goal function (like probability of switching to a paid account).
asavinov··on Ask HN: Single Person startup/company?
Thanks for your comments and suggestions. Your observations actually confirm that it is not the best idea to do everything yourself. In fact, I pivoted three times during the last several years:

1. Windows (WPF) application targeting approximately the same users as Excel, PowerBI, Tableau, Qlikview but providing self-service data wrangling functionatliy (rather than visual analytics). Problem: after finishing 90% of work I understood that I have to do the next 90% - UI development ate all my time.

2. Java framework for complex analytical data transformations targeted as the same users and tasks as, for example, Apache Spark, but providing higher performance at run time and development time (in-memory column-oriented approach). Problem: again, difficulty to attract attention which is necessary to get critical mass of users. Probably the market of classical big data technologies is too tough nowdays.

3. StreamCommandr. Same as previous but focused on in-stream analytics (instead of batch analytics) and IoT. This market seems to be empty (very rare event) and I want to provde the technology as a cloud service (PaaS), say, in IBM Bluemix, GE Predix or AWS. The users of the in-stream analytics service are supposed to be solution/application developers who want to analyze their data (e.g., from devices) in real time. So I am working on this third hypothesis by taking into account my previous mistakes and collected experience. In particular, I am going to maximally simplify everthing even if I sacrify significant pieces of functionality. Time is more important than quality.

asavinov··on Russia’s Military Buildup in the Baltic Stokes Invasion Fears
The best way for neigbour countries (everywhere) is to switch to democracy and let their citizens decide themselves how to live similar to Brexit or referendum in Scotland.
asavinov··on Russia’s Military Buildup in the Baltic Stokes Invasion Fears
> Russia has annexed Crimea. ANNEXED!

Afaik, that was a decision of the people who live in Crimea on the referendum. It is like Brexit or referendum in Scotland. For example, now UK leaves EC, so in the same way Crimea has left Ukrain. It is how democracy works.

asavinov··on Ask HN: Single Person startup/company?
So running a single-person startup is not a problem by itself - it can be either a positive factor or negative factor:

NEGATIVE:

* It is very difficult to attract investments because of some formal requirements like "no one-man teams" or "no marriged couples"

* You need to choose a product and business model where it is enough to focus on one or two major activites at least before the scaling phase.

POSITIVE:

* it is much easier to change strategy (pivot) for any reason (say, you fell in love and want to suspend the project)

* It is much easier to make strategic decisions like partnering or relocating

asavinov··on Ask HN: Single Person startup/company?
A couple of years ago I started DataCommandr which was supposed to be an Excel for big data - an easy to use self-service tool for data transformation and analysis: http://conceptoriented.com . Yet, I had to split between several quite different activities: development, marketing, prototyping (it is an innovative product). Eventually, I decided that the process is too slow and with this speed I will never reach the goal. So I decided to re-position the technology: instead of developing a classical WPF desktop application targeted at Excel-like users, I started developing a Java cloud service for in-stream analytics (for IoT). The main goal is to decrease marketing so that the product can sell itself.
← PreviousPage 4 of 4