HNHacker News
TopNewBestAskShowJobs

ProblemFactory

2,192 karma · joined August 8, 2012

submissionscomments
ProblemFactory··on Apple Teases Upcoming Space Gray iMac Pro, "the most powerful Mac ever"
The Dell Precision brand and 3000/5000/7000 series numbers are used for both laptops and desktops.
ProblemFactory··on Ask HN: How are top-grossing apps calculated?
Apps are allowed to use external payment methods for "real world" goods and services.

All digital content (premium features, game coins, file storage, music or video libraries) accessible within the app must be charged through Apple, and the user must not be able to find an alternative payment method from within the app.

> EDIT: some research later indicates that it's possible allowing a user to sign up outside the app (and outside a webview initiated by the app) skirts around the policy, since the user can return to the app and log in, then use their account for payments.

Depending on the precise details of your signup page, this may or may not get banned by Apple if they notice it. It's allowed to sign up users and accept external payments outside the app - but then you must not have links to this payment page from within the app. If the user already has an external paid account, then they can use it, but any first-time users must only see IAP or nothing.

Some time ago Apple threatened to ban Dropbox, because they had a webview for signups, and it was possible to upgrade to a premium account within that webview.

ProblemFactory··on Ask HN: Why not use a higher base than Hex for UUIDs if they're just strings?
> With Hexadecimal, we get 4 bits per character. With Base64, we get 6 bits per character. To keep UUIDs at 128 bits, we'd go from 32 to 22 characters in length. ... Additionally, why the dashes? In a string, that dash takes up just as much wasted space as the additional characters which are providing data utility.

Instead of base64, sensible databases and libraries store UUIDs as "base256". Actual binary strings of 128 bits = 16 bytes, not printable ASCII. That is the shortest possible representation, with zero wasted space.

The hexadecimal representation is only used for displaying UUIDs to humans. It doesn't have to be efficient, it has to be helpful.

For UUID version 1, the dashes separate clock, counter and MAC address parts in the data. With hex encoding it is easy to convert to/from binary and for "popular numbers" even to decimal in your head without running it through a baseXX converter.

For UUID version 4, where the data is all completely random, it's less useful. All you can do with it is compare two UUIDs. So there perhaps the human-friendly representation could do without dashes and use a larger base.

ProblemFactory··on Self-Hosted “SQL-Not-required” Data Analytics and BI Tool. Inspired by Looker
RedShift is very close to PostgreSQL (it even uses PostgreSQL drivers to connect to their clusters from programming languages or data IDEs).

A sneakier difference is query latency. RedShift is scalable for queries that scan through very large amounts of data - but there is overhead for each query. One complicated JOIN can be faster than 50 small queries that ORMs and web apps like to make.

ProblemFactory··on Startup CTO – Premature Scaling
Even then, I have a feeling that people jump too quickly from a "messy monolith" to microservices.

Instead, people should start splitting up the monolith into sensible modules and libraries. Instead of a "user accounts microservice", start with a "user accounts library" with a well-documented API that stays in the main codebase and is deployed as part of the rest of the app.

ProblemFactory··on Ask HN: Should I create a clone of a popular SaaS with rock-bottom pricing?
Trello itself is the perfect example of "remove features to serve simpler use cases".

All sorts of business and development process tracking software has existed for decades. JIRA, FogBugz, PivotalTracker, MS Project, and so on.

Trello got rid of 90% of their features, and just kept "list of lists of short text snippets". That makes it great for planning small software projects, but also shopping lists, travel plans, or sales pipelines.

ProblemFactory··on Twilio stock plummets as major client Uber distances itself
It's a solved problem.

On Android, if you unlock the hidden Developer Options, there is a toggle for "Aggressive WiFi to mobile handover".

But I wonder why the setting is hidden and not a default.

ProblemFactory··on Dropbox Reaches Key Profit Milestone
> Remember that while Steve Jobs infamously called Dropbox a feature, not a product

Which is the best selling point of Dropbox. It doesn't try to be an office app suite, a photo editing solution, a cloud collaboration platform, etc. It just syncs files between computers and phones, and has simple UX because of it.

ProblemFactory··on PatentShield helps startups fight patent litigation in return for equity
> It seems unlikely they are "without merit" in the legal sense, since then they would be thrown out at the first hearing.

In all patent troll cases I've seen, a patent exists, and the defendant is actually infringing the patent. So there is some merit to the lawsuit.

The problem is that the "inventions" in the patents:

* are not novel, or

* are not non-obvious, or

* have not been described in sufficient detail to replicate without further research, or

* a combination of all of the above for various claims in the patent.

so the patent should never have been issued in the first place. But invalidating the patent in court is a tedious and expensive process. You need many expert witnesses debating what is novel, what is non-obvious, and what is sufficiently detailed, it's not something a judge can decide in 10 minutes.

ProblemFactory··on No Longer a Dream: Silicon Valley Takes on the Flying Car
The thing is, we have had "flying cars" - helicopters - for almost 100 years. Helicopters match the core functionality of a flying car: can fly, can carry 2-6 people, can take off and land almost everywhere.

So why are helicopters still relatively rare, and what is different in a "flying car" that people dream about? It's not 4 tiny wheels after all (and you can get a helicopter with tiny wheels).

* Price: helicopters are expensive to buy, and very expensive to maintain. You need about 1 hour of maintenance for every 10 flight hours.

* Fuel cost: vertical thrust for lift is very energy intensive.

* Difficult to pilot: needs professional training.

* Noise and airspace restrictions: many cities do not allow personal helicopters to fly low or land in urban areas due to noise and fear of accidents.

"Difficult to pilot" is the only area where I see significant possible improvements in the near future, if autopilot gets good enough to remove the pilot altogether.

But there is no obvious engineering breakthrough on the horizon that will improve the maintenance, energy use or noise issues. Maybe if there is a breakthrough in battery technology, then electric helicopters could improve on both the energy and maintenance costs, but that is not really up to people working on "flying cars".

ProblemFactory··on The De-Electrification of the U.S. Economy
> I'm older now and a good desk, good chair, 3 big screens takes up enough space that a tower isn't taking up much more space.

I do the same, 95% of my development with a Macbook Pro with 2 big screens, keyboard and mouse attached. Don't even touch or move it on most days.

A desktop would be much cheaper - but I would still need a decent laptop for the 5% time when I'm not at my desk, so the savings aren't that much any more. And keeping development environments, VMs, config files, keyboard layouts, etc syncronized on two separate computers is too much extra work.

ProblemFactory··on Farmers look for ways to circumvent tractor software locks
> Let's say someone does modify the code, then the machine messes up and ends up killing someone. Who would be the culprit there?

People repair and modify their cars every day - and these are driven on public roads among other drivers and pedestrians. Farm equipment is operated on private property and among workers who are mostly aware of the risks. In the end, if the vehicle is unsafe, the driver is responsible.

ProblemFactory··on Does it scale? Who cares (2011)
> Do I need UUIDs? Maybe not, but after much debt, I've decided that the storage requirements of such an index in memory is worth the ability to move from Postgres to Postgresql-xl.

There is a major benefit to UUIDs besides server-side scaling concerns: you can generate them offline in mobile apps and other client-side applications.

With serial primary keys, you are often stuck between waiting for a server round trip before saving data locally, or inventing complicated solutions for referring to not-yet-uploaded data locally.

ProblemFactory··on Where the Apple accounts that hackers are threatening to wipe came from
The threat of wiping accounts was silly in the first place. The hackers have user passwords, not access to Apple infrastructure. So they log in as the users, delete files from iCloud... and Apple restores files from yesterday's backup. They could cause a lot of hassle for the users and Apple customer support, but not wipe accounts.
ProblemFactory··on The Town of Innisfil partners with Uber for transit instead of buses
> commercial companies deliver services much more efficiently than governments and bureaucracies.

That is often true, but the efficiency comes from competition in a free market, not the ownership of the service provider.

The government usually has a monopoly, so there is little pressure to be efficient other than the personal motivation of some government employees to improve life in their city.

If there are instead 5 service providers who compete for customers, then they are forced to be efficient or lose their business.

But if there is just one commercial company with an effective monopoly - due to mergers between all providers in an area, poorly structured contracts, or plain old corruption - then there is no pressure to be efficient either.

ProblemFactory··on Ask HN: What do you want to see in Ubuntu 17.10?
> I've always thought that arcdegrees should be what we measure UI's in: how much of a user's field of view does this thing consume? After all, what makes text "small" is that how much of my FoV it consumes (or doesn't). Not inches, or points, or pixels.

That is a good starting point for calculating the default "optimal UI scaling", but there are going to be adjustments needed for the FoV of the whole screen area (not per pixel) too.

With large screens, for example 24-30" on your desk, just the per-pixel FoV measure will probably be good enough. You have plenty of "space" for windows and content, and want to get the optimal scaling.

But once you get to very small screens like phones, there is a tradeoff between keeping font and UI sizes comfortable, and being able to actually fit enough content on the screen without endless scrolling. I am willing to strain my eyes with smaller font sizes on my phone than on my laptop, just so that I can see more than 5 sentences of text at the same time.

ProblemFactory··on Amazon Delays Opening of Cashierless Store to Work Out Kinks
At a shop I visit often, the receipt checking is random, triggered by some prediction algorithm based on your history and current cart contents when you swipe your membership card when you exit the store. You get selected once out of perhaps 20 to 50 visits.

As a bonus, you get a small candy bar or similar "sorry we bothered you" gift if the check does not find any errors.

ProblemFactory··on The new £1 Coin
A government cryptocurrency could be built on a blockchain, but there is really little point. Some properties that it would need are:

* It's backed by usual pounds by the treasury, which means only they get to issue new coins (no public mining rewards).

* Court judgements must be able to block, reverse or force transactions. This means either the government gets a copy of all private keys, or simply has master keys for the system.

* UK government would probably want to attach names to all accounts, so new wallets could probably be only generated on some gov.uk site, or participating businesses like existing banks.

In the end, the blockchain is wasteful and inefficient when you could just have a big-ass server somewhere with an API.

ProblemFactory··on The Cracking Monolith: Forces That Call for Microservices
But where does the difference come from?

A "well-designed monolith's" code architecture would be very similar to microservices - with separated modules, but in-process function calls instead of remote API calls.

If you do large-scale integration tests that cross module boundaries in the monolith, then you should also have the same tests of the full deployment with microservices. If you test each microservice independently, then you could also run tests for each module independently.

ProblemFactory··on 2038: Only 21 years away
stat() takes a pointer to a struct where to write its output. This struct currently has 32bit values for time.

If you updated stat() to write 64bit values into a different struct, any existing program calling it with a pointer to an old struct would get garbage data (and a potential buffer overflow).

Renaming the function also makes debugging easier - after statx() is in widespread use, stat() could be replaced with a placeholder that raises the SIGTRAP signal, and immediately detects epoch-unsafe programs still in use.

ProblemFactory··on Two Executives to Leave Uber, Adding to Departures
> How long before there's an uber-Uber that just sends your request to all the dispatch services and the first one that shows up gets your fare?

There already is an app for this, with over a billion existing users: Google Maps.

If you search for directions in London, there's a "ride hire" tab next to public transport. It gives you price estimates for Uber, London official taxis, and Hailo - all booked with a button from Google Maps, never having to open the Uber/Taxi/Hailo app.

ProblemFactory··on Two Executives to Leave Uber, Adding to Departures
> Without self-driving cars, that strategy isn't sustainable, and so eventually Uber will find itself unable to maintain its advantage over Lyft.

I see the "Uber is a bet on self-driving cars" coming up in every discussion about their business plan. But even if that's true, why is there an assumption that Uber would have a monopoly on self-driving cars?

Google, every car manufacturer, and a whole series of startups and universities are working on self-driving technology. If for example Google perfects it first, they will sell licenses to car manufacturers, who in turn will sell cars to Uber, Lyft, and every taxi company in every city of the world. Even if Uber develops the technology first and keeps it to themselves - then others cannot be too far behind, the potential payoff is just too great.

In the end the situation is just the same as now.

ProblemFactory··on The beginning of Git supporting other hash algorithms
Yes, that is sort of Linus's plan: http://marc.info/?l=git&m=148798319024294&w=2

> You want to have a model that basically reads old data, but that very aggressively approaches "new data only" in order to avoid the situation where you have basically the exact same tree state, just _represented_ differently.

> That way everything "converges" towards the new format: the only way you can stay on the old format is if you only have old-format objects, and once you have a new-format object all your objects are going to be new format - except for the history.

As soon as there is one new-hash commit in a repo, all users of it will have to upgrade their git client - and that git client will (probably?) default to writing new-hash commits.

ProblemFactory··on Enroute Airbus A380 wake flips Challenger business jet upside down
There's an argument that mandatory bicycle helmets are worse, not better for the overall health goals: https://www.theguardian.com/lifeandstyle/2015/aug/12/mandato...

Mandatory helmets protect cyclists from injury - but make cycling less popular. Fewer people cycling means they get less exercise and increase other health risks. On average it's a health benefit to cycle without a helmet, compared to driving - and of course people are still welcome to add helmets if they don't mind them.

ProblemFactory··on Welcome to Glitch
StackOverflow was named by a public vote: https://blog.codinghorror.com/help-name-our-website/
ProblemFactory··on Buck – A build system developed and used by Facebook
I have briefly used https://github.com/Factual/drake for this.

It is a bit unpolished and still a work in progress, but has some features that are useful for data science workflows that most software build tools do not cover:

* Steps can produce multiple named outputs (for example full.csv and summary.csv), dependency graph can branch in both ways,

* Outputs that are directories with many files,

* Built-in input/output file sharding (for example by date or month) and HDFS support,

* Lots of control over which steps to execute: not just "rebuild target X and any required upstream dependencies". Can select a target and all that depend on it downstream (if you know that a remote file changed), skip rebuilding some steps, etc,

* Can put very short (text processing) scripts directly in the Drakefile in Python, Ruby.

ProblemFactory··on The Uber Bombshell About to Drop
Taxi services are a centuries-old profitable business model (London had first laws regulating "taxis" in the 1600s).

Dispatch via app is a solid improvement over the old phonecalls or street pickup, automatic credit card billing is an improvement over cash, and in cities with shady taxi drivers, GPS tracking is an improvement over potentially hacked taxi meters.

So there is an obviously valuable business model for "taxi dispatch app" here even without a moonshot - just perhaps smaller than Uber's dream of being the only provider of personal transportation in the world.

ProblemFactory··on Tech’s ruling class casts a big shadow
But we're not talking about a monopoly here. For example for cloud hosting, it's competition between Amazon, Google, Microsoft, OVH, and perhaps a few more "big" players.

Like in many technology fields, you have high fixed costs that are distributed over all of your customers, and economies of scale. It is much cheaper for Google to add 10 000 new servers to their datacentres, compared to starting up a new hosting company, building small datacentres on five continents, and rewriting all the software that Google Cloud offers on top of servers.

So seems plausible that a highly concentrated industry with a few big companies each having >10% market share is more efficient (and can offer lower prices) than a market with thousands of small artisanal hosting companies with <0.1% market share.

ProblemFactory··on Ask HN: What do you use to align your daily todos with your long term goals?
The biggest issue I have with Todo lists and systems is focusing on urgent tasks instead of important tasks.

It is too easy (and satisfying) to prioritise 10 small urgent tasks, complete and check them off, and feel productive. But this can lead to indefinitely postponing long-term important tasks that aren't a top priority for this week on any week.

Tasks like keeping in touch with old friends and new potential clients, learning a new skill, checking that your backup-restore system works, planning a holiday, and so on.

ProblemFactory··on Silent Data Corruption Is Real
There absolutely is a practical use for checksums and error detection, even if you cannot do error correction.

Error detection allows you to:

* Discover and replace bad hardware (like the author of the article),

* Avoid unknowingly using invalid data for calculations or program code,

* Stop using the system and corrupting more data over time,

* Restore files from backup while still in the retention period of your backup service.

I once had a computer with a bad disk that somehow corrupted 1 bit out of about 150MB written, and probably only in some regions. I only found out after the GZip checksum of a very large downloaded file mismatched, and it took a while to figure out the real cause. By that time I had been using it for months, so it's unclear to this day what other files might have been corrupted.

← PreviousPage 8 of 18Next →