HNHacker News
TopNewBestAskShowJobs

stefanu

694 karma · joined January 17, 2011

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 ]

submissionscomments
stefanu··on I use cheap notebooks
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/

stefanu··on I use cheap notebooks
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, …)

stefanu··on Can You See the Republic of Ireland from England?
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...

stefanu··on Preliminary analysis of 11 Novel Coronavirus genomes from the Wuhan outbreak
They have a recent blog post “A lesson from SARS-CoV for 2019-nCoV”: http://www.virology.ws/2020/01/23/a-lesson-from-sars-cov-for...
stefanu··on Czech Trail Marking System (2006)
Formal specification (PDF, in Slovak) that contains drawings with dimensions, rules for stacking of multiple markers, shapes, etc.:

http://www.jazdecka-turistika.sk/images/stories/dokumenty/KT...

EDIT: Typo

stefanu··on Data Brewery – Python Framework for Data Processing
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.

stefanu··on Data Brewery – Python Framework for Data Processing
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.

stefanu··on A Neuroscientist’s Theory of How Networks Become Conscious (2013)
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.

stefanu··on Apple Watch: Initial Thoughts and Observations
What about a cold weather? You can still turn the crown in gloves when it is freezing.
stefanu··on Put an end to people mispronouncing your name
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.
stefanu··on Why is [programming language] so...?
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.

stefanu··on Lisp CPU
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

stefanu··on Condoleezza Rice Joins Dropbox’s Board As It Names New CFO, COO
Git based SparkleShare: http://sparkleshare.org
stefanu··on “This presentation can’t be opened because it’s too old”
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.

stefanu··on “This presentation can’t be opened because it’s too old”
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.

stefanu··on “This presentation can’t be opened because it’s too old”
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.

stefanu··on “This presentation can’t be opened because it’s too old”
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.
stefanu··on Objective-Smalltalk
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.

stefanu··on Objective-Smalltalk
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! ;-)

stefanu··on Objective-Smalltalk
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

stefanu··on Python 2.x vs. 3.x survey results
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.

stefanu··on IPython gets $1.15M funding
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.
stefanu··on Introducing Wakari - Scientific Python in the cloud
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.

stefanu··on The largest payment platform on Earth can reach 2 billion people
Not only that, but I know also many freelancers that have one personal phone/sim and one business phone/sim.
stefanu··on Unix Commands I Abuse Every Day
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.
stefanu··on Cubes - Python Lightweight OLAP - 0.9 released
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.

stefanu··on Cubes - Python Lightweight OLAP - 0.9 released
Thank you, both. If you have any questions or suggestions, drop me a line or much better: discuss it on the cubes-discuss google group [1]. I would appreciate feedback from more experienced BI people than I am.

[1] https://groups.google.com/forum/?fromgroups#!forum/cubes-dis...

stefanu··on Cubes - Python Lightweight OLAP - 0.9 released
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... :-)

stefanu··on Cubes - Python Lightweight OLAP - 0.9 released
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...

stefanu··on How text editing on the iPad should be
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?
Page 1 of 2Next →