HNHacker News
TopNewBestAskShowJobs

userpass

16 karma · joined September 12, 2017

submissionscomments
userpass··on The End of Gratipay
They could have made it opt out.
userpass··on Data Classes for Java
I would be interested in that elusive language in which nothing is repeated twice.
userpass··on Old phones get new life in high-powered computer servers
This sounds to me like most retarded idea I've ever heard.

If smartphone SoCs were viable server platforms then you would buy them directly from the manufacturer instead of scavenging them from a landfill.

The entire idea is based around the cognitive dissonance of buying fully functioning hardware at low or no cost when the reason for the low cost is the fact that it's not fully functioning.

userpass··on Is Haskell the right language for teaching functional programming principles?
I would lie if I said this isn't fun which is probably the reason why people do it in the first place even though their explanations might make it worse than just reading this:

https://hackage.haskell.org/package/base-4.10.0.0/docs/Contr...

Asking what a monad is is like asking what an iterator is. It doesn't tell you very much what it actually does because it depends on the implementation. The iterator is just an interface. A bunch of functions that have to be correctly implemented according to certain rules.

It all first started with lazyness. FP developers wanted a new modern language developed from the ground up. It should be a pure language. The haskell developers soon realised the evaluation order of a pure language must not necessarily be fixed. Eventually lazyness was born. Lazyness was a unique and very appealing feature for a purely functional programmming language. However as soon as a haskell program had to leave it's protective shell and interact with the real world lazyness turned into a double edged sword! FizzBuzzes were printing their buzzes and fizzes out of order! Chaos ensued and haskell developers returned back into the shell. After long years of work they have finally discovered it! A mechanism to force the evaluation order of a program to be partially sequential again! It is a new type of container that allows you to put another type inside it. However sometimes the only way to access the contained value is by giving the container a function that takes a the boxed value as input and returns another container with a boxed value inside! The value never escapes the box. And so was the (IO)monad born! You can now take two IO actions a and b and turn them into c which is a combination of a and b where the output of a is piped into b. Not only can we send messages to the outside world, we can also finally receive them!

Everyone was happy in haskell kingdom until the imperative migrants started writing monad tutorials... (including this one)

This story is fiction by the way.

As a bonus for all the wasted time. another crappy analogy: A cage inside a bird is given a machine that puts birds in cages. The regular tool called functor that only replaces what's inside the cage would give us a bird in a cage in a cage! The special tool gives us what we actually want! The tool named monad gives us a bird in a cage! No nested cages!

userpass··on Adguard found 220 sites that launch mining when a user opens their main page
A phone battery only has around 10 watthours. That's less than 1 cent worth of electricity if you wait hours until it's mined empty. It's more effective to just donate a single cent than to let them mine on your phone.
userpass··on Concentrated Wealth Is Strangling Prosperity
Right now the fed is trying to solve this issue by giving more money to the people with the caves.
userpass··on Distributed Ledger without the Blockchain
So you're telling me... it's a distributed database? Global consistency is nothing new.
userpass··on HTTP is obsolete. It's time for the Distributed Web (2015)
http://scuttlebot.io/more/protocols/secure-scuttlebutt.html >"Unforgeable" means that only the owner of a feed can update that feed, as enforced by digital signing (see Security properties).

https://github.com/ssbc/patchwork >You have to follow somebody to get messages from them, so you won't get spammed.

Doesn't that make it completely pointless because updates are still centralised? It merely shifted trusting a single provider to trusting each user which is not a scalable solution. The value add is so low you might as well just use IPNS and make people subscribe to IPNS addresses.

userpass··on HTTP is obsolete. It's time for the Distributed Web (2015)
I don't really get it. Sure it's fine if one p2P app uses 3GB (1GB for the append only log, 2GB for a database with indices that can actually be queried) of data. What if you have several apps? Let's say 10. Then you need 30GB and because people only have 32GB to 64GB of storage on their phones the discussion ends right here.
userpass··on Essential has sold just 5,000 phones since launch
>Will I be able to communicate from my Librem 5 to other phones?

>Yes, you will be able to make regular unencrypted phone calls to any phone number. You will also be able to communicate securely by using the phone dialing application and messaging application, that can run on the Librem 5 phone, Android based phones, and iOS based phones, and any computing device.

The FAQ is at the bottom of the kickstarter.

userpass··on Essential has sold just 5,000 phones since launch
>Jesus Christ, HN and the creators of this (ugly, toy-like)phone seem to never get basic, rudimentary supply and demand in action that anybody running a business should already understand.

>People buy fast, sexy, bleeding edge smartphones with GREAT CAMERAS (not surprised the whole website decided to omit this, it's probably terrible). Companies that make these phones thrive (see: Apple, Samsung, etc. ) while companies that focus on things only a handful of programmers like (for free)wither away into obscurity, see: the Ouya, Firefox OS, opensolaris, etc.

The demand side is high enough. The kickstarter already reached 800k USD which is 50% of their funding goal. Remember they are using off the shelf components that have already benefited from economies of scale. Selling a few thousand units is enough for them to turn a profit. If they tried to compete with high end phones like the essential phone does then their needed budget would instantly increase by two or three orders of magnitude but the demand wouldn't increase by the same amount because there are already successful competitors.

I don't really know why you think everything needs to be the best and "disrupt" everything else to be profitable. It's basic economics.

$600 * x (variable revenue) = $1000000 (estimated fixed costs for R&D) + $200 * x (variable costs for components & assembly) | - $200 * x

$400 * x = $1000000 | / $400 x (variable revenue) = 2500

So I estimate they only need to sell 2500 units or capture 0.00016% of the market. It might be hard but it's certainly doable.

By the way the phone can be plugged into a monitor and keyboard to act as a full linux desktop. That sounds interesting to me even if it didn't focus on privacy and freedom.

userpass··on It’s time to kill the web app
>If you've ever heard of the ORM/Relational impedance mismatch, it's got nothing on the set of impedance mismatches between the way servers like to work, the HTTP protocol (and its still very page-based orientation in a world of streams), the browser's DOM model, and how Javascript works, especially if you want to get excellent performance out of it.

Mapping objects to tables is a solved problem. The only noteworthy challenge is subtyping but it has easy solutions. I'm surprised how well it works even if you have an old crusty database with an archaic table structure. Compared to serialising objects to JSON or other formats that have no concept of identity it's downright trivial. However mapping objects to tables is the primary thing an ORM really does. Usually it implements lazyness for correctness so that your code while inefficient still works as intended.

What an ORM however does not do is write queries for you. Databases are remote devices, you can't just treat remote objects as if they were local (like CORBA did) if you care about performance.

Remember: You still have to write your queries but usually the ORM still helps you writing queries by providing a query builder or has it's own query language. The point of the ORM is that you don't have to manually marshall rows into objects, it's not a tool to avoid queries. It's right there in the name: Object Relational Mapping. It does not say AutomaticQueryGenerator or something related to queries.

userpass··on Overestimated effects of violent games (2010) [pdf]
Is the purpose of those video games to compell you to commit violence in real life? Games and ads have completely different goals.
userpass··on Betting on the Web – Why I Build PWAs
You can do that already. It's windows only though.

https://msdn.microsoft.com/en-us/magazine/jj891058.aspx

userpass··on Betting on the Web – Why I Build PWAs
It's surprising to me that everyone who is against PWAs doesn't even know what a PWA is.
userpass··on What's So Bad About Posix I/O?
And this is how we get incredibly inefficient programs like atom.
userpass··on A New Way to Learn Economics
The important aspect is competition. If you have multiple central planners that compete with each other then maybe it could work out as well.