HN user

normaljoe

103 karma
Posts0
Comments56
View on HN
No posts found.

While that may be tragic, it still is the intentional effect and hardly a mistake. Apple focusing on its $250B iPhone market over its < $50B Mac market very much makes sense. When they removed 32 bit support we might have guessed at Apple Silicon on the desktop, and lo and behold that did come to pass. The Intel to ARM transition was much smoother than the PowerPC to Intel move in part because of 2 vs 4 versions in the Universal Binaries. I am going to go out on a limb here and say that Apple was also aware of ARMs forthcoming complete removal of AArch32.

I wouldn't call Apple's decision a mistake, they knew exactly what they were doing and their long term plan required it. The relative insignificant size of user base that still needs 32 bit support is dwarfed by all devices that will never need that. Apple has always been quick to drop backward compatibility to support innovation both at hardware and software. They dropped floppy support and CD/DVD support eons before the rest of the desktop market. Since they own the complete stack at this point and with everything SoC, at some point they will start saving die space not wasted on 32 bit support. To get there however requires they start pushing the software first.

As the other posts point out it's not just a matter of material, but a trade off. As you increase the ductile strength you end up with something that is more brittle and the same is true in reverse.

Brittle materials are more temperature sensitive and can rapidly fail. Brittle fracture is no joke look for WWII Liberty ships split in two as an example. We didn't really understand why at that point in time.

The answer though is actually pretty simple and why you can't get a perfect material. The lattice structure of the molecules connected to each other can be soft (plastic) or hard (steel).

In the plastic example just take a milk jug and poor boiling water into it. Don't actually do this without protective gear (oven mit should be fine). The molecules holding everything together get excited from the energy (heat) move around and since they are not closely bonded end up in a different configuration. Your milk jug at this point does not look the same and is deformed.

In the hard example just boil the water you are using for the plastic test. The pot you used does not change because the molecules are tightly bonded.

It turns out the the tighter the molecules are bonded there is still a point where that bond will break. Hence the brittle fracture, which is every molecule mic dropping and going home at the same time.

While I could go down another rabbit hole to the atomic, subatomic, level of how those lattice structures work. I won't as I think this example gives you what you need.

Finally in this case we have a very old, by modern space technology, structure that is made of material that was most likely never expected to last this long. If you want a space ship to last you just have to make sure the engineers understand what "last" means. :)

And this still happens in Texas where it is suppose to be illegal as well. I called provider multiple times and explained the rate from my insurer. They of course sent to collections, but they know they can't enforce it in court, but that doesn't matter. Most people are just going to pay.

What really got to me was it was ER visit and the Doc(extortionist) spent maybe 5 minutes with me before having the nurse fix me up. After insurance $250 to hospital, and $2000 bill for the Doc.

RC vs GC really depends on workload/memory and the volatility of the allocate to deallocate timeframe.

I think the better argument here is that iOS and MacOS use RC in the underlying objc libs. Having a CPU that works better around that makes sense to increase performance for those particular OSes.

Clock is a up volt and down volt. There is a period of time it takes to reach either up or down.

If I have to get the clock to reach 2 cores/units at the same time that is easier then say 4 cores/units. As you increase the clock speed the time to reach all the cores decreases. So if you are wider you would need to reach more cores/units in the same period of time, hence "harder".

EDIT (To make it a little more clear) To make it more clear the voltage change is typically represented in books as a vertical line, but that is not the case it's diagonal and fuzzy. By fuzzy I mean not a straight line but will have some tiny mini downs on the way up.

Different parts of the circuits are going to respond to the up or the down. They are also can vary based on the exact voltage. For example if I have a 5V up one circuit might consider 4.8V to be up and another could be 4.9 or 4.7.

Silicon has improved, but there still is limits of scale based on size, volts and timing.

Except it did by creating a larger market. Some of that was flashy at the start like the gold watches but ultimately created a new market. Personally I quit wearing a watch sometime around 2010 when I found I was checking my phone and didn't need a watch. Now I am checking my watch for time and weather and not pulling my phone out.

To godelski point yes there is low level stuff that really isn't a concern except to jandrese's point it's political. If I walk out of a reactor room and my gloves from my contamination suit pop too high they get put in a bag that is marked nuclear waste.

Granted the too high mark could still be perfectly fine to throw into a landfill and not impact anything, but nobody wants that in their neighborhood.

As to high level stuff which is what you are asking about, the spent stuff is really hot. To recycle, it would need to cool down first. Commercial plants place that in cooling pools, which is kind of bad if you have a Tsunami hit your plant (Japan), our something else.

So as to the waste element think I have 2% enriched object that is 100 cubic meters. The same in a highly enriched say 90% would only be about 2 cubic meters. This means my pools would be smaller, my overall size is smaller, and I can contain the smaller pool easier preventing the release.

On the politics side the idea of highly enriched is dangerous because it could be used for other purposes, however when those decisions were made I don't think anyone every imagined the concept of a dirty bomb in which enrichment is really going to matter one bit.

To be fair those are completely different things. Commercial needs a profit and uses low enriched material. Military is not concerned with profit and uses highly enriched material.

I am not as familiar with the commercial side but I can say the military model is safe as all get out and produces less waste since you only need to refuel ever few decades or so.

Also NRC is very much still involved with Military applications, which at this point just involves moving expensive war ships around.

It's not that SV is union workers but that union workers have a higher labor cost. Kind of goes to why GM started Saturn in TN and why Saturn cars where cheap in the late 80s, no unions thus cheaper labor.

SV labor is expensive compared to other markets (see below). I have worked in SV and elsewhere and mostly elsewhere is 1/2 the pay as SV and without the things like free lunch / coffee bar / shuttle service.

SV doesn't need unions because the turnover rate is so high that the companies are basically providing what unions would negotiate just to compete (free lunch / coffee bar / shuttle service). It's still a buyers market from the employee standpoint.

I do think SV is not quite at the inflection point just yet, but it is moving in that direction.

The irony in this is actually that the cost of labor is high because the cost of living is high. The cost of living is high because of the NIMBY folks preventing multiunit housing. If the ballon collapses those NIMBY folks would see their precious house values decline.

Finally as to superior products most Japanese and German cars sold in the US are still built in the US, just not Detroit because of.... Wait for it.... Union Workers.

Oh I remember those days and yes IE was the better browser even in the early Safari days. Back in '03 I still had get a VirtualPC instance running for a few websites and let that crawl.

The old MS/Apple relationship is kind of weird almost like the Gates/Jobs relationship. For you young folks it may be hard to believe but Excel started as a Mac App.

Tooling is not the issue here, nor is autoloading.

ISO C and C++ doesn't provide tooling, nor should any language. Tooling is better handled by third parties and implementers. Language should be focused on application and execution of the language. Unfortunately for PHP the language and implementation are tightly coupled as is Java and Swift.

A well constructed modern PHP project using composer has the tooling needed to statically validate. Personally I use PHPStorm but I also use IntelliJ for Java and Android. There are others out there as well.

Autoloading used correctly is no more than Java using a package line or namespace.

I find no problem with TypeScript and others. I however have a 10+ million line code base of PHP that predates TypeScript and others and needs to get a viable transition path. This gets things closer with real type errors at runtime. That is way better than my mainframe COBOL counterparts who have no path forward at the level of modern code.

I don't understand this comment from the standpoint that DBs including PostgreSQL, my fav, are not duck typed like higher level languages. They have to store the data in binary that must conform to something that can both be validated and indexed. That's to say how do you index something such as an int against a float. And how do you validate a constraint the the value must be between 1 and 10. This is why DBs can be hard and you have things like collations even among the same encoding for strings. Let DBs be good at data.

I don't see the need for abstraction either especially with Postgres which has a very good type casting system. I can insert a float into an integer column without any trouble and can return the same. Postgres even has a great syntactical sugar of :: for casting such that value::int or value::numeric just works.

Finally if this is a true requirement Postgres fully supports domains which are custom data types. They are not difficult to deal with and could provide for a syntax which would handle that. You might need a little work but I can have a domain which would include the int type and float type as a single data type. This still requires some plumbing to create a true union however it's not that far off. The downside however is again the DB has to store in binary so a domain like that would have two values stored for a single value which would be less than optimal solution.

The true value for PHP programmers here is that we can get closer to type validation in a duck typed system. This provides multiple type validation of scalars as parameter to a function. Less interesting to Java, Python, Ruby developers where everything is an object except in a few cases. Scalars are still widely used in PHP and this feature allows for not sending "banana" as a parameter to a function, that in the past would just cast this to 1. If you think banana == 1 then you are going to have logic bugs.

Last time I talked to somebody at USDS two years ago maybe, they where already helping. I think the biggest task was trying to figure out getting off tape and moving normal hard drive storage. Apparently this is hard because the really old programs are the OS and file system. Without the details it sounds to me this is what broke or something around that.

This is the exact opposite of what UPS software does today. It routes based on spending the least amount of gas. Dynamic routing to also conserve fuel in NYC would be a quite a thing and what's the incentive to do that? They would need to get enough tickets to justify the cost.

I completely agree. I went down the rabbit hole a few months ago and started reading some of Dennis Ritchie's papers on his home page. I particularly liked the C history linked below. I found it interesting around how the limits of the memory drove creation of things like the ++ an -- operators. Limitation being the mother of invention it's amazing, at least to me, how far we have come in such a relatively short period of time.

https://www.bell-labs.com/usr/dmr/www/chist.html

Is there a good reason, other than expectations brought from other langs, why 0 should be falsey?

Most likely this is a result of one of the mother of most bracket based languages specifically C and it's children. BCPL did not have multiple data types which I would guess was an artifact of it's time. I am not certain if this is still the case, but a language that was built in the 60's clearly had limits that are no longer valid. With no types it would be natural to define a boolean as a 0 and 1 in binary which would give you your 0 is falsey.

I was not born yet, and I expect you probably where not as well, when these pivotal decisions where made. It is still interesting to look back and see how what we do today was the result and the why of our forefathers in computer science. For example at the time I can see why Ken Thompson would make the choice of = as assignment instead of := to save bytes and use == for comparison. Assignment being a more often operator would indeed save space, but the amount of bugs it's created since then he probably would not have made that decision.

Django's ORM is actually a good example of where identity is an issue. It lacks composite primary keys. If I have a dependent table that has my real ID, say an order number that is a varchar I have to join to the parent table to do lookups by the order number. I can't doing something like key(order_number, line_number) so I end up hydrating a parent object for operations that only require operations on the dependent objects.

That's because they are Windows admins and not nix admins. They probably don't have a good understanding of the command line and if they do not the rich nix command line.

I have a single pg admin in current project and he can throw most tasks to the Oracle (running on Linux) admins or even junior Linux admins.

While "complex" they are still fairly basic to command line admins.

Anything with less than 3 pipes or one regex should be simple to command line *nix person. Granted to excludes you including a complex AWK script or inline perl execution on the command line instead of in a file like a normal sane person.

Download Yahoo Mail app and setup. They call their MFA Account Key and it uses the Mail app to push similar to Duo. I think other apps include Account Key, but it was just being pushed out when I last worked with Yahoo. The SMS is just a bootstrap and once you have the app you can pick your second authenticator as login.