skysight-inc/HackerNews huggingface dataset:
Oh man. Another diatribe from Martin Fowler™.

Takes me back to the 90's when I was in awe of teh architectures and architects, understanding of which was always just beyond my grasp.

99% of software I've encountered has some kind of interface, a domain it operates in, and data it operates on. Call these three things layers. It also has some cross-cutting things that are universally available in the software - broadly, security, comms and exception management.

You deploy these things on desktops, phones, and devices. Other parts of the things live on servers or on clusters, mabe. Call these places (hardware) tiers.

There. Architecture done. From micro services to huge banking monoliths. Start there. Everything else is the usual let's think about what we're doing before we do it.

But I guess keeping it simple and dealing with exceptions as they arise isn't as glamorous as using fancy new names, working for a hipster consultancy or generally saying X or Y is teh new futures.

If you harbour doubt great, questions are good. I suggest obtaining a copy of Wicked Problems, Rightous Solutions (ISBN-10: 013590126X). It will show you that we had EXACTLY the same problems of today, back in 1990. We just call them new things.
I use firefox with ublock origin and privacy badger and I can't recall the last time I ran into a site that was broken because of it. But, I visit a fairly narrow section of the internet regularly so there might not be much overlap between what I browse and you browse.

I also use the multi-account container add on and the temporary container add on. This allows me to pin a few big sites to their own containers (google, amazon, etc) and open all other new tabs in temporary containers. This setup works great and appears to help keep firefox fast over time. I use duck duck go to search but firefox makes it trivial for me to re-run a search with google if I need to.

I also run an ad blocking vpn on google cloud using Algo. I use google cloud because the vpn can run on the permanently free tier and I only pay for network traffic (which is near zero), and I also enjoy the irony of it. I have wireguard clients setup on all of my devices to use the vpn either permanently (phone) or on demand (laptops). Having this vpn is nice as it makes it easy to block ads in apps on my kids mobile devices.

This vpn setup works ok but not quite as well as when I ran the same thing using Streisand and open vpn clients. I only say this because I have a homebrew whole-house audio setup with a bunch of google audio chromecasts and no matter how I tweak the wireguard client settings I cannot get that casting to work properly. With open vpn clients, those settings are a cinch.
> As a result of this and other cases, art collectors began to pull their collections from the facility.

So as soon as the Freeport no longer provided a safe haven for art crime "collectors" started pulling out. Wonder if they ended up on a watch list since it's highly unlikely that any collector owning 100% legitimate art would care about illegal art being confiscated.
I have a young family, there’s no way I’m working more than 40 hours a week unless a rare emergency comes up. Raising healthy children and having a happy wife are far more important to me, my family, and society.

If I were single I’d be less of a stickler about this, but would still not be ok doing more than 45 on a regular. After 30-40 hours, more working hours rarely translates to more productivity.
Nice. Perhaps with an xargs thrown in to be safe...
I'm a driver. Honestly, it pays the bills just fine where I am. All you need is a modicum of financial sense and it works.

Drive a low-maintenance, fuel efficient car (say, a Prius). Consciously curtail putting miles on that you aren't being paid for. Keep it clean, have water/chargers on hand for passengers, and be nice. Learn when the app/passenger is screwing you, and get better at avoiding those situations.

I can go out on nearly any weekday, spend roughly $12 on gas, and make $140 in fares after a tolerable amount of time. Weekend nights are even better, if I feel up for dealing with drunks. This pays my bills (including my car payment). By the time my car needs to be replaced, it will most likely have been paid off for a while. So I'll buy another. Rinse and repeat.

I don't see how this is any different from the majority of other entry level, lower wage jobs available out there-- except for how the working conditions are vastly superior, and how I can go home any time, how I can take vacation any time, and how I don't have to put up with jackass co-workers or managers. Oh yeah, and I can even block a passenger I don't like from future rides with me if I really need to (but after over 1,200 rides, I still haven't had the need yet). I think I can keep doing this for a while longer.
The author is not saying don't ever consume again. Just consume less. In particular, the mindless parts of consumption. If you are an economist, I assume reading The Economist is part of gathering tools for your creative ventures.
Not in the app, but it blocks youtube ads in browser. Blocking ads in YT app is next to impossible with pihole.
... except I just realized that the final expression for gain minus loss is wrong: redoing the calculation I get

-4 * E_0 * l_D / ( exp( d / l_D ) + 1 )

So charges traversing the whole thing lose energy. You still get a net momentum due to the mass difference between electrons and protons, but in the opposite direction. :/
Could you share more the things you don't like about PS?
However you look at this the take away from it all should be:
Get a vape and liquid from a large reputable supplier (keep receipts) and should we suddenly find that this is the next product to have warning and danger signs slapped all over due to health concerns, you have a large reputable supplier you can sue, ala the original tobacco scandals.
> The only reason this rule exists in the first place is because of different cards sharing the same name in non-English languages.

I'm sure that's not the only reason. Some cards cards explicitly reference each other by name (rare, but it happens). More significantly, imagine you created a deck using both English and French versions of the same card! That would break several rules, including "name a card" effects. More significantly, the uniqueness restriction on Legendary creatures is technically defined by name.
Signal could allow both options: register with a phone number or with completely anonymous logins. I think they just don't want anonymous users, visits from FBI etc. Also, it is not very profitable to sell ads to anonymous users.
>self-driving cars are a race between auto companies and these cash-flush tech giants.

The auto companies and their suppliers like Bosch. And, if Apple, for example, were to come up with a really good system for autonomous driving or a subset thereof, don't you think they would be happy to sell it to automakers who already buy a huge number of component systems. After all, they already do with CarPlay. (Which is better than any automaker system I've used.)
I've thought a lot about the speed, and am very curious from an organizational perspective how say, a person managing an engineering org might not feel the same frustration from slow page loads.

Do they only open it occasionally? Do the pages they use open more quickly?

Anyone managing teams of engineers that can chime in? :)
And some speculation. I see first hand a lot of high end apartments bought that sit vacant. Maybe the owners live in Asia or EU 9 months of the year, I dunno. But in some of the swanky towers downtown there are entire floors with at most one owner present year round.
Because someone submitted it, and interested hackers upvoted it.
Just to give an entirely hypothetical example.
asbestos was used to make a safer filter: oops
I just have watched some of his TED talks and I am hooked! Thanks again!
Yes. What I meant was, I think the skew towards more attractive people is higher when it comes to online dating.

Offline, people may know each other from work, mutual friends etc for some time before they actually start dating (not including speed/blind dating). In my experience, getting to know someone in person first and having a sense of comfort and security makes the physical attractiveness aspect somewhat less important.
all these people have some experience in the field and they did put some things out that gave names/spread practices in our industry. is that enough to take everything they spew as the truth? far from it.

you should probably take a look and filter it through your experience.
Because Mike is the NYT beat reporter for a number of tech companies like Facebook or Uber.
This will all depend on what your role in the company is today and what your relationship with this person is.

If you are in a leadership role at the company he/she may not want to open up to you for fear of reprisal even if you two have been friendly. If you two are teammates and you do not have a leadership role they may still not feel comfortable opening up to you because likely they have made comments and if no one picked up on it to discuss with them then they will feel you are complicit or accepting of the situation and don't want to create tension.

There is no harm trying to learn why for sure, but also know sometimes (especially with more senior people) people recognize when their thought processes, methodologies just don't align well with a team or company so they will remove themselves. This doesn't actually mean there is anything wrong with the company/team or with that person, just they recognized the differences and know those would create conflict, tension or struggles for themselves on the team. This is a healthy thing to have happen. That said, it is a very small number of the people that leave usually, more common reasons of leaving are for a lack of recognition, money and/or progress.

If you and the person leaving are both IC's then ask them from a place of curiosity to better understand what they might have seen that you haven't. This is probably the best way to get data points and be non-threatening to the person. When I say non-threatening, I don't mean you literally threatening them, but if you come at them with 20 questions it can start to feel like an interrogation and the persons self defense mechanisms will go up and conversation will go no where.

If you are in any kind of leadership role at the company, come at them from the place of not wanting to lose a good person, but respecting that sometimes people move on for a whole host of reasons. From your perspective you are trying to confidentially understand what the company could do better or change that might make the difference for the next person. Approach it this way, once they tell you if the asks are reasonable say if we made these adjustments would you stay, but don't approach the entire conversation from a place of would you stay. Approach it from the point of view to make sure issues are resolved for the rest of the team and the next people coming in. This is the best way to get data points usually and do so in a way people feel more open to chat. If at the end you ask them if these changes were made would you stay and they say no, then ask why not? That sometimes will open up a more true reason.

*edit: changed a word for readability
> then in about 2 weeks about [2] functional programming sucks and is a toy and his solution was OOP.

which is clearly satire:

"PS> As most of you have guessed, the post is a satire. To all of the new developers out there — don’t take this seriously, FP is great!"
This really hits home with some thoughts I've had lately. But I'm caught in a trap. Do I go after my dreams (numerical computing), do something useful (continue working with the non-profit I help out with), or continue being a sellout by working and learning things relevant to my employer? Splitting my time does not seem efficient, but consuming less and creating more would mean I'm at least working towards several goals slowly than not at all.
My take on why OO - as usually taught and practiced - is problematic: https://link.medium.com/GEgk2vjLpZ
In short: it requires a lot of up front design and abstract thinking, plus the idea to architecture a program around state distributed over a large number of objects is fundamentally flawed.
Ten Robotics Startups to Watch
At the very least they would gain a new appreciation for modern sanitation and medicine when eating that bear meat or drinking some water gives them a parasite or cholera - wait, sorry, we can't have the insight of modern education and technology - when the land has cursed them with an evil spirit.
All of these services and capabilities make a difference at the margins--which a second household car often is. But I suspect that a lot of the "people won't own cars" refrain comes from people who either don't own a car or live in a city and don't use it much.

In a lot of couples, people still own their "own" cars, keep their stuff in them, customize them for specific uses (am I going to get an Uber with kayak cradles?), and so forth. Even if the finances worked out, there's no way that I'm dumping my vehicle for a generic shared car.
Ten smart home startups to watch
> run an anonymized query ... see highly connected individuals

Doesn't sound very anonymized to me.
If it's so easy to compete, why aren't there more competitors with a larger market share? I don't know of any ride share market with more than two major players.

US: Uber / Lyft

South East Asia: Grab / GoJek

Australia: Mainly just Uber (lots of smaller players but none with very significant market share)
Hadley Wickham on the future of r Python and the tidyverse
The Building an Indie Business Podcast- Why You Should Build Your First Idea
Still, entry level vs Apple's most expensive model.
> assuming it's because men took on some dangerous role that women didn't (war, hunting, etc.)

One possible hypothesis is that polygamy itself is the cause of this: the higher competition for wives drives the men to extremer forms of acquiring status (war, hunting, etc).
Yes! We called those water weenies.
After running into this and many other issues in sh/bash scripts (such as the pitfalls of handling newlines and spaces correctly with the splitting rules, the awkwardness of basic features such as lists or arithmetic, and the generally inconsistent and obscure syntax), I've moved all my shell scripts to Python3 and I have no regrets about it. Calling external programs is still very easy with the subprocess module. And it's installed pretty much everywhere you have sh/bash on.

To be fair, I am not even sure if creating a new shell scripting language is something worthwhile in this day and age. There's some value in the convenience of instantly turning a sequence of commands you just manually typed into a script, but there's a conflict in that the shell has to provide you a way to hack a sequence of actions together with as few characters as possible, while a script has to be comprehensible, maintainable and extensible. And the inertia you would have to overcome to successfully introduce a new programming language in addition to a new shell makes it intractable.
> All code is bad. Every programmer occasionally, when nobody’s home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. It’s a different file for every programmer. Sometimes they wrote it, sometimes they found it and knew they had to save it. They read over the lines, and weep at their beauty, then the tears turn bitter as they remember the rest of the files and the inevitable collapse of all that is good and true in the world.

from:
https://www.stilldrinking.org/programming-sucks
Here's my few cents worth. I think this article has got things back to front. Sure, there may be a bubble, but it's nowhere near bursting. Yes, there are fast growth rates predicted for EVs, but they still account for reaching a very small proportion of the overall vehicle market for quite some time. There's every reason to believe that things may change much more dramatically, much more quickly. If this proves to be the case, there is an equally good chance that the number of EV makers could increase equally spectacularly before there is any kind of consolidation in terms of numbers of players. History shows that when we started the journey from horses to automobiles, there was at least one small independent car maker in countless towns and cities at a time when the lack of experience, standard parts or skills meant that the vehicles you built were nowhere near as likely to be reliable or durable as just about any electric car you could build yourself today. In those days it was a challenge to start designing and building a new car (ironically it was almost as likely in the early days that the car engine design would be based upon on electric, steam, gasoline, natural gas or diesel) but today it's actually relatively easy to design and build a car factory. Ok, differentiation might be a challenge if you are going for a low cost market, but guess what, history tells us that localism counts for a lot in nascent automobile markets and 'staying profitable' for a small manufacturer where production costs are as low as they are for making electric vehicles using mostly standard parts may mean that the bubble is going to get a lot bigger, a lot faster and the burst, when it arrives, will probably be much more like a slow leak in a worn-out tire.
I rode in a cab in Chicago that was a regular cab, Uber, and Lyft. I was amused.
I have been building large scale/distributed systems myself and reviewing designs of systems like these being built around me, for years now. I have never come across any of the type of ivory tower architecture that this post and other sofware architects write about. We're talking about real-world systems that are high-load and somewhat novel, with battle-scarred engineers building them.

I find it ironic that that many of the people who write about architecture are consultants or writers. Consultants usually come into a project, make some decisions and write some code in a few months. Then they leave, without having to maintain the application. Of course they bring in fancy-named architecture patterns as one-size-fits-all solutions, leaving before the cracks on the approach show. Ever notice how little writing there is about iterative software design?

For writers, it seems they build a simple proof-of-concept solution, that is never deployed in production, documenting this process and showing it off as an example.

Yet, when it comes to writing about software architecture, this is 90% of the materials. Engineers who build this day in, day out, design systems from inception, iterate on them, code and deploy, then maintain and operate them for years - they barely share what approach they took. And it's none of this fancy-talk in articles like this one. It's not UML or other formal methods. It's simple documents, simple diagrams, lots of discussion about tradeoffs and tons of back-and-forth comments over Google Docs/O365 and in real life.

I'm at the point where I'm serioulsly debating writing something more substantial on how actual software design works at tech companies, when you're not a consultant or a writer, but an engineer who does this full-time, end-to-end, living with all the consequences of decisions and fixing mistakes after.

On the importance of prototyping, extensible MVPs, whiteboarding, documenting an initial design and getting feedback, iterating on it, architecture jams, design war rooms - and when starting again when the world/business changes substantially, keeping things running and migrating things over to the new system.
A good high level overview of the moving parts involved in front end dev is https://roadmap.sh/frontend. Not all of it is used all the time, but if you can talk intelligently about many of the parts you are doing fine.

My recommendation to people learning specific frameworks such as react is to start with vanilla react (their doc's are quite good). Then, after building a small app that solves a problem for yourself, you'll start realising when you have bugs and other maintainability issues related to state management. At that point, it is worthwhile looking into redux (or another state management library). Otherwise if you go straight to react + redux it can just feel like a lot of boilerplate for no reason.

Same with TypeScript. I think type safety offers a huge reduction in the number of bugs in large systems. But it isn't required when first learning react.
This is the kind of page / reporting where I disable my ad-blocker and reload the page.
We have to weight a complex set of circumstances:

- smoking is an exceptionally harmful habit, so just by coming up with any other activity at random one is likely to end up healthier

- this also means advising smokers to switch to vaping even without knowing the health effects of vaping makes sense
- marketing vaping to non-smokers should be severely limited though

- marketing vaping to kids like juul does, should be downright illegal
There are books and courses that try, eg https://www.info.ucl.ac.be/~pvr/book.html
kdb/q looks interesting! My main concern in suggesting cloud functions is COST and portability. It will always save versus running something like AresDB on a GPU cluster. Performance is within typical cloud latencies so for generating trading statistics for humans its acceptable. Cache data in memory (using multiple buffers). Cloud functions can be called synchronously. And all eventing is handled via calling goroutine
I did some tests and found that privacy badger adds a significant amount of load time. I couldn’t justify it for the minimal effect it has. If you use ublock with firefox’s protections and block third party cookies you are pretty good from a browser point of view.
I'm the original author of this post. Was surprised to see this here this morning -- as I expressed in this tweet: https://twitter.com/amontalenti/status/1165252347909607424

Glad to answer any questions about the post here.

I am hoping to write a second part to this post eventually. It was honestly sitting in my drafts folder for a solid 6-8 months, and then I finally cleaned it up and published it two weeks ago. But I still have more thoughts!
It's totally possible and why IP addresses are PII. If you've got enough websites working together it's probably possible to reconstruct their browsing history, and I would guess even more accurately than with client-side tracking (where blocking cookies and adblockers at least give you some control).
I perceive that this is the take-away: don't, just don't.
They did that early on and I'm pretty sure the takeaway was: let Amazon do that, we're minting money with seller tools.