HNHacker News
TopNewBestAskShowJobs

lambda

11,905 karma · joined May 21, 2009

submissionscomments
lambda··on Wi-fi is an important threat to human health
Also, if you check some of the citations that he lists for dangers of microwave-range radiation (you can click through to the full text of the article), they are things like studies of naval ships, in which the microwave radiation would be at much higher power levels than that which your Wi-Fi router is emitting.

This is full-on crank territory here.

lambda··on The Biggest and Weirdest Commits in Linux Kernel Git History (2017)
Where I work, we have several dozen repos, on for each component, and are thinking about merging it into a monorepo soon. That will end up giving us a repo with several different root commits.

In fact, for at least one of our components, we've already done this. We had something that solved the same problem for a couple of different permutations of software versions and platforms. The person who had originally written it had used separate repos, with common code copied and pasted between them, and later on we merged the repos together and factored out the common code so that could be shared. So we already have at least one repo which has 4 root commits, I believe.

Actually, I just checked and it has 7 root commits. I'd forgotten that we had also had similar problems that needed to be solved for some other software, and had some interns who had done those in separate repos as well, which also eventually got merged in to share all of the common code:

  $ git log --max-parents=0 --pretty="format:%h %cd %s" --date=short
  666c0bf 2012-07-09 Initial tree.
  528ca3a 2012-06-12 first commit
  50f1b18 2012-06-12 first commit
  86d66e0 2011-11-17 initial
  76a7789 2011-03-21 initial commit
  58f7afc 2010-05-20 initial
  deb50b7 2009-10-29 initial commit
lambda··on Caffeine dosing strategies to optimize alertness during sleep loss
I quit coffee for a year or two a while back. It didn't seem that hard to kick; a week or two of headaches and irritability, and then it was fine.

I picked up the habit again just because it's nice to have that warm, tasty beverage to start the day, and decaf just isn't the same. As long as you keep it to one in the morning and maybe one in the early afternoon, it's fine.

lambda··on Deprecation of OpenGL and OpenCL
They do make some money on Macs, and Mac software, but not nearly as much as on iOS.

Providing macOS gives a developer and designer platform for iOS. That is really important for them. So Metal being available on macOS is important for that reason. But it's also important in that the Mac platform is still important, just not nearly as important as iOS.

OpenGL doesn't really have much of a future. Everyone is moving towards the next generation frameworks. It just happens that there was a lot of uncertainty about whether OpenGL could adapt or whether there would be a successor, and during that time Apple decided to invest in developing Metal. It wasn't until a couple of years later than Vulkan was released.

In the meantime, Apple has built up quite a lot of tooling around Metal.

And it's not like it's that difficult to write cross platform apps that target the Mac. If you write against major engines, they will already have support for the different backends. If you are writing your own software, you can still target OpenGL, or you can target Vulkan and use MoltenVK to run it on macOS.

And for the next several years, people writing portable software are going to have to either just target OpenGL, for compatibility with older graphics cards, or maintain at least two backends, OpenGL and Vulkan. Given that lots of games target DirectX first, and consider any of the cross-platform frameworks a porting effort, Apple probably doesn't consider it a big loss to add one more platform that needs to be ported to.

What's going to wind up happening is more software like ANGLE (https://github.com/google/angle), MoltenVK (https://github.com/KhronosGroup/MoltenVK), and gfx-rs (https://github.com/gfx-rs/gfx and https://github.com/gfx-rs/portability, see http://gfx-rs.github.io/2018/04/09/vulkan-portability.html for details) for providing one set of abstractions on top of several different backends.

lambda··on Open Source License Helper Tool
Yes, they selected the relevant license for pretty much all reasonable desired uses except for this one. I really appreciate that they list just MIT, Apache 2.0, and GPLv3 on the front page.

The Unlicense sometimes causes issues with software being accepted into larger collections. CC0 is much more thoroughly drafted, and more widely accepted.

lambda··on Deprecation of OpenGL and OpenCL
Because the developers who would be working on OpenGL on macOS are working on Metal instead, because that's where the value is for Apple.
lambda··on Deprecation of OpenGL and OpenCL
But iOS is a lot bigger than macOS.

You notice that Apple supported OpenGL while they were making most of their money from desktop and laptop sales; but once iOS became so profitable, they decided to go their own way and start pushing Metal.

Lock in, or at least getting people to do more iOS first development (helped by lower profits on app store sales on Android, Android fragmentation, etc), helps Apple out a lot. You get the first version of apps and games, or more polished versions of apps and games, on iOS this way.

lambda··on Mono on AIX and IBM i
Yes, but they require you to fill out a long, detailed form about what project you're affiliated with, exactly what resources you need and for how long, an IBM advocate (?), and so on.

This is quite inconvenient for someone just wanting to do a little bit of experimentation before committing.

For instance, I was interested in experimenting with AltiVec on POWER for the Rust bug bounty. I wanted to get an idea of the scope of the problem, see how things work in C and C++, do a little bit of quick microbenchmarking in C and C++ to see how it compares to SSE.

If it turns out that it was something I was interested in pursuing further, I might try to work with the Rust project to apply for this kind of access officially for a CI system for the Power architecture. But that's a lot of trouble to go through if I just want to do some quick experimentation before deciding on whether the scope of the project is worth it.

lambda··on Start colon cancer screening at 45, not 50, American Cancer Society urges
OK, so urinate first into a toilet, then defecate into the container. The point is, it's pretty hard to urinate with an empty bladder.
lambda··on Gnome has moved to GitLab
> you’re only really committing to git

You don't use github just for git.

You use it for issue tracking, pull requests and code review, CI hooks, wiki, github pages, kanban boards, bot integration, and so on.

That's all stuff that locks you in to Github, and is non-trivial to migrate to another provider.

lambda··on Side-channel attacking browsers through CSS3 features
I don't think this can really be blamed on CSS. I mean, yes, a new CSS feature allowed a timing attack that could extract information, but these kinds of issues keep on coming up time and time again, meaning that it's not this particular CSS feature that should be blamed.

The issue is the ability to interact in any way with cross site resources which contain any kind of potentially sensitive information. This leads to things like clickjacking attacks, CSRF, information leaks like this, and so on.

The things that could be done to fix it:

1. Don't allow any kind of cross-site embedding (yeah, this isn't going to happen) 2. Treat any kind of cross-site embedding like private browsing mode; don't ever send any credentials along with it 3. Don't allow the embedding site to interact in any way with embedded content. Treat it like an entirely separate, opaque layer above everything else, not subject to layering anything over it

Of course, I don't think any of these are actually going to happen, because they'd break too much. But otherwise, it's going to be a game of whack-a-mole with information leaks, new kinds of clickjacking and CSRF, and so on.

lambda··on Intel Announces Optane DIMMs
It is quite unlikely that Intel was actually inspired by Linus of LinusTechTips. He's exaggerating for dramatic effect, just like the fake drama of not being able to find his RAM.

Persistent memory is something that Intel has been working on for at least 5 years (https://github.com/pmem), and given that that's the public face of the software side of it, they were likely starting to develop the hardware even earlier.

lambda··on Intel Announces Optane DIMMs
> Lol, looks like Linus actually inspired them

How so? Point to the quote?

lambda··on Mono on AIX and IBM i
Oh, yeah, looks like you also have to add the CPU, that's not included in the base price.

Although, for RAM and storage you can purchase that separately at cheaper prices.

I just tried to sign up for IBM's cloud, to see if I could use the limited free trial or $200 credit to try out one of the bare-metal systems.

Nope. The limited free trial only seems to apply to a few of their SaaS offerings; and the $200 credit also doesn't apply to their "infrastructure services" like VMs, bare metals servers, storage, etc.

Additionally, it looks like you need to get manual approval for you account to be able to use the VMs; even once I added my credit card info, they tell me my account needs to be reviewed by someone before I can actually rent server time.

On AWS or GCS, you just sign up and spin up VMs. I've used that many times for quick compat testing against different operating systems, some quick extra CPU cycles, deploying test servers, and so on.

But on IBM's cloud, you need someone to actually manually approve your account before you can do anything but use their SaaS offerings.

They really don't seem to want to attract people casually trying things out.

edit: after a bit, they did approve my account for infrastructure access. But the bare-metal POWER servers can't be rented by the hour, only by the month, and they start at $1000 per month. Still not really helpful for casual exploration. They also have such wonderful usability features as requiring you to allow popups in order to configure and order servers or VMs.

lambda··on Mono on AIX and IBM i
Yeah, it might be kind of interesting to play around with IBM i/OS/400.

Oh, and I guess I shouldn't have called it a mainframe operating system; that's z/OS. IBM i is their minicomputer operating system.

lambda··on Mono on AIX and IBM i
Raptor does have a sub-$2000 machine on pre-order: https://www.raptorcs.com/content/TL1BC1/intro.html

That is starting to approach the price point where it's worth it if you want to tinker, but with something that is a lot closer to a real machine than a $250 embedded board.

I tried taking a look for cloud services that offer POWER machines, but couldn't find anything that I could just sign up for and try for relatively cheap. There are a couple of universities that have free POWER clusters that you can request access to, but for tinkering I'd actually rather be able to pay for what I'd need rather than having to manually request access.

Do you have references to cloud services that would allow you to easily get access to POWER9 systems by the hour? IBM's own cloud services only seem to offer bare-metal POWER8 servers by the month; as far as I can tell (from their fairly confusing pricing page and docs), all of their virtual servers or hourly servers are Intel.

lambda··on Mono on AIX and IBM i
Oh, yes, I'm well aware of the difference.

It's all POWER though, and I seem to be seeing more of it around recently. I had thought that it was going to just keep on shrinking into a more niche market once Macs, Xboxes, and Playstations stopped using POWER/PowerPC processors, and Intel was dominating in the cloud, but it seems like they're actually investing again in trying to get out of the relatively small niche they're in now.

Maybe it's just my perception though; I happen to have noticed POWER related things happening in a couple of different areas recently. I haven't been following it very closely.

lambda··on Mono on AIX and IBM i
Really? Wow. I just assumed it was paid because I wouldn't have expected a hobbyist endeavor to port software to a proprietary Unix and mainframe OS running on expensive hardware.

Do you develop for AIX and IBM i for work and have access to hardware and inspiration to do this for that reason? If not, how did you wind up picking this as a hobbyist endeavor?

lambda··on Mono on AIX and IBM i
https://www.bountysource.com/issues/46345753-altivec-vsx-sup...

I looked into doing this briefly, and a couple blockers were that I couldn't find any easy cloud services offering POWER that I could use for testing, the cheapest dev system I could find, the Talos II Development System, is itself $5000 once you add RAM and storage (https://www.raptorcs.com/content/TL2DS1/intro.html, they do have a cheaper system available in pre-order: https://www.raptorcs.com/content/TL1BC1/intro.html), and the C intrinsics that they offer work with special overloaded functions with a vector type extension to C, making it a lot harder to use the approach of just offering wrappers for basic intrinsics and then working on higher-level support on top of that.

Looks like gnzlbg put more effort into it, but ran into similar issues: https://github.com/rust-lang/rust/issues/42743#issuecomment-...

lambda··on Start colon cancer screening at 45, not 50, American Cancer Society urges
> I find it almost impossible to avoid urinating when defecating

Can't you just urinate first, flush, and then defecate?

lambda··on Mono on AIX and IBM i
Seems like IBM is really increasing its investment in open source software and hardware for PowerPC recently. I've noticed them offering bounties for PowerPC related work on Rust, there's this recent work on Mono, and OpenPOWER has led to the development of truly open servers and workstations like the Talos II.
lambda··on Emacs 26.1 released
> Flymake has been completely redesigned

Hmm, I just switched to flycheck. Is it worth checking out this new flymake?

lambda··on Black: An uncompromising Python code formatter
I kind of subconsciously do the same thing; use single quotes for symbol-like strings, and double for human readable.

But I can buy the argument that just having a single auto-enforced rule improves consistency and that has greater benefits than the somewhat vague distinction that is not enforced.

lambda··on Black: An uncompromising Python code formatter
I've got to say, I'm quite happy with the default line length in Black.

The reason I always fight with people who want to increase line length is that they generally want to increase it to 100. Which is just a bit too big to fit two columns comfortably side by side at a reasonable size on a laptop screen, or three columns side by side on a wide desktop screen, which is how I generally set up my editors.

I'm always frustrated with codebases that use a 100 character standard, since I'm always running into lines that wrap, but when I use type annotations, 80 characters causes too many function signatures to have to wrap.

lambda··on Black: An uncompromising Python code formatter
Hmm. My reading of PEP 8 on slices is that the spaces surrounding : in slices are optional, and used to implement the later rule "If operators with different priorities are used, consider adding whitespace around the operators with the lowest priority(ies). Use your own judgment; however, never use more than one space, and always have the same amount of whitespace on both sides of a binary operator."

This leads to the following difference between the PEP 8 recommendation and Black:

PEP 8 accepts both of these:

  ham[lower+offset : upper+offset]
  ham[lower + offset : upper + offset]
While Black just uses:

  ham[lower + offset : upper + offset]
Also, this is one that PEP 8 doesn't have a example on, but I think this would be one of the cases in which the space wasn't necessary:

  slice[a.b : c.d]

The "." operator binds so tightly in my mind that it doesn't need the spaces around the ":" to disambiguate. It's at the same precedence level as subscription and function call, and higher precedence than unary + and -.

After typing this all out, I think that it might be the case that the bigger difference is actually in how binary operators are treated. It looks like Black always puts whitespace around binary operators, which contradicts PEP 8's recommendation that you are allowed to vary spacing around binary operators to make precedence clear.

Since Black does allow for leaving in extraneous parentheses to make precedence clear, I wonder why it doesn't allow varying the space around binary operators as well? Of course, it should enforce that the spacing actually does match the precedence, and that the spacing is consistent within an expression. That would allow the following examples which PEP 8 lists as "Yes":

  x = x*2 - 1
  hypot2 = x*x + y*y
  c = (a+b) * (a-b)
While right now Black rewrites them as follows, which PEP 8 lists as "No" (though my reading is that varying the spacing like this is optional, so the following could be accepted as well):

  x = x * 2 - 1
  hypot2 = x * x + y * y
  c = (a + b) * (a - b)
lambda··on Should Psychiatry Test for Lead More?
I think people may have been downvoting me because I misinterpreted the question I was replying to; but I stand by my description of one of the things I find wrong with psychiatry, the lack of much in the way of rigorous objective testing.
lambda··on Should Psychiatry Test for Lead More?
> I'm not disagreeing, but is this something that everyone reasonable would agree on without any sort of support?

Somehow, the field of psychiatry doesn't seem to actually act on it.

Or they do, since they prescribe drugs which are designed to cross the blood-brain barrier, but even when they decide to prescribe drugs, they don't actually do any kind of blood tests to determine which drugs are likely to be effective.

They prescribe drugs based on simply you talking about your own symptoms, or observing your symptoms, and then just trying things until they find something that works or that you report works. They don't even seem to use any kind of formal testing of cognitive functionality to determine what effects the drugs are having; they just rely on purely subjective chats with the patient.

lambda··on U.S. Launches Criminal Probe into Bitcoin Price Manipulation
> Why creating Tethers from thin air is now a cause of concern?

If you are claiming they are backed by USD, and you are creating them out of thin air, then that's a scam.

Other coins are only valued based on how the market values them. There is no fraud there; you are not claiming that you will redeem them for something else, they just represent themselves and are valued based on how useful people find that particular kind of cryptocurrency, plus hype.

MtGox was also a scam by the end, since they were trading on their exchange bitcoins and USD that they didn't actually have for people to cash out.

lambda··on Charging electric scooters is a cut-throat business
> At least in most of the US (can't speak for all 50 states) vehicles are taxed based on weight- a 1 ton pickup will cost more each year to register than a compact car or motorcycle

Registration fees and taxes are frequently based on weight; and tolls are frequently based on number of axles.

But the relationship between weight or axles and fees is generally linear, while the actual wear and tear on roads is quartic (to the power of 4) in the weight per axle, times the number of axles. If taxes and fees were properly proportional, there would be a much bigger difference in price between a motorcycle and 1 ton pickup truck, let alone an 18 wheeler.

> Do you really want to have to log every mile driven, and submit it to the IRS?

You can use odometer readings that you collect at annual inspections. I realize that not every state does this, but every state I have ever lived in does; you have an annual vehicle safety and emissions inspection, and at that point they can check your odometer too and include that in the calculation.

You could also use the current automated toll collection systems, which are based on transponder or license plate for those who don't have transponders, for highways and congestion charges for cities, if you want to be able to charge different rates in different areas, and just subtract those numbers from the odometer readings afterwards.

Metering EV charging separately does't really solve the problem. Gas taxes are not in proportion to actual maintenance costs of the roads, and are currently a fixed amount, not tied to the price of gas or inflation, so they don't cover the full costs. If you just applied the same kinds of laws to EV charging, you'd be left with the same kinds of problems.

By not charging proportional to road wear and tear, there is an effective subsidy of those who drive larger vehicles, and in particular commercial cargo transport on the highways, by those who drive smaller vehicles. If you were to change the way vehicles were taxed, the larger vehicles would pay more of the burden, which would mean they might switch to alternatives like train transport, or moving production closer to consumption, or the like.

A similar problem exists in cities and on busy highways used by commuters, where congestion is a substantial externality. There it's the square footage of vehicle footprint that makes the biggest difference.

lambda··on Charging electric scooters is a cut-throat business
Every car is legally equipped with a tracking device known as a license plate.

There are no more toll booths in the state of Massachusetts.

If you travel on a toll road in Massachusetts, your car will be tracked either by E-ZPass transponder, if you opt in to that system (at a substantial discount), or via photographing the license plate and sending you a bill in the mail.

Also, pretty much everyone I know, even the most privacy conscious, carry a tracking device in their pockets at all times. I think that rms may be the only person I've met who I know does not.

← PreviousPage 18 of 34Next →