skysight-inc/HackerNews huggingface dataset:
5000 new jobs is not what the article is saying, but capacity to grow to 5000. I don't know how many they have now, and creating capacity to do something is not the same as actually doing it. Also, to put the number in perspective: 5000 would be only 4.3% of their global workforce, and my guess would be that Canada must actually be one of their biggest non-U.S. presences. (London also has a strong one for Google).

I'm also not saying that there's anything wrong with these companies expanding their presences outside the valley. (I would very much welcome it), only that we're not seeing enough of it right now to contradict the notion that these companies are still very much centralized. Maybe real estate prices and competition for tech talent will eventually force them to properly decentralize. But I could also see a scenario where those companies could put their might into play to overcome that resistance-level and allow them to continue growing while remaining centralized. It's simply too early to tell which way this thing is playing out.
I think it’s awesome that you’ve created this list. I have thought about documenting my own ideas for years and never have because I’ve Never felt comfortable with it. It’s not that I think they are that great or that I’m afraid someone will steal them —- Id actually love it if someone did steal one or two. In any case kudos for putting your mind out there for all to see.
The Benefits of Volunteering
$$$$$. Anybody who tells otherwise is kidding themselves unless they have already had the $$$$$ then its freedom and when they have that finally, it’s legacy. In that order.
This seems really nice! May I ask how you set it up? Is it a question of configuring routing, a firewall, or both? Does it matter if you have separate or a shared subnet?

I have some router with Shibby Tomato laying around (DD-WRT is unsupported), but I'm not sure if I need some other hardware, software, or if it's just a matter of finding the right settings…
> I'd be willing to bet that non-Silicon Valley locations have predominantly more junior people, and that certain promotions are harder to get and will come with the necessity to move to the valley

This doesn't sound right TBH.

Most junior people are actually in HQ, because HQ has head counts and can offer to train them, while satellite office won't have so many HCs and usually there to snatch up experienced developers.

As to promotions to higher level, yes HQ are definitely better, but that is only because it is HQ, so critical decision is made there naturally.
Original author here. Yeah it feels wrong because you're not using the calendar like it's "supposed to" be used. But who cares. But what this does is 1) reduce the stress of seeing that item day after day until the day when you asked yourself to deal with it, and 2) forces you to find a day to put it when you have available time for it.
Why would you care? You would prefer that Amazon gets to keep an even higher percentage of the profits?
There is documentary called General Magic which used old footage and interviews to describe their rise and fall. In one scene, Bill is said to have written a big chunk (don’t remember exactly what but I was in awe) of it very quickly. I saw it on a plane when browsing through Emirates’ catalogue.
See also this:
https://bicycledutch.wordpress.com/2013/02/21/strict-liabili...
Lady’s limb cut off by fallen 40ft containe
But what counts as "input" will vary based on who you ask and under what context.
THAT is a strawman.
Its not the comfort, its polluted environment and economic burdens. No one has died from too much comfort.
The article feels like another out-of-touch rich person harping on about that "money can't buy happiness".
I also started with the Z80, and then moved to Intel. Due to the history of the Zilog engineers there is a lot in common, and it definitely helped.

One thing I haven't seen people mention yet is actually using assembly language; just people pointing at documentation. To learn assembly, like anything else, you have to use it. I'd suggest writing a toy program to sum string-lengths, or do maths.

One of my own recent projects was to write a "compiler" to convert reverse-polish mathematical expressions to assembly language:

https://github.com/skx/math-compiler

It's been a few years since I touched assembly, and even when I did I largely ignored the floating-point stuff, so this was a handy refresher.
This is an interesting approach, and definitely something I will adopt when my situation requires it.

I already write everything in plain text files. But one thing I find extremely important is to be able to treat it as a peace I can nurture. To go back and revisit old thoughts, reflect on my development etc. However, this is not as much productivity as introspection.
Tools aside, Google's software systems are extremely complex and understanding them well enough to make effective contributions can take some engineers a long time. I doubt most people take 5 months to get basic proficiency in the average project, though. It's a "fact" that's repeated to take the pressure off new hires.
I know this isn't quite what you're asking, but I really recommend "Assembly Language Step By Step, Third Edition" by Jeff Duntemann

One of the best 32bit x86 assembly books out there.
> the final result is a much bigger package and a huge socket, but nobody really cares about that

Indeed I would happily install a CPU the size of an HDD in my desktop PC if it means I can get more computing power for cheaper.
I feel like the author's point and your point would be applicable a lot more say 5 to 8 years ago. There has been so many SaaS startups in the past 8 years or so where many things that used to require intense internal tooling are now available as a SaaS.
It is possible to get an exception approved by SVPs -- legal/general counsel merely advises management after all. But Shellcheck's GPLv3 license is a virtual dealbreaker.
Your sources indicate an interest in reverse engineering, but another motivator for low level machine programming is performance.

For me, a great way of learning the latter is to pick a task with some instant gratification (audio dsp, software texmapping or shaders?) and start writing some of that in inline assembly.

I suggest looking at your C compiler output, learning about SIMD instructions and using a pipeline simulator to see why and how it performs like it does. I used VTune and AMD Codeanalyst back in the day, don't know what's the current SoA.
Ask people something to the effect of:

How does this suck?

The goal is to disarm people so they're able to criticize something without worrying about saving anyone's face. Separate people from ideas... as much as inhumanely possible to get honest feedback.

I must always remember also: don't fall in love with or lionize any particular idea, creation or plan because they're not my children and are ultimately stuff and/or configurations of concepts. In the bigger view, ego death and detachment are important because if someone lies to themselves, for whatever reason/motivation, they're going to lie to everyone else too. Single founder tend to have more "grand big idea" insanity that needs to be tempered with other founders, family, friends and/or users who aren't dripping negativity but who don't applaud them if they can't sing like those people who go to open mic nights and screech. Don't be that guy or that founder with a Jump to Conclusions mat.
Is it cheaper to get a 3990X vs two smaller EPYCs and a dual socket motherboard?

edit: looked it up, and the answer is yes - you can't get even a single 32-core EPYC for the cost of the TR, much less two.
I recommend you check out https://jrnl.sh/
Google has been decentralized for a long time. Seattle, NYC, Zurich, and London are all big offices that are at least comparable to Mountain View, not to mention a bunch of other smaller but very serious offices.

Facebook, Google, and Apple all have large or rapidly growing presences in Seattle. It does the real estate market and traffic no good, but it is what it is.
I always write it like this:

find . -name \*.jpg

escape the glob
Competitors like Infineon?

They bought Infineon (through intels purchase of Infineons mobile chip assets years ago)
This article about Merge Sort evolved to unique approach to explaining RECURSION
So fly fishing basically :)
https://github.com/powershell/powershell
He does not have the right to sell it. He has the Privilege of selling it.

Be very careful about that use of language; your rights, as a citizen of whatever country you live in, are generally limited and legally defined. Domain name ownership certainly does not qualify as a Right.
So, the best way to provide feedback is via good questions.

This is why tools like quip/gdocs can be great for design documents because I can pinpoint a detail and then ask a good question.

Most junior engineers are bright, and they can solve the (or a) problem at hand. However, the lack both experience in the field and within the domain. Questions are a great way to express concern and share experience.

For software, if they can reasonable code, then it is not so much an issue of right/wrong but "hey, what problem are you solving?" and then aligning on the right problem via questions.

The power of good questions work at every level, and you can drive a lot of good growth and progress via them.
The Natural Number Game
> I grew up in a box-centric culture at Apple...

There was a HN post earlier today about what people miss after leaving (mostly) big tech companies, and it almost was entirely about tooling.

There's also org structure (done right, this can be empowering), access to ideas, and ways of seeing the world. Like Atkinson realized, these can also be blind spots.
You might be interested in this talk from the creator of IDA, Ilfak Guilfanov, explaining how he used Sourcer and it's shortcomings lead directly to him creating IDA.

https://m.youtube.com/watch?v=hLBlck1lTUs
> we're not seeing enough of it right now to contradict the notion that these companies are still very much centralized.

What are you basing this on, and what would be enough ?

4.3%, if indeed happens that way, would be a substantial portion. They already have significant presence in NYC, Seattle/Kirkland, London, Zurich, LA, Hyderabad, Dublin, Tokyo, Austin, etc. A few thousand here and a few thousand there add up quickly.

EDIT: Added a few more that I remembered.
My time to do everything you just described >> the benefits that I would get from a "smart X".

It is not worth it.
Over the years I've collected various links on topics related to Haskell performance. I'll spare you the whole list, but here are a few that may be of some use.

Haskell Performance Patters - Johan Tibell (2012)
http://johantibell.com/files/haskell-performance-patterns.ht...

Performance (Haskell Wiki)
https://wiki.haskell.org/Performance

Detecting Space Leaks - Neil Mitchell (2015)
http://neilmitchell.blogspot.com/2015/09/detecting-space-lea...

The Haskell performance checklist - Chris Done, et. al. (2017 - 2019)
https://github.com/haskell-perf/checklist/blob/master/README...

ThreadScope (Haskell Wiki)
https://wiki.haskell.org/ThreadScope

Top tips and tools for optimising Haskell - Will Sewell (2015)
https://making.pusher.com/top-tips-and-tools-for-optimising-...
I honestly miss the internal tooling at AWS. The build system and CI/CD pipelines used internally are truely amazing.
The current behavior is not simple and consistent. If it were, then *.jpg would “expand” to the empty list of arguments, rather than remain unchanged, in the degenerate case of no match.
I can give you the basics.

Parse your log files. If condition met, insert a line into your database.

Add extra details with a reverse DNS lookup, and IP location check.

I'm using: https://www.geoplugin.com/ at the moment, but feel like there are probably better alternatives.

I then move the data to another log file with a similar name and date so it doesn't get parsed twice, but I keep the data.

Then just make a page to pull the data out of the database.

This is probably what you are looking for:

https://developers.google.com/chart/interactive/docs/gallery

Just do a loop and feed the values into the chart data.
Isn't plankton seeding potentially dangerous? I mean, the Mississippi River has been "seeding" the Gulf of Mexico to the point that it has a persistent dead zone from oxygen depletion- algae and what not grow, die and sink, and the decay results in less than 2 ppm oxygen in the deep waters.

Can we actually meaningfully sequester enough carbon this way without drastically altering the subsurface ecosystems of an ocean?

Edit: to be clear, I am not trying to be contrarian, just genuinely curious if it would be any different.
We started using Slack as the main form of communication with clients
Isn't that simply because of the final half-step in major scale, and as such dependant on the scale/mode played? For example in mixolydian has full step in the end so it should not have such tension towards the octave
I mean, you are technically correct. If you earn more than approximately 800k in Quebec, you would pay about 50% of your income in taxes. But how many people earn remotely that much? Is this really a concern for us mere mortals?
Screw Notes – Lessons Learned Building a Server-Less Productivity App
No, $600k in SF is better than $200k in Canada in probably all circumstances. As long as your housing costs don’t scale with your income, you are already winning with an extra $100k of comp per year. That isn’t even considering that lots of things are more expensive in Canada, taxes are a bit higher, and Vancouver and Toronto aren’t cheap.
Some of the Great GNU/Linux Distributions
Infineon is a publicly-traded company. A part of Infineon was sold to Intel, who in turn sold a part of that to Apple. Anyway: The long-standing presence of Infineon and a whole ecosystem around it (business partners, educational opportunity, etc.) means that Munich has hardware talent, and despite Munich being the most expensive and high-paying city in Germany (next to Frankfurt), salaries are still low, and real estate is still cheap, compared to the valley. That's what I mean by "special opportunity" if you look at it from Apple's point of view.
I would imagine a lot of this is de-risking the issues surrounding the nativism in US politics. Canada is a good nearshore location. I presume visas for foreigners are considerably less problematic.

I'm in Sydney and we see Amazon do a lot of recruitment sessions here.
I don't think my site is being "targeted" more than any other in my ip range. This is all automated stuff that gets dumped off anyway.
>Learn whatever assembly language first

On this front, I can highly recommend these two resources, preferably in this order for someone totally new to assembly:

NAND to Tetris, a course that will have you build an emulated general-purpose CPU from first principles even with no prior knowledge. You'll learn exactly about registers and memory by making them. I even recommend this to non-hardware people because the way they divide each layer of complexity is great practice even in software. https://www.coursera.org/learn/build-a-computer

Microcorruption, a series of incrementally difficult MSP430 (an easy-to-understand 16-bit instruction set) exploitation exercises in the browser: https://microcorruption.com

These are both geared towards being a gentle introduction to assembly and CPU architecture principles. They don't touch certain facts of X86/64 processors like pipelining or variable-length instructions, but IMO those are best left until you're comfortable with the basics.
Philosophers should talk more about climate change. Yes, philosophers
Ask HN: What are the underrated newsletters you like reading?
Technical or non-technical.
VM Provisioning and Config Management in Azure with ARM Templates
Sabine Hossenfelder discusses science and scientific method. She points out that falsifiability is an inadequate criterion, Occam's razor and that climate change deniers are quite unmoved by evidence since they are unable to tell what science is.

There is something in here that is relevant to models, of any kind.

> The more and the better data you have, the higher the demands on your theory. Sometimes this means you actually need a new theory. Sometimes you have to adjust one or the other parameter. Sometimes you find an actual mistake and have to correct it. But more often than not it just means you neglected something that better measurements are sensitive to and you must add details to your theory. And this is perfectly fine as long as adding details results in a model that explains the data better than before, and does so not just because you now have more parameters. Again, there are statistical measures to quantify in which cases adding parameters actually makes a better fit to data.
This sounds frustrating. But it made me appreciate my own musicality, which maybe I take for granted too often.

Know that it’s a lot like learning to read, or learning to touch type. You struggle for a long time, but it gets better, and once you get past a certain threshold your body just does it for you.
Yes, that has changed.
> this provides the same functionality as the c program in TFA, without needing gcc.

or just using bash:

function showargs() { for x in "$@"; do echo "arg: $x"; done }
Neat!

The other day, I was considering how fast/good(/expensive) an ADC would have to be to capture VGA at say 1600x1200 24-bit @ 70 Hz... around 160 Msps with ~10 bits of resolution on 3 channels at least (RGB; a little lower res for VSYNC and HSYNC). Octopart parametric search says it would cost ~$40 for ADCs alone in small quantities (I don't have chip sampling vendor hookups anymore.). :'( This was going to be for a DIY IP VGA KVM because I was considering how to not spend $400-2000 on an actual new/used Avocent.

VGA is really easy to generate, most FPGA dev kits have a VGA Pong clone or VGA demo... so I can see how having HDMI would be awesome to have video and audio in the 21st century.
The numbers in the article are country-level, and you're responding by saying things about cities. NYC, Seattle and LA are all in the U.S. They're centralized inside the U.S. at the city-level to Mountain View. They're centralized within the English-speaking world at the country-level to the U.S. They're centralized globally w.r.t. language communities to the English-speaking world.
Chaun C. Chang's The Fundamentals of Piano Practice [0] does a fantastic job of describing the relationship between practice and improvement, and how to make the most of your time.

You'll probably come across advice you've already figured out on your own, but there is a wealth of information for even experienced musicians.

> Learn to play a few simple songs that you like, using 3-4 simple chords (there are a ton of tutorials for that), and then spend 1,000 hours playing around on the vicinity of that musical environment.

I would fundamentally disagree. I picked up guitar 12 months ago, and while I couldn't play you a single cover song, I have written over a hundred fleshed out songs. My practice time and creative time were intertwined, and I let my practice sessions inspire my songwriting and vice versa.

It created a clear path of progression for me, and through learning about and writing dozens of different genres I successfully brute-forced my songwriting skills into maturity. I didn't get locked into any particular style as to not limit myself; I intentionally didn't learn 12-bar blues, for example, until about two months ago. I'm not boxed into referring to the Circle of Fifths every time I write a progression.

I still have a long way to go, for sure, but my fundamentals are solid, cohesive, and broad instead of defined by a narrow perspective of playing three-chord songs for 1000 hours. I have written a hundred songs and am preparing to gig, while my friends who have been playing guitar for 10+ years are still struggling to write their first full original song.

[0] https://fundamentals-of-piano-practice.readthedocs.io/
Over 500,000 people die globally from influenza-related respiratory problems every year.

And how many people need to be infected to achieve that result? More people than the Wuhan coronavirus would need. Try an order of magnitude more. That's why the flu typically doesn't make the news and this coronavirus does.

I don't know where you are, but in California the 2017-18 flu season was indeed heavily covered.
A repeat of the mortgage crisis is possible - even likely - if such an instrument is successful. But you need to have some level of success first (for both sides). We're not there yet.
i bought a house with a group of friends, and we're using loomio to manage the household -- organizing maintenance, meetings, and various decisions. it's especially nice for asynchronous decision-making, which should be the only acceptable kind of decision-making.

i learned about loomio from jason benn's excellent blog, here: https://jasonbenn.com/tag/community
> Bad design is that find uses \n as the output record separator and that xargs uses \n as the input record separator, but \n can appear in filenames! This design can never work and will always lead to difficult-to-debug problems. So instead of fixing it

Perhaps, but it also can't be avoided. Everything can appear in filenames. We want filenames to be able to contain any character.

The most high-profile attempt to "fix" the "problem" you identify here is of course the ASCII standard, which defines several separators (0x1C - 0x1F) just for the purpose of delimiting fields with bytes that can't appear in data. Except of course nobody cares -- the solution was stillborn -- because data can contain any bytes that anyone wants it to.

> I am not very productive with PowerShell (to get a listing of files in your directory, just type "Could-We-Make-It-Even-More-Verbose -PerhapsInTheNextVersionWeWill!")

Well, you could do this by typing Get-ChildItem, but it would be both easier and more standard to type one of "gci" (what Microsoft would like you to use), "ls" (meant for those used to unix) or "dir" (for those used to dos).
A new spacecraft is journeying to the Sun to get a look at the star’s poles
The Making of Super Mario 64
I was using ghidra for one of my uhh research projects earlier and I actually found the decompiler from hex rays still does better in some cases. In ghidra sometimes it times out and fails to decompile. Maybe I'm not using it correctly? I haven't begun exploring what kind of plug-ins and stuff it has, maybe that helps?
Math is just a branch of philosophy which is not constrained by reality.
"As cynical as I may sound, but cybersecurity threats like this will continue to be ignored until they sufficiently escalate into consequences."

I guess an even more cynical take would be that nothing will be done even after extreme consequences become visible.

The analogy that occurs to me is war. Every politician theoretically wants to stop war but for the modern state, there is never an end to war and conflict, just rearrangements and strategies based on power and circumstances. IE, they expect war forever and just want to win it. Lack of cyber security seems similar and the plan seems to be to merge them.
It’s all about getting an intuitive connection between your ears and the instrument. The same kind of intuition most people naturally have for their voice to some degree. Music theory can give you some tools to start thinking in terms of scales and harmony, but I think the intuition for it can only come from playing.