1,199 karma · joined December 1, 2014
Currently I end up just doing a lot of the graphics in Inkscape, splitting the layers into multiple SVG files (one per layer) using a script I found, and then assembling it together in Reveal.js using fragments. This technique I used most in one of my latest talks: https://sinusoid.es/talks/immer-meetup17
Now I wonder if maybe I just want to use something like Keynote... but I only use GNU/Linux and try to live in a mostly libre environment. Maybe Impress is good enough?
You would argue: but that goes against the Haskell specification, that impurity is not proper Haskell!
And exactly: the "purity" comes from an abstraction, which is a contract between you and some other developers. The fact that JavaScript the language does not enforce such contracts does not mean that you can not get into agreements with other developers. Sure, the JavaScript interpreter won't complain when the contract is broken, in the same way that the CPU is not complaining when Haskell has a bug, in this case, JavaScript is not the one making the purity promise---a developer is.
As such, I believe that in JavaScript, a library author can make claims about the purity of some code. Sure, some adversarial coder could use monkeypatching to break it---and some adversarial coder could also gives you instances of some type class that call unsafePerformIO under the hood. In the end, we are talking about degrees to which some purity can be ensured, and levels at which the contracts are enforced.
I know some Haskell developers would like to think that they are programing in this perfect language and that it is impossible to do functional programming in other languages. But I disagree, and actually, I believe that bringing the design tools of functional programming to mainstream languages is a worthy goal that should not be discouraged.
Also, recently I realized that when I in nervous procrastination mode I also check GitHub too much to look at the stream of updates and "someone starred ..." stuff, I have looked for disabling the stream but could not find it... I guess I could try play with the Stylish plugin to make it disappear or sth.
Admittedly, sometimes I wish I could remove all "points" and "numbers" from the web, even on HackerNews. There is this quick brain sugar rush when you see these numbers rise, but just a minute later I feel empty, sad, and dirty for having this narcissistic automatic response.
This is one of the reasons (the other ones go around privacy and tracking) that I don't do Google Analytics nor any kind of access.log aggregation/analysis on my websites. Maybe this is a stupid rationalization, but I'd like to think that we value stats too much and that they distract us from doing better qualitative design and analysis...
In A/B testing there is a clear context and purpose, and is normally negotiated between actual humans.
There might be middle grounds (A/B testing can be done online and use facial recognition and in relatively large scale) but for me it has to be opt-in (as in, you have to fill a form to join) not opt-out (as in, leave this webpage/shop if you don't want my tracking). This is more challenging to the organization proposing the tracking, because they need to provide some value in exchange so people actually sign up for that. But in the long term being founded on the principle of consensual mutually benefiting relationships can only be good for your organization/brand, right? As in: at last a company that treats people like humans!
You can do controlled user-testing sessions with that system with specific people that have consented and are potentially compensated in some way. You will most probably also get more useful information out of that.
But being recorded "en masse" in a shop for that purpose I would think is invasive. I would totally avoid that shop if I knew that system was in place.
Also, I am not convinced that statistics lead to better design, so that would most probably be just wasteful, but that is another discussion :p
Many of us, children of the personal computer revolution, were attracted to computers for its empowering and democratizing effects. Just with a computer you could build anything! You are as powerful as any of "them"! The proprietary software model was developed to monetize end consumers by enchaining them, but the free software model and the fertile communities of the early Internet showed that the model of personal computation could not simply be displaced by legalese.
But if we take the author's position on the impact of deep networks, the model of computation is changing again.
If teaching deep networks is the new way to write useful programs, our brains and personal computers are not enough... they are obsolete. We now need clusters and, most importantly, massive access to data! This gives extraordinary leverage to the hoarders of data and servers of the Internet, the googles and the facebooks.
I'd like to think that maybe we are just at the beginning, the early "mainframe neural networks" era. That we just have to wait until there is enough technology and new markets discovered to build the "personal neural network". That consensual, open and distributed ways of sharing data will emerge and that new massively parallel computers will become affordable by the masses. That the models of neural networks will become well divulged and simplified and kids will be able to program them with their "Neural Basic"...
But at the moment the prospects don't look good. The Internet is becoming more and more centralized, personal computers harder and harder to program and there is a general "war on general computation" [1]. Even universities seem to bedisplaced by the Internet Lords in driving neural network development...
Maybe it is already a good time to start thinking about what "Libre Neural Networks" look like. And how can we get there.
W.r.t language, culture and thought an interesting experience for me has been to learn German (been living in Berlin for 5 years). Germans have this reputation for being "rational", "organized", etc and while like any stereotype that is only true in a very limited way, the language shows a lot of this.
In particular, I find this in the grammar structure, where depending on tense, nesting of verbs, etc. the verb always has to go on a very specific position (often at the end). As a foreigner I often struggle with this, because it forces you to build the whole sentence in your head before you start speaking. You can not add stuff "on the way" because then you would have needed to put the verb in a different position. Of course my language is not very good, but I noticed that even native speakers make very small pauses between sentences. Likewise, as a listener, you should really not interrupt, often because vital information (e.g the verb) comes often at the end. This is also very ingrained in the culture (German kids are really told that its a total no-no to interrupt someone). In general, due to all this, I feel that discussions in German at least feel very rational and ideas are often eloquently and effectively conveyed.
In contrast, the Spanish grammar is completely flexible and words can be reordered very flexibly to convey different emphasis and subtle differences in subtext. One can add nested sentences forever in and endless ramble and often authors in both sides of the Atlantic use this with a great poetic effect. On the other hand, this means that arguments can be often expressed in much more chaotic manner, thinking along the way and just adding stuff as it comes to your mind. I am from the south of Spain, where people also add funny metaphors, remarks and comparisons all the time. Listeners will unapologetically interrupt you when they see fit, turning the discussion into a verbal war full of hyperbole and humor, that is a lyrical as it is not rational.
As other pointed out, the "now" that blends into the future is maybe a more interesting feature of how time is understood in Spanish vs other languages.
I've reread this sentence a few times... and it is actually quite deeper that it first seemed on a more superficial read. Thanks a lot for your comment.
Agreed.
> There is WAY more wealth around on earth in 2017 than there was in 1917, 1017, or 117
Agreed. Also inequality is higher than ever.
> Most of the wealthiest folks get rich by inventing/creating new wealth, not by stealing from others.
False. They get rich by extracting surplus out of the new wealth created by someone's labor. Whether we call that stealing or not I don't care.
> If capitalism was just a competition, we'd still be fighting over castles and wheat and Trojan women. Cars, computers, and indoor plumbing wouldn't exist.
As I said, wealth is not a zero sum game.
But for someone to be rich, someone has to be poor. By definition. For someone to extract surplus, someone has to create value--i.e. work. By definition.
Now, you could argue that in a society with a lot of wealth, one can be "poor by definition" or a salaried worker, and still live a life in dignity. I concede that this could be a theoretical possibility. It could make for an interesting science fiction novel.
In most parts of the real world (including the USA), being poor is miserable and doing salaried work is alienating and most often exploitative.
Sure. If it is not so hard, everyone would do it. If everyone was a millionaire, who would do actual unpleasant work? Who would clean, run hospitals, build infrastructure? Who would work for your startup so you can make money?
Your comment is such an example of survivorship bias!
Capitalism is a competition. You won, good for you. Don't tell the rest they can win too, that's insulting. You won because someone lost.
If I get my bike stolen I am not be blamed if I use a shitty lock.
If I get raped I am not to be blamed if I was too drunk to resist.
If I get hacked I am not to be blamed if I was susceptible to social engineering.
Yes, it is very useful for potential victims to learn how to best protect themselves. But the moral responsibility in such violations is on the attacker, and is proportional to the damage caused to the victim, not the efforts taken to cause it.
Admittedly, this is part of why part of the crypto-activist community puts me off. Yes, cryptography is a great resistance tool, but my utopia is a society built on cooperation, equality and trust, not one of algebraic fences.
At the moment I am also writing a text-editor with my partner, to show-case the C++ RRB-Trees implementations in Immer [1]. We are just started, but my plan is to stop at 1000k lines. Interestingly, with such persistent data structure, you go already a long way in implementing undo, parallel processing, and many editing algorithms are super simple thanks to slicing/concat. Memory consumption is still sub-optimal (also I am using wchar_t to simplify my life), but I am very satisfied with the results so far (it is the fastest editor I have on my machine when editing 1GB file, also can edit a ~100MB file on a Raspberry --- larger files fail only due to excessive memory use :/).
When I read on HN the engineering posts from Netflix about the enormous engineering efforts required to make their video service scale, I can't help but think: that's a solved problem, Emule/BitTorrent have been providing good access to video for decades! Of course, there is the "monetization" issues... (but there is also on Netflix, good luck finding non-US or indie content there.) On other side of the spectrum, look at Syncthing vs Dropbox.
The thing about Slack is particularly crazy because even their client does not scale too: it was too slow to be usable daily in my 7-year old computer. A freaking chat app!
Admittedly, I hesitate about whether the best solution of the OSS community is to jump and try to replace all those things. At the same time, the kind of software I enjoy most both developing and using is desktop software. That is kind of software that is uses to empower our creativity. While the proprietary software world moves its engineering power to the cloud, we can still use it to build tools that help people expand their imagination. I am thinking on helping making Gimp and Inkscape and Blender and coding tools all those better, but also making new tools that we have not thought of. I think there is still a lot of potential for exploration, creating new interaction models, etc. in this area that we have not explored yet. Sadly for the libre software world, Apple still gets a lot of developer mindshare in that area too...
I an not from the US, but I guess the impression that in the US race is a proxy for talking about class. The latter word is such a taboo as much as anything coming from Marxism or economic left. You even go to say "losers" instead of working class, which is so insulting.
This keeps the left running in circles in identity issues. And keeps the poor fighting against each other (see poor whites supporting Trump).
Of course, I am idealizing the experience (eventually I really needed internet and ended up going to public libraries to use it)... but like everything, maybe we are getting too used to the instantaneous and forgetting that the alternatives are actually not so bad and sometimes empowering.