Profile

Cover photo
Rafael Ferreira
Works at Nubank
Attended USP
Lives in São Paulo
306 followers|187,119 views
AboutPostsPhotosYouTube

Stream

Rafael Ferreira

Shared publicly  - 
 
 
Many people think of religions primarily as systems of belief. I think this may be a skewed view because of the predominance of Christianity and Islam, both of which make creeds prominent. For example, although Judaism does have something like a creed, it tends to place more emphasis on practice than belief.

This reflects my view of mathematics. I think that for many, mathematics is a matter of belief. For them, mathematics is a way to find out what is and isn't true. I tend to see mathematics as a set of practices. As a result, I find myself bemused by debates over whether 2 really exists, or whether infinite sets exist, whether the continuum really is an infinite collection of points, whether infinitesimals exist, whether the axiom of choice is true, and so on. I find some ultrafinitists particularly confusing. They seem to believe themselves to be expressing skepticism of some sort, whereas to me, expressing skepticism about mathematical constructions is a category error. So to me, these ultrafinitists are surprising because of what they believe, not because of what they don't. This doesn't just apply to ultrafinitists. In an essay by Boolos [1], he seems confident in the self-evident truth of the existence of integers, say, but expresses more and more doubt as he considers larger and larger cardinals. Many mathematicians seem to have a scale of believability, and ultrafinitists just draw the scale differently.

Conversations between people who view mathematics (or religion) as being about beliefs, and people who view mathematics (or religion) as being about practices, can often be at cross purposes. And members of one group can often find themselves dragged into debates that they don't care for because of the framing of questions. (I don't want to debate the existence infinite sets, not because I can't justify my beliefs, but because I'm more interested in how to use such sets. I don't think belief is a precondition for use.)

Of course you can't completely separate belief and practice and I certainly do have some mathematical beliefs. For example I put a certain amount of trust in mathematics in my daily job because I believe certain practices will allow me to achieve certain goals.

[1] Must we believe in Set Theory? https://books.google.com/books/about/Logic_Logic_and_Logic.html?id=2BvlvetSrlgC (I hope I'm not mischaracterizing this essay, but even if I am, the point still stands.)
books.google.com - George Boolos was one of the most prominent and influential logician-philosophers of recent times. This collection, nearly all chosen by Boolos himself shor...
8 comments on original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
For a while, TrendMicro Antivirus was running a server on every computer on which it was installed that allowed trivial remote shell execution as well as extraction of all passwords.
View original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
But talented programmers DO exist!

Below is my reply to a reader of Leprechauns, who said they liked the book but thought I was in the wrong on "10x programmers" - they'd actually met one.

It would be silly to deny the existence of talent. And it would be just as silly to lump the world into such broad categories that we couldn't distinguish between concepts as widely separated as "talent" on the one hand, and "productivity" on the other.

Some people are talented. They approach their art with a style which is uniquely and recognizably theirs; part of the trace they leave upon the world is that their art is forever changed after them; everything that follows gets compared to what they did.

Some people are "productive", in the vulgar sense of there being many works attributed to them. (We may prefer the word "prolific" here.)

Some people are talented but not productive: Kubrick comes to mind. Some are productive, and can be called talented, but not everything they did shows the same talent: I'd put Woody Allen in that category. Few shine both long and bright.

There are programmers who are both talented in the above sense, and "productive" in the vulgar sense, that many works can be attributed to them. Fabien Bellard is one example. (Perhaps not all shine as bright as the talented people we can name in other arts, possibly because programming is yet only on its way to becoming a major art: few people study the works of Fabien Bellard in the same way that people study the works of Mozart. Few people, alas, study the work of any programmer - perhaps least of all programmers themselves.)

With all of the above I have no problem.

Where I start having a problem is when the above senses of "talented" or "productive" become lumped in with a second sense of "productive": the sense in which you can measure the productivity of industrial apparatus, or of industrial systems in whole or in part, as in the phrase "the productivity of a worker". We have to decide what we are talking about - industrial economics, or the works of creative individuals.

It would be silly to say that Kubrick is 10x or 2x or 0.5x the filmmaker that Allen is. This is not the sense of "productive" that lends itself to comparison on a numerical scale.

Every time someone points to a "study" supposedly supporting the concept of highly productive programmers, they turn out to be supporting a notion of measuring some equivalent of the number of lines of code written per unit time; that is, the narrowly economic sense of "productivity". This might be a valid construct, but it should not be lumped in together with the other sense in which some talented individuals are "productive" - that is, "prolific".

And lump them together is precisely what "10x programmer" discourse encourages doing. It presupposes that you can hire a talented programmer to work on what you want done, and they will turn out ten times the "amount of work" (fungible work, not individual works) than a run-of-the-mill programmer will.

This is silly, because these talented programmers, if you ask them to work on your thing, will tell you what Kubrick or Allen would have said if you'd asked them to produce a movie on commission. They would have told you, perhaps even politely, to stuff it.

Further, the "10x programmer" concept presupposes that the production of one can be compared to the production of another, on a single scale, in precisely the sense that Kubrick and Allen's works cannot be compared.

This is silly, because a program is not a bunch of lines of code cranked out, machine-like; it is a socio-technical object existing within a broader context. To be valuable it must be used, to be used it must be distributed, users somehow trained, and so on. You can no more numerically compare the contribution of different programmers to different programs that you can numerically compare Nicole Kidman's "productivity" in Eyes Wide Shut to Scarlett Johansson's in Scoop.

I hope this clarifies why I do not feel that acknowledging the existence of talented or prolific individuals is incompatible with my critique of the concept of "10x programmer", and the mythology that has grown around that concept.

I don't feel that dismantling that mythology belittles the work of talented programmers; my inclination would be to magnify that work - by highlighting their creative individuality.
View original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
You might think that all eye colors are made in the same way – that people with brown, blue, or green eyes have brown, blue, or green pigments somewhere in their irises. But that isn't how it works at all. 

Eye color comes primarily from a layer of the iris called the stroma. It sits in front of the epithelium, a brown layer which reflects and scatters light back through the stroma a second time. In brown-eyed people, the stroma contains melanin and so colors the light brown as it passes through. In blue-eyed people, the stroma is completely transparent – but light gets scattered by tiny particles floating within the stroma, and it acquires a blue color via the Tyndall effect. (Hazel and green eyes sit between these extremes, combining the two colors)

The Tyndall effect is similar to the Rayleigh effect which makes the sky blue. Essentially, when light gets scattered off things, blue light is bent more sharply than red light. When sunlight is bounced off the atmosphere, only the light which was bent the most sharply reaches our eyes (except when you're staring almost directly at the Sun); that means that what we see in the sky is blue light, even though the sky itself is transparent. The Tyndall effect is the same sort of property, when instead of bouncing off the sky, you're bouncing off fine particles suspended in a liquid; it's what makes glass look blue from the side, or flour suspended in water seem blue. 

One interesting side effect of this: unlike the melanin which creates brown colors, the Tyndall effect is based on scattering the light which hits the eye, and so the color it produces depends a lot on the color of surrounding light. This is why lighter-colored eyes, in particular, tend to have hues which vary a lot from day to day, while brown colors remain more fixed.

Grey eyes come from a third phenomenon: some people have excess collagen in their stromata, which prevent the small particles needed to create the Tyndall Effect from floating around freely. Instead, all colors of light get scattered equally, and the resulting light is grey.

So to sum up, there are three mechanisms and two knobs which create eye color: the Tyndall effect makes your eyes blue (unless you have collagen, which replaces blue with grey), and melanin in your stroma adds a brown color on top of that.

h/t +Robby Flannery for the find.

If you want to see more about the Tyndall effect, start here: https://en.wikipedia.org/wiki/Tyndall_effect
Blue eyes don’t contain blue pigments
66 comments on original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
OK. I did not expect that the day would come where I walk into a common German supermarket and are greeted by a selection of Guarana Antartica, Pao de Queijo preparation and Azeite de Dende.

If Berlin continues this way it might become a true world city one day ;-)
7 comments on original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
Why capabilities? Short statement for SOSP History Day.

SOSP History Day http://www.ssrc.ucsc.edu/sosp15/workshops/HistoryDay/ was a superb event. It was all recorded and the recordings will be made public. Capabilities were repeatedly mentioned in the presentations much more often than I expected, and mostly positively.

I was on a panel at the end of the day whose topic was 
"Is Security a Hopeless Quest?"
Each panelist opened with a 5 minute statement. I tried to boil down the case for capabilities into the shortest clearest statement I could for an informed audience. Here is what I said. Feel free to forward. 


In the ‘70s, there were two main access control models:
the identity-centric model of access-control lists
and the authorization-centric model of capabilities.
For various reasons the world went down the identity-centric path,
resulting in the situation we are now in.
On the identity-centric path, why is security likely a hopeless quest?

When we build systems, we compose software written by different people.
These composed components may cooperate as we intend,
or they may destructively interfere.
We have gotten very good at avoiding accidental interference
by using abstraction mechanisms and designing good abstraction boundaries.
By composition, we have delivered astonishing functionality to the world.

Today, when we secure systems, we assign authority to identities.
When I run a program, it runs as me.
The square root function in my math library can delete my files.
Although it does not abuse this excess authority,
if it has a flaw enabling an attacker to subvert it,
then anything it may do, the attacker can do.
It is this excess authority that invites most of the attacks we see in the world today.

By contrast, when we secure systems with capabilities,
we work with the grain of how we organize software for functionality.
At every level of composition,
from programming language to operating systems to distributed services,
we design abstraction boundaries so that a component’s interface
only requires arguments that are somehow relevant to its task.
If such argument passing were the only source of authority,
we would have already taken a huge step towards least authority.
If most programs only ran with the least authority they need to do their jobs,
most abuses would be minor.

I do not imagine a world with fewer exploitable bugs.
I imagine a world in which much less is at risk to most bugs.
2 comments on original post
1
Add a comment...
In his circles
1,283 people
Have him in circles
306 people
Gabriel Oliveira's profile photo
Pilar Revilla Mendez's profile photo
Davi Junior's profile photo
Lea Kaczemorska's profile photo
Daniel Crocciari's profile photo
Filipe Sabella's profile photo
BapabaIIIka's profile photo
Caires Vinicius's profile photo
Rodrigo Sposito's profile photo

Rafael Ferreira

Shared publicly  - 
 
 
I want to do this in a basement renovation SO BADLY.

http://imgur.com/a/vOnt5
View original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
David Bowie, 1947-2016

Even after his death, we're still trying to catch up with his music. What is this strange, scary stuff?

Brian Eno said:

"I received an email from him seven days ago. It was as funny as always, and as surreal, looping through word games and allusions and all the usual stuff we did. It ended with this sentence: 'Thank you for our good times, Brian. they will never rot'. And it was signed 'Dawn'.

I realise now he was saying goodbye."

A fan on YouTube wrote:

You have liver cancer, 18 months left to live, and a net worth of $230 million. How do you spend your last moments? On drugs? Sex? Wild escapades across the world? Maybe you would. Bowie, however, got himself into the recording booth and lent his whole voice rehearsing and recording over and over--shooting scenes and retaking them for videos constantly, despite dying of a fatal and often painful disease. That's Bowie's way of doing it. Giving us--all of us--his last moments.

That is arguably the greatest gift anyone has ever given me.

View original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
This is one of those news items that hasn't gotten nearly enough coverage -- because it's the sort of thing that makes professionals go OH YOU HAVE GOT TO BE FUCKING KIDDING ME.

What happened? Back in 2005, the Bureau of Justice Statistics (a branch of the DOJ) did a study on recidivism, and found out that the rate is tremendously high: 68% of state prisoners end up back behind bars within three years of release. Once a criminal, always a criminal, they concluded -- and people have been shaping policy to match.

But a team read through it carefully, and it turns out that the BJS made a basic, bonehead, mistake in their statistical analysis. They thought they were measuring whether people who go to prison will reoffend; what they actually measured was that most people in prison, on any given day, are repeat offenders.

Which makes sense, because repeat offenders spend a lot more time in prison than one-time offenders. 

These are not the same thing. At all. It turns out that if you do the analysis right, only 30% or so of prisoners will ever re-offend, and only 11% will do so multiple times. In fact, this "once a criminal, always a criminal" rule appears to be completely false -- unless, that is, you structure policies so that anyone with a criminal conviction is treated like a permanent criminal, and so not allowed to (say) get virtually any job other than "criminal." In which case, you will in fact end up with lots of criminals.

In the post linked below, +Andreas Schou gives some of the explanation of what went wrong in the study. You can read more at the linked Slate article (http://www.slate.com/articles/news_and_politics/crime/2015/10/why_do_so_many_prisoners_end_up_back_in_prison_a_new_study_says_maybe_they.html), and even more with the paper that actually found the mistake. (http://cad.sagepub.com/content/early/2014/09/26/0011128714549655.abstract)

The most important lesson in all of this is that it's easy to make bonehead mistakes in statistics. If the statistics matter -- if you're going to use them to prescribe drugs or set public policy or something like that -- it's very important to have people check your work, repeatedly, and ask the right questions. The most important question is "have you actually measured what you think you measured," because there are all sorts of ways to screw that up. 

There's also a great new book on that subject: Alex Reinhart's Statistics Done Wrong. (http://www.statisticsdonewrong.com/) Please, if you do statistics in your daily life, read it. 
Oh. Delightful. It turns out we used cohort samples to determine the recidivism rate. Which means that we're overestimating the rate of recidivism by a… - Andreas Schou - Google+
51 comments on original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
If there's one thing that can continue to impress me, it's the yearly SIGGRAPH presentations.
2 comments on original post
1
Add a comment...

Rafael Ferreira

Shared publicly  - 
 
 
New comic!
**Hey, PHD Movie 2 screenings at MIT, Mizzou, Norway and Finland this week: http://phdcomics.com/movie
Link to Piled Higher and Deeper
1 comment on original post
1
Add a comment...
People
In his circles
1,283 people
Have him in circles
306 people
Gabriel Oliveira's profile photo
Pilar Revilla Mendez's profile photo
Davi Junior's profile photo
Lea Kaczemorska's profile photo
Daniel Crocciari's profile photo
Filipe Sabella's profile photo
BapabaIIIka's profile photo
Caires Vinicius's profile photo
Rodrigo Sposito's profile photo
Work
Occupation
Programmer,
Employment
  • Nubank
    Senior Software Engineer, 2013 - present
    https://www.nubank.com.br
  • R7.com
    Systems Architect, 2011 - 2013
  • R7.com
    Specialist Software Engineer, 2010 - 2011
  • Caelum
    Programmer,, 2008 - 2010
  • Sun
    2006 - 2008
  • Twic
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
São Paulo
Previously
Curitiba
Links
Contributor to
Story
Tagline
http://rafaelferreira.net
Introduction
Programming language enthusiast and all-around loudmouth.
Education
  • USP
    2003
  • CEFET-PR
  • Jean Piaget
Basic Information
Gender
Male
Other names
Rafael de F. Ferreira, Rafael de França Ferreira