Asteroid L

I'm a writer, software designer, and programmer, hailing originally from Brazil, now living in the most awesome place — Berlin, Germany. Here, you can have my resume.

See, the thing is... I have too many websites, or “web-thingies” in general. So I decided to kill one of them, and turn it into a “Planet” site, aggregating feeds from all others. This way you can read everything in one place. Enjoy!

Oh. To see (or write!) comments, you need to go to each post on its original site. To do that, click on the orange title (**not** the black site title on an orange bar, the orange title below that).

2012-05-18

from Uploads from Lalo Martins

2012-05-07

from Uploads from Lalo Martins

2012-04-18

from Uploads from Lalo Martins

2012-03-24

from I'm the internets embodied. Or Hagbard Celine.

You know what? Luck never helped me, in any meaningful way. I may have made some stupid, epic...

You know what? Luck never helped me, in any meaningful way. I may have made some stupid, epic mistakes — but all things considered, I’m pretty proud of how far I got without any help that I didn’t deserve through hard work.

2012-03-24 04:23 PM

2012-02-18

from Uploads from Lalo Martins

Take THAT, Yig!

Lalo Martins posted a photo:

Take THAT, Yig!

Saving the Earth and eating Haribo, and Si is all out of Haribo

by Lalo Martins at 2012-02-18 02:46 AM

2012-02-15

from Uploads from Lalo Martins

2012-02-12

from LNH Archives

LNH20: Menace #1

In the US, although communes are more frequently associated with the 70s and the hippie and back-to-the-land movements, in reality the country has a long history of such communities, and even the back-to-the-land movement proper has its roots in the 19th century. Some of these communities still thrive to this day, and new ones still get started occasionally.

Somewhere in the Northern end of California, not 100 miles from the border of Oregon (or 160ish kilometers for those who think in rational units), one such thriving commune is the residence of a couple hundred or so hippies, neo-pagans, punks, anarchists, neo-tribalists, and... well, to be honest, the majority of the members is some combination of two or more of those.

Being of the alternative persuasion, these guys don't watch too much TV ...

by Lalo Martins at 2012-02-12 04:03 PM

2012-02-05

from I'm the internets embodied. Or Hagbard Celine.

Spread the word: Steampop

Instead of bitching about how this or that is “not Steampunk”, how about we give them their own word? I propose “Steampop”. Let’s just start calling things “Steampop” and see if we can make it catch.

(Sherlock Holmes movies? Steampop. See, you can play this.)

2012-02-05 11:44 AM

2012-02-04

from I'm the internets embodied. Or Hagbard Celine.

I'm a citizen of Humania.

There’s a war going on. A war of independence. The Internet is emerging as a nation, and the existing, geography-based countries have noticed, and will try to suppress it.

What is Anonymous, but an early attempt to form an army and police force for this new nation? What is the pressure for internet censorship, but an open attack on the new nation’s power? And it seems once again, like so many times in history, China took the lead on this one…

2012-02-04 11:24 AM

2012-02-03

from Uploads from Lalo Martins

Awesomeccino

Lalo Martins posted a photo:

Awesomeccino

Coolest-looking coffee in a week with too much coffee

by Lalo Martins at 2012-02-03 10:48 AM

2012-02-02

from Uploads from Lalo Martins

Fan Club

Lalo Martins posted a photo:

Fan Club

The official Geile Banane Fan Club

by Lalo Martins at 2012-02-02 01:35 PM

2012-01-31

from I'm the internets embodied. Or Hagbard Celine.

From the “best moments of the 90s” series: group thinking of scheduling a recurring thing. Druid:...

From the “best moments of the 90s” series: group thinking of scheduling a recurring thing.

Druid: “… and then of course there’s church on Tuesday evenings.”

Si (without needing a second to think): “Church is on Wednesdays.”

Druid: “No, church is on Tuesdays.”

Si: “Church is on Wednesday.”

Druid: “Tuesday.”

Si: “Wednesday.”

Druid: “Ah, yes, I forgot you’re a protestant.”

2012-01-31 05:04 PM

2012-01-15

from Hysterical Raisins

WARNING: unit tests and TDD do NOT eliminate defects

Here's an excellent article about why you should be doing Test-Driven Development.

No, really, it's excellent; go there and read it, then come back here.

A little harsh, isn't it? But very true. It's excellent.

However, something in it made me a little uncomfortable while reading, and it wasn't too hard to figure out what.

There's a lot of people out there under the misconception that unit tests and TDD are a QA method, and that if they do it right their software will have no defects (or “bugs”). That's a dangerous misconception. It's bad for your software, because it won't work; and it's bad for TDD, because when it blows up in your face, there's a pretty good chance you'll go out there telling other people that TDD doesn't work. It does work; and it probably did work for you. It just didn't do what you were mistakenly expecting it to do.

Now, if you will, go back to the article and search for any instance where Uncle Bob tells you TDD will make your software defect-free. He never claims that. The closest he says is “your software will work better”, which is true; TDD reduces bugs a lot, but most TDD champions (at least the ones who know what they're talking about) consider that a nice side-effect at best. (So if he doesn't make the wrong claim, why am I uncomfortable with the article? Because I can easily see proponents of the “TDD as QA” misconception misusing Uncle Bob's article as proof that they're right.)

TDD is not a QA tool. TDD is a development process, I'll even say a programming process. Its main benefits are, in order of (IMO) importance and relevance:

  1. Clearer and cleaner design. I'm talking about technical, architectural design, not visual. By forcing yourself to write down what you expect the software to do in a formal language (code), you come out with a clearer idea of what you're going to do; and by designing your internal APIs so that they can be easily called by unit tests, you end up with more modular and maintainable structures.
  2. Cleaner code. I've seen people whose unit tests are confusing but production code is crystal-clear. That's obviously not ideal, but it's much better than confusing production code. By focusing most of the effort in writing the test (therefore understanding what you're doing) and then writing the simplest code that makes the test pass, you make it harder to write convoluted code. (Harder, not impossible.)
  3. More confidence. Once you've written the test and you're confident that the test expresses the problem, you'll understand exactly what the solution is, and later after the code is written and deployed, you'll trust your old code a lot more.
  4. More reuse. To be honest, this isn't even about writing the test first, but in fact there's a step that often comes before writing the test: looking at the appropriate test file, reading the other tests, and checking if what you want is already there. (Because, you know, you need to find the right file in the tree and the right place in the file to add your test.) If there's something that does almost exactly what you want, and that you had never seen before, you'll write your new test and modify the existing functionality. If there's something that does exactly what you want, you save time and don't increase the code complexity.
  5. Faster. This is almost always difficult to claim, but it really does stand to reason. Think about the other benefits above; they alone make your coding a lot faster already, enough to offset the time you spend reading and writing tests. You'll end up writing less code, because you know exactly what you need and you won't write fluff. You'll end up rewriting your code less as you iterate, because writing the test made the solution clear to you. Writing code is much like the scientific method; you come up with a working hypothesis, check if it works, adapt as necessary. It might feel like we spend most of our time (in the non-TDD world) writing code, but in reality we spend most of our time figuring out stuff, followed by checking or rewriting code. Clearer code reduces time spent on the former, and writing your verification first as code reduces the latter.

As a nice side-effect, TDD also reduces defects. It does that by (a) making the design and structure cleaner and clearer; (b) making the code cleaner, therefore easier to work with later; (c) encouraging the programmer to think about the problem being solved and write “the right code”. See a pattern? And yes, (d) preventing regressions on the unit level by keeping the unit tests around to run later. But let's be honest: how many regressions are at the unit level? If your answer wasn't “very few”, there might be something else wrong with your process.

Now here's a few reasons why TDD will not take you to the magical no-bug land:

  • Each unit test was written by the same person who wrote the corresponding code. Therefore, any misunderstanding of the problem, incorrect assumptions, or weakness in skill (come on, we all have those, that's why we work in teams and continuously learn from each other) will be reflected in the test as well as the code.
  • It won't catch bugs on the feature/functional level; combine them with acceptance/functional/customer tests.
  • It won't catch “subjective” bugs, also known as poor design. Even if the acceptance tests exist and say the software should do X and do it in such and such way, it takes a critical human to look at the running software and realise it's stupid to do X in practise. That sometimes takes the form of a technical or business attribute, but quite often it's visual or even aural. How often have you heard an UI/UX designer tell you something like, “I know we consistently paint this kind of widget red everywhere else, but now that I'm looking at it in this instance, it looks stupid”? Or “This is actually not related to the stuff around it, it's related to that stuff on the other side of the screen, so it should be over there”? How do you write an automated test for that? Or for the sound coming out crisp? Some classes of bugs need to be found by a human first, and then you can use that information to write an automated test.
  • Negative tests. Strange corner cases (“what if the customer is in a zip code with extra sales taxes and extra shipping cost and uses a coupon?”) also fall in the category of, someone needs to think of it first before an automated test can be written. Some developers are really good at this, most aren't. Testers are trained to think this way and will come up with this kind of thing. More importantly, trying to come up with all the negative tests in the testing phase of TDD is really tedious, and can easily make the process so slow as to justify the arguments of the detractors. In the semi-official TDD graph (found in many places, but for example at Ward's Wiki) you'll see that testing is not only done first, but it's done between every two steps; the finding of corner cases should happen between coding and integration, and between integration and deployment.
  • In a perfect world, you'll write your software from scratch, using TDD from day one, and should you decide to use any third-party libraries, you'll chose only ones that are fully tested (or if you're an open source or Free Software kind of person, only Free/open source libraries with full-coverage test suites). In real life, you'll be working with legacy code that doesn't have full unit or acceptance test coverage, so manual/exploratory testing will be essential to prevent regressions in pre-TDD features. Hopefully, as you find those regressions, you'll write new tests; but it will take you years to get enough coverage to be fully confident, if ever.

Conclusion: TDD is great for developers and you should use it everywhere. But it's not a QA strategy.

by lalo at 2012-01-15 01:08 PM

2012-01-11

from I'm the internets embodied. Or Hagbard Celine.

Robert Anton Wilson Week on Boing Boing

Robert Anton Wilson Week on Boing Boing:

“Over the next week, Boing Boing will be posting a series of remembrances, interviews, videos, and other material about Robert Anton Wilson that we hope will astonish and delight you, too.” RAW “was a writer of fiction and non-fiction, most notably the Illuminatus! trilogy (co-written with Robert Shea) and the non-fiction memoir Cosmic Trigger: The Final Secret of the Illuminati.” Fave: “Wilson also criticized scientific types with overly rigid belief systems, equating them with religious fundamentalists in their fanaticism. (…) ‘They’re only skeptical about new ideas that frighten them.’”

2012-01-11 09:10 AM

2012-01-10

from Uploads from Lalo Martins

2012-01-07

from I'm the internets embodied. Or Hagbard Celine.

serving web applications with much more complication than necessary… LIKE JBOSS! processes of...

serving web applications with much more complication than necessary… LIKE JBOSS!

processes of making raised or sunken designs in metal or paper… LIKE EMBOSS!

questioning gender roles through comedy… LIKE WHO’S THE BOSS!

designing men’s clothing… LIKE HUGO BOSS!

waiting for you at the end of the game… LIKE THE BIG BOSS!

2012-01-07 06:20 PM

2012-01-06

from Hysterical Raisins

On aggregators “stealing” content

This is in response to yet another attempt at artificially limiting distribution of information online to protect expired business models, the AP's NewsRight.

I originally wrote it as a rather large rant on Google+, but I guess it's too long for that medium, and probably worth blogging.


Aggregators provide a hugely important service both to me and to you. In this day, information is global.

It used to be the case that I'd be more likely to get my information from a local outlet; a paper published in the town or city where I live, or maybe a local TV station. These would often republish stories written somewhere else, and there was a very well thought-out system for them to pay for this.

Now I have access to information from the whole world. But that means, there's way too much of it out there. Attention and “eyeballs” have become a more scarce and precious resource than content. Why would I read your article, rather than someone else's, or even spend my time playing games or writing fiction? I have precious little time, and it's mathematically impossible to read everything written every day that could be interesting for me.

Then there's management/economy theory. The “new wave” of theory today is “consumer delight”. It used to be the case that most business defined their goals as “providing what their customer needs”. Then at some point in the 20th century the thinking changed to “making money”. Then in the 70s it changed to “creating shareholder value”. Some very smart people today are saying those goals are destructive, to the economy in general, to the customer, and to your own ability to compete. The idea is that the ultimate goal of a business is to not only provide what the consumer needs, but to do it with as much excellence as you can afford; the money you make is a means, a part of the process, necessary to sustain the business and the people, and not the ultimate goal.

From that angle, your ultimate goal is to write the best story, and your ultimate metrics of success are second that it gets read as widely as possible, and first and foremost, that the people who read it get the most value out of it.

Therefore the concern at the center of your business is how stories get produced; that is where good practises need to be preserved and new things need to be tried and optimisations made. The concern of how to get compensated is necessary but secondary, and that means it should be an option at any time to rethink the business model, turn it upside down even, if that's the best for the primary goal.

Back to aggregators then: how am I supposed to know about your publication? If once every two or three months (and that's being generous) you publish an article that's the absolute best about a topic I'm interested in, am I supposed to visit your website every day just because that chance exists? That would mean visiting dozens of websites every day to get my news. I'm more likely to go with a smaller number of sites that have inferior articles but a better average.

Aggregators are there to save both of us: if I can find a good aggregator that picks those good articles from you, that's great, because it's probably the only way that article will make its way to me; you get read, and I get better information.

Now, that is currently a problem, because your model for compensation depends on people visiting yoru site. Can you see my point of view, that in light of all this, the thing that needs to be fixed is your compensation model? That the compensation model is the one weak link here, the one thing that is clearly wrong?

It's like the debate about how much profit is lost because people download music and movies. The reality is almost none, because those people are in 4 groups: (a) being most of them, wouldn't have bought the content anyway; (b) already bought it and want it in a different format; (c) download, taste, and then go ahead and buy; and (d) the very few that would have bought it if they couldn't download. So in the majority, it's not a case of buying or downloading, but rather downloading or ignoring.

In the case of news it's not a choice of aggregators or going to the source, it's aggregators or not hearing about the article at all. So from the point of view of the aggregators, you should be paying them for getting your article to the right eyeballs out there. (Which of course is also preposterous, because before you can pay the aggregators for that service, you need to make money somehow, and it's in their best interest to help you figure out how, and help you implement whatever solution turns out to be practical.)

by lalo at 2012-01-06 05:42 AM

2012-01-05

from LNH Archives

LNH20: LNH20 Comics Presents #6: The Spoon of Destiny Saga Part 6

In the street next to the Netropolitan Museum of History, Lindsey Gensym was watching the LNH battle the Otakaiser, unnoticed as always. That battle had started right in front of her eyes, right after Dr. Mood had surrendered. Of course, she was also in the room when Dr. Mood initially attacked, and she had, as always, wondered whether it was finally time she pitched in to help. Granted, her powers weren't much, but she had them, and she felt she had a duty to use them.

On the other hand she was also a promising musician running her own label and on the last year of her MBA. She had a duty to all those other things, too.

But this time, this time surely it was time to intervene, she thought, as Kid Enthusiastic died again; it didn't look like the LNH ...

by Lalo Martins at 2012-01-05 07:26 AM

2011-12-29

from I'm the internets embodied. Or Hagbard Celine.

You know at some point, you used to believe you were the only real person in the universe....

You know at some point, you used to believe you were the only real person in the universe. It’s a phase we all go through (and people with certain personality disorders stay in indefinitely).

Here’s an experiment: pick someone else. For a few days, convince yourself that person is the only real person, and you’re a figment of their imagination, along with everyone and everything else.

2011-12-29 06:55 PM

2011-12-23

from Uploads from Lalo Martins

Scrum board

Lalo Martins posted a photo:

Scrum board

Burning down that Yule backlog

by Lalo Martins at 2011-12-23 11:15 AM

2011-12-16

from I'm the internets embodied. Or Hagbard Celine.

2011-12-15

from I'm the internets embodied. Or Hagbard Celine.

If ideas and content are “intellectual property”...

Look, it’s really simple. If you want to treat ideas, content, and other abstract creations as property, then let’s apply the normal rules of property: once I buy it, it’s mine to do whatever I want with. Including making copies and giving them away.

2011-12-15 10:01 AM

Glitch: dirtier than you think

Dec 15 2:56:40AM You caressed an Emblem of Humbaba. You gain 25 mood. 

Dec 15 2:57:14AM You  “caressing humbaba” sounds like the kind of thing that would lead a glitch to jail

Dec 15 2:59:31AM You  then again, we pet piggies and massage butterflies in public, I guess it’s a liberal society

Dec 15 3:00:36AM You  yay for tolerance

Dec 15 3:00:48AM Dajan  Yes, and my familiar rock called me a hoochiepie.

Dec 15 3:00:56AM Dajan  This society must be liberal :)

Dec 15 3:01:17AM You  not to mention the insinuations from the spice trees

Dec 15 3:01:26AM Dajan  Yes, seriously!

Dec 15 3:03:12AM You  “Nice petting, do you offer extras?” “Hmm maybe, how about you caress my emblem of Spriggan?”

Dec 15 3:04:03AM Dajan  That reminds me. I need to go visit a shrine of Pot (which sounds much worse than it really is)

Dec 15 3:04:31AM You  I know a few of those in Amsterdam

Dec 15 3:04:51AM Dajan  Indeed.

2011-12-15 02:23 AM

2011-12-13

from LNH Archives

LNH20: LNH20 Comics Presents #3: The Spoon of Destiny Saga Part 3

A small group of LNH members was walking through a psychedelic landscape, on paths of tentacles and goo and thread and ice and sometimes nothing but light, crossing portals that looked like giant open mouths, cuts ripped into air, whirlpools, floating crystals, balls of light, or even rectangles scrawled in charcoal; walking past floating eyeballs, forests of cobwebs, planet-sized creatures with millions of tentacles, and last month's leftovers forgotten in the back of the fridge.

"This is beyond creepy", said one of the net.heroes.

"We'd get there faster if we could just fly", said, not for the first time, Minority Miss, who was walking first, for the simple reason that she was the one most likely to survive whatever they happened to encounter. ...

by Lalo Martins at 2011-12-13 11:51 PM

2011-12-08

from I'm the internets embodied. Or Hagbard Celine.

Forsooth! Justin Bieber has a Steampunk video! Oh wait... balderdash, I say.

I’m more than a little amused at people freaking out, and expecting me to freak out, over Bieber’s “steampunk” themed Christmas video.

Yes, the music is crap. Yes, there’s very little steampunk to the video; yes, it’s one more example of the “paste a cogwheel to it and call it steampunk” trend. (Maybe we should start calling that “steampop” instead.) In fact, it’s a profoundly weird choice, with a song that has a message completely unrelated and arguably even somewhat opposed to the spirit of steampunk, set to an appropriately depressing factory environment where Biebs and his dancers perform in fantastic worker-steampunk outfits; a missed opportunity to focus on the right things and sing about something more relevant.

However: why is that a bad thing? And why is that my problem?

I don’t own steampunk, and I take more offence at people who act like they do than at wannabes, including, yes, Mr. Bieber, who, while certainly not a shining beacon of culture, seems to give his audience what they want, and even have his heart in the right place in a few aspects.

Steampunk is largely about doing things our way, about valuing style and putting passion into things we do. It’s certainly not about being “underground” hipster-style, about hating the mainstream, and going around saying “I was wearing brass goggles before it was cool”. True steampunks despise the mainstream because it’s soulless, mass-produced, impersonal, and not just because it’s the mainstream; and therefore, should be happy about any dent made in this massive planet-wide cultural iceberg of zombification.

As a movement, should we have grown beyond the “ownism” of “this is my style and you can’t have it”? Shouldn’t we celebrate the impact we seem to be having on people? Yes, certainly our whole message won’t get through to most; that’s the nature of things. But every little bit counts, and if millions get that little bit, doesn’t that mean a precious few will look further (after all, this is the age of the hyperlink, the beauty of the baud, where the Steampunk Magazine and Gatehouse Gazette are a google search away) and get the rest of the message as well?

And this is one thing I learnt long ago: fads come and go, but if a good thing becomes a fad, a few people remain behind when it passes. And sometimes, these people become valuable members of the whole. (And, if I can allow myself to be cynical, the fad stage also helps prune out the hipsters among us.) It happened with punk, when I was still a kid, and it happened with goth when I was a teen, it’s happening right now with super-heroes, and let’s not forget, this isn’t the first time steampunk becomes a fad. So: we’ll live. Probably better than before.

Now quit your bitching, I say, by Jove!

2011-12-08 12:19 PM

2011-10-08

from I'm the internets embodied. Or Hagbard Celine.

Now on tumblr

For 5 years, I’ve been sporadically using LiveJournal the way people now use tumblr. So now it’s on tumblr instead. Yay.

Thanks to the unnamed tumblr developer who fixed the embarrassing picking-language-by-IP bug, and to Jonathan Tran for http://terrymhung.com/jtran/tumblr/import-blogger-to-tumblr.php.

2011-10-08 10:28 AM

2011-09-21

from Uploads from Lalo Martins

Coming through

Lalo Martins posted a photo:

Coming through

Walking out of a tunnel in the exotic stone decoration of the Emperor's Garden

by Lalo Martins at 2011-09-21 03:52 AM

2011-09-20

from Uploads from Lalo Martins

Our rings

Lalo Martins posted a photo:

Our rings

Her comment when I put it on her finger: “cool, now I can fly”

by Lalo Martins at 2011-09-20 11:32 AM

Paving around the tree roots

Lalo Martins posted a photo:

Paving around the tree roots

All right, those are some really seriously old trees

by Lalo Martins at 2011-09-20 11:31 AM

2011-09-05

from Uploads from Lalo Martins

Depth perception fail - cool optical illusion

Lalo Martins posted a photo:

Depth perception fail - cool optical illusion

Probably related to the “checkered floor” illusion that was making the rounds a few weeks ago

by Lalo Martins at 2011-09-05 01:43 PM

2011-09-01

from Uploads from Lalo Martins

2011-08-05

from Uploads from Lalo Martins

Spiced oil

Lalo Martins posted a photo:

Spiced oil

home-made garlic/chili spiced olive oil

by Lalo Martins at 2011-08-05 03:09 PM

2011-06-17

from Uploads from Lalo Martins

2011-05-27

from Uploads from Lalo Martins

Agile Values poster: Battlestar Galactica — The Final Five

Lalo Martins posted a photo:

Agile Values poster: Battlestar Galactica — The Final Five

Another poster in my series about the values of agile development

by Lalo Martins at 2011-05-27 02:31 PM

Agile Values poster: Doctor Who

Lalo Martins posted a photo:

Agile Values poster: Doctor Who

Another poster in my series about the values of agile development

by Lalo Martins at 2011-05-27 01:19 PM

Agile Values poster: Star Trek TOS

Lalo Martins posted a photo:

Agile Values poster: Star Trek TOS

First of my series of posters about the values of agile development

by Lalo Martins at 2011-05-27 12:16 PM

2011-05-20

from Uploads from Lalo Martins