I see people do that all the time - inadvertently click an ad because it's one of the first few results that pop up. Not only that, the number of ads shown before the real result has increased too! Just the other day, my boss did a Google search for a common product and was shown at least FIVE ads before the first real result and had to scroll to see that result. I remember the days when you would see one or two ads and the real result as the first thing you saw after a search, not seeing only ads until you scroll down.
In the exact same boat. Strongly prefer writing notes for many reasons but no easy search really sucks. I currently use Notion mainly as a personal wiki and to-do tracker. Each day gets a new page where I jot down notes and tasks in a loosely structured format. I have found Notion's search to be very useful when trying to remember how or why I did something months ago. However, I still keep a physical, unruled, bound sketchbook for when I want to draw out class relationships, diagrams, etc - i.e anything that is much easier to describe on paper than with text alone. I usually don't need to actually "use" these diagrams - they're more a tool for working out and untangling an issue that eventually gets translated into code. Even with "paper-like" iPad screen protectors, I still strongly prefer writing on paper. So I have not found a way I like to combine Notion and physical writing yet.
But this post has me thinking about separation of concerns. Maybe I should stick to using Notion for anything that I want to search later and use the notebook for the aforementioned drafting and as a work-specific journal. While I haven't tried it much, I believe there's value in "brain-dumping" your day in a simple fashion similar to a diary. A therapist may advise you to deeply introspect on your overall state for that day, which I do think is a valuable tool, but may cause some inertia as a hard requirement for a "work-specific diary". Writing daily events in a simple fashion alongside some optionally additional, also simple, notes could help sort of "flush your mental buffer" of grand-scheme unimportant day-to-day information and help remember more important information. Sort of in the vein of Sherlock Holmes concept of his "mental attic" in the sense that you want to take care of removing/prevent clutter and instead keep track of what's useful to you.
The most important stuff is generally stuff to be memorized, which takes longer than just copying it once but means it's always there when you need it. Even if you only partially memorize it, you remember "oh yeah, there is that one idea..." And the tricks to memorizing are basically forms of "monkey-see-monkey-do". Involve more muscles and sensory info. Add short spacing periods so that the idea lingers. Place it spatially. Writing definitely helps for this since it's slower, physically involving, and you can style it with different formatting and stationary. Real media also works better for these aspects of writing and drawing because the hand-eye coordination is more connected; once it has to go through the computer there is digital goop in the way making it a little laggy, a little aliased or oversmoothed. You go to do something and get interrupted by everything else the computer does. So I do end up with use-once paper just for the purpose of training my brain better.
If I need to organize my paper I stick it in a manila file, label the file, and put a binder clip on. Then it has both spatial position and index. If it gets bigger than that we can grow to a file bin, hanging-file cabinet, etc. But nearly everyone's essential personal or project data is going to max out at one or two cabinets. Above that you are most likely becoming an archivist for other people's data and probably getting away from the task at hand.
For the stuff that is "linking together existing sources", where you can start consuming a vast amount of external data, I have taken to stuffing it in a spreadsheet. Spreadsheet cells are versatile enough for nearly any discrete-informational task and you can organize them into cheat sheets pretty easily. But they aren't so structured that you have to spend a lot of time preparing the structure either, which a lot of dedicated note systems seem to fall into: again, you have to set cutoffs wherever you start turning into an archivist. It can make sense to professionalize it as part of an organization, just not for yourself.
I feel very similar but have struggled to set aside enough time to find a better replacement. For work I often build one-off scripts, web scrapers/automaters, data tools, and backend web apps/APIs. While I don't disagree with your comments about the ecosystem, I find myself very dependent on it to do the aforementioned work (playwright + beautifulsoup, peewee/native sqlite3 lib, numpy + scikit, Flask/Django) and is probably the main reason I've continued using it. Does anyone have recommendations for some directions I could research? Go and/or Rust seem to be clear contenders but I'm not sure the ecosystem has equivalents or at least mature-enough equivalents for the libraries I use. Very open to learning about other languages too but simply am out of the loop. Something with a great type system and some reasonable flexibility would be amazing (eg I like that I can mix classes and functions in modules easily in Python compared to say old-school Java where everything is a class). I'm also not looking for a language that's primarily functional at this time, too much to learn right now on top of a new language, but it's on my long term to-do list.
Every time I look at an update to this library my jaw drops to the floor. Once I find some spare time, I've been meaning to dive into the source code to get a feel for how you're pulling of the marvels that are rich and textualize. I've been "terminal-oriented" for at least a decade now and these frameworks feel like something out of a future I could have never imagined. Seriously impressive work Will, closely following your projects.
Lifelong US citizen here - I've barely heard anyone mention it in person my whole life. If it wasn't for reading about it in discussions like this, I would probably never even think about it. iMessage, social media DMs, and regular SMS seem to be the most common in my experience. Signal/Telegram are pretty much only used here by tech people and/or people discussing not-so-wholesome things and I'm always surprised to see people on HN talk about moving their whole family to one of these apps or using them more casually in general.
> If it wasn't for reading about it in discussions like this, I would probably never even think about it.
I'm the same, but in the sense that I can't even begin to understand that people will marginalize each other based on the colors of their text messages, or that it would even matter at all. Having lived in Asia for the last ten years, having multiple chat apps is just so normal, most of my friends use WhatsApp, some use Messenger. Friends in China is WeChat, some friends from Japan and Thailand use Line.
We're not talking about normal people, we're talking about teenagers. Adults see the green bubble and understand someone in the group is using Android and as a result their messages are insecure, and they generally don't care about that. If you're an adult and concerned about security in your chats then just use WhatsApp. You'll never get teenagers to adopt that approach though.
I would have never recognized this syntax as modern day C++ without being told. The language has evolved so much in the last 30+ years that I don't know how anyone is able to keep up unless they've been doing it for decades. As a junior dev, C++ scares the hell out of me - I'd rather wrestle with C, footguns and all, than wrestle with the foot-semiautomatic-rifles C++ provides.
PHP 7 & 8 introduce lots of improvements. I used PHP 5 when I got into web dev and remember moving to Python as soon as I could. At work I've had to use PHP 7 and have been very pleasantly surprised at how solid it is. Now that I have more experience than my PHP 5 days, it's become apparent that PHP is very clearly suited for web work and the built-in functions offer many conveniences for such work that simply aren't available in other languages (granted other languages weren't built for web like PHP was). I've been surprised by my speed in PHP and I chalk most of that up to many helpful standard library functions. Even though PHP has a lot of old/compat functions still present I'm always surprised by how little that actually ends up effecting my productivity. So it's not my choice for greenfield projects but I'm not nearly as adverse to it now after working with modern day PHP for a bit.
Agreed - I've worked on a few PHP 5 era projects with hand-rolled frameworks and more recently I've worked on a few PHP 7/PHP 8 projects using proper frameworks and it's night and day.
I've never heard it used like that but actually makes a lot of sense if thinking of an asterisk as the glob wildcard. Plus it sounds much better when spoken aloud in the context compared to asterisk or star
Agreed. I'm past the "it's like writing pseudo-code - so cool!" honeymoon phase and onto the "some sort of static typing is actually pretty useful" as a developer.
I don’t get the struggle with types people have. It’s not hard to use a knife instead of a hammer to cut stuff. What’s the struggle with types, specifically?
Try teaching c++ to a new programmer and you’ll understand the struggles people have with types.
You might have forgotten, but you had head scratchers too when you where learning. Everyone has them. I’ve taught people who are absolute geniuses, even they struggled initially. And sure you get over it, just like people can become quite adapt at programming in esoteric languages like brainfuck, but that doesn’t mean there aren’t any better ways.
Yea types are hard, but I think to write quality software types are really important, almost necessary. I guess starting in a foundation where types are minimal like Python would be good for learning, then adding static typing is just a level of abstraction above that. We have to learn programming gradually though abstractions anyways, so I don’t see a problem there.
I don't disagree but I wish Python had builtin support for runtime type checking. I've thought about switching to Go or Rust for certain projects but Python's rich ecosystem makes it hard for me to switch, so for now I long for runtime type checking without needing an external library (e.g typeguard).
Very much agree. It's one thing I really appreciated about how php added type annotations. You didn't need them but once you added them they became a gaurantee.
You can check types at runtime in python. You can even check values at runtime. Heck you can check the weather at runtime if you like. What’s the problem exactly?
He resides in Colorado according to his Linkedin. I don't know a whole lot about crypto - is there anyway he can meaningfully use the donation given the Tornado Cash sanctions? Could just simply being in possession of Tornado Cash Ether give rise to legal problems for him even if he doesn't touch it? Even though it's quite a generous sum amount of money, can't help but wonder if it was sent with ill intentions or if the sender simply lives in a different country and didn't think about the US sanctions
(edit: If the money is from Tornado Cash), the money is sanctioned, he has to block it from being used anywhere and he must report it within 10 days according to the law (although the treasury realizes that many people receiving this money don't have legal compliance on staff and so they're cutting people slack)
> U.S. persons may have received unsolicited and nominal amounts of virtual currency [...] from Tornado Cash, [...] Technically, OFAC’s regulations would apply to these transactions.
> Once a U.S. person determines that they hold virtual currency that is required to be blocked pursuant to OFAC's regulations, the U.S. person must deny all parties access to that virtual currency, ensure that they comply with OFAC regulations related to the holding and reporting of blocked assets, and implement controls that align with a risk-based approach.
> 31 C.F.R. Parts §§501.603 and 501.604 require blocking and reject reports to be submitted to OFAC within 10 business days
> A report of blocked property is to be submitted annually by September 30
> No, the money is sanctioned, he has to block it from being used anywhere and he must report it within 10 days according to the law
This is not correct.
> U.S. persons may have received unsolicited and nominal amounts of virtual currency [...] from Tornado Cash
Because he did not receive those funds from Tornado Cash. He received them from a third party. This third party has interacted with a sanctioned entity (Tornado Cash), but sanctions are not transitive.
You can test this easily w/o cryptocurrency: You may not be allowed to transact with Iran, but you can buy stuff from a Germany company which has business with Iran - until OFAC may want to decide to sanction the Germany company.
The "dusting attacks" the OFAC FAQ refers to are transactions that someone sends directly from the TC smart contract to your wallet.
> the U.S. person must deny all parties access to that virtual currency
With Bitcoin that would be relatively straightforward: Just ignore the UTXO because the incoming funds are clearly separated from any preexisting funds.
But with Ethereum that's different due to the account-based approach: What's the impact if those funds are intermingled with preexisting funds on the same Ethereum address? Is it now unsafe to spend any of those funds or can existing funds be spent as long as the minimum balance doesn't fall below the amount of sanctioned funds?
Also what's the impact in terms of taxes: Could there be a situation where Redox OS needs to pay taxes on those 299 Ether but at the same time is not able to disburse them? Due to the high crypto volatility this could become a headache quickly: Imagine having to pay taxes for this year, but then due to the sanction only being able to actually sell those Ether in a later year when the price could be potentially a lot less than the tax liability.
I don't think that sanctioned money is income, but these are all good questions that I'd be asking my lawyer/IRS/treasury if I got a donation like this.
I appreciate OFAC being reasonable; it’d be nice if they used Chainalysis to track the digital asset movement and give folks a way to tag their wallet with AML/KYC info for automated compliance purposes. These are public ledgers after all, the reporting does itself for the most part.
Can you send the asset to an OFAC address for seizure and custody to wipe your hands of the issue?
I was thinking if I was receiving this Donation, the amount of stress and anxiety it would cost me in the aggregate would surpass any kind of monetary benefit.
Not sure why you are bring downvoted as it is pretty close to Treasury recent FAQ[1] on dusting:
"OFAC is aware of reports following the designation of Tornado Cash that certain U.S. persons may have received unsolicited and nominal amounts of virtual currency or other virtual assets from Tornado Cash, a practice commonly referred to as “dusting.” Technically, OFAC’s regulations would apply to these transactions. To the extent, however, these “dusting” transactions have no other sanctions nexus besides Tornado Cash, OFAC will not prioritize enforcement against the delayed receipt of initial blocking reports and subsequent annual reports of blocked property from such U.S. persons.
For guidance related to filing an initial and annual report of blocked property, please see FAQs 49, 50, and 646, respectively, and 31 C.F.R. § 501.603. Please note that the annual filing requirement for 2022 applies only to persons holding blocked property as of June 30 of this year.
Released on 09/13/2022 "
The individuals that got ETH may have some reporting requirements, but OFAC seems to understand it is an effort to make enforcement complicated by design.
The treasury is using "nominal" to describe what the word "dusting" means... it is when someone sends small amounts of sanctioned crypto to a bunch of accounts. This is from an FAQ article that confirms: yes, even small amounts are in violation of sanction laws.
If a $5 transaction breaks the law, then $400,000 also does.
Yeah and that is why I think they may end up having to report it to OFAC anyway and keep submitting annual updates. As always, at this amount, I would consider asking a specialized attorney ( although, ever since Russia invaded Ukraine, they had their hands full ).
If he reports all relevant transactions involving this Ether to OFAC, will he avoid legal repercussions? I noticed a commenter on Twitter brought up the Tornado Cash issue so I wonder if he didn't know before he moved it, because why else would he move sanctioned crypto. Even though OFAC decided to not enforce "nominal" transactions, ~$400k worth of Ether is certainly not nominal so I would guess he needs to cover his ass ASAP.
Once he touches this laundered ETH, he’ll face a whole host of legal issues.
I’m assuming that the IRS and all the other relevant authorities already know about this and are ready to pounce on Redox once they touch that Tornado ETH.
It is worth just sending that tainted ETH to a dead wallet to avoid all that trouble.