HNHacker News
TopNewBestAskShowJobs

cturner

4,781 karma · joined August 19, 2007

submissionscomments
cturner··on I'm Done with Red Hat (Enterprise Linux)
RHEL has a major ecosystem advantage related to drivers that they may not be aware of. They risk ruining this, as I will try to explain.

At the time industry started to take Linux seriously, RHEL was the dominant distro. As a result, and by accident, RHEL+derivs became the primary target for commercial hardware drivers. As an example - it's easier to get obscure low-latency network and packet-capture cards working on RHEL+derivs than on other systems. RHEL+derivs is the assumed standard when you talk to firms that make that kind of stuff.

As a result of driver support, redhat derivs became the standard for commercial deployment. Redhat did not get this volume. The deployed volume is with all the Centos/Rocky/Alma that is deployed in hedge funds, prop firms, oil search grids, etc.

As I see it, this driver situation is the real value in the Redhat ecosystem. The userland is a bit of a mess, the package manager does not impress me. But I deploy RHEL-derivs because drivers work with no hassle.

If Redhat were able to cancel the derivatives, they would trigger the tipping point where industry ceases to treat RHEL+derivs as the standard driver target. Firms using centos on five thousand servers are not suddenly going to start paying USD 350 / year / server where previously they paid nothing. They will move to Debian, and eat the pain of the transition. Commercial driver culture would swiftly follow. That culture change would not take years. It would take days.

I think Redhat's per-server sales model is naive. USD 350 / year gets you a license with no support. This probably gets some commerce from small-business, and a bit more from firms with traditional service expectations.

But is that really where the opportunity is?

When I set up a data-centre presence, I want to PXE-boot each server. This way I can modify the system image for the grid by creating a new PXE image and rebooting hosts. Getting to this setup is fiddly. I wish there was an off-the-shelf solution from Redhat that did a good job of it. USD 2000 per year per site per 100 servers, including support for the PXE device itself. Redhat could coexist with the derivs if it took this path. If they built this as an appliance, that product could become ubiquitous like firewalls and network switches.

cturner··on Coroutines make robot code easy
The coroutine approach shines for complex business-logic.

Consider this example algorithm, of several async steps,

1. Download a file into memory

2. Email a link to a review web page.

3. Wait for the user to review.

4. Upload the file to a partner.

5. Update a database.

You could implement this as callbacks. Callback from each step leads to the next being triggered. Downside - your business logic is spread across all the callbacks. You could mitigate this somewhat by defining a class with one method for each step, with those methods being defined in the same visual order as the algorithm. Then have each callbacks call a method. (The article shows something different but similar with its Command autoCommand pattern.)

Tricks like this only go so far. Imagine if the reviewer user had a choice of pressing 'approve' or 'reject' on the webserver interface, with the algorithm changing depending on their answer. How do you now represent the business logic so the programmer can follow it?

Such changes are easy in coroutines. Here is the algorithm with that variation in coroutine code,

    async def review(review_id, url):
      file_content = await download_large_file(url, review_id)
      ws_review_id = await create_webserver_review_page(file_content)
      await email_the_user(ws_review_id)
      result = await get_webserver_user_response(ws_review_id)
      if result: 
        await upload_to_partner(file_content)
      else:
        await alert_failure(review_id, file_content)
      await update_database(review_id, ws_review_id, result)
You state that callback code gives you easy visibility to what actually happens - yes, they do. When you read callback code, it is natural to follow business-logic to system calls. Coroutine tends towards code of layered business-logic and abstraction.
cturner··on WeWork has frittered away $46.7B in value as the stock sinks below ¢50
It was poorly allocated capital. Akin to building an expensive bridge to nowhere. Sometimes there are silver linings to those situations - eg dark fibre after the dot com crash. Here there will be discounted coworking space. Regardless, failure in the market demonstrates that there are better things the effort could have gone to as far as we know at this moment. Therefore it's justified to say that value was lost.
cturner··on Coinbase secures Bermuda licence
Many methods of foreign exchange are. Insurance can be.

If anything, it is equities that is unusual, because that market is designed to be accessible to retail investors, with significant consumer protections.

cturner··on Sex and the citizenship process
There is a wealth of precedence. For the last twenty years there has been a network of people smugglers in south east asia who fire up whenever the Australian government takes its eye off the ball.

I am currently in Malta and have had several conversations with hire car drivers who are living in difficult circumstances because they came here on boats as part of a plan to get to the UK and got stuck. There has been a significant controversy in the last month in the UK about that government’s attempts to dissuade unauthorised entries.

It is an ongoing project for European governments to manage fallout from the syrian civil war. Some of these people need to be monitored for terrorist tendencies, adding pressure to law enforcement.

In the US there is an ongoing project to ensure appropriate controls on its southern border.

These thing are happening right now, across the western world. Large investments from western governments trying to stay in control of their immigration arrangements.

cturner··on Sex and the citizenship process
(not an american citizen or resident) Open borders is not a serious public policy position for a western nation.

Western culture is difficult to bootstrap, and requires effort to maintain. In the US, civics are taught to all of your children through the education system. People have shared mythologies about freedom and duty and senses of right and wrong. Even with this, there are strong frictions between traditions.

If you resettled a city of people from Sudan or Afghanistan to a western city, those people would not suddenly become western by virtue of their new geography. In Sweden in the last twenty years, inadequately managed immigration has created a gang and gun crime culture.

I am astonished when I see westerners advocate for open borders. I think it comes from a mistaken assumption that live and let live is the default order in the world. It is not. Live and let live is a hard won cultural achievement, and needs to be tended.

cturner··on CFTC sues Binance and CEO Changpeng Zhao [pdf]
His sons did turn him in - your own comment says as much. The public evidence suggests they turned him in as soon as they learnt of it. The case has not been made that the sons were complicit, they should be presumed innocence. That other people were jailed, or that they are now dead - all that is irrelevant to the sons' guilt. Neither son was even charged.
cturner··on Ask HN: How would you build a budget CPU compute cluster in 2023?
Graphics. You may not need to have a graphics card in nodes once they are installed. So you may find you can get a single low end card and use that to install each host.

Power and heat. Will you have enough power for the nodes? What is the power trade-off if you get low-end chips vs higher-end chips? Have a look at the Ryzen page on wikipedia to get a feel for power use of each chip. How will you understand how much cooling you need? (more cooling takes more power)

RAM. How much does accuracy matter? Should you use ECC RAM? You can get UDIMMs to work in Ryzen kit, but not with the chips with integrated graphics card (i.e. avoid APU chips if you want ECC). Get Asrock or Asus AM4 motherboards, then get RAM like this - Samsung M393A4K40DB3-CWE. If you go cloud, you may find the hardware has ECC.

IO. Once the grid-of-nodes is in place will you be moving data to functions, or functions to data? How much data are you moving over the network per-job? Might there be IO bottlenecks when you scale up? How detailed a model of IO can you build before you settle on hardware?

cturner··on The (Almost) Definitive PC Sound Card Article (Pre-1990)
The gus offloads audio processing, whereas the sb16 requires more work from the cpu. Hence, the 3d scene at the end of Second Reality should be smoother on gus assuming a typical system of the era, e.g. 486.
cturner··on “Clean” code, horrible performance
"Regardless of scenario" limit your options.

If you are shipping a binary to your users that will never be able to get updates, your cautiousness would be justified. There are other situations where it will needlessly limits options.

There are situations where I have knowingly written O(n^2) or worse, and put a # xxx dragons marker by it. Quick to write, leave my options open, keep my momentum on the problem I care about.

I will grep for xxx issues at some later time. I may end up throwing out the code before that happens. If I hit big-o issues before then, I can refactor.

I once had a system where the important problems turned out to be a series of IO bottle-necks - nothing to do with computation - but that was obscured because good sense had been burnt at the altar of compute efficiency.

cturner··on ‘It took over my life ’ How one man made his dream 90s video game on his own
Bulding consistent-style pixel art by hand is real work. But AI may have lowered the bar. Earlier thread, https://news.ycombinator.com/item?id=31012806#31029663
cturner··on Magic doesn't work that way
He is explaining an experience. Usually museums have no effect on him, he cannot appreciate, for reasons stated. This he did appreciate, and he explains it.
cturner··on Is the Living Computer Museum dead?
Long-term governance is hard.

I have been thinking recently, how could you design governance for a high-end nursing home so that the facility perpetually serve the rotation and interests of its residents. Without governance, such a facility would quickly trend towards entropy. The first step of entropy is pillage by the executive.

When I look around, adversarial systems (courts, parliaments) seem to be a device for building bedrock for better civilisation. I don’t think charity is, due to the governance obstacles.

cturner··on US plans to fully cut off Huawei from chip suppliers
China does not have such control. But to your question -

> If they do, why ever actually invade?

The power of the CCP surfs on top of a mythology. When ethnic Chinese people run successful, free, democratic countries it undermines that mythology.

Consider how the CCP have trashed Hong Kong, which had limited democratic freedoms only.

In the west, economic considerations are high on our motives. For the CCP, the central viewpoint is about pursuit and consolidation of political power. Economic considerations are all considered in the light of power priorities.

There is a trap that westerners fall into of regarding live-and-let-live as the natural order of things. It is not, it is a set of values. The CCP come at the world from a different mindset.

cturner··on Why Finland Selected the F-35A (2021)
> The USAF even went as far as to procure new F-15s, the -EX model, > because F-35 production wasn't keeping up.

Is that the reason? I thought it was the need to counter the Chinese strategy of mass producing fighters with an idea of overwhelming western fighters through sheer weight of number. F35 is weak on per hour running cost and uptime per unit, and loses to the F15 variant if you are looking to scale.

The f35 can operate in a similar role to an e8 alongside a mix of cheaper aircraft.

cturner··on Boris Yeltsin's visit to a suburban Houston supermarket in 1989 (2016)
US dollars don't have to be held by US entities. There are US dollars held on balance sheets around the world by non-US entities. During the cold war, the Soviet Union held USD in non-US accounts.

Countries don't ask for US dollars in order to trade. Although it is common for some goods to be priced in US dollars, companies (rather than countries) will price and trade in whatever currency suits them, often with assistance from banks providing foreign exchange services. The banks don't need to be US banks, and goods priced in USD do not need to be paid for in USD if you go through an intermediary, which is common practice.

cturner··on Boris Yeltsin's visit to a suburban Houston supermarket in 1989 (2016)
> I think it might just happen that buying banana from somewhere keeps them poor.

What would happen if there was no market for those bananas?

cturner··on Granian – a Rust HTTP server for Python applications
Over the years, I have built some internal apps by nesting aiohttp in a python process. Usually this starts with me having an existing process and finding I want to add a web interface to it, for example, as a dashboard. What would be the advantage of putting a commodity web server between the application server and the user, rather than having the user’s browser directly talk to aiohttp?
cturner··on Japan to invest on nuclear energy in major policy shift
Australia is a gas supplier to Japan and has headed down the road towards nationalising its gas sector recently, indirectly through local supply mandates and price fixing. Exploration projects have been canceled and frozen there in the last week. Japan may feel uncertain about its ability to source gas on the open market.
cturner··on A Linux Evening
I had a major troubles with linux suspend on a 2021 T14 - not a cheap system - and did not get past them. Moved to x1, no problems. Colleague has the T14, still running windows.
cturner··on SEC set to propose rules that would squeeze stock-market middlemen
I agree that fat finger trades should stick.

That is not what clearing and settlement are about. They are about liquidity and stability. In countries with well designed systems, equities settlement is an atomic action.

So, for a transaction involving a UK stock, the Bank of England moves money from one party to the other, and stock from the second party to the first as an atomic transaction.

Trading flows get complex. Some illustrations,

1. If your balance sheet is smaller than a global investment bank, you are regarded as higher risk to deal with. A clearing house won't onboard you on your own account. Instead, you have to get a kind of coverage from a major player who the clearing house does respect, at a cost to you, to clear against their balance sheet. The exchange membership might be yours, and the trades are yours, but for clearing and settlement you are represented by an IB who has a desk that specialises in covering trading risk for scrappy trading firms for a tidy profit.

2. Most participants in markets are not direct members - e.g. hedge funds and mutual funds tend not to be. Non-member access the market via a broker who is a market. Often a broker will outsource activity for some markets to another participant who is more effective at accessing a particular market.

You will have noticed that these arrangements create long chains of inter-dependencies. If there was only trading and settlement, a small error at one bank would cause a cascade effect that would affect hundreds of other participants and disrupt atomic settlement. The system would quickly and regularly stall. So between trading and settlement there is a round of "clearing". Here, everyone confirms that the details are right ahead of settlement. If a participant failed to send a transaction from their trading engine to their clearing system, that would be revealed. If a market maker closed the previous day with a short position they weren't supposed to have, they would get assistance to patch that up. There is lots of forgiveness and room for correction within the clearing round, but big-stick consequences if you don’t come to the right conclusions before it has closed. In this way, when the Bank of England goes to move positions, everyone ends up with what should have.

This three-tier trading/clearing/settlement model allows entities to focus on types of risk that they are good at managing. Without them, the exchange would have to do it all (this is not realistic), there could be no activity between jurisdictions (e.g. french bank trading on swiss market) and it would be far harder to bring liquidity to market.

A system with fewer layers would be far riskier. The clearing houses act as a buffer if there is an insolvent participant. According to legend, when Lehmans was in collapse, the risk process at London Clearing House kicked in to unwind their positions and made a profit on that unwind. This mechanism reduces the possibility for contagion.

If a country tried to build a system that had less liquidity or worse stability, companies would move from that jurisdiction to another that suited them better. I am not sure of the details but understand Sweden blew up its finance sector through vindictive/populist legislation in the late nineties. Activity moved to London and the world moved on.

Clearing needs to be a day because if there are misalignments, you will need analysis and developers to have time to review what happened on the trading day, and have phone calls to discuss with teams at their other partners until a problem is uncovered. If this failed, the senior management would get involved on the T+1 evening. Hence, T+2 settlement is the optimal.

24/7 markets. Someone who wanted to build a trading desk would need to ensure coverage from risk and compliance officers, and to be on top of market events. With a traditional open/close market, it is feasible to do this with a single team. With a 24/7 market, you can't so you either miss liquidity, or are forced to put together an expensive, complicated global team for no increase in total trading opportunity. And on the exchange side, 24/7 makes the software far more complicated for no benefit beyond the bragging rights.

cturner··on SEC set to propose rules that would squeeze stock-market middlemen
Multi-day settlement is good for market stability. If there is an error, it gets picked up in clearing. If there is a catastrophe, the regulator can cancel the day's trading. T+2 would be an improvement, but less than that would create new problems.

Something the US could do to improve its situation would be to change from end of day novation to novation within five seconds of a trade. This might reduce the amount of capital that firms had to post.

cturner··on SEC set to propose rules that would squeeze stock-market middlemen
> Europe has shown that reg NMS is not needed and doesn’t benefit investors.

I don't think Europe has shown this, or should be seen as an role-model for execution quality. The European model benefits national champion exchanges and lazy brokers.

In Europe, all retail flow is forced to Regulated Markets where it directly faces more sophisticated players. There is nothing equivalent to the execution-quality guarantees that RegNMS delivers in the US.

RegNMS ensures a high quality of protection for the interests of retail investors, and is even-handed towards exchanges.

cturner··on IBM creates 24-core Power chip so customers can exploit Oracle database license
It's an enterprise thing. I have seen these dynamics with database vendors: databases are sticky, clever license agreements.

A commercial database vendor system gave us several free licenses (or cores or something like that) for their platform as part of a deal. Sounds good at first glance. But when you shut down an instance, that returns a license to the free pool. As a result, nobody has incentive to ever do this work. Indeed, if you did free up a license, one of your colleagues might notice and use it on another project. After all, it's free.

The way that databases are commonly used, they become an informal API for communication between systems. One codebase writes an order to the database, another reads it, and another reports on it. Once you this situation, it is difficult to remove. That would require coordination between multiple teams, and it doesn't generate revenue.

For a piece of software like this, it only needs to get in the door once.

cturner··on UK food price inflation hit 16.2% in October – cost of food basics surging
The European parliament set laws that standardise matters across the union, and this can only work if it overrules national governments. European regulators create policy. Legal matters can be appealed to the European justice system. The goal of /ever closer union/ is written in the original treaty.

Why do you think rule from Brussels is a lie?

cturner··on The leap second’s time is up: world votes to stop pausing clocks
What is your goal? Is it better markets, or getting rid of market makers?

You seem fixated on the latter, to the extent that you will define away the quality measures of a market to get there.

The vampire/victim labelling you use is unreasonable. Market makers rest liquidity on the book and then other participants choose to interact with them. Both participants have chosen to enter the deal.

You propose a market without market makers. If you set up such a book, I expect you would find that nobody would want to trade there because they will get better prices and more liquidity elsewhere. If it was a good model, then all the exchanges would be doing it.

You misuse the term front-running here. Front running is when a broker has an order from a customer, and places orders on their own behalf before processing the customer order. In doing so they would put their own interest ahead of the customers. Rules about front running are a form of consumer protection. On-exchange market makers do not have customers, so the concept of front running is not relevant there.

cturner··on The leap second’s time is up: world votes to stop pausing clocks
My error, thanks for the correction.
cturner··on The leap second’s time is up: world votes to stop pausing clocks
"Yet when I go somewhere with no liquidity and a huge spread.."

Someone who wants to buy or sell goes to a market in order execute at the best price achievable, and they may be under time pressure.

If the spreads are wider at one place than another, participants will gravitate to the place with the narrower spreads. If there is better liquidity at one place than another, activity will move to that place.

The purpose of being at the market is that you want to trade.

These qualities that you dismiss, "a mild inconvenience at worst", are the essence and measure of a market's effectiveness.

"A tight spread just means that somebody is getting rich by taking that choice away from me and everyone else on the exchange."

No, it is the opposite of that. It is when spreads are wide that there is easy opportunity for getting rich. Consider: it is more lucrative to buy from one person at 10 and sell to another at 20 then to buy from one at 15.01 and selling to another at 15.02.

"You get to choose between waiting for a better deal and taking a worse deal immediately"

That is not the choice. On a good market you get both a competitive price, and you get to deal immediately.

An order that you rest on the book is called a limit order. You can do limit orders on any market, even those where market makers operate. Creating a market that offers limit orders is easy. The more challenging problem is to create a market where people can come and place market orders that get filled immediately

Four years ago, I wated to sell stock to close a deal to buy a house. I didn't want to sit around for hours or days or weeks or forever tweaking limit orders, hoping the market would move in my direction and that the house would stay on the market. I went to market to execute, got my money, and put down the deposit.

If a company goes to a market to offset risk, they typically want the convenience of getting the deal done immediately. If they have to wait weeks to close the deal, the risk might already have past by the time they could get the deal done. Liquid markets with tight spreads get rid of the workflow and loss of time inherent to haggling whilst giving you justified confidence that you are getting a competitive price.

cturner··on The leap second’s time is up: world votes to stop pausing clocks
Anything built on the adversarial model is zero-sum - courtrooms, parliaments. But the systems have utility.
cturner··on The leap second’s time is up: world votes to stop pausing clocks
That would lead to wider spreads. Then, liquidity would move to another country that did not impose that rule.
← PreviousPage 4 of 34Next →