HNHacker News
TopNewBestAskShowJobs

cturner

4,781 karma · joined August 19, 2007

submissionscomments
cturner··on OpenBSD – Game of Trees 0.98 released
It is not a clean example of NIH. Got stores its data on disk in the git format.

That aside, NIH is only foolish when the talent falls short of the ambitions. When the talent is up to the challenge, and when there are resources available, there should be no shame in it.

There is a different folly, but we don't yet have a pithy name for it. That is where people are so fearful of being criticised for reinventing the wheel that they twist technology to satisfy requirements it is badly matched to.

cturner··on Show HN: I3wm Alt+Tab Workspace Switcher
The Windows alt+tab behaviour up to Windows 7 was reliable/predictable with two caveats, 1. Things that minimised to the notification area would not go to the back of the stack when you minimised them. 2. Microsoft Excel misbehaved - something to do with each workbook having its own window entry in the group, but also the application having this entry.

At some point since Windows 7 I played with it and found it to be no longer consistent. I could somewhat correct for this by using alt+esc to move a window to the back of the stack and then reverse to it with ctrl+shift+tab.

cturner··on The FT's chief executive on AI, "loyalist" readers, and its U.S. expansion
For anyone interested - I am a long-running subscriber to The Australian and get a free WSJ subscription as a side-effect of that. I have lived outside Australia for nearly twenty years. In that time, tried various papers, but came back to the oz as I find its foreign affairs coverage and international commentary better than anything else, and you get a WSJ subscription also. Its website does have some annoying and long-running quirks - for example they interpret middle-click as a left-click.
cturner··on Ask HN: How many of you Apple developers still use Objective C?
Does anyone have an ISO image of WO 4.5? Apple are giving away WO 5 (java only) via a dmg on their website, so I doubt they would mind.
cturner··on Hired: A Modern Take on 'Ed'
It is useful when you have typed some commands, and then want to edit a text file without losing the text. Consider if you are working on text that you will want to copy+paste into a jira/bugzilla ticket as an evidence-of-work. Or if a second person is watching your screen as you work.

It is useful when you are operating over a high-latency connection. As long as you do not send newline by mistake, you can form the command you want to dispatch with confidence. You do not have to worry about where your cursor is, and you won't find yourself in an unexpected mode, or having done the wrong number of undos or redos.

For a while I used it to write C for a hobby-project on the train, using an android phone and screen keyboard. Simple keypresses are easier than control characters in that setting. If you are interacting with a remote unix system from an ipad, you may find it useful for the same reason.

About once a year I find it useful in situations where I have some kind of broken or low-function TTY, or library problems and want to make an edit.

At times, it would be useful to have an ed-like mode available in bash, so that you could have access to an editor when your system was preventing you from spawning new processes.

cturner··on Why do big companies ask unrealistic software engineering interview questions?
Could not read the whole article but get the gist. Time was that I would have agreed. But I have changed position.

Candidates: you need to appreciate how difficult it is to hire good people, the dishonesty of many candidates, and how limited the tools are for identifying talent and filtering out weasels. It is true: party trick Big O questions have low utility in most jobs. It is true: there is talent out there which sucks at Big-O questions. It is true: there are people who are good at little else than the party tricks. Nevertheless: those questions provide an objective judgement about a candidate. That objective judgement is valuable.

You spent several years doing a degree to make yourself employment-compatible. You will be able to achieve this standard in far less time, and there are cash rewards at the end of it. Accept that you will need to burn 1-2 months to develop this capability, and that you will feel awesome once you have.

Get /Cracking the Coding Interview/. I was not impressed by the object-oriented design chapter, but seek to master the other first-11 chapters. Take what you need from the remaining chapters. Develop a set of flashcards. Find problems online. Work intensively for at least two weeks but ideally a month. Then book some interviews at firms where you don't mind if you fail. Some of the FAANGs have awesome pre-interview study material. Try to get into process with a firm like that. Keep training on your flashcards and doing a few problems a day to keep in form. Expect to struggle with early interviews. Learn from those experiences. Revise what you made a mess of, keep working with your flashcards until you have mastered your weak areas. Now start applying at the firms where you want to succeed.

cturner··on Mathematica 14
This could be covered if there was a principle to respect the man in the arena. That should also discourage you-reinvented-the-wheel pile-ons.

The Ratatouille critic put this well - "We risk very little, yet enjoy a position over those who offer up their work and their selves to our judgement. We thrive on negative criticism, which is fun to write and to read."

cturner··on Spot Bitcoin ETF receives official approval from the SEC
This is true. But it would be a mistake to see the legislative options for the US towards crypto to be as straightforward as its options for its own share market. With crypto, there is far more potential for unintended consequences that would push activity off-shore. That would result in reduced control.
cturner··on Spot Bitcoin ETF receives official approval from the SEC
There is an important difference between shares and crypto: US shares exist as a result of US legislation. Hence, it is straightforward to make regulatory or legislative changes for the operation of a share market. This is not true of crypto.

Crypto is more like a currency than a share. It is transnational - if one jurisdiction applies regulatory burden, activity will flow somewhere else without that changing the operation of the market. Hence, it would be far harder for the US to coax changes into the crypto market, and it would require heavy cooperation from other governments.

The US government has leverage against crypto to these limits: (1) some companies that operate as exchanges operate there; (2) some people with US bank accounts want to exchange cash for crypto; (3) the US has some extradition reach against non-US firms who have US customers.

In the last twenty years the US government has extended its legislative reach for banking matters into other developed countries. Their mechanism for doing this: they offer cheap lending (free money) to banks who sign up to their rules. This could change. The London eurodollar trade happened despite the wishes of the US gvt, and such things can happen again. The security environment will be significant in how things change.

In a US-overreach scenario, I would look to India as a place that could emerge as a crypto haven. India is distinct from the Russia/China axis, which lack rule of law - the state can disappear you on a whim. India is comfortably distinct from the US security block, where security agreements can be used as leverage for legislative reach. Several south american countries could run plays also.

cturner··on Python 3.13 Gets a JIT
The article will be a confusing read to someone who does not know what a JIT is.

Look at the paper after the heading "What is a JIT?"

The first paragraph moves towards an answer - "compilation design that implies that compilation happens on demand when the code is run the first time" But then it backtracks on this and says that it could mean many things, and gets wishy-washy, and says that python is already a JIT.

The second paragraph says, "What people tend to mean when they say a JIT compiler, is a compiler that emits machine code." What point is the author trying to make here? An Ahead of Time compiler emits machine code. But then it goes on to say that an Ahead of Time compiler also emits machine code. So what is a JIT?

The third paragraph starts talking about about mechanism, which is a distraction from the question it posed above - what is a JIT?

The article talks around points instead of making points.

cturner··on The phrase "no evidence" is a red flag for bad science communication (2021)
I am not fond of the author's substitute suggestion - "Scientists: Snake Oil Doesn’t Work". This turns scientists into a priesthood of experts, and that is not what science is about.

Science is a process, not an authority. We should not "trust the science". We should analyse and question it for ourselves.

I think the essential problem with the style of journalism from the article is that it reduces the substance of stories into an appeal-to-authority. It is not a trustworthy authority - there is plenty of history for people employed as scientists to make assertions that now look ridiculous.

Journalists should put more focus to the arguments and less to the conclusions.

cturner··on "No inventions; no innovations" A History of US Steel
Clayton Christensen talk about the steel industry, and how businesses resist change - https://www.youtube.com/watch?v=rpkoCZ4vBSI&ab_channel=Sa%C3...
cturner··on Security Issue: Cloud Site Manager presented me your consoles, not mine
My parents live in another country, and I want to set up some network equipment at their house so that I can coordinate their network if they get into trouble, and to support cameras as one of them has become high-care. My dad also has some complex data. I intend to install a rackmount server for him so that I can help him with data problems from time to time.

For network equipment, I have a fair bit of experience with datacentre grade equipment, but none in the consumer space. I think I want this, 1. Good quality. 2. Fanless 3. Drives multi-node wifi APs 4. Control cameras 5. Web interface that parents can use. 6. Cisco-like CLI that I can use. 7. No cloud.

The unifi equipment seems to fit all criteria above except the last two points. Seems you cannot make permanent changes from the console, and their offering is oriented towards cloud configuration. Would someone who knows the segment be happy to offer advice? (thanks in advance)

cturner··on If buying isn't owning, piracy isn't stealing
> If you take that away, I do not see how you automatically strengthen scarce property rights

I made this case in the grandparent post. To reiterate: the presence of scarce and non-scarce property rights creates a contest between two things that we pretend to be the same thing (property) but which follow different dynamics (scarce vs non-scarce). Government must rule that one dominates the other. In the developed world, the way this plays out is that government rules non-scarce rights to overrule scarce rights. Removing the non-scarce rights would therefore lead to a strengthening of scarce rights.

> Throwing patents, intellectual property, and copyright into a single bucket and simply label it "bad"

But that is not what I did. I made a first-principles argument, and then supplied examples as a form of illustration.

You have quoted "bad" here as though I said it, though I did not.

> Society would be worse off if we didn't have any incentive to produce art, or software.

(heavy edit)

There was incentive to create in the pre-scarce world. Large bodies of great work were produced in theatre, chamber music, literature, sculpture, painting in a scarce-rights world with much lower GDP, lower living standards and no copyright. Bach and Beethoven, Shakespeare and Chekov - these people all operated in scarce-rights regimes. People routinely copied their works. That we have these works is evidence of their incentive.

The licenses that sit behind Linux and similar systems go to great lengths to cancel protections given by copyright. Yet great work is done on these systems. The incentive must be there.

Non-scarce rights create incentive against creation. They discourage remixing of existing work, and they create legal barriers against entry into fields that are affected by patents.

cturner··on If buying isn't owning, piracy isn't stealing
Higher up, I phrased it the other way around - but they are the same thing. The creation of property rights around non-scarce things undermines scarce property rights.

There is a contest between scarce rights and non-scarce rights. At the moment, developed-world nations default to a position where non-scarce rights overrule scarce rights.

Example 1. Consider your ownership of a computer. A computer is scarce property. In a regime that respects only scarce rights, you could do what you like with it. In the regime that runs developed countries at the moment, there are all kinds of things we cannot do with it due to "intellectual property" rights. If you paid a company for some software in the past, you cannot do maintenance work on that software because the person who wrote it own the copyright to it. Even though you own a hard disk, you are not allowed to make copies of bits on that disk that are held to be copyright-protected. There are non-scarce things you are not allowed to distribute, non-scarce things you are not allowed to bundle, legalese garbage you have to pay lip-service to, etc.

Example 2. Imagine you manufacture mobile phones. One day you get a nastygram from a competitor who says that you are infringing on their patents. You send your team to look into it. They learn that years ago this competitor was able to secure patents on some basic techniques. In some places, patents have been granted on some things that are fundamental - it is not clear whether it would even be possible to operate in the domain without using these approaches. Your engineering team unknowingly reimplemented those same ideas from first principles while they were building the phone. You are left with a choice - 1. pay up; 2. try to appeal the patent (good luck training a non-technical judge or jury in this highly complex domain to a standard so they can reject the patent); 3. find a way to achieve outcomes without infringing on the patents. Again - non-scarce rights are severely impacting your reasonable use of scarce property. (In a scenario similar to this, Intel failed in the mobile phone space a few years back despite strong support from Apple. Quallcom has very strong patent coverage in that space.)

By law you own the metal and silicon that is in front of you. Yet there are all of these laws that prevent you from making free use of it, with each of them being grounded in somebody else's non-scarce "property" rights. How did this come about? About a century ago, governments started changing the concept of property from what everybody had understood it to be for thousands of years (scarce goods) to the arbitrary "bundle of rights" definition, and begun attaching the benefits of property to things that were not scarce. Then trade agreements were used to establish these as international standards.

Above you said that I was proposing a dystopia. Not so. The dystopia is what we have now.

A constitutional limitation of property rights to scarce property should strongly strengthen scarce property rights over what we have at the moment.

cturner··on If buying isn't owning, piracy isn't stealing
There is no analogy between (strengthening scarce-property rights) and (communism). There is no analogy between (preventing copyright) and (communism).
cturner··on If buying isn't owning, piracy isn't stealing
I do not understand your point. (or maybe you did not understand mine)
cturner··on If buying isn't owning, piracy isn't stealing
These are fair criticisms of the proposal. A similar but more workable path would be a constitutional clause to 1. limit the concept of property to scarce goods and 2. outlaw the creation of legal mechanisms like copyright.
cturner··on A homeless man built a life underground Hampstead Heath (2020)
If you alienate the people that generate wealth, they will eventually move away. Overwhelmingly, such people do not want to live in a city with slums.
cturner··on Tumble Forth
Yes, this space is high on tradeoffs.

With plenty of source power, pixel grids are flexible. You can construct these from LEDs and paper, https://www.youtube.com/watch?v=QWGoC-9z2Qw. Or chain together 16x2 displays, or use flip-dot displays if you can source them.

If you are low on power, morse-code over a single LED would go a long way - low on equipment cost. Audio output and radio could also be decent low power outputs.

Seven-segment displays are workhorses. Restrict the interaction to hexidecimal characters.

Other obstacles for post-apocalyptic computing are power and storage.

For power - generation itself could be ok from a bicycle. But you need a way to buffer the power.

For storage - FeRAM should be a good option. Will not decay like conventional disks, so long as you repopulate it every few years.

cturner··on Seeing like a bank
You may be surprised at how difficult the regulators make life for the banks.

Read this case-study from the UK. https://www.financial-ombudsman.org.uk/decisions-case-studie...

"We thought the spending on Marta’s account was very unusual for her and – after the first few payments – the pattern of transfers from her account should have caused the bank some concern meaning that it ought to have intervened. We thought that if the bank had asked Marta about the transactions she would have told it what she was doing."

Consider the implications of this.

It gets worse, "In deciding fair compensation, we also considered if would be fair for Marta to bear any additional responsibility for what happened. However, as we thought the trading platform and correspondence with the fraudsters was very convincing, we decided against that on the facts of this case. So we asked the bank to refund all the transactions which took place after the point we thought it should have intervened."

This regulator does not respect the concept of personal responsibility.

These problems are also downstream of systematic public policy failure. We have had telephones for about a century. Yet in 2023, it is still routine for pensioners to receive calls from organised fraudsters. There is no reliable way to trace the source of these calls, to block ranges of numbers, to prevent scam call centres, to issue pensioner-friendly forms of telephone with higher safeguards. These problems are not technically difficult to solve. All could be fixed if the telcos behaved responsibly. That work should have been done thirty or more years ago.

Since that work was not done, there is now a fraud crisis. In response, regulators have forced controls to the last point possible, which is with the banks. Huge inefficiencies follow.

cturner··on Intel 80386, a Revolutionary CPU
Intel evolved the x86 line beyond 386, into Pentium Pro and then to amd64. Why did Motorolla not do the same with the 68k?

I have seen discussion that treats it as assumed knowledge that 68k was obsolete and needed to be replaced by powerpc. But it seems like conjecture - I have not seem technical arguments, and 68k seems like a cleaner architecture to ride forward than post-286 x86.

cturner··on Rules of schema growth (2017)
You equate the central API to the database but they are not equivalent.

The issue is not how much apps depend on them, but maintenance options: in a central-database model, refactoring is high-friction. Whereas an API model can be built so that refactoring is low-friction.

When we talk about composition, we distinguish between data structures that are private to their codebase, and data structures that have a contract between codebases.

In the shared database model, everything is shared, so any change can affect all stakeholders.

The API model respects composition. This allows you to make changes behind the perimeter without the permission of stakeholders. If you want to make a major change to internal data structures, you can retain the old API, offer a new API, and then grandfather apps from the old endpoints to the new endpoints.

cturner··on Paul Graham on Conversations with Tyler
"Great achievements have become team sports. You need multiple experts in disparate skillsets to achieve a huge business or great discovery."

Whether this is true or not depends somewhat on definitions, but I am going to take the counter-argument.

This is just not the case, you won't be able to evidence it that it is, and it might be this assumption that is holding you back.

In our age, momentum is towards large org-charts, and it is not clear that any greatness comes from it. The foundation of unix came from two people. Craigslist has 50 employees. Pre-acquisition, Twitter had 7000. Facebook has nearly ten times that. There is astonishing talent at the big silicon valley firms yet they reliably fall short of greatness. If lots of well-trained minds was the gateway to greatness, those firms would already have it.

Yet the original concept of twitter was great, and it was such a simple thing. If any of us went back in time to 1995, we'd build a first cut of Twitter in a weekend. But it went undiscovered until all those years later.

In this thread, Walter Bright is taking a hammering on votes for his comment. Yet here is someone who is known to have built complete toolchains for C and C++, also a java-to-native compiler, and his own language that is well-regarded, written variety of articles for journals, built applications. Here is someone who can do great things working alone. (He has also held various dayjobs building other stuff.)

"what drives their ambition is maybe not enough to get others to join their team ... holds me back"

Is it possible that your faith in the team sports model is itself what's holding you back? What could you achieve if you role-play that as being false, and consider how you would organise in light of that? What if you stopped spending energy trying to convert the unworthy, and instead put that energy to be broader yourself. You could still work with people with compatible ideas. Your profile says you are a fpga engineer. The building blocks you work with are some of the most flexible humans have had access to. There will be undiscovered twitters in your space.

cturner··on Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way
Agree, systemd is not the last word in init systems.

There are use-cases where linux/whatever is used to run a single system across a cluster of hosts. For this, you need a scheduler to dispatch across a set of machines.

There is room to debate whether init should happen at the system level (driven by OS tooling), or at the application level (not driven by OS tooling).

Systemd is bound by single-host assumptions. Hence, systemd is either inadequate (OS tooling) or else too complicated (application driven).

If you wanted to do something in the spirit of systemd (OS tooling), but which was suitable for clusters, the scheduling function would live as a consensus across a grid of hosts. Hosts would have a simple init that joined that consensus at boot and which acted as an agent for the init consensus.

This would scale down to all the use-cases systemd currently covers - you could have a consensus of one.

cturner··on Bored? How about trying a Linux speedrun? (2020)
Consider a minimal install of linux/unix with no C compiler and no binutils.

Editing text. Construct an ed-like editor in shell - the first character/token of each input line is a command. You could use awk or shell for this.

Creating binary files. If you have gnu coreutils, it has a powerful echo option to output bytes. If you have posix/busybox/toybox, use od(1), head and tail to extract a library of 1-byte files from existing binaries. Cat these together to create multibyte binaries.

Assembler and linker. You don't need to use conventional notation. Create an assembly syntax around the same first-token-is-command approach used for the text editor. Implement an assembler that reads that notation and outputs binary. You would need to create elf headers. You would need to map system calls.

cturner··on Tell HN: Nearly all of Evernote’s remaining staff has been laid off
Write-up of a similar system. http://songseed.org/post/20120101.aa.saga.html
cturner··on Supreme Court strikes down affirmative action in college admissions
> Groups have responsibility.

Only those that have proxies to accountable individuals, as in the example of the corporation, and with its exceptions such as with limited liability. Or an association, which has a board and a charter.

> Consider the opposing argument - groups have no responsibility for anything. Does that seem like a reasonable position?

Apart from formal corporations/associations, that is the reasonable position. In the context of the case, "Asian Americans" have no moral or legal responsibility to give up opportunities to "African Americans".

Westerners are not in castes.

cturner··on Supreme Court strikes down affirmative action in college admissions
You are reintroducing group guilt concepts, discussed higher in this thread. Groups do not have guilt, individuals do. When someone is wronged by a corporation, that is an individual.

If you remain attracted to group guilt as being valid, some thought games. Does someone white who migrates to america thereby adopt guilt for wrongs? Does that person become liable due to the move? What about someone black who migrates? What about their child? Should the child be guilty or half guilty? Should the tax system be adjusted to compensate? What about descendants of former slave owners who are not american citizens? What if their parent was disinherited along the way? How about for gender issues? Does a man inherit responsibility for past wrongs done to women?

If you accept group guilt or intergenerational guilt you are constructing a cast society, where people are defined by their lineage and physical characteristics, rather their actions as an individual. This entrenches social divisions and undermines individual agency and freedom. Western culture, nations and law are grounded in individual responsibility not group identity and are the better for it.

cturner··on I'm Done with Red Hat (Enterprise Linux)
It is both drivers and the userland tools that you get in the tarball. This stuff is often developed by people with a focus on hardware. They will build something to work well on their machine but may never have used a different linux distro. The userland tools might assume compile options in libraries will be as they are in redhat. There will be hard coded paths where there shouldn’t be. The source may not be available, it might be static binaries. That kind of stuff.
← PreviousPage 3 of 34Next →