LLM's are well-trained on Mermaid. Gemini specifically is fantastic as a 'diagram assistant'. I was able to create this diagram and a ton of other such diagrams quite easily with Gemini and Mermaid's live editor: https://nshkr.com/SecureSphere-Overview-20241102.png
Sometimes I feel they are even too much trained on Mermaid. I prefer graphviz but claude very often output a mermaid diagram even if I gave a valid graphviz example in my prompt.
I've been using the same, but with Chatgpt. Multiple iterations are needed to get what I want though. Cool trick is that you could import Mermaid using drawio.
Mermaid is fantastic for diagramming architecture. A little quirky, but not too bad.
If you're using GitHub it's supported in any markdown file, and therefore accessible to any other dev with repo access. No permissions issues, edits can go through code review, and no dependencies necessary.
After cloning, I had to change the perms of the .sh files, install flask via pip and hope for the best. I wasn't sure what Python version to use, I used some 3.x. It would be really nice if this was fully containerized and I could launch in docker/podman.
Thanks for the feedback, I'll try to add instructions for the sh files and the python version. This is still very much a WIP so I'm not going to look into docker just yet.
For the highlighting, currently only a single email pattern input is supported. Type in your pattern into the box at the bottom, then click submit.
The pattern gets fed into a LIKE statement in SQLite, so just plaintext, with % representing a wildcard eg torvalds% would highlight files modified by an email starting with torvalds.
I'm not sure the colouring is working as expected; I tried submitting with many email addresses I know are in the repo it ran over (with/out the wildcard) and the highlighting behaviour was difficult to predict.
As an ex-Googler I believe they also use the data collection to "improve" products such as the Pixel phones. For example, they can compare the # of iPhones purchase receipts (emails accumulated from Apple, Amazon, Best Buy, etc) to the # of Pixel purchases. They compare this kind of stuff YoY and to Google's equivalent products and can build a pretty accurate picture of market adoption.
Netflix recently released a 6 part documentary series titled "Wild Wild Country" that follows the sequence of events leading up to this incident: https://en.wikipedia.org/wiki/Wild_Wild_Country
In the mid 50s silicon transistors started to replace vacuum tubes. I assume tubes were at their cheapest in the late 50s. I'm not sure why the article uses '57 in particular though.
After the Avro Arrow project was cancelled a number of the employees involved joined NASA to assist in the Mercury, Gemini and Apollo programs. It's a shame that the same kind of "brain drain" occurs to this day. Canada produces a lot of talented people and many of them head South.
Not just Canada, the United States has been very successful in attracting top talent from all over the world. A large part of its success is due to that - the USA does not produce nearly enough STEM graduates domestically. A huge number of people come every year to study in US universities, still considered the best in the world in many cases, and many stay afterwards. I think that the USA could be considered to be an empire in decline once it can no longer attract the top talent worldwide, and once those people graduate and go back to their own countries instead of staying in the US.
In the Canada case specifically, the pay gap for software engineers between the USA and Canada is about 2-3x if you're at the top of your field. The real mystery to me is why Canada has any software engineers at all. I'm a Canadian SE living in Canada currently and I wouldn't dream of working for any companies located here, including e.g. Amazon or IBM.
> The real mystery to me is why Canada has any software engineers at all.
For all kinds of political and social reasons, I would never move to the US. Key examples:
- The disaster that is the US health care system
- Even more endemic systemic racism than Canada has
- Even left-wing politicians are to the right of what I prefer in Canada
All that, plus I'm not in this for the money. I make a comfortable living and live in a gorgeous city, and there aren't any cities in the US I would want to live in.
I'm happy in Canada. I'd probably also be happy in Europe or even Asia, but I can't picture being happy in the US.
Doesn't affect engineers in the US. It's actually the opposite. If you can afford a good insurance plan, the health care services are way better than in Canada. No problem finding a GP, and you never have to wait for an appointment.
> Even more endemic systemic racism than Canada has
If you're white, come to the US to make the situation better. If you're a visible minority, this is a good point. But it really does depend on where you live in the US.
> Even left-wing politicians are to the right of what I prefer in Canada
Not in California. Keep in mind that states have much more power in the US than provinces do in Canada.
In the end, there's more to life than money. For me, I live here due to the superior weather and wider range of opportunities to work on cool stuff.
Living far away from family and friends is a big downside. Nationalism plays no part for me.
It affects engineers who care about people other than themselves.
It also affects engineers who get sick. And engineers who have a baby born with a medical issue and can't get coverage because the complex birth cost $0.5M.
And engineers who can't change job or start a business because they have an existing condition and can't get new insurance.
So, yes, for engineers who stay lucky and don't care about their neighbors, it's not a problem.
[edit: Don't get me wrong, I love lots of things about the US, but the healthcare system is insane.]
As far as 'endemic racism' - this is again totally unfair.
The US is by far and away not racist.
I lived in the US for many years and never saw someone ever - ever - do or say anything racist, either directly or through ignorance.
I'm not saying the US doesn't have problems - I'm saying that in every day life, issues are 'systematic' not remotely 'hateful'. Also - the US has a massive population of ex-slaves, and very poor people from Latin America. 'Racism' might be somewhat of an issue for example in the Asian community, but not remotely in the same sense that it is for African Americans. Canada has lots of E. European and Asian immigrants, and very few people of African or Central/South American descent, and os the issues are just softer. Canadians attitude is a reflection of their situation.
America has many flaws, and racism is one of them - but it's not some kind of cesspool.
America is one of the least racist places on planet earth.
Even less racist than almost all of Europe, even the 'fairly progressive' Scandinavian countries - who have 'laws and policies' which are very progressive - but who's culture is so deep, and so fixed, it's really quite difficult for anyone who is not 'Swedish' to actually integrate and participate.
A 'foreigner' has considerably more hope of success in America than in Sweden. Admittedly, a 'foreigner' might have a better hope of a 'decent life' in Sweden, though.
Almost everywhere else in the world is openly and unabashedly racist ... there is only some awareness in situations where there is a peculiar awareness, i.e. 'Euro' vs. 'Metzo' American class issues in South America.
> The real mystery to me is why Canada has any software engineers at all.
Some software engineers care about maternity leave, universal health care, and the welfare of their fellows that don't have software engineer salaries.
I also disagree with the term 'disaster'. That implies accidental, unanticipated, or maybe even just oops.
If you were to expand it to 'disaster capitalism', profiting (exploiting) the misfortune of others while intentionally making things worse, then I'd be in agreement.
A hurricane is a disaster. The US healthcare racket is a deliberate snafu.
This is a bit of Canadian propaganda and mythology.
I lived in the US (and Canada) and the US has the best healthcare in the world bar none - for those who are covered.
The 'flaws' which are deep - is that it doesn't cover everyone, if you don't have coverage, you are totally screwed, and it's obscenely expensive.
For a 20-30 something 'STEM' it's actually much better. Doctors will actually listen to you, you don't wait for stuff, it all just seems magically better than Canada.
Again - I'm not ignoring the deep systematic problems with the US system - rather taking a more nuanced view.
I think the US system could be more socialized (and cheaper) than it is, but for 'those with good jobs' ... it doesn't matter.
And when I say 'propaganda' - I'm serious. I believed all this CBC-promoted stuff until I lived abroad for many years, then one looks back on one's youth and thinks about all the things we were told that were 'given as truth' but really are not :).
No, not trolling, providing some perspective to someone who has, it seems, not lived within the American system and has some views that have been promoted by certain Canadian elements which are borderline bigoted.
The 'Canadian view on the street' of the 'American system' is misinformed, and it's largely due to a certain consensus promoted within the Canadian elite. It's a very highly politicized issue.
As another Canadian ex-pat pointed out below (and as so many Canadians living in the US can attest to) - the 'Canadian consensus view' on the American system is not correct.
FYI - Canada is the only country in the world wherein it's legal to pay a mechanic to fix your tire, but it's illegal to pay someone to fix your broken arm.
I personally had to live through this conundrum. The 'official position' in Ontario is to move people away from doctors - and to push them into clinics where they can't get 'long term' type of care.
I was sick - and there were no doctors in my region taking patients. I was forced to go to a clinic where they couldn't properly diagnose me. They didn't care at all, as the are 99% dealing with 'kids with colds and the flu'. Every time I went I saw a new doctor. I was ill, with weird symptoms, the doctors 'didn't give a s*' - and there was nothing I could do about it within the system.
I finally went to the 'Cleveland Clinic' - an American not-for-profit entity operating in a 'grey legal area' in Toronto, and they helped out. Thankfully, nothing serious - but it could have been.
I have family members in Canada who waited years for hip and knee replacements - and they think this is 'normal'.
Most Canadians who have no exposure to 'other' systems have a limited view of their own system vis-a-vis others.
I wouldn't want 'the American system' for Canada, and it's far from perfect, but it has some merits which are often overlooked by the CBC-centric types.
I prefer looking at the evidence rather than getting my facts from CBC or other news titbits. And the evidence clearly shows that overall the Canadian system is better. It's not perfect, and sometimes you have to wait for non-critical procedures, but overall we receive good care. Whereas in the USA there is still a large percentage of people who have no healthcare at all, or who go broke paying for it.
Cleveland Clinic (in Ohio) is a superior organization. World class. They were one of our early adopter customers (when I was doing electronic medical records exchanges).
Your story of having a rare (hard, difficult to diagnose) disease and not getting the care you need is the norm. This has happened to me many times.
I suspect (Atul Gawanda style) the root cause is care providers are basically organic expert systems doing triage. They are taught to do their best and then move on. Do the maximum good with limited resources.
Your fix was to find the care you needed. Do not accept No for an answer. Someone somewhere has the answers you need. You did the right thing.
--
One of my besties got a terminal diagnosis, second opinion, third opinion. Decided he was too young to die, so he started looking at available clinical trials. Luckily, he exactly matched a trial for immunotherapy for his specific disease. He then found a superior doctor willing to support, manage his treatment goals, plans.
Another one of my besties has advanced Lyme Disease. It's terrible. He moved across country to be near the 2nd best specialist, to better manage his care. He regularly goes to NYC to see the #1 specialist. Further, he is now something like an angel funder for early stage research. He has actually benefitted from these early results.
My own story is similar. I had aplastic anemia. I've had numerous experimental treatments, first for the anemia and then for the subsequent side effects (GVHD). I'm a living miracle of modern technology. I have so many war stories (both good and bad), it's boring.
--
Here's the thing. You, me, my two friends are not the norm. We're the outliers. Changing the payment system, insurance, whatever does not fix this problem.
Perhaps teaching doctors to escalate is the solution. Perhaps connecting similar patients, by matching symptoms. Perhaps data mining. Apple's healthcare initiatives will certainly help (eg matching patients with trials). I keep asking everyone I meet for their ideas.
Lastly, back to the point, Canadians spend less on healthcare, are healthier, and live longer than USA people. The Canadian system is superior. Simple statement of fact.
I agree with this. My girlfriend has unfortunately had to deal with racist name calling as an Asian (I can't imagine what it must be like for those that are even more targeted by the alt-right) in San Francisco, a "liberal" city in the eyes of Americans.
Yes, but the top, hard driving, talent would make the trade and move to the US. Your prerogative is to kick back and chill up north. I'm not hatin -- just pointing out that you're not really a counter example to the point at hand.
What a desperately condescending thing to say. Really it comes down to a matter of perspective on life and your definition of "hard-driving". If your definition of that is writing code for more money, then fine. Other people work a hell of a lot harder, in much worse conditions, for a lot less, and choose to do it in a place where they like to live and the people they enjoy being around. Pretty compelling to me.
It's basically people who want to work at places like google and earn $250k.
Still, there is a lot of "top talent" who chooses not to go that route. Working on my own stuff I get to work on much more interesting and challenging stuff -- as well as making a larger personal contribution to "changing the world" in a small way -- than I would likely achieve if I was working as a software engineer at google. I don't earn as much, but my quality of life is much better.
There's a lot of inertia for some people to stay in one place, much less to change countries.
Judging by Facebook, about ninety percent of my high school class in a small town in Texas stayed within a half hour's drive after 30 years.
One of my coworkers in the 90's moved from Canada to Austin and eventually moved back to Canada. It was just cheaper to live in Canada with a family for him at that time, even with the pay disparity - and he was super talented in a niche field, I think the other major option for him at that time was California.
" the USA does not produce nearly enough STEM graduates domestically"
They do, and so do most other countries.
The US has a 'very large market' that is 'capital friendly' and has a lot of 'early adopters' and consumers that love the latest, newest fad.
So, 'market dominance' is so many things will come from America.
One of the reasons America pushes for 'free markets' is because there's no need for geostratic shennanigans otherwise.
Ex: If Canada (or other countries) opened up their telecom sector to aquisition - even on 'even terms' - do you think Rogers, Telus and Bell (Canadian) would be buying up Verizon, TMobile and Sprint? No. The other way around. Canadian firms would be immediately aquired by American firms. Same for everything else. All of the 'top jobs' would go to the US, and the only thing left in Canada would be 'customer service' 'local marketing' and 'field ops'.
The same thing for developing countries x100.
'Free Trade' plays very naturally into Americas strengths, and it's an easy line to promote, because the 'short term net advantages' are supposedly positive for everyone (though, generally capital).
FYI - Canada/US comp. has a lot to do with Oil prices. Oil prices high = Canadian salaries almost at par with the us.
(Remember that the vast majority of US STEMS are not earning 'high end Google salaries'). Low Oil prices means you can earn considerably more in the US.
Then, who do you work for? Apologies for prying, but I couldn't help notice the "wouldn't dream of working for any companies located here" and "SE living in Canada".
This would imply that someone making 150 CAD (for a senior top developer) would be making 450 USD. That doesn't match actual salary numbers from the field.
150 CAD at current exchange rates is 123 USD. That puts the 2-3x range at 246-369 USD. That's actually a bit low for a good senior developer in the current Bay Area market.
So some years ago, a company you'd recognize in node.js land, said at a meeting that they were trying to find a javascript expert. Nagged enroute to a bar afterwards, I explained that I wasn't one. I'd never written a full javascript implementation, only some hack bits and pieces. It had been years since I followed committee discussions. I'd not even seen the latest draft. And that I was mostly using coffeescript these days. They replied... coffeescript is ok, we can train you in javascript.
At which point I realized that they were using "javascript expert" to mean something very, very different, than I was.
Perhaps kcorbitt's "a good senior developer" means something different than glassdoor's "senior software engineer"?
I guess it depends on what your cutoff is for "good". I can say from firsthand experience that senior developers at Facebook or Google are hitting those numbers pretty easily.
Not sure where you live, or what you think the typical software dev does, but that seems extremely far off the mark in my experience, even for 10+ years ago.
Can confirm those numbers in the Toronto area. Maybe not at the absolute top end or the levels where job postings aren't even put out, but in the rank-and-file corporate and startup community, just take a look at any major job board lately.
I was making $145k as a junior rails dev at my last job in Toronto and they're hiring nonstop. Message me on keybase if you want to chat or get an intro.
If you're maintaining old-school apps in old languages, or you don't have a degree.
If you're talented, have marketable skills and an ability to promote yourself, you should be making at least 70k in most Canadian cities. Given the job market and cost of living increases in the last few years, this isn't particularly high.
Anyone settling for 40k or so (and not fresh out of school) I think should take a close look at other opportunities.
I'm a realist, but that's a tad bit too jaded for me to take as is. I don't think you're all wrong, though.
You just could have done without that first and last statement. I'll inform the UNV you won't be signing up anytime soon. I don't see taking a low salary as settling in every case. Many Canadian businesses just simply cannot pay that level for certain skills, and if you want to believe in your friends, colleagues and fellow countrymen sometimes you take a hit to what you think you're worth to help build. I wasn't complaining outright, myself. I was adding a data point. Averages can be helpful information.
It's encouraging for other reasons that you're yet another counter-point promoting that there are better-paying opportunities, though. I'd hate to paint a grim picture. Regardless I love it here (in Canada. I could move out of the city again)
When I was interviewing for mid level jobs in Montreal most of the salaries were around 45-75k CAD. At 80k I was the second-highest paid dev in our office.
Certainly there are jobs paying more, but they are far from the norm.
$150K CAD is higher than the vast majority of jobs. But it's only about $120K USD (and was a lot worse at the start of the year). Senior level salaries at the big tech companies run about $250K before factoring in stock and performance bonuses. The top guys are clearing close to half a million USD all compensation considered, and they're really the equivalent of your $150K in Canada. So 2-3x is conservative if anything.
Probably because a physical menu actually takes less time to select a meal from. In the worst case, if every restaurant had their own menu app/site think about how long it would take a newcomer to install/navigate then figure out how the UI worked.
Plus you would still need to have physical menus as backup for those customers that don't have smartphones, are out of battery, etc.
I've seen some sushi spots have their menu on an iPad; and it worked pretty well. However, personally I also enjoy the conversational aspect of placing an order with a human server (with the interaction influencing the value of my tip).
DaC seems nicer for infra