HNHacker News
TopNewBestAskShowJobs

reginaldo

1,400 karma · joined October 12, 2008

Reginaldo Silva

Contact: reginaldo at ubercomp.com

Links: http://www.ubercomp.com/ https://github.com/ubercomp/

submissionscomments
reginaldo··on Yammer moving from Scala to Java
nuclear control systems are prototyped by experts in haskell

Do you have any source to back that (honest question)?

reginaldo··on RIAA claims you do not own your iTunes music purchases
Ok. That makes sense... I was thinking about supermarkets/grocery stores when I originally asked the question, as they do this all the time. The situation is different when there's an author who'll complain.
reginaldo··on RIAA claims you do not own your iTunes music purchases
I was surprised by the following:

The Guild voices some valid concerns, including the fear that publishers might try to prominently position loss leader books in the lending library in order to drive sales of other authors — but this sort of activity is already prohibited by existing clauses and is more an issue between publisher and author than anything that involves Amazon.

Why is such strategy (using a loss leader to sell other stuff) prohibited? What is the rationale?

reginaldo··on How StackOverflow Scales with SQL Server
Thankfully, with Liquibase [1] and others like it, developers are starting to think about database change management.

I absolutely despise writing liquibase changesets, but I know how important they are.

[1] http://www.liquibase.org/

reginaldo··on Why Is Payroll Hard - Ron Jeffries
Yes. Sometimes I think a good way to organize an enterprise system would be to make a trivial CRUD "layer" (no validations there) and then write a bunch of Prolog-clause-like rules. The rules would be the big and interesting part of the system, of course. The system would have to be intelligent enough so that, for performance reasons, after input, only the rules that could possibly affect the input would be run. But then in my modest experience these systems are so complex that sometimes for a simple new input you have to validate a whole bunch of things.

I currently develop health care related software here in Brazil. Total chaos. Once I was talking to a doctor, and he said engineers think mostly about the patterns but doctors think mostly about the exceptions. I think the same applies to business. The doctor in question of course liked our system but had a huge list of feature requests (to treat exceptions).

reginaldo··on The $8 Trillion Internet: McKinsey's Bold Attempt to Measure the E-conomy
I think the lol refers to the fact that Brazil is counted twice.
reginaldo··on Art of writing unmaintainable code.
I started on a purely mechanical, but then, as the course progressed, changed to an electro-mechanical one.
reginaldo··on How to Rock an Algorithms Interview
Sorry about that.

I should have linked to the Amazon page in the first place (who am I kidding?). You linked to the correct version.

reginaldo··on How to Rock an Algorithms Interview
The standard reference (in the "That's what MIT uses" sense) is Introduction to Algorithms[1], as you probably know. It is a wonderful book and I have a copy that is wearing of because I use it so much.

As for "outside of a classroom setting", the best book I can recommend is "The Algorithm Design Manual" [2]. It is worth its weight in gold. Very user friendly, as I never though an algorithms book could be. It contains dense material, but at the same time reading it feels like reading a good fiction book. I first heard of it while reading Steve Yegge's post "get that job at google"[3], bought a copy and, wow, what an amazing book.

[1] http://mitpress.mit.edu/algorithms/ [2] http://www.algorist.com/ [3] http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...

reginaldo··on Art of writing unmaintainable code.
As someone who, despite being 24 years old, learned to type on a (mechanical!) typewriter, I don't like tab for indentation on the basis that, for me, tabs have a very specific meaning:

Carriage (or cursor, if you prefer), go to the next tab stop. [2]

For typewriters it means to go "literally" to where the next stop is. For text editors (at least for emacs)[1], it means to insert as many spaces as needed so the next column on the current line matches with the last non-space column on the previous line.

So, in the same way I use the table tag for tabular data in markup, I use the tab key for tabular text.

[1] http://www.jwz.org/doc/tabs-vs-spaces.html [2] http://en.wikipedia.org/wiki/Tab_key#Origin

reginaldo··on Closed, Says Google, but Shops’ Signs Say Open
I think the biggest concern is people passing by the interstate with their gps on. One can now imagine literally thousands of people just passing by, and seeing that the place is closed, or maybe not seeing anything at all in their gps screen.
reginaldo··on Pakistan bans VPNs
You are right that, as steganography isn't really usable right now, you don't need to ban all communication to remove privacy in practice right now. But as governments adopt privacy-removing measures, the people will react devising privacy-enabling measures, and undetectable steganography might be possible in the future.

Let us remember that normal HTTP traffic follows a power-law, with relatively few sites getting the majority of the traffic, so there might be a way, if many of the high-traffic sites on the internet collaborate, of making "covert" traffic look just like "innocent" traffic.

that's simply not good enough to use, in a regime where the secret police can arrest you if they suspect you are trying to hide your traffic content

Even if we accept the premise of undetectable steganography, which is not possible by any possible means today, the arrests will continue to happen. However, I hope they will tend to happen less, as the large number of false-positive arrests would certainly cause high commotion in the general population.

* So, while I think it'd be very hard to remove the ability to send small amounts of text data, from the Internet, I think it'd be possible to make private communication unworkable, in practice, for most people.*

You are correct. Under the current situation, it'll be hard to make all your communication private under the restrictions imposed by, for instance, the Pakistani government, but dissidents don't need all communication to be private, and small amounts of text data might be all that's needed.

reginaldo··on Pakistan bans VPNs
Not that I know of.

What I know is that, as https is so easy to use, there are plans to make it serve covert traffic. So you would make a request to https://www.friendlyproxy.com with an extra header somewhat like What-I-Want: http://www.bannedsite.com and have "friendlyproxy.com" serve you the document you originally wanted.

I forgot the name of the project, though. I believe it was from an American university

Besides, with this new wave of government carrying MITM attacks, I don't know how useful this techniques will be.

EDIT: I was able to find a link explaining the Telex project from University of Michigan: http://ns.umich.edu/htdocs/releases/story.php?id=8505

reginaldo··on Pakistan bans VPNs
The goal of the Pakistani government seems to be the complete obliteration of all private communications. But the only way to do that is by banning all communication.

With the ban on VPNs, steganographic[1] techniques that make encrypted traffic look like regular traffic will become more and more common. The troubling thing is the fact that these techniques are somewhat hungry for bandwidth.

[1] http://en.wikipedia.org/wiki/Steganography

reginaldo··on "Any time you have worked long hours, it is a sign of a broken process."
And if it happened, it was because the company was out of business already...
reginaldo··on 58,000 Sign Up for Stanford AI Course
I don't know how things work in the US, but I went to one of the top engineering schools here in Brazil, and there's an agreement between me and my classmates that the best thing school got us was access to people, i.e., the other students.
reginaldo··on How LinkedIn used Node.js and HTML5 to build a better, faster app
> No. You can spin up multiple processes and handle the load with (for example) cluster[1].

Which is what I speculate they're doing, as they say they're running just four instances. Probably, they have servers capable of running 4 threads at the same time.

reginaldo··on How Stuxnet was deciphered
> It's a complex attack vector for a simple problem. If you have enough access to tamper with the software, why not just remove the cap from the brake fluid reservoir?

Actually, depending how integrated are the subsystems in the car, one could just create a specially crafted MP3 and leave a CD or USB stick in the victim's car. This MP3 would work like the JailBrakeMe pdf and essentially put the victim's computer in the hands of the attacker. It's been done by security researchers, but I can't find the reference now.

reginaldo··on Lua/APR - proper standard library for Lua
When I was getting started I bought the "Programming in Lua"[1] ebook, by the author of Lua himself.

There's an older edition available for free online[2].

Then there's of course the lua users wiki and its "Learning Lua" section[3].

I find the wiki a little hard to navigate so I just went ahead and bought the book. IMHO the gems in Chapter 10 (Complete Examples) and the clear explanation of coroutines are alone worth the price. The rest is a very nice bonus too.

[1] http://store.feistyduck.com/products/programming-in-lua [2] http://www.lua.org/pil/ [3] http://lua-users.org/wiki/LearningLua

reginaldo··on Why scientific programming does not compute
Well, I went to a lecture by one of the most prominent scientists here in Brazil, where he explicitly said that the answer to your question is NO. Research as it stands today exists to feed the system. According to him, you:

* Publish, so you can get grants

* Use that grant so you can publish more

* Get more grants;

* Get tenure somewhere in the middle.

I have to confess I was very disgusted by him saying that in front of such a large audience of scientists and graduate students.

EDIT: Formatting

reginaldo··on How To Safely Store A Password
I agree. I should just clarify that I'm all for bcrypt, having used it and recommended to friends/clients/employers. When I found out about SRP, I was researching on ways to do exactly what tzs asked, i.e., verifying a password without sending the plaintext (or plaintext-equivalent). In my case, the client had a login form that couldn't be placed behind SSL (don't ask why). Do you know of any solutions to this problem?
reginaldo··on How To Safely Store A Password
You could do that with something called a Zero-knowledge password proof[1], of which SRP[2] is an example. As far as I know, SRP is patented. It is extremely clever, though.

[1] http://en.wikipedia.org/wiki/Zero-knowledge_password_proof [2] http://en.wikipedia.org/wiki/Secure_remote_password_protocol

reginaldo··on After approving NBC buyout, FCC Commissioner becomes Comcast lobbyist
They would establish something like time-limited non-compete agreements: when you accept a position, you'll know that, when you leave it, you'll have to spend 2-3 years without working in a related field. Hell, they could even be 2 paid years.
reginaldo··on Game developer David Braben creates a USB stick PC for $25
You might be interested to know that you can do the same with a $25 DockStar. The process is kind of clumsy, bit it works.

http://hunterdavis.com/archives/843

reginaldo··on Systems Programming with Racket
The documentation and package management are really really good. It's very nice to type:

(require (prefix-in sqlite: (planet jaymccarthy/sqlite:4)))

and then have it automatically downloaded (plus dependencies) and ready for prime time...

reginaldo··on Sony: All personal data stolen from PSN
No need to purchase. Just put the "Password Gorilla"[1] binaries for Windows, Linux and Mac on your Dropbox be done with it.

[1] https://github.com/zdia/gorilla/wiki/

reginaldo··on The myth of the Lisp genius
Also you can watch the lectures by Abelson and Sussman themselves[1], also on MIT OpenCourseWare.

[1] http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussma...

[2] http://ocw.mit.edu/courses/electrical-engineering-and-comput...

reginaldo··on Never say “no,” but rarely say “yes.”
I think it's more like:

"For every[1] job J, there is a pay P such that if you're getting paid more than P, you'll more than like doing J."

[1] Actually, we have to exclude a lot of jobs from the set of possible jobs. There are many things I wouldn't do on a matter of personal principles, like designing bombs, for instance.

Edit: not that I agree with the thing, it is just my interpretation of it.

reginaldo··on NetBeans 7.0 released
You might want to edit your eclipse.ini and give it more memory[1] ... It worked like a charm for me on my Mac. The linux boxes I use don't have this problem.

[1] The properties you want to change are: launcher.XXMaxPermSize, XX:MaxPermSize, Xms, and Xmx

reginaldo··on Ask HN: How do you manage your logins?
I use the suggestion given by Joel Spolsky[1]: having the binaries of password gorilla for Windows, Linux and Mac OS X all on my dropbox. The cool thing about this is all my passwords are different for one another but I only have to remember one...

[1] http://www.joelonsoftware.com/items/2008/09/11b.html

← PreviousPage 7 of 8Next →