quinta-feira, 29 de maio de 2014

How I would build intelligent machines

Introduction / disclaimer: Yesterday I was peeking at quora as usual and ended up finding this interesting company through this another also interesting philanthropic company all somewhat related to facebook. On deciding to apply for a job there, I was given this question, which I thought would be cool posting here! I'm far from being an expert on this subject, so I will probably sound quite dumb here if you, my dear reader, have any experience... I'll take my chances. :D

I know all the below might sound too unpractical, but I think it's where it should begin. Some well defined concepts. And this is where I stand today trying to achieve that.

There are several distinct points I would consider:


- Singularity and Vision
You (vicarious) seem to have done (so much I have to read there!) some amazing work focusing on "vision", which is probably the best approach to begin developing such a technological singularity.  Yes, this "intelligent machine" would have to mark some kind of singularity, in which it would be so much smarter than us it would either destroy us all or help us all. That is to me the goal here. And yes, I think enabling it to have a "vision" is a great start.

- Intelligence and Examples
I like to define "intelligence" as "capacity to predict the future" (someone once told me that not too long ago, but I can't recall who). As much as we like to perceive the brain as the most intelligent machine ever built, it has 1 main function above all: generating movement.

I'm not sure those two things *must* be connected, and I don't think anyone can tell that for sure. So I'd have to take a guess and if, as I suspect, an intelligent machine indeed doesn't have to be able to generate movement, I think that's reason enough to ignore trying to replicate the brain at all to begin with. So forget neurology or biology! (which I believe are some of the current trends in this subject)

- Internet and Algorithm
Also, I think the best approach would be using the internet. Think SETI@home. The "magical singularity algorithm" would have to be able to identify itself anywhere and communicate with one another in unison.

At this point, for no good reason, I believe it is possible to develop such an algorithm. The "intelligent machine" could get "alive" growing from one single complex and rather small algorithm. I hope I'm not completely wrong here... This is where I should probably read more first, as I bet there are attempts already done both in thinking and applying here.

- Randomness and Choice

It won't ever know everything there is to know. And it will need to make decisions. It is my philosophy that choice and free will are nothing but an illusion in our deterministic universe, and something is only as random as we can't predict its outcome. So true randomness and chaos are both just some kind of pattern we can't recognize. (I'm actually writing more about this in another yet unreleased blog post)

The algorithm will need to include the best randomization method and that means to gather as much data as possible and summarize it to help in the decision making process. This means, when it takes too long to find an intelligent answer, it will get a random answer instead and learn from it later on.

- Asimov Laws and Maleficence
I wouldn't bother of consequences. Trying to add restrictions to it would most likely be useless, since it would outsmart us anyway. Too much effort for nothing. At least the kind of "intelligent machine" I'd like to see "alive" would have to be at minimum that smart.

There is, of course, a chance it will not benign. In case that happens, well, at least the world will be a much more interesting place than it is today and we would have a common universal enemy to unite humanity! (watchmen anyone?) In any case, trying to develop something smarter than us is building something we will eventually have no control upon.

I believe there's a good chance a real smart being which will eventually arise would ultimately be benevolent. Take my definition of "intelligence" there, a collaborative future is always better, anyone knows that. Right?

And we wouldn't be building robots here.

- Well
That's about it. Now, it's time to choose a platform and let the trial and error begin! Too much concept and too little work will not yield to any humanity killing machine.

quarta-feira, 21 de maio de 2014

Are you a programmer? Do you want to create a *login* registration form? Do you want it to be good?

2017 update: https://medium.cregox.com/fuck-security-questions-90a7a52551f0

Then FUCK SECURITY QUESTIONS, DAMN!

Also fuck those password requirements!

And fuck the whole form, in fact. Use some openAuthID already, such as google, twitter or even freaking facebook, for fucking sake!


Security questions are the *easiest* ways to make a security flaw. Apple learned it the hard way. All you need is gather a little info from your prey. The people who are most likely to get hacked will be easier targets with this bullshit.

Password requirements, such as "at least one number, one capital letter and one non alphanumeric character" are like "security" doors in banks or metal detectors in airports. They are only an annoyance theater. The only requirement you should ever ask is "type in at least 16 characters" but, even that, fuck it. If the person wants to have a weak password, fuck them! If it's a "poor" old person, fuck them!

Fuck. Tell them to go learn to live a little and quit whining. Close the telephone support doors (Google) or make it long lines (Apple).


Mother fuckers!
You want to alert them? Then ALERT THEM! Do not REQUIRE everyone to do as you please. Make a popup "YOUR PASSWORD IS PROBABLY INSECURE - PLEASE TYPE IN AT LEAST 16 LETTERS" or something.

If you HAVE to make that form, if someone is pointing a gun to your head and telling you "MAKE A FREAKING LOGIN FORM", then do it properly. It's not that hard.

But it would be better if right after that, you get a gun back to that someone and say "I WILL NOW USE OPENID, FUCKER", and delete the whole thing.

sexta-feira, 16 de maio de 2014

I have failed. Now what?

I think no therapy nor therapist could really help me here, but even writing this to myself is already a kind of therapy, I believe. Oh the irony.

Just few months ago all I wanted was to develop a film. I've failedAt least I did get a good gag from it. Eventually I will come back to this...

As it turns out, all the "extra time" I thought I had (the whole year of 2014), now I think I don't. And 5 months have elapsed as well. Also, just as I expected, it is very hard to write a film script, let alone an awesome one. Don't get me wrong, I do have many ideas and I would make a great movie, but I do need peace of mind to organize thoughts and materialize them. And that's the main luxury I don't have for too many years now. Talk about a writer's block! (not that I'm a writer, but I wannabe)

For over 15 years I've been working mostly as a programmer. A software developer. And I've also failed. From this I don't know what good I've got, other than living rather fine and experiencing failure over failure. Yes, I'm experienced at something so "valuable" nobody in the job market gives a shit. I know many ways to fail.

Back in 2005 I've tried moving out, with a very good chance of success, I thought at the time. I went to the USA, where my brother was just married to an american, for some tourism and to try and find a job. I did find a job, I managed to extend my visa for 1 year, but I've failed yet again. The job couldn't provide me with a work visa and I went back to Brazil in order to not stay illegal. Now I got 2 family members there, my brother is a naturalized citizenship, but I'm not allowed even to visit them anymore!

Now what?

I did have a plan B, which also have bombed away. I wanted to make a very small game, based on many of my principles, so I could finally have a decent portfolio. But a portfolio of what? Being a programmer? I've actually already decided that's not something I want to be anymore, because I never was good enough at it. I really need to move away from it.

I know from my experience and friends I wouldn't be able to do that game in less than 6 months. Heck, I couldn't do it over the past 20 years! I've been trying to begin doing something but never did. I don't have to build a business plan to know that, this would sure fail if I tried as well.

Now, I was and I still am a great programmer, but I'm not among the top, I will never be. I never really wanted to be. But there is no single regular categorized profession I fit in. Not that I know of, at least. I've searched a lot, I've took counseling, I went to therapy, I've read many books. And damn, I hate reading books.

I am also a great analyst, an awesome very general computer guy, and I'd love to try and share a company ownership to be able to make some decisions. So there, I do know somethings about me, I do know a general goal I've got, where I came from... But I still don't know what's next!

So that game is still all I've got. Like the film, I guess I need to start taking notes and building it, along with the company, little by little, from zero. With no investment, no capital and maybe gathering whoever I can. Harvesting the crowd, if possible. That sounds like a new plan, but it's yet the same plan B slightly modified for some kind of crowdsourcing (not funding) which I still haven't found (I did find a close one, but it's for americans only).

And, in fact, both plan A and plan B do not exclude each other. They both are in the same "entertainment / education / information" direction I've always wanted to be.

I suppose I could also try and modify plan B in other ways, such as looking for partners, investments, etc. Or maybe I should actually go with plan C and do something else entirely, such as trying to make an Existential Detective Office (fuck, that would be an awesome job!). I doubt it that's the case, but...

I don't know!

I feel like trying to resolve Primer's timeline!


Gotta love some XKCD's comics. This is one of those!


More than that, I believe the far and beyond best thing I can invest in is on moving out of this country, which means, investing in myself. But even for that, my savings are quite too little. It can buy me about a year in Germany, in which I'd need to be studying, and maybe around 1 year in New Zealand, also studying. One problem there is I don't really want to go to college now, since I can't really pay for the whole 3 to 4 years. Which is also the biggest reason why I never finished college - never had enough money. Never had enough time. Which translates to "I've never ever had enough peace of mind to actually study hard", like I did when I was young, naive and studying to get into college.

I never stopped studying, though. This year, for instance, I'm doing Computer Science on edX, with awesome courses from Harvard and MIT, which don't really add anything new to my basics, but do consolidate what I know, and introduce some new stuff such as scratch (in which I've made a little game in less than a week). Too bad it's so limited. I've always invested much time in reading and learning online, despite of any course. It's also another reason I despise most traditional schools. They're just playgrounds. But they might be my only path to get in a nice country this year and, who knows, learn a new thing or two. As playgrounds, they do work for meeting people as well, and if they're free, at least it's not "despisable" (if that's even a word).

In any case...

While I can't define a single path to follow, the single focal point anyone need to actually accomplish anything in life, I'll just keep shooting "to every side", or at least shooting to all those options I've mentioned: trying to move out; seeking a new worthwhile job; plan B; etc. I still hope I can do at least something on plan B... Some news do get me excited once in a while, but reality have always crushed my available time and mindset.



And all this could be just the tip of the iceberg, regarding my life plans and future path, thanks to the blanket! :-o

But...

If you did read it all, if you can identify even a little, if you missed no spot of this little story, and if you will, please, do leave your opinion! I'd love to hear as many opinions as possible with this question in mind: What would you do in my place?

sexta-feira, 9 de maio de 2014

Why Stack Exchange Network rocks!

Stack Exchange (SEN) is a Network of sites which uses a Question & Answer (Q&A) format in an attempt to "improve quality of the inter webs content", as they once described themselves as I recall and here adapted with my own words. It started in one of the "child" (actually the parent of all) sites, the Stack Overflow (SO), specialized in computer programming, in an attempt to "improve the quality of programming subjects in the inter webs", also as once they described themselves, etc.

I recently gained some moderation privileges by reaching 3k, which I weren't really looking for. Moderator is a tough job I never wanted. But since I was there, I decided to give it a try. While on it, I couldn't understand what people get by focusing on doing only janitorial moderation <-- so I posted that question and got some heat over it.

From that, I came to read many other things about SEN, specially experienced people talking on why the left, some saying why they would leave (but either haven't or came back soon enough), even why some people do the janitorial moderation for no game (to me, the honest answer is "because they're richer than they think and got nothing better to do", maybe I'll write about this some day), or simply some newbies talking why it sucks.

This later newbie, Serg, thinks SEN is a place to ask questions. He couldn't be more wrong. It's a place to find quality answers and, if the question have been posted already there is no reason to post a new one unless it adds something new. Duplicate questions have their value, as long as it helps people finding the same good answers. We don't think all the same way, we can't all think of the same question that will yield to the same answer.

SO practically reinvented what a Q&A site is, when it was launched, as an improvement of forums, where we used to go and look for answers. Forums were (and still are) dreadful. Flaming topics would gain pages of useless people trolling and bashing. They do serve a purpose (thus there comes Discourse), but it was a bad tool for finding answers. Regular Q&A format, such as the dead Aardvark and yahoo answers also serve a purpose, to get some kind of personalized support. I don't think we got a cutting edge service doing good in that area yet. At least, not as good as SO suddenly was for finding good answers. SO is not a tech support web site and SEN similarly isn't a place to ask questions - only good questions are accepted and that is mostly what makes them so good for finding answers!

Picture a room full of people. A forum would be a messed discussion room which someone start a topic and most will follow and give their opinions. This works for brainstorm, but not for getting answers. A tech support Q&A would be like the forum, except many would be asking the same question over and over again, and whoever feels like they can answer would come and give the same answer over and over again, though eventually a bit personalized. This works when you do need more customization, when a broader FAQ wouldn't work. Well, SEN Q&A is like a community built gigantic FAQ. In that same room, this would be like one person asking a good question, another one adding relevant info to that question and others will come in and offer their answers while everyone votes in which inputs are the best ones. This does not work for brainstorming neither for very customized questions, but boy, it sure works for most of our question and discussion needs.


Michael's experienced post (which I've already linked) was much, way much more well informed on his criticism, but I also would like to prove him wrong. He basically claims SO promotes poor pedagogy, has a bad scoring system and childish community. The scoring system is flawed indeed, but he forgets SO works. In fact, it works so well I don't think anyone can pinpoint why. There is yet to come another SEN site which works this good - even Super User, its second child, does not get anywhere close. SO has 7M (Mega, Million, 1'000'000) questions, 13M answers and 76% of the questions got answered. This is astonishing! I don't know how or why, but the SEN engines were set in place thanks to the scoring system. So until someone finds out how that works, or until it stops working, we better leave it as it is.

Sure, giving the fish isn't as good as teaching how to fish, but it's nonsense teaching how to fish without giving the fish first. You first show how it's done. Also, that's an oversimplification of the whole learning process. Hardly anyone ever become a fisherman, or a good one for that matter, by following some pre-established steps. You follow them to get started in basics and you lead from there. If you can get that base by finding a few basic answers, how's that any worse? In other words, we don't have any bullet proof pedagogic system anywhere, and most of the systems we got today are way dated, over millenias.

Finally the community is just as childish as any skeptical community, except on SEN they have community mod powers. In fact, skeptics @ SEN is the harshest community I've ever seen indeed <-- took me about 2 weeks of research to come up with that answer, and even asking questions there is harder than you might expect. We want to keep the post quality and, with that in mind, some bad things do happen. It's not an easy job to moderate it all. And it is indeed a hard place for newbies to come in. Which has a good side. It's what maintains its quality. The more abusive some mod become of its powers, the more likely it is for them losing it. That's just how a self regulated community works, and it is over time, and it will always have its flaws. That doesn't take away its merits.

And that's all reasons why SEN rocks. Great interface, big self regulated community, awesome answers. It fulfils its own purpose. Its current motto, "expert answers to your questions" could or even should be replaced by "Expert answers to the best questions".

The turning point in all the arguments I've stumbled comes from Jon Ericson's posts (not just his question, but his 2 answers there too). I think it's suffice to say the guy first loved SO then hated it, then he went away for a couple of years, give or take. Then he came back and became a moderator. Now, of course this is just 1 guy, but he's obviously not the only one. He doesn't even know why, but now he just enjoys participating in it. Well, to me it's simple: like anything in life it's hard to find your place. He struggled to find his, but he did. If it feels right, we gotta keep trying to polish up the bad stuff!

As for me, I had one reason I wanted to join the community in trying to ask good questions and give good answers: I wanted to have enough reputation so I could offer a bounty on questions that I might have and would be of great importance to me. That became a null point as I hardly ever used bounties myself.

So maybe the main reason I currently rationalize to excuse myself in continuing to participate, investing time, thus money, in something that hardly gets me any of that back (despite most of times not really having margin for such luxury) is because if I at least can one day find a great job thanks to my profile, everything will pay out instantly. And if not, well, at least I had some fun on the ride.

Just try to enjoy it, then it's easier to have no regrets! ;-)