2016-05-22

First GreenRuby Meetup

Recently Gandi moved to a much bigger office in Neihu, Taipei. And I got permission to use the space to organize events. We got a great space, sound system with wireless mikes, a beamer for presentations. So, if you are in Taipei, feel free to join us on wednesday next week. I will try to make it a remote meetup, and give more details next week.

2016-05-08

It's the fault of the bike

Well, in the last two weeks I get short in links gathered on our slack pinned list. Usually I’m reading various RSS feeds while commuting, and I post them on slack, for later one pinning them. Then I have a script in go that will grab all the pinned url, and remove the pins at the moment I use and check them for inclusion in the publication.

But 2 weeks ago, I decided to change my habits and go to the office by bike. It’s a 30 minutes ride, and it’s very good. But then hare we are: no no way to check RSS on the phone. I’m going to need to find another trick. Because I won’t quit the biking.

2016-04-25

Nanoservices

That link to Shoutcloud made me laugh and then made me think. It’s not the first time I see some micro-service publicly available. 2 years ago there was some talk about nano-services as an antipattern. But when you push the logic a little further, and at a very large scale, maybe it’s a projection of what the future will be.

Imagine our software totally destructured, calling functions taht are stored on the net, using some load balanced worldwide environment. We already do that with CDNs. Javascript next Modules proposals will go in that direction as well. But what is a method call in a program that we know today could become a service call of an external globally available function.

After all we always write the same code. How many time did you write a regexp for email pattern validation? The RFC 822 and 5322 are nasties, yeah. If we had no latency consideration, I would gladly delegate various pieces of code to a specialized service. But latency, is it really an issue now? We work more and more with async code, with queues and messages. What seems heretic for our current legacy standards would not seem that foolish in a slightly different context.

So technically, I suppose nanoservices are a possible future. I even think it’s a requirement for scaling any kind of agent-based architecture. Machine learning will be much better off by just registering maps to knowledge than knowledge itself. But I wonder about the economical side of things. The old capitalist market economy is already stretching its reach far beyond its original statement with immaterial economy. The totally destructured immaterial one will certainly propose an interesting challenge.

2016-04-10

Go again

That’s years that I’m trying to do something real with go. I mean, it is a very attractive language with quite a special workflow and toolbox. From time to time I write some small script for keeping contact with that language. Last week I made this one to list links pinned in our Greenruby slackroom to prepare the letter, So I can open them all at once to check them in my browser. With time passing, seems that Go now has a really complete collection of libraries for a lot of usages. I think I will have push a little the slack api soon, and maybe do some real go coding.

2016-04-03

Aprils lame fools

I think there is nothing I hate more than pranks. It’s just another way to bully someone else. Even innocent pranks are having victims. Single out the one that fall for it to make laugh the ones that don’t. Well, I may very well be a boring fellow. Or it’s just that, working so much with information management, any perversion of it seems off.

And then on april fools day, so much goes wrong. The net becomes unreliable. So lame. But I’m not sure if it’s the reason there are not that many news articles this week.

2016-03-27

kik the fuss

There have been some noise last week about npm, coming from that article. It merely revealed that various open source organization are privately held by some individuals and they can either be pressured or take weird decisions. Honestly I consider this incident anecdotal. It’s not the first time such thing happens. One guy just happened to be very vocal and pissed off about it.

And it carried various threads of discussion on Twitter and elsewhere, in a huge controversy. There were many points raised. NPM has thousands and thousands of packages, and many of them are just a few lines of utility library, so it was a good occasion for some to point out that you should reduce your number of dependencies. Others pointed out that namespacing could help prevent such situation, like it’s done in docker or in go (having username/somelib instead of somelib) following the github convention.

All in all, it appears that open source is gaining its traction from being free of any legal duty. Or at least there is no formal contracting, no by-laws, on committees or advisors. People do how they feel in the limits of some very simple basic licensing rules. Some organization provide a more structured legal asset but they usually are on the side and purposed for channeling money management, not necessarily patents and intellectual property.

My opinion is that this kind of friction between businesses and open source is going to happen more and more. But I wonder how it’s going to turn out.

2016-03-20

No rant this week

Well it’s not the first time. I just don’t feel inspired. So I better shut up rather than writing useless rant. It’s so easy to fill up space with meaningless content. But I’m not doing that ever. I only speak out when I have something to say. And yes, I’m very comfortable to contradict myself by writing a useless rant. This is the beauty of the human being: our ability to abstract makes possible all sort of paradoxes. Wait, is it related to abstractions? hmm, This is a great topic for my day-dreaming in the subway. Oh, damn I’m late. Cya all and have a good week.

2016-03-13

the Adwar

This week I got 2 links that explore both sides of the adwar. The war on advertisement exists on the web since it became popular enough to attract advertisers. There are no acceptable ads takes the side of the users, while A Never-Ending Story On Ad-Blockers seems to defend and advise the publishers.

Some media already have blocked the blockers. It’s forbidden to escape ads? This position may appear not to be sustainable. And pushing towards content sponsoring could have really bad ill effects on the long term. Is there any escape? Honestly I have to say that I’m partial in that debate. I don’t like ads on what I read, and I don’t like ads on what I publish. I even go edit my /etc/hosts with some custom domains to resolve to 127.0.0.1 sometimes.

So it there was to take sides, I would say advertiser, go to hell. But I’m a realist. They won’t go away. We live in a society where shit has to be bought. Yes even if you don’t need it. Otherwise the system will collapse. That’s how things are. I get some crazy dreams about some basic income system, currently in experiment in various places over the globe. Such setup would defeat part of this situation, even if it would have border effects that are unpredictable. But that would not change much for the big corpo, it would only save the small people. Hmm. Sounds good enough to me, I won’t lie.

2016-02-28

About tests and documentation

This aspect of development, called Documentation, is the source of various frustrations. It’s hard to get do it, but why? My feeling is that it’s like testing. When you begin your craft as a coder, all what matters is the code. It’s only after some iterations that some non-code aspects come back bite you in the neck. Like, huho, now that I need to refactor, I really should use something that tells me if all still works. Tests become an early necessity to anyone who knows that kind of truth. If you wait until the end of a coding cycle to write those, the task is huge and it cuts you from your productivity cycle. Write them early, along the flow, is way easier.

So I think documentation follows the same pattern. So many software projects are badly documented because this aspect is postponed until it’s needed. Means at release stage. In early stages, you work on a prototype and you don’t need to explain how things work or are supposed to work. And when it’s released, there is usually some other task waiting and it’s hard to stop everything to get back and document things properly. It may be a flaw in the agile process, but it may also be a feature: if you don’t document along the way, you won’t document much.

Personally I try to consider the documentation of any of the source code I write as one of the first tasks. There are various tricks that can help in that perspective, like readme-driven development, or including the doc inside the code with yarddoc or apipie, or coupling documentation with tests with rspec or RSpec API Doc Generator. But honestly I prefer edited documentation that can follow a structure that is thought as documentation rather than merely an automated output of some code.

There are various tools to organize edited documentation, like ReadTheDoc which is in python. Another project appeared last week from the guys at Pluralsight named hack.guide(). That’s a community project but actually being totally open sourced, I was thinking the documentation building CMS they made could pretty much fill the gap of a light-weight RTD, with the benefits of having a UI for editors. Too bad we don’t have anything like this in ruby (or do we?).

2016-02-21

Timezones are outdated

This week I checked out The radical plan to destroy timezones, which proposes to adopt UTC worldwide. It goes even further in proposing a change in our calendar for adopting the Hanke-Henry Permanent Calendar. It’s not the first time people propose change in our western gregorian calendar system (which is almost 500 yearsold), but it’s quite not easy to get anything adopted. Still, we developers consider Timezones as one of our nightmares. When we get to our senses we put everything we can in UTC, but there is always the need to get time ‘local’ at some point. I have honestly little hope that UTC become the worldwide standard, but, hey, we always can dream, right?