The way I've heard it is: Being a microwave engineer is the easiest job in world. You basically only do two things, design oscillators and design amplifiers. What's the worst thing that can happen to an amplifier? It oscillates! And what's the worst thing that can happen to an oscillator? It won't start, but it's usually still a pretty good amplifier. Win-win!
It is important to remember that IEEE 754 is, in practice, aspirational. It is very complex and nobody gets it 100% correct. There are so many end cases around the sticky bit, quiet vs. signaling NaNs, etc, that a processor that gets it 100% correct for every special case simply does not exist.
One of the most important things that IEEE 754 mandates is gradual underflow (denormals) in the smallest binate. Otherwise you have a giant non-monotonic jump between the smallest normalizable float and zero. Which plays havoc with the stability of numerical algorithms.
Sorry, no. IEEE 754 is correctly implemented in pretty much all modern hardware [1], save for the fact that optional operations (e.g., the suggested transcendental operations) are not implemented.
The problem you run into is that the compiler generally does not implement the IEEE 754 model fully strictly, especially under default flags--you have to opt into strict IEEE 754 conformance, and even there, I'd be wary of the potential for bugs. (Hence one of the things I'm working on, quite slowly, is a special custom compiler that is designed to have 100% predictable assembly output for floating-point operations so that I can test some floating-point implementation things without having to worry about pesky optimizations interfering with me).
[1] The biggest stumbling block is denormal support: a lot of processors opted to support denormals only by trapping on it and having an OS-level routine to fix up the output. That said, both AMD and Apple have figured out how to support denormals in hardware with no performance penalty (Intel has some way to go), and from what I can tell, even most GPUs have given up and added full denormal support as well.
At those power levels they would have to use some kind of highly error-corrected modulation and coding scheme to provide enough coding gain to overcome the path loss. I agree they are pretty optimistic, but until they detail their modulation scheme, it's hard to tell.
A few years ago I was experimenting with 900 MHz LoRa for a work project -- we had need to communicate a very small data payload from inside elevator cabs, with forgiving latency requirements. So we took a LoRa board to a hotel building 2 city blocks away from our lab and cranked the coding gain up to the max, which gave us about a 1 byte payload every second. Perfectly sufficient for our application. Astoundingly, we had great copy in our lab even when the doors of the elevator cab were closed, inside a building 2 blocks away. I can't remember the power level, 500mW I think, but I may be wrong.
Isn't there a moon bounce mode in WSJT (or one of those digital modes) that provides enough coding gain that 100W and a single large Yagi is enough? I seem to recall hearing something like that... but, yeah, on CW a monster antenna and the legal limit of 1500W seems to be the median system.
A long time ago I started collecting parts for a 432MHz EME system. Life got in the way and I never built it out. Good luck with your endeavor!
> but, yeah, on CW a monster antenna and the legal limit of 1500W seems to be the median system.
A good ten years ago or more, they used Arecibo to transmit CW moonbounce on 70cm. I was able to receive it in my back garden with a handheld and an 11-element Yagi balanced on my clothesline ;-)
It’s been quite some time since I’ve been in the business of writing lots of unit tests, but back in the day, I found hypothesis to be a big force multiplier and it uncovered many subtle/embarrassing bugs for me. Recommend. Also easy and intuitive to use.
Hypothesis is also a lot better at giving you 'nasty' floats etc than Haskell's QuickCheck or the relevant Rust and OCaml libraries are. (Or at least used to be, I haven't checked on all of them recently.)
I concur. Hypothesis saved me many times. It also helped me prove the existence of bugs in third party code, since I was able to generate examples showing that a specific function was not respecting certain properties. Without that I would have spent a lot of time trying to manually find an example, let alone the simplest possible example.
I’ve never use pbt and failed to find a new bug. I recommended it in a job interview, they used it and discovered a pretty clear bug on their first test. It’s really powerful.
That is an immature view on how real products and real standards work. The standard document may say one thing, but what people do in the real world is the real standard.
For context: I spent 11 years at Intel managing pre-silicon and post-silicon processor validation. No processor that does only and exactly what the Programmers Reference Manual says, and takes the phrase "undefined behavior" seriously, will be successful. Google would do well to adjust their philosophy.
If history has taught us anything, it's that Google is happy to willfully ignore, rewrite, and use their market dominance to snuff out any existing standards if they see a way to seize control and make money off something.
Absolutely, but in the context of IMAP, it's already a mess of special cases. Gmail having a weirdness, an extension or two changes basically nothing. Not to mention the fact that what they offer over the web is more flexible than what IMAP usually allows, it simply does not and can not map directly to IMAP.
It's really dumb that one message has* to exist in only one location for example, labels are so much better.
It's been an odd running theme for me today that I've misinterpreted posts. Up until your final sentence, I thought that the thesis of your post was:
The standard document may say one thing, but what people do in the real world is the real standard. If your software has issues with the world's most popular IMAP server, you need to adjust your software to be compliant with the standard.
I'm personally more sympathetic to your actual conclusion, but it's odd how often a single argument can be used to support two conflicting beliefs.
Yeah, agreed! I titled my guide "Practical IMAP" for reason (and almost called it "IMAP As She Is Spoke"). The standards are useful to a point, but actually to jeffbee's point the internet has evolved a lot since then, and how to actually work with modern email is a pretty underdocumented - including by Google themselves on the Gmail-specific parts.
If an x86 implementation was imperfectly compatible with Intel CPUs, nobody would buy it. Gmail, on the other hand, is a massive market success. It is those who shout that IMAP must be exactly and only whatever mutt+uw was doing in 1997 who are on the wrong side of history.
It's a free email account, it is not at all clear that "weird IMAP" is core to that success?
Certainly I moved away to Fastmail, which has better IMAP support (but mostly because Google having full control of my email address was becoming too big of a risk and Google Apps is expensive for your own domain).
Pffft.... that's what ham radio is for.
(Note: humorous, not ill intent here. An old office mate of mine once kidded me that he thought ham radio was a conspiracy on the part of the world's geography teachers to get people to take an interest in their subject.)
Yes, this is certainly true for ICE vehicles. The measurement methodology is spelled out in exacting detail, and yields highly repeatable results. Realistic? Nope, not at all. Nobody could claim that. But, it is repeatable and comparable, so that you can compare car A to car B. It gives you a strict rank order for vehicles that are driven exactly the same way, it just so happens that no person drives exactly that particular way. The utility is in providing a repeatable point of comparison. Is that useful?... forgive me for saying it, but YMMV.
In my experience as a parent, you can provide the resource but don’t need to push. Love of math will happen if it has the right environment. For a 7yo I might suggest looking onto Epsilon camp, and Art of Problem Solving (which is on line).
My own kid went to MathPath (middle school camp by same people as Epsilon Camp). Loved it. “Yes, dad really, I want to spent a whole month of my summer doing math.” The social experience is great for kids to be with other kids that like math.
If you're 'good' enough/identified a certain way as a kid, they'll bend over backwards to get you in things like that even if you're not well off. I wasn't from a well-off family, but test scores in the top 0.1% meant somehow there were scholarships to make camps and programs accessible once/if I expressed an interest. Whatever amount was required to make it affordable.
I'm a thoroughly useless adult, so it was a waste of money on their part, but it does happen. Or at least it used to.
I got put into some “smart kid” activities in grade school, but as a poor kid with zero advice from parents, I really had no idea what to do with it.
No one told me that math is really 90% about writing proofs, all those homework problems I did were just the weed-out stuff, the academic equivalent of Leetcode.
So when I got put into some “real” academic math as a teen, I crashed and burned hard. I didn’t have a tutor and it never would have occurred to me to ask for one, so that was that.
When I was 18 years old in my first year of college, after my first semester grades came in, a guidance counselor set up a 1-on-1 with me to talk about the Rhodes Scholarship process and what my research interests were.
My response was: 1) what the heck is a Rhodes Scholarship and 2) how could I possibly have “research interests” as an 18 year old college freshman.
That was the final chapter of society considering me “gifted”, but it was just as well, I couldn’t imagine any greater success beyond getting a job and being able to afford my own apartment.
Mostly because a lot of my personal interests/ability to self-develop was related to Internet access. (My parents made VERY QUESTIONABLE financial choices and opted to pay for Internet access instead of food or clothing so I might have been freezing and my clothes all had holes in them but I could go online to talk to other smart kids.)
Also because I remember me + my parents being sat down when I was in elementary school and having my options talked about. In middle school once I was proven to have programming and math aptitude during the dot com boom, educational experts came to us and discussed specific gifted learning options (including things like private schools, skipping grades, or even pulling me out of school altogether for private instruction). None of this was initiated by my parents - it was brought to us. This was in the 90s.
I was born in 1985, we got dialup around 1996 I think?
I did teach myself programming in the 90s, after my friend loaned me his floppy disk with all his QBASIC stuff. Then dabbled in PHP, MySQL, etc.
We had one computer programming class in high school and I never got to take it because I had too many other electives. I don’t think it would have done much for me by the time I could have taken it.
It never really occurred to me as a teen that I could use the internet for getting really good at academics or broader “self-development” - I guess I just cared about video games and making money. Parents’ attitude was as long as I was getting As and going to college they didn’t need to do anything.
This might be the first time in my life I’ve seen someone with a similar experience. As a big fish in a small pond, opportunities just present themself to you. Free summer camp that provides college credits? Going to national/state competitions just because? It’s all second nature once you’re ’that kid’. Even bullying goes away because everyone knows you have the ear of the teachers and administrators and/or wants your help on homework.
Of course you still hit the wall later. But I see all the reports of how terrible it is to be gifted and am so grateful that my experience was different.
You get away with so much, it's a terrible adjustment to be 'normal' after that. I still struggle frequently, and have to take a lot of steps not to come off as an arrogant prick. Luckily, I have a fair amount of charisma, and I used to be an attractive young woman, which conceal a lot of social sins, but it's still one hell of an adjustment.
If I'm honest, I never ran into an intellectual wall. I did choose a comparatively 'easier' path, but that was more because I had a wide breadth of interests and choosing something easier meant I'd have more time to indulge my various interests. I was still getting interviews for tenure track positions out of grad school and when I did try to work post-graduate school, my first position was at an Ivy where I was the only one on staff who didn't come from an Ivy League school. (I was too lazy/too absorbed in my own things to do what was required to go to one.)
I ended up disabled in my last semester of graduate school - the 'wall' in my case is my body being unable to accommodate the social/networking demands of an academic or high powered private research career rather than my running into a topic I felt was beyond me. Particularly combined with being on my own in a HCOL area as that lifestyle required: Doing all your life management on your own with no safety net along with running at that high of an intellectual level is near impossible when you have a severe disability. (I have MS.)
I've been 'stuck' intellectually once in my life, and it was the result of a medication we tried for symptom management, and I found the feeling horrifying, if I'm honest. It was the first time I'd run into a problem where I had to sit there and think and still couldn't come up with a way to proceed, versus running into a problem and just being too damn lazy to bother. (Being able to see what I would do to solve the problem is very different from being motiviated to do so.) Apparently, most people feel that way fairly often? It made me way more sympathetic to people who didn't like school or who don't like learning.
Yes, this. And I don't have a PhD, I have a Master's. I'm not saying the wall doesn't exist - that's why I specified I chose an 'easy' path. I'm just saying in my case the wall wasn't intellectual.
Ha ha, yeah, for sure. It is easy to tell the Python code coming from an experienced C programmer. The thing about Python is, you can just give C a semi-colon-ectomy and it pretty much works. But it isn't Python... it took me a while to get completely pickled in the Python way of doing things. Ramalho's book did more than anything to put my brain into Python mode.
I do a lot of hardware hacking, where I'm writing C for the hardware, and Python for my testing. Probably half of my syntax errors are typing C into the Python editor, or Python into the C editor.