HN user

stefanu

694 karma

Mentor, software engineer and data warehouse architect by day. Simulations, DSLs and complex systems by night. Author of Cubes Python OLAP (suspended).

Twitter: @Stiivi Github: https://github.com/stiivi/

[ my public key: https://keybase.io/stiivi; my proof: https://keybase.io/stiivi/sigs/5aNtNBrmNZFuMKkbG29vZXWVCkSteYgV7wYU6Wluc6A ]

Posts28
Comments44
View on HN
blog.la-terminal.net 1y ago

Xogot: Godot for iPad

stefanu
5pts1
medium.com 6y ago

SimCity, Cellular Automata, and Happy Tool for HyperLook (2018)

stefanu
2pts1
www.info.ucl.ac.be 6y ago

FractaSketch (1997)

stefanu
2pts0
www.wirfs-brock.com 6y ago

Tektronix Smalltalk Document Archive

stefanu
4pts1
gizmodo.com 6y ago

Facebook Employee Fell to His Death at Menlo Park Headquarters

stefanu
3pts0
www.archdaily.com 7y ago

The Breakneck Evolution of Chinese Metro Systems

stefanu
2pts0
www.computerhistory.org 9y ago

NeXT: Steve Jobs’ Dot.com IPO That Never Happened

stefanu
150pts98
plus.google.com 12y ago

“This presentation can’t be opened because it’s too old”

stefanu
370pts210
idl.cs.washington.edu 12y ago

The Lyra Visualization Design Environment – Interactive Data Lab

stefanu
1pts0
github.com 13y ago

Cubes Viewer - Python OLAP Application for Reporting and Data Slicing

stefanu
5pts0
www.fastcodesign.com 13y ago

New UI paradigm for email by Yahoo

stefanu
1pts1
blog.databrewery.org 13y ago

Cubes 0.10 released - Lightweight Python OLAP Framework and Server

stefanu
4pts0
blog.databrewery.org 14y ago

Cubes - Python Lightweight OLAP - 0.9 released

stefanu
29pts11
sfh.naasat.in 14y ago

Power of Communities: Tribes not Cults

stefanu
1pts0
blog.databrewery.org 14y ago

Data Streaming Basics in Brewery

stefanu
3pts0
tinkerer.bitbucket.org 14y ago

Tinkerer: reStructured text based blog and static page generator

stefanu
1pts0
blog.databrewery.org 14y ago

Cubes 0.8 (Lightweight Python OLAP) Released

stefanu
3pts0
blog.macromates.com 14y ago

TextMate 2 will support from Snow Leopard upwards

stefanu
1pts0
blog.databrewery.org 14y ago

Cubes Python Framework is now MIT license (with SaaS notice addition)

stefanu
5pts0
stackoverflow.com 14y ago

Extension of MIT License for SaaS?

stefanu
3pts2
news.ycombinator.com 14y ago

What is good license choice for OS project that might be included in SaaS?

stefanu
2pts0
blog.databrewery.org 14y ago

Internals of Cubes – Lightweight Python OLAP Framework

stefanu
46pts11
blog.databrewery.org 14y ago

New IRC Channel for Brewery and Cubes Python OLAP Framework

stefanu
1pts0
ivanasendecka.com 14y ago

7 Things You Need to Know About Building A Movement

stefanu
10pts4
blog.stiivi.com 14y ago

Do we have digital nomad-friendly economy and businesses?

stefanu
3pts0
ivanasendecka.com 14y ago

Hello 2012: Meet Digital Nomads

stefanu
4pts1
blog.databrewery.org 14y ago

Cubes How-To: hierarchies, levels and drilling-down

stefanu
1pts0
blog.stiivi.com 14y ago

My open-data project: Open Public Procurements of Slovakia

stefanu
2pts0

Had similar struggles as well. Then after few experiments with plain paper (tried A4, B6, A5 - all landscape), I switched to Midori Paper Pad, carrying it in a leather pouch. Using A5 on the go and A4 on my desk. All in landscape orientation, like slides. My output is mostly diagrams/schemas and tables, very little prose.

Advantages so far: high quality per that works with fountain pen. No fear of ruining whole notebook with an ugly note or a drawing. I can carry only sheets that are relevant to the problem I am solving right now. I can lay out the sheets in front of me to get a bigger picture. I can throw away the bad ones. It is easier to scan (using iPhone scan to PDF function).

https://md.midori-japan.co.jp/en/products/mdpaper-pad/

Can confirm, MUJI notebooks are of a decent quality and they can handle fountain pens as well.

In addition to that, I gradually switched to their 0.38 pens of different colors. With fountain pen it was more stylish but impractical for multiple semantic(*) colours. With cheap, light, yet nice quality pens of different colours I can not only carry multiple ones, but have the same set at multiple places.

(Dark blue is body text/drawing, light blue is comment/secondary annotation, orange is action/process/message passing, green is data/metadata flow, …)

In Czechia and Slovakia we have mapy.cz which gives you more detailed map for walking/hiking, including contour lines. See [^1] for example.

The coloured trails you can see at more detailed zoom levels, are part of the hiking trail system. The outdoor signage even has a national technical norm [^2] (in Slovak, but has some terminology translated int to English and German).

[1] https://en.mapy.cz/turisticka?x=19.8702765&y=48.7675046&z=14 [2] http://www.jazdecka-turistika.sk/images/stories/dokumenty/KT...

Author here. I admit, it has been more than a year since I made a significant contribution. It kind of correlates with change of my job – since I started to work with my current employer I didn't have almost any time to work on neither of Data Brewery projects directly. All I have is full notebook of new ideas and mailbox of unanswered feature requests and bug reports. It makes me sad, but honestly I don't know how to proceed.

I really enjoyed working on Data Brewery and I eventually will resume my work as there is a lot to do. It is just put aside on the back burner. In the meantime I might only hope that someone would volunteer to at least handle bug fixes. I'm open to grant access to the repositories.

Any suggestion how to prevent open-source project from dying is welcome.

Author here. They are very independent. In short: Cubes is OLAP framework for abstracting aggregate queries on top of a datastore, mostly through SQL. You define a so called multi-dimensional model – how the analysts see the world, and cubes knows how to project it to underlying data structures, preferably star or snowflake table schemas.

Bubbles was meant to be data integration library (also known as ETL) – get data from multiple sources, transform them and produce tables that are more suitable for further analysis or reporting.

I don't think we can equate complexity of a tropical thunderstorm to the complexity as described in the article. The discussed complexity arises from local connections (be it persistent bonds or repeated interactions) between entities. While interactions in the thunderstorm might seem "complex" to our mind, they are not "complex" from the point of view of "complex systems", they are rather "complicated".

Moreover thunderstorm network (if we consider the interactions of particles in the thunderstorm) is very transient. No feedback loops emerge in the system (to my understanding of thunderstorm). Also the system does not adapt to the surrounding environment through it's reconfiguration of internal connections. Thunderstorm lacks many properties of the complex systems discussed in the article.

There is one advantage in people mispronouncing your name though. In my experience, people within a group tend to converge towards one pronunciation or variation of your name. On a random encounter in public or out-of-the group environment, if someone is addressing you, you know which group he/she is from, based on the pronunciation he/she used.

I think that if people were more familiar with Smalltalk, the Objective-C would not get that bad rating. I find the Smalltalk message passing syntax is way more readable than more common function(args) syntax. ObjC is nothing more than a plain C with message passing in square brackets.

What might make it less attractive is the verbosity of Cocoa (formerly known as OpenStep), too many class name prefixes, missing native literal objects and use of pointers. This is problem of the framework, not the language itself though.

Lisp CPU 12 years ago

That reminds me SOAR[1] (from 1984): Smalltalk on a RISC

Smalltalk on a RISC (SOAR) is a simple, Von Neumann computer that is designed to execute the Smalltalk-80 system much faster than existing VLSI microcomputers. The Smalltalk-80 system is a highly productive programming environment but poses tough challenges for implementors: dynamic data typing, a high level instruction set, frequent and expensive procedure calls, and object-oriented storage management. SOAR compiles programs to a low level, efficient instruction set. Parallel tag checks permit high performance for the simple common cases and cause traps to software routines for the complex cases. Parallel register initialization and multiple on-chip register windows speed procedure calls. Sophisticated software techniques relieve the hardware of the burden of managing objects. We have initial evaluations of the effectiveness of the SOAR architecture by compiling and simulating benchmarks, and will prove SOAR's feasibility by fabricating a 35,000-transistor SOAR chip. These early results suggest that a Reduced Instruction Set Computer can provide high performance in an exploratory programming environment.

[1] http://dl.acm.org/citation.cfm?id=808182

It's about the principle. I'm not saying that the problem has no solution, I can convert the files using someone else's computer as you are saying. Why should I get a USB CD drive that I will use only to convert documents that I expect to be readable anyways? Why should I spend time looking for someone with iWork'09 installation and use their time to convert my documents? It is just unacceptable from a company that is proud for user experience of its products. I should be able to do that from my chair, legally, with a download of a conversion tool or with an upload to a conversion service from Apple, not a third-party.

I would not mind buying a floppy drive and all necessary adapters, install Atari ST emulator and write Kamenicky encoding converter in Python to convert 1st World Plus documents from '89 if I had to convert documents of my parents. I would not be complaining about obsolescence of the format at all.

My problem is not technical, it is about user experience and productivity.

FFS, this is "HackerNews"... write a bash script to do it for you.

I have written quite a few bash scripts, python scripts and long ago ruby and smalltalk scripts to do things for me, that bothered me. My point is, this is a software I am paying for (and I've already mentioned that 2008 should not be considered as old) and I would rather spend my time writing the "super 1337 h4x0r" bash and python scripts for something that I can't do otherwise.

You are right, I can get all the necessary hardware for that. That is not a problem, problem is that I can't have that when I need it. Imagine you go to a meetup and would like to show some older presentations and you are not aware of the issue. Well, bad luck - nothing to show, no quick fix by downloading a conversion tool or older version of the software.

I'm not saying that it is permanent problem, there is solution for it for sure. It is just unnecessarily cumbersome and mostly unexpected: I can imagine dropping support for files from 1995 not for files from 2008.

You are right, it is not true of all proprietary software. There is no problem with software upgrades, not even with frequent software upgrades. Problem is when the software requires regular document upgrades. This requirement can not be met in real life, if you produce few documents a month.

Objective-Smalltalk 12 years ago

Etoile is great project with many interesting concepts. I always wished that Apple would somehow get inspired by the LanguageKit. I guess that AppleScript was good enough...

I miss the talks of pre-Etoile days on #gnustep.

Objective-Smalltalk 12 years ago

Thanks Marcel. Nice work with Objective Smalltalk too.

Irony is that at that time the Smalltalk people didn't see the advantages of frameworks like StepTalk. I got a few "Why don't you just use Smalltalk?" questions on ESUG conference in 2003 – on one hand they were not happy that Smalltalk use was a bit declining (or at least not thriving, compared to other languages/environments), but didn't wanted to see a compromise solution. Only the pure Smalltalk way was the proper way.

Maybe it's an idea whose time has finally come :-)

... where web == one large distributed Smalltalk image? I'm all for that! ;-)

Objective-Smalltalk 12 years ago

StepTalk is another Smalltalk-ObjectiveC legacy framework, originally meant for Smalltalk-like scripting of ObjectiveC apps/tools. It was built for GNUstep but worked on early versions of Cocoa as well: https://github.com/stiivi/StepTalk. It is no longer maintained, therefore it might need a little bit of refreshment.

It is light-weight SmallTalk interpreter on top of ObjectiveC objects. See the examples for better idea of what it does: https://github.com/Stiivi/StepTalk/tree/master/Examples

I would love to move to Python 3 as I have no technical dependencies. The only reason I'm still writing my code and open-source library in Python 2 is the ecosystem of my clients. Even if that was technically possible to migrate to Python 3, it might not viable business-wise. It would be considered as unnecessary expense for something that "just works".

I guess we just need to reach some adoption tipping point or end of support of Python 2. Whichever comes first.

You can try IPython (shell) and IPython Notebook (web interface) online with Wakari at https://www.wakari.io - platform (with all popular Python scientific libraries installed) that lets you run multiple Python sessions and access them online anywhere. It also allows IPython Notebook sharing - you can share your workflow.

Actually, if you look at it closer and try it you will see that Wakari includes IPython Notebook - in the right pane you can chose one of three different python interpreters: python (pure), ipython or ipython notebook.

The ipython notebook is running remotely - in the cloud, not on your local machin. You have access to your explorative analytical workspace from anywhere and it's state is persistent.

Stop watch:

    time read
press enter to read elapsed time. If you write your activity in the prompt and repeat it for multiple activities, you have a nice time log. You can then just copy&paste it from terminal.

I would love to and actually was looking at pyTables and little bit at pandas. I am coming from RDBMS-based DWH world mostly, so it is a bit new area to me, howerver from what I've learned so far, there is huge potential. Unfortunately, currently I have no resources to do that, even I would like to see that more than RDBS backends (as there are already plenty of tools for that). Is there any way how this possibility can be supported? I would not mind working on a project for someone that would require OLAP layer on top of something "strange" and that there will be (open-source) by-product in form of a backend...

[edit] p.s.: I am the only developer so far, and I am open for collaboration.

OLAP isn't just about the underlying cubes and dimensions, in the end it's about how the information is being presented to the user.

You are right. Cubes, dimensions and the logical model abstraction is the very first step: physical data implementation is hidden. Cubes is young, as mentioned in my comment - front-end helpers will be coming later. I will need some help on that part.

I am not quite sure about the "feature-richness". Yes, it might sell - in environments where people barely notice wrong data in 40-page monthly report, still being content about the report exhaustiveness. From my experience, many people want just basic stuff. I am trying to make cubes as small as possible (but not smaller), however extensible. For example, the cubes will not force you to use "cube's" way of drawing charts. It will provide few examples, based on common, accessible visualising backends. Along with the examples will have possibility to plug-in your own visualisation/reporting method.

The intention is not to create competitive product to the "big ones", it is rather to create light-weight, customizable alternative for many smaller projects.

Cubes aims (at this moment) rather for tool for tool creators than tool for end users. But you never know, how the wind will change... :-)

Author here. Just a small explanation: target audience are mostly those who would like to add OLAP to their apps with simple multi-dimensional reporting needs (see trivial hello-world example [1]). This release brings new star/snowflake aggregation browser which can be (roughly) considered to your analytical data as ORM framework is to your transactional data - some magic happens between your code and the database that makes your life easier.

Visualisation is not yet included and will be added in modular form of "presenters" [2]. If anyone with web/JS skills would like to help, he is welcome, as my skills in this area is little bit weak. There is unmaintained and unfinished prototype of JavaScript front-end as well [3]. Flask based example of simple dimension browsing is included in the source [4].

If you need any help with model creation, you encounter any issues, have a suggestion let me know.

[1] https://github.com/Stiivi/cubes/blob/master/examples/hello_w...

[2] https://github.com/Stiivi/cubes/issues/53

[3] https://github.com/stiivi/cubes.js

[4] https://github.com/Stiivi/cubes/tree/master/examples/sandbox...

Also if you press and hold a key, list of accented/alternative characters is opened. Anyway, OP has lovely idea, just the first trigger has to be tuned a bit. Maybe holding and dragging the space key?