I wrote this in an email turning down a chance explore opportunities at Coinbase.
> To me, diversity and social justice are critically important. I have the luxury of being selective in where I put my time and energy and it is important those values align with my career. I appreciate aspects of being "mission focused" but I think that there is a gulf between my personal values and Coinbase's values such that I would not be comfortable in the environment.
I can't speak for anyone else but I think I'm not a terrible engineer and I definitely ruled them completely out of the realm of places I'd be willing to work.
3) Originated elsewhere (per above) and broke out in Wuhan
4) Unintentional lab leak of a natural strain
5) Unintentional lab leak from GoF research
6) Unintentional lab leak from bioweapons research
7) Intentionally released to by the CCP
8) Intentionally released by internal opponents of the CCP
9) Intentionally released by external opponents of China
10) ... and so on
I can come up with sensical (if not always likely) scenarios which fit all of those, and many more.
Most of the scenarios suggest we should be doing much more.
For example:
* If there was an unintentional lab leak of a strain in GoF research, China knows things about COVID19 we don't. They took extreme measures. It's reasonable to assume they might have had some reason.
* If this was a "test" of a bioweapon -- understand China's and the world's response -- it's worth treating as a dry run (note that this does not necessitate Chinese-run test)
* If this were a bioweapon, we should take long COVID very, very seriously, since the best bioweapons are designed to cripple rather than to kill.
What's odd to me is that, as far as I know, no one has compiled a list, evidence, or implications.
I might as well plug my 6502 assembler MOS[1] again. It's written in Rust and comes with a full language server implementation that does things like full code formatting, refactoring support (go to symbol, renaming, etc) and if you're using the VICE emulator for the c64 it even integrates with the Visual Studio Code debugger.
I got into C64 6502 coding last year - had a pretty decent game prototype working (before had to relocate and life got in the way!). If anyone wants to go down that rabbit hole, I recommend the Twitch streamer "Shallan" (https://www.twitch.tv/shallan50k). All his old videos are on YouTube too, and tonnes of great info to get started and motivated.
Libraries loaded with RTLD_LOCAL will still have their symbols resolved against those from already loaded libraries as well as the main executable. Looks like there is dlmopen() in glibc since ~2005 though and there is libcapsule [0] which makes it actually usabel - neat.
I've just gone through this process over the last couple of years. To be honest, the most effective learning tool for me was dedicating my free time for a little while to learning Haskell. It's a higher upfront cost but a huge pay-off, not just in terms of understanding fp-ts but more broadly in how you'll be able to view programming through a new lens.
That said, I wrote this[1] a year and a half ago for some colleagues just as I was getting into it myself. I hope it helps, and if not let me know if there's anything more specific I could help with.
The portrait modes on these are getting really good. The blur is pretty convincing looking. The only open-source software I know that does similar stuff is body-pix which does matting, but I don't think it generates a smooth depth map like this thing. It would be cool because then you can do a clever background blur for your Zoom backgrounds with v4l2-loopback webcam.
By the way, I decided to also quick summarize the usual HN threads that have the trigger word iPhone in it:
- No headphone jack
--- Actually this is good because ecosystem built for it
----- Don't think ecosystem is good. Audio drops out
------- Doesn't happen to me. Maybe bad device.
----- Don't want to be locked in. Want to use own device.
------- That's not Apple philosophy. Don't know why surprised.
--------- I have right to my device
----------- cf. Right to Repair laws
------- Can use own device with dongle.
--------- Don't want dongle. Have to get dongle for everything. Annoying.
----------- Only need one dongle.
------------- If only audio, but now can't charge.
----------- Use dongle purse.
--- Apple quality have drop continuous. Last good Macbook was 2012.
----- Yes. Keyboard is useless now. Have fail. Recalled.
------- I have no problem with keyboard.
--------- Lucky.
------- Also touchpad have fail. Think because Foxconn.
------- Yes. Butterfly? More like butterfly effect. Press key, hurricane form on screen.
----- Yes. Yes. All Tim Cook. Bean Counter.
----- Yes. Many root security violation these days.
------- All programmers who make security violate must be fired.
--------- Need union so not fired if manager make security violation.
----------- Don't understand why no union.
------------- Because Apple and Google have collude to not poach. See case.
------- Yes. Security violation is evidence of lack of certification in industry.
--------- Also UIKit no longer correctly propagate event.
--- Phone too big anyway. No one make any small phone anymore.
----- See here, small phone.
------- Too old. Want new small phone. Had iPhone 8. Pinnacle of small beauty.
------- That's Android. No support more than 2 months.
--------- Actually, support 4 months.
----------- Doesn't matter. iPhone support 24 centuries and still going. Queen have original.
--------- Yes, and battery on Android small.
--- Will buy this phone anyway. Support small phone.
----- No. This phone is also big. No one care about small hand.
------- Realistically, phone with no SSH shell dumb. I use N900 on Maemo.
--- Who care? This press release. Just advertisement.
----- Can dang remove clickbait. What is one-eye anyway? Meaningless. Phone no have eye.
--- Also, phone not available in Bielefeld.
--- Phone only have 128 GB? Not enough. Need 129 GB.
----- 64 GB enough for everyone.
------- "640 KB enough for everyone" - Bill Fence, 1923
I agree strongly with you about the need for good resources. Here are a few I've found that are useful.
* A trip through the Graphics Pipeline[1] is slightly dated (10 years old) but still very relevant.
* If you're interested in compute shaders specifically, I've put together "compute shader 101"[2].
* Alyssa Rosenzweig's posts[3] on reverse engineering GPUs casts a lot of light on how they work at a low level. It helps to have a big-picture understanding first.
I think there is demand for a good book on this topic.
All: when you take a thread like this further into political flamewar, here is what we end up with: "all $country1 society is living in a hateful state", "I am totally for dragging $country2 into a bloody war", and "I'd sign up in heartbeat to take a gun to $country3".
Is that the kind of community you want to be part of? If so, please find a different one. If no, then please don't take HN threads further into political or nationalistic flamewar. It's shameful. It would count as violence too, if internet forums weren't such teapots.
No more of this, please—where by "this" I mean any vector pointing to that hellish reductio, not just the ones that actually get there. What to do instead: have thoughtful, curious conversation. If you can't have thoughtful, curious conversation, please don't post until you can.
This sounded an interesting challenge, so I decided to have a go at it. Here’s my best attempt: ꧁ꦗꦥ꦳ꦱ꧀ꦏꦿꦶꦥ꧀ꦠꦼ꧂ / or as an image: https://i.imgur.com/kRq6o88.png.
An explanation, because it’s interesting: Javanese script is an abugida, like all other Brahmi-derived scripts. This means that each letter has an inherent vowel; thus, a letter by itself represents a whole syllable, starting with that consonant and ending with the inherent vowel. In Javanese, the inherent vowel is /a/, so the first two letters ꦗꦥ꦳ represent the two syllables /ja va/. (The dots on the second letter indicate that /v/ isn’t a native sound; the closest you can get natively is ꦗꦮ /ja wa/.) The next syllable /skri/ is ꦱ꧀ꦏꦿꦶ, which has a few components, so let’s break it down. Firstly, vowel change is achieved by adding a diacritic; e.g. /ja wi/ would be ꦗꦮꦶ, with the diacritic ◌ꦶ for /-i/. You get consonant clusters using the conjunct form of a consonant — the second consonant in a cluster is changed to its conjunct form and placed below (or sometimes next to) the first consonant. e.g. /ka/ is ꦏ, while /sa/ ꦱ can be converted to /ska/ ꦱ꧀ꦏ by placing the conjunct form of ꦏ below ꦱ. (In Unicode, the conjuncts are not encoded separately, being a combination of the first consonant in the cluster with a pangkon, but that’s a discussion for another time.) Finally, the syllable gains a medial /-r-/ from the ‘cakra’ diacritic ◌ ꦿ wrapped around the syllable. So: starting from /sa/ ꦱ, add the conjunct /ska/ ꦱ꧀ꦏ, then add the cakra giving /skra/ ꦱ꧀ꦏꦿ, and then finally add the vowel diacritic giving /skri/ ꦱ꧀ꦏꦿꦶ. The final letter ꦥ꧀ꦠꦼ represents /ptə/, and is formed by similar principles: /pa/ ꦥ → /pta/ ꦥ꧀ꦠ → /ptə/ ꦥ꧀ꦠꦼ. (Or possibly should it be /pʈə/ ꦥ꧀ꦛꦼ? But ꦥ꧀ꦠꦼ sounds the same to English-speakers, and looks nicer in context.) Finally, I added ꧁꧂ around it to look nice — in authentic Javanese manuscripts, these punctuation marks are used surrounding titles.
EDIT: I forgot to mention why I split up the last English syllable /skɹɪpt/ into two syllables /skrip.tə/ — it’s because Javanese syllables can’t end in /-pt/, so I have to insert a vowel afterwards to make the English word fit into Javanese orthography. (And then the orthography adds an extra layer of complication, because the two syllables /skrip.tə/ end up being written as orthographic /skri ptə/, with the /p/ being moved to the beginning of the next syllable block, because Javanese script can only write initial consonant clusters… I think; this is one of the bits I’m a bit unsure about here.)
I was shocked reading your comment - how could you know about an incident that I thought only 2-3 people witnessed, an event where I was present but few other people were?
Then I googled it, and it turns out that you are likely referring to a larger, different event where I was not present.
It seems like he did this a lot, then? He definitely harassed a young woman at an event I organized, and did a 1-1 version of this emacs virgin thing directly 'at' her. It was weird, creepy and I did my best to deal with the situation and help the audience member feel more welcome at the event after the harassment. She was visibly upset and very uncomfortable in the moments after he said it. It happened before a talk he was scheduled to give, as the audience was arriving and sitting down.
Had no idea that this wasn't the only time it happened. Didn't know there were other instances.
Yeah :/. So, I also (well, used to... damn pandemic ;P) travel around talking to people--largely college students, as I got caught up in the whole "hackathon circuit"--about open source and, specifically, free software (I am sometimes even put in debate-style panels with people like Kyle Fogel from the Apache Foundation, so I can argue for GPL over BSD); and I have just run into too many people (and I don't mean "merely" recently, after all the recent public brouhaha about RMS: I have been doing this for a long time, and haven't even been able to do it in over a year anyway) who were turned off of the whole movement by Richard Stallman pulling stuff like this and making the entire audience unhappy and uncomfortable. I seriously would get people coming up to me afterwards saying stuff like "you know, I wasn't expecting much from your talk, because RMS came last year and [random horrible stuff happened], but you actually made this all sound so reasonable", and then I spend the weekend hanging out with everyone (which I can't imagine RMS ever getting to do) and I get converts. I just don't think RMS is winning over anywhere near as many people as he is turning away :/. And like, people can blame this on "neurological issues" all they want--and seriously: even let's assume for a moment that somehow he does have a neurological issue that makes everyone think he is misogynist even though he isn't (which I think is a strange disorder, but let's grant it for a moment)--at the end of the day it doesn't change the reality that he needs to stop being the public figurehead of this critical organization (one I fully understand he started) for the good of his own movement... and frankly, he should be realizing this himself and actually truly "stepping down" as opposed to requiring us to force him out :(.
> The end goal is to have an application running on terminal or raspberry 24/7 plugged into my home network, without access to internet.
As far as I understand you're using it as the primary interface for all your data, but in case you want to import some external data sources too, you might be interested in a project I started [0]. You can take periodic snapshots of you online data, and then use it as a fully offline programmatic API to integrate with other services, and potentially use in your dashboard as well. Perhaps if you glance at the diagram [1] it might become clearer how it fits :)
So happy to see this pop up on hacker news again.
An anecdote (as far as I can remember it correctly), during one of his award lectures (after the 1997 Turing award), he was asked why he thinks that some of his tech was easily adapted (mouse etc.) and some others weren't (hyperlinks). He answered "Maybe the time is not right yet." ;)
Shameless self plug:
I'm part of a couple of crazy scientists and enthusiasts following work from Doug Engelbart, Wiener, Stelarc etc.
Our yearly conference is coming up next week:
https://augmented-humans.org/
As noted in the writeup, Squad is part of a triptych of interpreters working within the same constraints; the other two interpreters are Applejak[0] and Bulb[1].
I wanted to write an LLVM backend for various instruction sets (e.g. Z80, R216[0]), since those would deal with the problems of optimization passes and register allocation for me, but the LLVM tutorial[1] makes it look so goddamn hard. Does anyone know of a tutorial or of a declarative way to write such backends for either QBE or LLVM? The QBE git repository[2] has a few backends but also looks similarly involved.
Comparatively, writing frontends is quite easy these days and many examples of compiling to IR exist.
> Pournelle's Iron Law of Bureaucracy states that in any bureaucratic organization there will be two kinds of people":
> First, there will be those who are devoted to the goals of the organization. Examples are dedicated classroom teachers in an educational bureaucracy, many of the engineers and launch technicians and scientists at NASA, even some agricultural scientists and advisors in the former Soviet Union collective farming administration.
> Secondly, there will be those dedicated to the organization itself. Examples are many of the administrators in the education system, many professors of education, many teachers union officials, much of the NASA headquarters staff, etc.
> The Iron Law states that in every case the second group will gain and keep control of the organization. It will write the rules, and control promotions within the organization.
This (and other organizational failures and technological innovations) is why there will always be startups and small businesses eventually where there was once a big entrenched business or two (or sometimes three).
There is also, of course, whole new industries and niches to be created out of nothing, value and wealth is never a finite pile. It's mostly a matter of human effort to find and break out these new areas. Sometimes just reinventing things as the old talent grows old and dies off, providing value in learning history.
Yes, but I won't last forever either. I have, if I try very hard, 40 years of useful employment left in me. It's possible that the Holy Karelian Empire will displace US hegemony in the next 40 years, but it's not that likely. It's also possible - and much more likely - that Finland will end up on the wrong side of the US and maybe be a site of a hot proxy war between the US and some upstart superpower within the next 40 years, but that also seems fairly unlikely.
Forty years ago the world was not too different - the USSR and East Germany existed and China was not so strong, but the shape of the rest of it was otherwise broadly similar. There are very few countries that were prosperous and peaceful and lightly-armed in 1980 that are bad choices today.
This reminds me of when I tried to write HTML code in bash.
<html> hi </html> a
This code when run as a bash script reads from a file with name "html" and writes to file "hi".
It also reads from file "html" (in the root directory) and writes to a file called "a".
The "a" in the end is just to avoid bash errors about unexpected newline.
When I played with this a few years ago I actually discovered a bug in bash.
If I had a bash alias with the same name as one of the filenames, bash would do alias expansion on the filename.
This bug was triggered by executing a line with two redirection operators before any command.
So if you follow these steps:
$ alias a='abc xyz'
$ </ >a
you would get the error (in addition to a file created with name "abc"):
bash: xyz: command not found
This happened because bash expanded the second line to:
$ </ >abc xyz
and therefore treated "xyz" as a command (and "abc" and the root directory as filenames).
This bug doesn't work anymore in new versions of bash because it has been fixed.
The Octo IDE discussed here looks awesome. One of the problems that I had with CHIP-8 implementations in the past is that my games would run differently on all of them.
The experience has shifted my views of DRM. Originally, I saw DRM as highly anti-consumer, and a waste of time and clock cycles. Arguably I do still believe that - but now I have great respect for the technical side of good DRM implementations, and I acknowledge that they provide a time buffer to protect against the first wave of piracy.
I've stripped Arxran's protections from software in the past, and I might just have a look at breaking RDR2 now it's been brought to my attention...
Years ago for my sister's 30th birthday, I did a fun project involving the USPS.
I wanted to send her the message "Happy Belated Thirtieth Birthday!", which is 30 characters, via postcards, one character per postcard.
I found 30 post offices in unique places throughout the U.S. (For example, I found a town that had the same name as her given name in Illinois. I found another with my name, etc.)
I used Zazzle to print a custom post card for each location with a picture of the location on one side, and a large block letter on the other. I just did a Google image search at the time to find photos of the location. Here's the image I used for "Truth or Consequences, NM":
I then hand wrote a message on each postcard that started with the block letter. This was because she'd be receiving the postcards one-by-one and I didn't want her to realize right away that a message was being spelled out. It would seem like a postcard I might send her from that location if I'd actually been there.
I also found a set of 50-state stamps the USPS had previously issued on eBay, and used the correct state's stamp for its postcard.
Finally, I round-tripped each postcard through its respective post office by mailing it inside an envelope addressed to the postmaster at that post office along with a note to the post master:
Dear Postmaster:
I am mailing my sister 30 postcards from 30 towns for her 30th birthday. I have enclosed a postcard, which I ask be hand-cancelled with a postmark from your town. To protect the postcard from machine cancels in its journey through the mail system, I have enclosed a stamped envelope addressed to my sister in which to seal and mail the postcard. Thank you very much for your time!
I wasn't sure if this would work, but damn if she didn't get all 30 postcards each properly postmarked.
I dropped them all in the mail in NC. Some went as far as Alaska and Hawaii.
She received them in Miami. I think she got the first one within a few days and the rest dribbled in over the next two weeks.
Nice gravitational lens observation! We're hoping to use the same technique with the Sun to observe exoplanets by launching a fleet of small satellites to 547 AU (80 billion km / ~3 light days). The craft would sample the distorted Einstein ring around our Sun from that vantage point, then combine and reconstruct an image of the disk of an Earth-like exoplanet up to 100 light-years beyond, at a resolution of 25 kilometers / pixel.
- Based on data collected by from only some polling places, there is a huge discrepancies in results comparing to official ones. Most poling places refused to post results. People, who demanded to post results (as the law requires), were arrested. You can read more about it at belarus2020.org
- A lot of journalists left state media. Replacements were brought from Russia's state's propaganda media.
- While police is involved in some cases, the bulk of arrests, beating, torture is done by special forces where most of them wear full head covering at all times. In the few episodes when such head covering is removed during the altercation, these enforces were running away hiding their faces with hands 1) https://www.youtube.com/watch?v=zspZj5wPtaQ ; 2) https://www.youtube.com/watch?v=vj5cV8Dl7jA
- Often, special forces use plain clothes and act like criminals. The only suggestion that they are law enforcement - they often have a baton and full head covering. They never tell you their names, departments, etc.
- Last Sunday Belarus saw its first business glass door shattered as a result of protests (protests started on Aug 9th). That door was broken by special forces because some protesters tried to hide from beating there. People donated to the business owner to buy a new door and were standing in the line next day to buy a coffee from that place - https://www.youtube.com/watch?v=Z3I8dxAwybE
- To avoid beating by special forces, some running away protesters had to jump into the river. Water is quite cold. They were saved by the rescue team worked on the river, who brought them to the other bank of it. As a result, the whole rescue team was arrested - https://www.youtube.com/watch?v=sqA3deW_-Yg
There is a lot more going on, just wanted to share a few things to explain the atmosphere of it.
> To me, diversity and social justice are critically important. I have the luxury of being selective in where I put my time and energy and it is important those values align with my career. I appreciate aspects of being "mission focused" but I think that there is a gulf between my personal values and Coinbase's values such that I would not be comfortable in the environment.
I can't speak for anyone else but I think I'm not a terrible engineer and I definitely ruled them completely out of the realm of places I'd be willing to work.