HNHacker News
TopNewBestAskShowJobs

SloopJon

2,602 karma · joined November 15, 2013

submissionscomments
SloopJon··on An Object-Oriented Language for the '20s
> Sadly it never got a big name sponsor to push it.

Has Eiffel had a high-quality open source implementation? My recollection is that Eiffel Studio's software is proprietary and expensive.

SloopJon··on Kinto: Mac-style shortcut keys for Linux and Windows
Although I too have lost my muscle memory, not having used Windows as my primary O/S in a while, one thing I miss is the ability to traverse through menus with a series of keystrokes; e.g., Alt-F, then p to print, as opposed to Ctrl-P. This came in handy for menu items with an obscure shortcut, or no shortcut at all.

Similarly, I would preface some programs in the Start menu with a unique number; e.g., Win, P, 1 opened File Explorer; Win, P, 2 opened the Command Prompt, etc. With the Windows 10 start menu, I just start typing, but it sometimes exhibits weird behavior, where it finds what I want after one or two characters, then changes to the wrong thing after I type another (correct) character.

I generally prefer the Cmd-Tab / Cmd-Tilde split on macOS to the Alt-Tab on Windows. However, after all these years, I still can't always predict which window is next--will I go back to the window I was just on, or keep going forward to another one?

SloopJon··on U.S. senators reintroduce bill to make daylight saving time permanent
The first few articles I could find on this topic neglected to identify the senators co-sponsoring the bill. Here's a list from boston.cbslocal.com:

* Roy Blunt (R-MO)

* Cindy Hyde-Smith (R-MS)

* James Lankford (R-OK)

* Ed Markey (D-MA)

* Marco Rubio (R-FL)

* Rick Scott (R-FL)

* Sheldon Whitehouse (D-RI)

* Ron Wyden (D-OR)

Wikipedia has some history on similar, short-lived efforts in the past:

> Seasonal observation of DST was first enacted in the US during World Wars I and II, as an attempt conserve fuel. The practice was unpopular and promptly repealed after each war; however, lobbyists from the petroleum industry lobbied to restore DST, as they had noticed it actually increased fuel consumption.

> Permanent DST in the US was briefly enacted by President Nixon in 1974, in response to the 1973 oil crisis. The proposal was initially supported by an estimated 79% of the public; that support dropped to 42% after its first winter, owing to the harshness of dark winter mornings that permanent DST creates. An estimated six school children were also killed by motorists due to the new law.

https://en.wikipedia.org/wiki/Permanent_time_observation_in_...

On the eastern edge of the enormous Eastern time zone, I'm sympathetic to permanent DST, but I'm not sure it's a good idea nationwide. I would probably be in favor of the proposed Atlantic time zone, though.

SloopJon··on Apple has gone to extraordinary lengths to make scroll bars invisible
Even with scroll bars always visible, as they are on my system (Firefox on macOS 10.15), I can't see that there's a horizontal scrollbar until I go down several pages.

If I change from "Always" to "When scrolling", the only way I can make the horizontal scrollbar appear is to start scrolling by pressing my mouse wheel to the side. It's otherwise utterly invisible, even when I hover over that region. Edit: the table doesn't initially have focus, but if I click it, I can also use the arrow keys.

When I wrote a page to display a very information-dense table, I tried very hard to avoid horizontal scrolling. I abbreviated, used icons and colors, and allowed wrapping. You're implementing a general purpose utility that can have arbitrarily many columns, so you can't really control that.

I'm not much of a web dev, so I may be off base, but I think part of the problem is that you're mixing a page-wide vertical scrollbar with a div- or table-specific horizontal scrollbar.

SloopJon··on Apple has gone to extraordinary lengths to make scroll bars invisible
I don't like the hidden scroll bars either, so I've set "Show scroll bars" to "Always". If I understand correctly, Simon wants his web site to display a scroll bar on a system that isn't so configured. I'm not sure why--does it mess with the viewport width or something?

Edit: simonw just posted more information on this thread.

SloopJon··on “ISO obstructs adoption of standards by paywalling them”
The posted link took me straight to Tim's tweet, so I didn't realize at first that he was replying to @isostandards:

> Hello, unfortunately, the ISO Central Secretariat does not provide free copies of standards. All ISO Publications derive from the work and contributions of ISO and ISO Members that contain intellectual property of demonstrable economic value.

> For this reason, considering the value of standards, their economic and social importance, the costs of their development and maintenance, we and all ISO Members have the interest to protect the value of ISO Publications and National Adoptions, not making them publicly available.

The ISO standard that I have the most experience with is ISO/IEC 9899:1990, aka C90. Part of the reason for that, of course, is that I had a used copy of Herbert Schildt's Annotated ANSI C Standard; it's also a considerably smaller standard than, say, SQL or C++.

I'm of mixed minds as to the value of the C standard. There is certainly value in having a standard. After sufficient study and deliberation, you can usually determine whether an input program or compiler implementation is standards conforming. When I compare the evolution of C and C++ to say, Python and Rust, I have trouble pointing to the specific value that ISO adds.

This isn't really a fair comparison, because the difference between C/C++ and Python/Rust isn't just the process, but the end result. I judge C and C++ not just by ISO's efforts, but by those of Microsoft, IBM, GNU, LLVM, etc. Python and Rust, meanwhile, ship a working reference implementation, and do a pretty good job of it. Rust has improved quite a bit six weeks at a time. C standards, meanwhile, ship closer to every decade. Even the new rapid pace of C++ is every three years.

SloopJon··on ArmorPaint: An open source physically-based texture painting software
Licensed as zlib/png, but binaries are currently €16. It looks like the Unreal integration is being funded in part by a grant from Epic Games.

Interesting to see an open source project in this traditionally high-end boutique market. I think comparable tools include BodyPaint 3D ($995), Substance Painter ($150+), 3DCoat ($99+), and maybe ZBrush ($895) and Mudbox ($7-10 / month).

When I see what textures look like, independent of the model, it's hard to imagine creating them without some kind of painting interface like this.

SloopJon··on Intel Core I7-11700K Review: Blasting Off with Rocket Lake
I really wanted to build a Zen 3 / RTX 30-something to replace my Ivy Bridge / GTX 1060. After months of chasing the RTX, I finally ordered a prebuilt yesterday with a 10700K / RTX 3080. Now to see if it really is "in stock and ready to ship."

The only thing I feel like I'll be missing in the 10700K compared to the 11700K is AVX512. It's been derided for throttling, but it does look kind of amazing for certain workloads.

One thing I find curious about the Zen 2 and Zen 3 product lines is that the processor I really want is OEM only: first the 3900, now the 5900. I like the idea of twelve cores at an easier-to-cool 65W. I bought an OEM Athlon back in the day, but I don't see a lot of OEM processors for sale these days. Maybe just more fallout from the chip shortage.

SloopJon··on How does your programming language handle “minus zero” (-0.0)?
It's also worth understanding whether +0.0 and -0.0 are equivalent in your environment:

* Do they compare equal?

* If they're convertible to boolean, do they both evaluate to false?

* If you serialize/deserialize the value (e.g., to JSON and back), does it maintain the distinction?

* If you send this value to a database (esp. one with stored procedures), how does its behavior compare to your language?

SloopJon··on Git's list of banned C functions
sprintf() warnings have gotten pretty sophisticated these days. I discovered GCC's -Wformat-overflow the other day. It complained that the buffer for a date string wasn't big enough; e.g., sprintf(buf, "%04d-%02u-%02u", year, month, day), where year, month, and day are 16-bit shorts, and buf was probably eleven or twelve bytes.

It may actually be a bug that I got the warning, because the range of each input was checked, and I think the compiler is supposed to be smart enough to remember that.

SloopJon··on Don’t blindly prefer emplace_back to push_back
Actually, he does discuss this in section 4b. He doesn't come out as strongly in favor of it, "The jury is still out on whether to recommend this one wholesale," although he does list what he considers some advantages. He also acknowledges in section 6 that it doesn't work for non-moveable types.

Despite my tendencies towards almost-always auto, I can't say that I consistently use auto x = type{init}, but there is certainly nothing wrong with it.

SloopJon··on Don’t blindly prefer emplace_back to push_back
> It also states that it's more work for the compiler, stating that the template resolution seems more complex, and suggesting it's likely to bloat compile times. That's a more persuasive point (hard numbers are provided at the end of the article)

I take the author's point about the cost of compiling a template, but the benchmark is odd: a thousand functions with a single call to emplace_back(). C++ programmers are (in)famously willing to trade compile-time performance for run-time performance. Complement the compile benchmark with a realistic program benchmark. In a typical program, I would expect emplace_back() to be called many more times than it's compiled.

SloopJon··on 3500 packages uploaded to PyPI, pointing to a malicious URL
That's interesting. There is a policy and process (PEP 541) in place for addressing this, and it seems to have been executed swiftly and responsibly. Is this incident an argument for namespacing, or that the status quo is good enough?

I feel like domain name disputes tilt disproportionately to trademark holders, so I wouldn't like to see, e.g., cupy block a cupyd package or vice versa (or, for that matter, NVIDIA somehow strongarm cupy). On the other hand, you'd like a mechanism by which you can trust that a package comes from the cupy maintainers.

SloopJon··on I built a 5K iMac Display
Does your display have glass in front of the panel? For some reason I find myself touching the glass surface of the 5K iMac a lot, which I probably shouldn't do to a bare panel.
SloopJon··on GNU poke 1.0
One thing I haven't had much success with when trying editors like this is dealing with variable data, like Pascal-style strings or varints. Another one is a length field that is either one byte, or a NUL byte followed by two bytes, or three NUL bytes followed by four bytes.

I'll have to give this one a try. It would be nice to be able to sift through binary data like bytecode or some non-standard serialization format without writing a one-off utility for it.

SloopJon··on Why is the DOS path character "\"? (2005)
I don't know about DEC-20, but on VMS, changing a file makes a copy with a new version number:

  $ edit foo.txt
  ...
  Ctrl-Z
  $ dir
  foo.txt;1
  $ edit foo.txt
  ...
  Ctrl-Z
  $ dir
  foo.txt;1 foo.txt;2
When you delete a file, you have to specify a version field (blank for latest):

  $ del foo.txt;
  $ dir
  foo.txt;1
IIRC, you can configure how many versions to keep.
SloopJon··on The Framework Laptop
One of the repair challenges is access to old parts. The drain hose on our three year-old washer sprung a leak. When I called a repair man, he at first said that Samsung doesn't make that part anymore. Fortunately, he was mistaken, but if that's something that happens for a simple hose, imagine trying to replace the "high-end headphone amp" expansion card on this laptop five years from now.

Even if I'm not too excited about the proprietary expansion card system, which will last as long as the founders' attention spans, if it gives access to standard memory and storage, that's an improvement over the current trend.

SloopJon··on Why we are still using PBKDF2-SHA256 despite being aware of its limitations
After a programmer changed PBKDF2 to use SHA512 instead of SHA-1, I asked whether it made sense to use SHA256 instead for this very reason. With SHA extensions on Intel (pretty rare, incidentally), and the cryptography extension on ARM, I wondered if SHA256 (with more iterations) might put defenders at less of a disadvantage relative to attackers than SHA512.
SloopJon··on Nvidia Limits RTX 3060 Hash Rate
> > These are GPUs that could have gone into a graphics card.

That's an interesting take. After the discussion of the announcement earlier this week, I presumed that this was a way for NVIDIA to improve yields by rescuing bad chips from the scrap heap. If a failed 3090/3080/3070 is going to a CMP instead of a 3060, that's not the win-win that they're pitching. If the alternative is a 2060, on the other hand, I'd still give them the benefit of the doubt.

SloopJon··on The Beirut Bank Job (2017)
Thank you. I love this bit at the end of a successful demonstration:

> [The bank manager] raised his hand during this whole all-hands meeting and he says what about the free computers? Do we still get the new computers? I'm like no, I was lying to you. I'm a horrible person.

And this one after getting caught at the wrong bank:

> He calls the guy who hired us to rob the bank. They start talking and halfway through the conversation he literally says do we have to split the cost for this? At that point I realized it was probably going to be okay.

SloopJon··on Nvidia announces mining GPUs, cuts the hash rate of RTX-3060 in half
If NVIDIA feels the need to gimp the upcoming RTX 3060, that suggests that the new CMP cards will not be attractive enough to compete on their own price/merit, or that they will be similarly supply constrained. That said, I'm curious to see how they perform for machine learning.
SloopJon··on Zsh Tricks to Blow Your Mind
What I would like is a blog post about making zsh less different than bash. I'll get to the mind-blowing tricks eventually, but for now I want the old tab completion and word stops back. Maybe I should just chsh back to bash, but the macOS copy of bash is really old now.
SloopJon··on VSI OpenVMS v9.0-G Released (x86 port)
The Community License page has checkboxes for Alpha and Itanium. The box for "x86 (planned)" is not yet enabled:

https://vmssoftware.com/community/community-license/

I guess I shouldn't be surprised that this is a VM-only product, but there's something unsatisfying about an O/S that can't boot real hardware.

SloopJon··on Fuzz me wrong – How QuickCheck destroyed my favourite theory
The takeaway for me, which agrees with my experience, is that QuickCheck is a great way to start testing. It's pretty amazing what you can find just by checking a few properties or invariants with a hundred random inputs each. It's kind of the seven-minute-a-day workout of testing.
SloopJon··on Golang generics proposal has been accepted
> Even templates in C++ are notorious for puking near impossible to decipher errors.

"Even"? I actually miss the macro-like power of templates when I'm using generics in Java and C#, but generating the longest possible error message using templates is practically an Olympic sport. I presume that SFINAE is partially to blame, because a lot of the output enumerates all the candidates that didn't match.

SloopJon··on TV Size-to-Distance Calculator and Science
As for wasting your money on a 4K set vs. a full HD set, it almost isn't even a choice anymore. The "budget" 4K recommendation at RTINGS is about $500.

Also, although it is mentioned in the text, keep in mind that not all content is high-bitrate 4K:

Cable TV? Probably compressed 1080p or 720p, depending on the channel. If it's Comcast/Xfinity, they may even squeeze three channels into the bandwidth of two.

Streaming? Compressed 1080p, with the occasional 4K.

Old (but not that old) Blu-rays? 1080p.

If you're sitting in your leather club chair, Oppo UHD Blu-ray remote in one hand and a glass of '92 Screaming Eagle Cabernet in the other, then sure--slide your chair into the sweet spot at the optimal distance per these charts.

Don't get me wrong: when I replace my ten year-old Sony, it's going to be with the biggest LG CX or C1 OLED my wife lets me get. Just realize that trigonometry isn't the whole story.

SloopJon··on LibreOffice tells businesses: Get off Community version, you are hurting devs
I looked for ZDNet's source to see where it was getting such tone-deaf and counter-productive messaging. It's from the actual release announcement discussed earlier this week!

https://blog.documentfoundation.org/blog/2021/02/03/libreoff...

Open source sustainability is a real problem, but spending the first seven paragraphs of a release announcement berating a bunch of your users as freeloaders is a really bad look.

SloopJon··on Factorio Future Plans
All things being equal, I'd choose GOG over Steam, but there are some complaints about delayed updates and/or needing to register for updates on the developer's web site. Can any GOG customers comment on their experience?
SloopJon··on The Dunant subsea cable
Wow, talk about a barrier to entry. Google already has Curie from North America to South America and Equiano from Portugal to South Africa. They're also working on Hopper from North America to UK and Spain:

https://cloud.google.com/blog/products/infrastructure/announ...

I presume that the other trillion-dollar companies are getting in on the action too.

SloopJon··on Apple in 2020: The Six Colors report card
I saw this on Daring Fireball the other day, and was reminded of it by "The Reshaped Mac Experience" post today. See also Gruber's response to this survey:

https://daringfireball.net/2021/01/my_2020_apple_report_card

And Michael Tsai's:

https://mjtsai.com/blog/2021/01/30/2020-six-colors-apple-rep...

← PreviousPage 8 of 26Next →