Friday, January 20, 2012

Enterprise Finance (Home Edition)

Напишу по-английски, так прикольнее, наверно.

Aim


Make money flows as transparent as possible.

Proposal


Merge all financial data into one data base:

  • Bank account transactions

  • Bank account states (account states at particular date/time)

  • Credit cards transactions/states

  • Savings transactions/states

  • Insurance transactions/states

  • Credits transactions/states

  • Mobile phone provider accounts transactions/states

  • Home services provider accounts transactions/states

  • Online services (mail, shopping, hosting, etc.) provider accounts transactions/states

  • Everything what has 'account' and/or 'payment' in description. You name it...


Think about what to do with all of this further.

Requirements


Environment: Windows and Linux, home workstation, no permanently running servers.

Standard database



  • Accessible for standard existing tools for 'low level' viewing/editing

  • Possibility to connect from OLAP/BI and report frameworks

  • Security (whatever)

  • Backup

  • Flexibility: Easy to refactor/modify structure



Data collector


Using given credentials (logins, passwords etc.) a collector visits all target internet sites and downloads all the relevant data. So it consists of following parts:

  • Common starting utility/tool

  • Data "scraping" plug-ins for different types of source internet sites

  • Database connector(s) for storing/updating collected data



Security


Following aspects are to be considered:

  • Passwords storage

  • Secure connection to data source sites

  • Secure local storage of collected data



Technology stack (draft)


Saturday, October 30, 2010

Редукция форумов

В будущем во всех форумах (и в любом месте, где пишут текст) будет встроен "бояномер".

По факту написания любого предложения, или абзаца, или целого рассказа, сервер будет автоматически сравнивать его с ранее написанным другими людьми и выставлять рейтинг "бородатости", и заранее говорить, что это уже было и сколько раз. Кроме того будет выдаваться статистика сезонной частоты повторяемости и ссылки на наиболее бородатые тексты.

Сам текст при этом может быть бородатым частично. Т.е. некоторые абзацы могут быть сильно бородатее других. Все это будет красиво помечено и оснащено ссылками на статистику и списки повторений.

Это, по моему, должно привести к значительному сокращению замусоренности ноосферы. Т.к. будет очень прозрачно и очевидно насколько мало генерируется новой информации.

Значительно улучшится "юзабилити" форумов. Из правил можно будет изъять пункт "сначала поищи, а потом спрашивай". Этот пункт уже давно лишний при современном уровне развития технологий. Форум сам уже может отвечать на большинство задаваемых вопросов, даже без привлечения людей вообще.

Осталось только адаптировать существующие механизмы, например, анализатор текстов для контекстной рекламы. И использовать их во благо!

Tuesday, October 19, 2010

В Голубом Вертолете™

Математическая задача.

Дано:

Золотая рыбка предлагает вам сумму в N1 евро (европейская рыбка, фигли), но ставит такое условие:
Если вы не забираете эти деньги сразу, то она предложит вам N2 евро через год.
Если же не забрать деньги через год, то еще через год рыбка предложит вам N3 евро. И так далее.

Соотношение предлагаемых сумм такое: N(m+1) = N(m) * 1.5

Задача:

Найти формулу (выразить через N) для нахождения такого m (количество лет ожидания), когда деньги нужно забирать.

Другими словами: Определить сколько лет будем ждать в зависимости от N1.

Wednesday, October 6, 2010

Fuzzy entities (to be developed)

First enter, Then think

The best way (for me!) to enter something into computer (digitize :) is just open notepad-like-editor and just enter it as text. All other programs always force me decide what kind of information I'd like to enter, and what should be done with it further. Without this decision I'm not allowed to do anything.

For example, I've know a birthday date of my friend. I just want to store it probably somehow together with friends name. Now it's time for redundant decisions:

Fist and most simple: store it within a note (i.e. simple text file)? Not that simple: I must choose a note name, or even worser - note size and position on the screen. Otherwise I will never find this information again. I can use a separate note for all birthdays. I can name a note with my friends' name and collect friends info within the separate note. I must decide what I will do with these dates further.

Anyway, note means - I've decided to store the information temporarily and I must return to it to store it again in another way.

I don't want to decide now

If I postpone my decision, I either not allowed to enter something, or everything I have entered I must reenter later when finally decide what kind of information it was. And if I change my mind later on, I must reenter information again.

I entered a date as birthday of "contact" (let's assume that my friend is already in my contacts). Stop. I cannot enter the date without year. To remember when I can call my friend, I must know his age? Isn't it redundant?

Okay, I'm forced to enter a birthday as "repeating calendar event". Oh my god. Now I have to enter even more redundant data: When to start repetition (what does it mean? :), when to end it (I don't wish to know when my friend dies :) . And where is the link to the friends "contact"? I have entered things I do not need, and lost important reference. I must invent the ways to connect both "contact" and "event". And this is only in a simple example.

By the way: "contact" and "event". I did not need these entities. I was forced to choose that name is a "contact" even if I know nothing but name and not going to contact the "contact". The same with "event". It was just a part of the date (without year). I didn't plan to organize something, I wasn't invited nowhere. There is no "event" on the date.

I want to find my data again

I took time to enter everything "correctly" (in other words - as programmers forced me to do). I prepared "repeating event", or "contact birthday", or whatever...
In several years I want to remember where did I saved the date. Or just list all the dates I have. Probably I'm searching for my marriage date.

There is no way to just list all the dates. I must remember my redundant decision how to save the data. If I decided to save it in calendar, or in contacts, or in notes the way to find all saved dates will be very different. Can anybody say where did I saved my marriage date?

Later

I believe in the future there will be no "required fields". You just enter what you want and the system allows everything what is possible to do with the entered data. And you always can go and change or extend your data. In run time.

For example, if you do not enter your login and password, you just work "as guest" until you enter a password. Without logout/login. Because you haven't decided to login "as guest", you just didn't enter a password!

If you haven't entered a phone number, you just cannot call until you enter it.

If you didn't enter your destination time in GPS, it just doesn't compare it to estimated one, but you are able to enter the time later on and see estimation. You don't need to go deep in the settings, set "always ask destination time", then reenter destination and destination time and recalculate everything.

If you don't know why you want to blog, you can blog anyway :)

Monday, September 27, 2010

Social OpenId




  • Develop a hash algorithm (or just take md5) for hashing a person name and other personal data like birthday etc.

    • It must be supporting an 'incomplete' mode. For example a separate hash for 'only name', 'name and birthday' etc.

    • It must be 'one way' hash without a possibility to recover initial data by hash value.



  • Then encode all your contacts to get several hashes pro person (separate for complete and incomplete data).

  • Store these hashes in your open profile.

  • No need to search for your friends in social networks anymore. Just import 'friend hashes', and system will find all persons which are already registered in this network by given codes.

  • Codes must depend on your personal information in order to avoid comparison of 'friend hashes' between different persons open profiles.

Tuesday, September 7, 2010

Ubuntu review for human beings



It is boring to compare prices or technical specifications. There are brief expressions of my ~1000th try to use Ubuntu as home OS.

Regular home computer config


- AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
- 4021 MiB
- GeForce 7800 GTX
- Two monitors

No good


- Either slow default graphics driver or cannot rotate monitor.


- There are "gray zones" if using different monitors resolution. One of the screen bounds isn't really a bound and mouse cursor can really disappear there. Very annoying.



- Panels work only horizontally.

- Vertical panels are ugly:

It seems that nobody has tested vertical position.
- All icons are of different sizes. Ugly. See screenshot.
- Background gradient is repeated many times. Ugly. See screenshot.
- Cannot group icons.
- Each "quick launch" icon of applet must be set up individually.
- Moving "applets" is hell.

- Window list does not extend itself depending on the list size it just resizes it's items. Compare windows list on screenshots left and right.
- There is no way to set height of windows list. It just takes some place.
- Okay. I use the panels in wrong way. Nobody expects that user can select "Orientation: left" in the panel properties and then try to live with this ugly thing.
- Just found "undocumented feature". If there are more than one window lists, on different panels - they will only show windows from the same monitor where the panel is placed.

- Scrolling in Firefox is a real pain... Roger that. Annoying.

- In the Ubuntu-chrome there is no fast scrolling at all. Annoying.

- Flash video in the browser (youtube etc.) works very slow. Takes more than 70% of both CPUs. Almost impossible to watch two video-clips simultaneously.


- Youtube (and any other flash) full screen mode takes a monitor whatever it wants. Independent of where the browser window was.

- User interface appearance settings seem to be very flexible (you can choose where to the close window "X" button -- left or right!!!). But there is no way to set a scrollbar width. I usually set it to "as thin as possible".

- There is no "system tray". If you close Skype with "X" button it just disappears but continues to work in background blocking all new Skype instances. By the way, there is "Start Skype minimized to system tray" option. Scary!

Good


- Extremely fast (relative to XP, hehe :) boot up. Now I'm able turn on PC to check weather forecast.
- Unified software installation/deinstallation. No need to know "safe" places for downloading.

Summary


Very good system for quick checking of a weather forecast!

Tuesday, August 17, 2010

Антиутопия. Зарисовка 2

Земля, 2***-й год.

Под давлением мегакорпораций мировое правительство издает закон о полном запрещении рекламы. Это дает корпорациям возможность подавлять распространение товаров мелким конкурентам. Покупатели могут только случайно узнать об алтернативном товаре. Товары мегакорпораций не нуждаются в явной рекламе, т.к. продвигаются другими, более запутанными способами по очень сложным схемам, основанным на сборе и анализе персональных данных, к которым имеется доступ только у них.

Возможные обходные пути продвижения продуктов: нелегальные объявления, рекламные роботы, скрытые мини-проекторы, спам, бесплатные раздачи - жестко отфильтровываются при помощи комплекса мер подавления рекламы: Специальные роботы-сканеры отслеживают нелегальную активность и уничтожают рекламу под видом наведения порядка, борьбы с терроризмом и уборки мусора.

Становится невозможно даже наносить на стены граффити. Т.к. все средства для нанесения рисунков моментально обнаруживаются сканнерами конфисковываются. То же самое с рекламными наклейками. Нанести какой-либо рисунок возможно только при помощи направленного взрыва специального высокотехнологичного устройства. В этом случае сканнер не успевает предотвратить нанесение рисунка.

Цены на продвижение нового товара на рынок взлетают на невиданную высоту.

Создаются условия для появления нового вида нелегальной рекламы: Спамеры-самоубийцы. Специально подготовленные смертники за баснословное вознаграждение прибывают одновременно в несколько очень посещаемых мест. При себе они имеют рекламные нано-бомбы, которые при взрыве наносят на окружающие поверхности заданный рисунок. Бомбы приходится проносить только внутри собственного организма под видом костного или зубного имплантанта. В результате взрыва носитель погибает, но успевает на некоторое время прорекламировать альтернативный товар.

На смертников открывается охота.

Продолжение в следующем приступе футурологии...