HNHacker News
TopNewBestAskShowJobs

racingmars

694 karma · joined August 19, 2016

submissionscomments
racingmars··on Elastic Cloud password complexity has an “OR” condition
You don't have to meet the requirements of "a mix of letters, numbers, and special characters."

e.g. a 15-character password without complexity could be all lowercase letters.

racingmars··on Production Twitter on one machine? 100Gbps NICs and NVMe are fast
> I want both, but I don't want to crowd to go to far and kill the desire to produce this kind of content.

I think it's easy to have both. It's all about the tone of the responses.

For example, instead of "your assumptions are wrong, this would collapse because X" or "this is dumb because real Twitter does Y which yours doesn't handle," I think responses could be framed as:

"Wow, neat thought experiment! If I were to approach this same problem, I might make an allowance of more than 280 bytes of storage per tweet to allow for additional metadata that is probably needed to make everything work together; I wonder if that can be accommodated with an even beefier big computer?"

Or "What a great writeup of building a simplified Twitter! After the features you've accounted for, the next most important feature of Twitter for me personally is Y. What kinds of things would we have to do to stretch your idea to handle that? [or, I bet with the addition of X we could make that happen in this setup too!]"

I think many criticisms could be turned into constructive positive additions to the original article versus attacks against the idea of the article.

racingmars··on Ask HN: Anyone using proprietary Unix at work?
Yes, and the z/OS USS is what I call aggressively POSIX-compliant. Its mission in life is to hurt you with strict adherence to the spec, not ever help you!

If there's any optional part of POSIX, it's not in there. You only get the 'MUST' parts of the base spec. No optional extensions, etc. When you're porting over C code to z/OS USS, you are often surprised when things you assumed were just part of every POSIX implementation aren't there. Fun times for all!

racingmars··on Ask HN: Anyone using proprietary Unix at work?
> AIX > So yeah, a mainframe.

If it was AIX, it wasn't a mainframe. AIX runs on IBM's POWER systems, which are their "midrange" line. (There was, for a brief time, AIX for S/370 I believe... but that disappeared long ago.)

Mainframe would be a System z (the S/360->S/370->S/390->z/Arch lineage), typically running z/OS (or Linux for z!)

racingmars··on The United States of America vs. Samuel Bankman-Fried Indictment [pdf]
Not particularly. He had gained notoriety due to other behavior (raising drug prices to fund other drug research, his attitude during his Congressional testimony and media appearances, etc.), but it sounds like his fraud [or whatever he was specifically found guilty of] was very cut-and-dry against SEC and other relevant rules.
racingmars··on Show HN: Encrypt and hide files inside images
Looks like there's already a pull request to fix building under macOS: https://github.com/7thSamurai/steganography/pull/1
racingmars··on Comparing Floating-Point Numbers Is Tricky (2017)
I'm not sure what you mean by this. It is true that two compliant systems will produce the same output for the same sequence of inputs, but that isn't the entire scope of when the concept of "equals" might matter.

> Tiny discrepancies don't randomly appear during float operations

They don't "randomly" appear, because as you say IEEE 754 is well-defined, but discrepancies _do_ appear, and if you care about the concept of equality, they certainly matter.

Take a trivial example in C:

  #include <stdio.h>
  
  int main(void) {
      volatile double a, b, c, d, e;
  
      a = 5.0;
      b = a/3.0;
      c = b/3.0;
      d = c/3.0;
      e = d*27.0;
  
      if (a==e)
          printf("EQUAL\n");
      else
          printf("NOT EQUAL\n");
  
      return 0;
  }
I think everyone would agree that 5 / 3 / 3 / 3 * 27 = 5, or in general that a / 3 / 3 / 3 * 27 = a. But this program, when executed on a system properly implementing IEEE 754, will report that a and e are not equal. Their bits are different.

Hence why when you're talking about comparing equality of IEEE 754 values, you can't just do a comparison of the bits in storage.

You're right that all (correctly implemented) systems will accumulate errors in the same way (assuming you've selected the same rounding mode, etc.), but I don't see how that negates the need to handle the fact that the representation in memory of e will not equal a even though they _should_ represent the same value. Given the sequence of operations performed, how much "slop" should you allow when comparing a to e? Certainly more than 0 which a bit-by-bit comparison implies.

racingmars··on Pub400.com – Your public IBM I 7.5 server
> ...and is community operated? From the headline I misinterpreted this to be a commercial cloud.

I think this is run by a company that does offer commercial AS/400 instances, but they also provide free non-commercial accounts on this one box. Which is nice because it's not trivial to get your hands on your own system as a hobbyist.

> Have never used AS/400, but from all what I have heard it is horrible even compared to CMS.

I wouldn't say it's horrible compared to CMS. It's just _very_ different. I have played with quite a few operating systems...it's a bit of a hobby of mine... and OS/400 is the most different.

In terms of writing simple terminal-oriented forms applications to do basic CRUD operations against a relational database, OS/400 is actually pretty nice.

It's just such a WEIRD system.

The thing I find frustrating about it is that while it has a lot of interesting security controls, the defaults are wide open and I suspect there aren't a lot of people who could secure it to the point where you could give untrusted users "shell" access and not worry you've left some little nook or cranny open to them that you didn't mean to. [Presumably at least one of those people are involved with the pub400.com system!]

racingmars··on Pub400.com – Your public IBM I 7.5 server
The ones I've seen don't, no. The AS/400 boxes were pretty much designed for small-to-medium-sized businesses to stick in a closet and forget about. You may be thinking of IBM mainframes, which typically require three-phase power, but can be convinced to work without it.

These days (and for quite a while), the boxes that run IBM i are the same POWER servers that can run AIX and Linux. Before the platforms consolidated, they were still POWER servers, it was just a different firmware between the "i Series" (ran OS/400) and "p Series" (ran AIX and Linux) POWER boxes.

racingmars··on Show HN: A virtual Yubikey device for 2FA/WebAuthN
Partially, but this still blocks many attacks that password alone wouldn't.

I always think of 2FA as insurance against password theft/leaks. If users don't practice good password practices and use the same password for multiple accounts, for example, when ${next web site to be hacked} leaks all plaintext passwords, you can't just turn around and use that password to access ${another site where I used the same password but have 2FA enabled}. Or I'm logging in to a site from someone else's computer and they have a keylogger. [Obviously this virtual 2FA device wouldn't let me log in in that scenario--but in general, this is another case where the 2FA doesn't have to be rock solid, it just needs to exist if you captured my keystrokes.]

A direct attack on my workstation to steal my virtual 2FA device and my passwords isn't protected by this virtual 2FA device, but that's low in my list of worries overall for people's account security.

racingmars··on Ask HN: Is there a precedent for legislation that mandates code changes to OSS?
I suspect a more effective method would be for Congress to pass a law that says you aren't allowed to use or trade high-energy-use cryptocurrencies.

It would be difficult to make the software unavailable, that cat's out of the bag and it runs into problems with free speech, compelled speech, etc.

But the prevailing interpretation over the years of the Commerce Clause gives the Federal Government enormous constitutional power to do just about anything it wants when it comes to regulating anything that has any remote conceivable effect on interstate commerce.

So I don't see what would stop them from saying you can't buy or sell goods with cryptocurrencies. They can make it illegal for any federally regulated bank (i.e. all banks) to get anywhere close to cryptocurrencies, such as accepting deposits from customers who traded crypto for cash, or providing banking services to companies that accept or trade in crypto.

The Federal Government can withhold various federal monies from states that don't agree to implement similar restrictions domestically (that's how Congress can get around the "interstate commerce" part of the Commerce Clause--they can just bully states into complying with Congressional desires that the Constitution doesn't grant Congress the power to enact).

Enforcement, of course, is another question. But if high-energy-cryptocurrencies are effectively declared illegal in the U.S., a majority of current users will likely not want to try to get around the legislation and that may be enough to shrink the market small enough to have the desired effect.

racingmars··on Plex: Important notice of a potential data breach
To get nitpicky... (usual disclaimer, IANAL but I worked in health IT including heavy involvement in HIPAA topics earlier in my career) I don't think there's a requirement under HIPAA or HITECH to use encryption.

The relevant parts of HIPAA are the duty to not disclose PHI to unauthorized recipients and breach notification requirements if you do incorrectly disclose PHI (the HIPAA breach notification rule).

The magic of encryption is that HIPAA provides safe harbor if the data stolen/lost/intercepted was encrypted to certain standards. So if you lose an encrypted hard drive full of PHI, or someone breaks into your servers and steals encrypted data but not the decryption capability, then it's not considered a breach under HIPAA and you do not need to notify anyone.

Tons of PHI isn't stored encrypted at rest. Physical theft of the hard drive from the practice's back-end EHR database server hasn't generally been high priority on the HIPAA breach potential risk assessment list. But nearly all data in transit, on employee laptops, etc. will be encrypted, because that's where you want the safety net of the safe harbor provision.

racingmars··on This Program is Illegally Packaged in 14 Distributions
I'm not sure if you mean in this specific case or in general, but in general, copyright infringement certainly can be criminal. Willful infringement for purposes of commercial advantage or private financial gain, for example, is a criminal offense in the United States (17 USC 506).
racingmars··on Fran Blanche: This Is Not Legal
Yes, but actual DMCA process, not YouTube's process that isn't really based on DMCA at all.

The process DMCA uses is: 1) person claiming their copyright is being infringed sends a DMCA takedown notice to the platform. 2) Platform takes down the content (doesn't "keep it up and redirect revenue" like YouTube does) and notified the person who posted the content. 3) The person who posted the content can submit a counterclaim, at which point platform provider reinstates the content.

Then the person claiming their copyright is being violated disagrees, they have to sue the person in federal court for copyright infringement at that point.

Also there are penalties for making false DMCA claims. There don't appear to be ANY penalties for repeated, egregious violations of YouTube's own claim system.

What YouTube is doing isn't DMCA enforcement AT ALL.

racingmars··on James Webb first images – complete set of high resolution shots now live
The image details do have the dimensions listed in a standard measure down under the "Fast Facts" section; I assume this will be included for every image release.

The deep field image says it's about 2.4 arcmin across[1], Stephan's Quintet image is about 7.4 arcmin across[2], etc.

[1] https://webbtelescope.org/contents/media/images/2022/035/01G... [2] https://webbtelescope.org/contents/media/images/2022/034/01G...

racingmars··on X-Plane 12 Flight Model Update – Supersonic Transition, Delta Wings and Mass
Hopefully they also sell a lot of the $820 professional use licenses, for flight training, commercial use, etc.
racingmars··on “Cell Tower” Word Game
After playing around for a couple minutes... I don't quite get it. Are 100% of the letters in the grid supposed to be used in words? Or is the goal to find the solution where the maximum number of letters are used in words, but some letters will remain unused? Or just some arbitrary pre-selected set of words?
racingmars··on The Power C Compiler
Financial calculations need to be done with fixed-point, not floating-point, arithmetic. Floating-point can't store the exact value of most fractional numbers, and especially over many transactions for many customers the floating-point errors will accumulate.

You need basic addition and subtraction to always be exact (e.g. $15.27 + $91.31 needs to come out as $106.58, not $106.5799999999999999999998), and for operations that may have remainders beyond your desired number of digit precision, you need deterministic rounding or other rules to handle it.

If you're ever writing any code that handles money, DO NOT use just naively use float and double types in your code!

racingmars··on Ask HN: Serious mathematics books that can replace a good teacher?
The question reminds me of Susan Rigetti's recommendations for math self-study. If your goal is to self-study the equivalent of a university undergraduate mathematics degree, this is one approach: https://www.susanrigetti.com/math
racingmars··on Compiling an OpenBSD kernel 50% faster
Yes, there was a brief humorous reference to that in the article: "The correct approach would be to run config after editing the kernel config, but the plot restricts us from doing that."
racingmars··on MenuetOS
A purist might prefer to say that it needs to be "assembled" and that "disassembly" is prohibited; but I don't think many people these days would quibble that the assembler -> machine code process isn't "compiling".

Assembly language is still a textual, human-friendly language where you can give memory locations symbolic names, you use mnemonics for the different machine instructions, many assemblers have various forms of macro support, etc. That all gets "assembled" or "compiled" into the machine code.

racingmars··on Go's Concurrency Examples in Java 19
Go does have a concurrent map in the standard library, but the documentation recommends not using it unless you have specific access patterns that it's optimized for:

https://pkg.go.dev/sync#Map

You lose type safety when using it. I'm guessing with generics in 1.18 now, we'll see an updated generic version of sync.Map whenever a bunch of new collection types are added to the standard library that take advantage of generics.

racingmars··on Solaris 11.4 free for non-production personal use
It has remained free for test and dev use during the entire time Oracle owned it, yes. The big deal about this announcement is that it is still free for test and dev, but you get updates! Previously, you could get Solaris 11.4 from 2018, with no updates. Now you can get 11.4 with updates through December 2021, and it sounds like future updates will be made available.
racingmars··on Developers spend most of their time figuring the system out
I can only speak for the U.S., but "required to actually do the work" has nothing to do with whether or not I'm legally allowed to set a requirement for a job.

There are protected classes/categories that can't be part of the employment decision, but outside of those, the employer is free to set whatever criteria they want for the position.

If I run a plumbing company, I could say "all of our plumbers must have a computer science degree," and I can't imagine there's any legal reason I couldn't do that. I'd certainly have a recruiting problem, but not a legal problem as far as I'm aware.

racingmars··on When Apple Built a Mac OS Running on Top of Solaris and HP-UX
Not too long ago, I got a SunPC Accelerator card (basically a 486 PC on an SBus card) for my SPARCstation 20, and installed the Macintosh Application Environment, so I have Solaris, Mac System 7, and Windows 3.11 running on the SPARCstation 20!

Screenshot of everything happily co-existing: https://i.imgur.com/ctvlzCX.gif

racingmars··on Decrypting your own HTTPS traffic with Wireshark
First step the article gives: `export SSLKEYLOGFILE=~/.sslkeyfile`

This will tell curl, among many other applications, to save the necessary keys.

racingmars··on Coral, a Cobra fork with nearly all its features, but only 4 dependencies
...but that fifth dependency makes all the difference!

  $ go mod init foo && go get github.com/spf13/cobra && wc -l go.sum
  758 go.sum

  $ go mod init foo && go get github.com/muesli/coral && wc -l go.sum
  10 go.sum
(Number of lines in go.sum != number of transitive dependencies, of course, but the scale of the difference still hints at how much extra is being pulled into your project.)
racingmars··on dwm
Yes! Before I went all-in on desktop Linux, I was a Mac user, and MacOS definitely got virtual desktops exactly right in this regard.
racingmars··on dwm
It's the little desktop "preview boxes," I guess you'd call them, that you can click on to switch between virtual desktops. Usually running in the taskbar in most desktop environments.
racingmars··on dwm
I've used dwm as my window manager for a couple years now, after switching from i3, and have never looked back (i3 was fine, but it had a bug that was affecting me too often--I don't even remember what now).

For me, the killer feature (aside from tiling vs overlapping) is that on my three monitors, I can switch virtual desktops independently on each monitor. After being able to do this, I don't understand why every window manager doesn't offer this. It's not uncommon with tiling WMs that have good multi-monitor support, but you really can't find it in traditional WMs. There's an unmaintained patch of openbox--openbox-multihead--that added the feature, and there's an "experimental" hybrid window manager written in Go (by the same author of the openbox patch), but no mainstream window managers appear to have the feature. Apparently it goes against a requirement/assumption in the EWMH spec and breaks existing pagers. But that's okay, because I don't use a pager.

Anyway, it really is critical to how I work now. I can keep a set of windows on my right monitor, and flip between virtual desktops on my center monitor without the right monitor changing at all. (And no, using the "sticky" feature of other WMs doesn't work for me because sometimes I do want to flip to a different virtual desktop on the right monitor and have that set of windows for whatever context I'm switching to). Along the same lines, the pertag patch is part of making dwm the perfect windows manager for me.

(If you're interested in the particular set of patches I use and my config, I maintain it at https://github.com/racingmars/dwm)

← PreviousPage 3 of 5Next →