Hacker News new | past | comments | ask | show | jobs | submit | more tralarpa's comments login

> Java doesn't let you directly ask for some reference type to go on the stack but does escape analysis to try really hard to put your Object memory on the stack for you anyway

Is that a new hotspot feature? I thought it can only do scalar replacement (avoiding object allocation and keeping the object fields in registers).


The cited scientific articles read as if some linguists are trying to make the thing bigger than it is. But okay, they have to make ends meet, too.


What kind of maintenance do they need? Maybe I'm doing something wrong :)


The front-loaders I've encountered seemed to have more electronics to fail and had less sturdy load-bearing parts.


We have several times experienced having to change the electronic board. It cost more than buying a new washer. The electronics does many many options, almost none of which we care about. I would just like a button or dial, and just press go but there are no units like that on the market.


The main bearing has an unfortunate position in that it has to hold up the weight of the drum + clothes on one side and so experiences uneven wear.


How does that manifest itself? I'm asking because I'm pretty sure that no washing machine in my extended family (parents, siblings, etc.) has broken down because of this in the last 45 years. All but one have made it well over 12 years. Three had problems during their lifetime: One needed a new control board, two needed a new waste water pump.

(I know all this because I recently had to replace our 17-year-old washing machine and I wanted to know which brand to buy)


It should get noisy and rotate less freely then ultimately seize up. From there it depends on the drive type, in direct drives the motor burns, in belt drives the belt gets worn.


This is a little bit weird: https://www.fourmilab.ch/evilempire/noEU/


Perhaps, but certainly consistent. John was famously not a fan of large government, be it the USSR, the USofA, or the EU - a believer in small government and prepared to sell merch to just that end.


What's weird about having strong opinions about the European Union?


I guess it's tongue in cheek, and it is funny, but some of what is written is a bit weird.

"anti-democratic ... empire at the expense of the natural rights, individual liberty, local autonomy, and cultural diversity which made Europe the wellspring of Western civilisation."

Firstly, I wouldn't call Mesopotamia and the eastern Med Europe exactly.

Secondly, lot of cultural and scientific advances that did happen in Europe were under (among others) the Roman, Holy Roman, British and Spanish Empires, which are exactly what he is against!

It's also weird that he thinks the EU "began to sprout" in 2003, a decade after Maastrict.


Is Mesopotamia typically considered the “west?”


Latin and Greek are both successors to the Phoenician alphabet. The Phoenicians settled parts of modern day Europe and brought their alphabet and other technologies that they inherited from Mesopotamian civs. The Greeks would have been nowhere without Babylonian maths and astrology.

West and East is very grey though. I've made a distinction that I'm happy with, and pointed out why I'm not happy with John's.

What do you think?


could not tell if this was satire or not. interesting fella


It seems like satire today given what's happened in the last 10 years but given it was published 2003, he was well ahead of the times and possibly writing with tongue in cheek, even if he did believe the thrust of it


> whereas it would be very bad if basic operations in a CPU had similar level of error rates

Evolution is about mutations when the executable file is copied.


That isn't how evolution works (or at least it is a gross generalization that is borderline wrong).

You own cells mutate over your lifetime and the mutations may trigger genetic features across your entire body. Sometimes, these mutations cause errors that we call cancer, but not always.

Evolution is when a certain genetic feature provides better fitness (which doesn't necessarily have to come from a mutation), and then gets selected through mating. For example, if suddenly people with brown hair were a better mate, it would be much more likely for the next generation to have brown hair, until non-brown hair were "evolved" out of the gene pool completely and it would be impossible to not have brown hair.

This is how we got orange carrots, which are distinct from the previous non-orange carrots, for example.


So evolution is copying the state of a running executable (one that’s poorly memory managed and dependent on external variables) instead of the file itself, and evolution favors favors the copies that survive and maybe even run faster or are otherwise better.


Not exactly, evolution doesn’t happen instantly. A digital comparison to an organism would be something like this:

An organism is a collection a billions of threads all running the same code but starting at seemingly random entry points. Before dying, each thread forks one or more threads (depending on external factors like available memory).

In order to reproduce, the “father” code sends a copy of its current code, but only the bottom word of every byte. The “mother” program combines this with the top word of every byte and then executes it in a chroot jail to make sure it will actually run. Once it is confident it will run, it “births” it onto its own machine.

Every thread in this process is running on non-ECC memory, with cosmic rays bit-flipping things, though there are threads running around making fixes to broken threads (actually, just killing them before they can fork).

The implementation of the threads isn’t relevant here (such as modeling proteins, atp pumps, and such).

In this, evolution fitness would be less cancer (fork bombs), doing usable work, successfully mating, etc. This evolution pressure might look like preventing mating until the program is a certain age or performed certain milestones and a “score” of how well it has done its work (both partners want a good “life score” but not too high — liars could exist! — to proceed with mating).

Evolution would occur naturally over many generations. From one generation to the next, they look nearly identical, but from hundreds of generations they might look identical, or not. The “not” part is evolution.


> which doesn't necessarily have to come from a mutation

My comment referred to OP's association of evolution with errors in genetic encoding and expression, hence my quote.


I was expecting that at the end it would turn out that the records of the lost civilization are full of symbols of a certain religion, let's say the "Om" sign or whatever, and that the priest would then realize: "Oh shit, religion XYZ was right all the time" or something like that.

Actually, I like my ending better :)

I guess we had to wait till Douglas Adams for such absurdities.


The answers in this discussion https://stackoverflow.com/questions/26323215/do-any-language... mention some old compilers using the ENTER instruction with non-zero second argument.


I couldn't edit my above post in time because the server was unreachable. What I wanted to add:

I think I misunderstood the blog author's question. He wasn't asking about the ENTER statement with a non-zero argument, but about the special ABI with arrays of frame pointers.


[Serious] Can you not just connect a physical numpad to your phone and use the phone screen as display?


I think you could, but you wouldn't leave your phone in the shop for other employees to use. You would have to buy a dedicated phone for the purpose... At that point you can also buy a dedicated calculator instead.


Many people have an old phone they could wipe, however. Even a brand new phone for this purpose would be cheaper than this smart device.

Still very cool and there are UX benefits to this device.


This device is for 40 USD. What phones can you buy at this price point that provide the same latency, reliability, and big keys you can smash, as this device?


I did the conversion wrong! My mistake!


Smartphone can be finicky to use, also you "lose" access to the calculator if someone call you.


Because these are businesses that are probably using a calculator anyway.

It's very much a cultural thing - punch numbers into the calculator and pass it back and forth when negotiating on a price, or add up the costs on a physical calculator on your market stall. You aren't giving receipts or anything, so hard to keep track.

I'm in the UK so don't see it often, but if you go to India / Vietnam / Thailand etc you see lots of people punching numbers into calculators everywhere rather than using some sort of POS system.

Asking why you don't just use your phone with a numberpad is missing that the selling point here is that the user interface IS a calculator.


One of the big draws is a tactile interface that you don't have to look at while you punch in the numbers. Smartphone touch screens don't offer that and brick phones are too dumb or the models that do have some form of smart OS are not available in these places. This seems like a good way to tap into an existing market that's fairly huge while adding smart features


I remember that I didn't like the Dragon Book when I was a student. But I don't remember anymore why :) (I think I found it poorly structured, and with too many details for some topics and not enough details for others).

If you already have some base knowledge, you might like this:

https://www.cs.cmu.edu/~janh/courses/411/18/schedule.html

I particularly liked how they introduced SSA form.

More advanced topics:

https://www.cs.cmu.edu/~15745/handouts.html


I also disliked the Dragon Book as a student. I found it to have too much of an emphasis on lexing/parsing and not enough discussion for optimizations/analysis for my liking. I liked Advanced Compiler Design and Implementation by Muchnick, although it does have some warts (ICAN; less discussion of SSA than I would've liked) and I think it is a bit dated now.

FYI: replacing the 18 with 23 in your link to 411 gets you a slightly updated version.


I suspect that the emphasis is an artifact when the Dragon Book was written - getting a decent parser was rather more of a challenge, and heavily optimising compilers a lot less common.

Tis one of those things, I guess.


> heavily optimising compilers a lot less common.

Not just that, but the theory that drives modern compilers, like graph coloring register allocation and static single assignment form, weren't conceived until the mid 1980s (1984 and 1986 each), and better implementations of those theories were written about in the 90s. Linear scan register allocation was first written about in 1999.

You can compare these books:

Engineering a compiler: VAX-11 code generation and optimization, which was published in 1982, talks about the design and implementation of the PL/I compiler for the DEC VAX-11.

You can compare it to Bob Morgan's Building an Optimizing Compiler, which was published in 1997. The techniques he discusses there are a lot closer to how LLVM works today than the 1982 book.


Fantastic resource, thank you.


It's very impressive what simultaneous interpreters can do. They don't wait for the end of the sentence.


Even they struggle with jokes though.

This may be apocryphal but I’ve heard that in formal settings (e.g. UN) they won’t translate it and will instead give instruction on when to laugh.


Yeah they backtrack on branch prediction failures.


What kind of heartbleed that must introduce.


You mean meltdown/Spectre?


probably, but you got the gist anyways


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: