HNHacker News
TopNewBestAskShowJobs

ttt111222333

40 karma · joined November 1, 2016

submissionscomments
ttt111222333··on A journey to searching Have I Been Pwned database in 49μs
I did something similar when I wanted to search the HIBP database and if you are okay with some false positives you can do better than your results, both in terms of speed and size.

If you are okay with false positives, you can use a bloom filter and tune the number of false positives you want. I chose a false positive rate of 1 in a million so my data structure was still very accurate in determining whether a password was already hacked.

It only took 30 microseconds to determine if a password was in the list and for size, was at the theoretical limit of 22 bits per element or ~1.5gb.

I originally used a bloom filter which made it 2gb but given a bloom filter was just a sequence of 0s and 1s, I was able to use a golomb coding to shrink it down to 1.5gb.

The time to process the original 24gb however, is something that I could have improved, but I kinda lost interest once I already had something that was at the theoretical minimum size, as well as able to determine a password exists within 30 microseconds.

Anyways take a look if you're interested in trying a different approach: https://github.com/terencechow/PwnedPasswords

ttt111222333··on Project Svalbard: The Future of Have I Been Pwned
Cool! I did something similar. First I used a bloom filter then a golomb set. https://github.com/terencechow/pwnedpasswords
ttt111222333··on Show HN: PwnedPasswords as a (Micro)Service
Lol. I was thinking maybe more don’t send a password to haveibeenpwned and just use your own service?
ttt111222333··on Compare career levels across companies
Would be nice if people from Toronto would enter more data points for the more popular startups I.e. shopify, instacart, unata, ritual, league, top hat, wealthsimple, freshbooks, pivotal, ada, etc
ttt111222333··on Solid – Reshape the web as we know it
How does this solve problems of data leaks? Let's say some social network uses this Solid framework and you login with your Solid POD. Can't the social network then just save your data into a database? Now when the social network gets hacked millions of personal data is still released into the wild?

What I'd like to see, is every device run a small process which can read the user's data. Html then has a syntax that can be interpreted like

{{ solid://mydata/name }}

{{ solid://mydata/profile.jpg }}

{{ solid://mydata/age }}

etc.

That data is on the user's device encrypted. Apps can never read your data, they can only tell your device to display that data.

That way developers cannot read your data, store them in their own databases, and then accidentally get their own database hacked and we are back to square one.

I'd like the data on your device to be encrypted and have some type of homomorphic encryption such that if an app were to show average age of users, then an app would be able to run some sort of `select average(age) from users` but since the encryption is homomorphic, the app never learns information about any individual user. This would apply for machine learning operations too, so that we could get netflix style recommendations of movies, without a company ever learning what movies we liked, our age, etc.

However, I don't know the first thing about homomorphic encryption so I guess I just have to wait until some great soul builds something like this for us.

ttt111222333··on Ask HN: Who is hiring? (August 2018)
Hi Jaros,

Did you receive a response? And if so, how long did you wait after taking the test?

ttt111222333··on Toronto adds more tech jobs than Silicon Valley in past 5 years
There are no big companies in Toronto that have tech jobs. Google, Facebook, Airbnb, Uber, etc. don't have tech jobs in Toronto. Amazon just started adding tech jobs in Toronto in the past maybe year or two and Shopify is the only exception to this rule.

If any toronto natives know of some big companies in Toronto with tech jobs please prove me wrong.

ttt111222333··on My First Year of Freelancing
As a freelancer with clients, are you generally on deadlines? Or is it work when you want? Essentially I would like to work somewhere around 3 days a week but I am not sure that projects would be able to meet deadlines that clients want. In digital agencies I have worked for, I have had to shown work done every week. And the amount of work given to me was such that I had to work the full week. If I were to do that freelancing I would certainly make more money, but I am hoping that there are jobs where deadlines are based on average around 3 days work...
ttt111222333··on Code your own Proof of Stake blockchain in Go
Money flows to everyone, just more goes to those with more money. However that isn't as bad as it sounds. If you own 10% and someone owns 1%, after the money has been given out you will still have 10% and they 1%. From a relative wealth perspective it actually just maintains everyone's position in society, neither benefiting nor disadvantaging anyone...

That's the spiel at least...

ttt111222333··on Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B
> Canada to scrap IBM payroll plan gone awry costing $1B. The Phoenix project was originally chosen by Prime Minister Justin Trudeau’s Conservative predecessors 10 years ago to centralize the government payroll.

Is it me or is this wording terrible?

Trudeau is not a Conservative. It makes it sound like it is Trudeau's party that caused the problem.

ttt111222333··on MIT Media Lab's concerns about the cryptocurrency IOTA
Apparently ternary is the 'sweet spot' for computing because it's closer to e (2.7...). We used binary for a while because on / off was the only way we processed stuff but now we have the ability to do ternary with more accurate measures of voltage? Something like that.

Apparently ternary makes math easier in terms of signs etc. as well. The below article explains it better.

https://dev.to/buntine/the-balanced-ternary-machines-of-sovi...

Given the wealth of experience with binary though I don't think its prudent to jump to ternary...

ttt111222333··on Principles of Sharding for Relational Databases
> On the benefits side, when you separate your data into groups this way, you can’t rely on your database to join data from different sources or provide transactions and constraints across data groups.

How is it a benefit that you are no longer able to join data in your separate tables? Is this sentence a mistake?

ttt111222333··on More than one million requests per second in Node.js
> As http sockets in µWS build on the same networking stack as its websockets, you can easily scale to millions of long polling connections, just like you can with the websockets. This is simply not possible with the built-in Node.js http networking stack as its connections are very heavyweight in comparison.

I'm a bit confused by what's going on here. Are you saying the network stack required to do websockets is vastly superior to the network stack of http, and hence using a websockets network stack in http calls can produce superior results? (I didn't know the underlying networking would be different and any clarity would be helpful).

I'm not really understanding the differences but it is definitely interesting nonetheless.

ttt111222333··on Keep Ruby Weird Again [video]
I watched the whole thing. Quite entertaining, but the last 6 minutes is what matters. The strengths he mentions are:

- tools and culture that's optimized for programmer happiness and productivity.

- Promoting obviousness via the path of least surprise.

- Consistency through well-considered conventions.

- Carefully-designed value-based test suites.

- Building long-term maintainable apps

I have to ask because I am being exposed to Ruby at work right now and I find it, to be quite honest, a terrible language. I'm not trying to start a flame war, I am writing this cause I want to be open minded and have some hard-core rubyists point me in the direction of where I can learn what is good about this language. Specifically:

1) What tools / culture are optimized for programmer happiness & productivity in ruby? - I don't find anything special about ruby at all. Let me know what improves happiness / productivity. I would like to dl whatever tools / ide / plugins / gems or whatever and take a look into it.

2) Does ruby truly promote the path of least surprise? I am often surprised when looking at ruby code because I find traceability difficult in Ruby. Where does the function come from when looking at a ruby codebase? Is it from a gem? Is it from some parent class that this class has extended? I have no idea. How do people make Ruby 'less surprising'?

3) I have no idea what is consistent well considered conventions. How do I know something is a well-considered convention? Just use a rubocop linter?

4) Carefully-designed value-based test suites: Please explain this. What makes testing in Ruby so much better than in other languages?

5) Building long-term maintainable apps: What makes Ruby apps more maintainable?