skysight-inc/HackerNews huggingface dataset:
Notemeal | Senior Software Engineer | Boston, MA | Onsite | https://notemeal.io/careers

Notemeal is a software platform built for performance dietitians to optimize athlete nutrition. We are looking for a senior software engineer with experience as an athlete. Our founders are both technical (I am one of them), and previously managed software dev + data science teams for the New England Patriots. This will be our first hire, and thus will offer significant equity. We are bootstrapped off of friends + family, and have clients in place across the NFL and NCAA generating revenue. We are optimistically aiming to close a contract with the entirety of the USOPC on March 1 (US Olympic and Paralympic Committee), and are hiring in anticipation of this. We are operating in the Professional Sports market, with bigger plans in years to come.

Stack: Apollo, GraphQL, React, Ionic, Typescript, Node, PostgreSQL, Heroku + AWS

Learn more at the link above, or email us at careers@notemeal.io
Love this, love the write up.. but on the amiga...

the A500 had 6 bitplanes, not 5, also, with PAL being the most popular region, I'd say 320x256 was the more popular resolution over 320x200. 6 bitplanes are used for Hold and Modify (HAM mode, where 2 bits select Red, Green, Blue or Palette, and the remaining 4 bits indicate either R G or B values, or the index of the color.) The other 6 bitplane mode is "Halfbrite" which doubles the palette size for a total of 64 colors, where the second half 32 colors are half the intensity of the first half.
When running with 6 bitplanes, agnus (the memory controller if you will) steals a lot of cycles for Denise (the display chip) from both the 68K and the blitter. The blitter being crucial for drawing filled polygons.

The second thing that made the Amiga revolutionary (and one could argue, for this reason, that the PCI architecture of Hombre/AAA is not a true Amiga no matter Commodore's demise) - the second thing is the way that Agnus orchestrates memory access much like the microcode inside a CPU orchestrates registers and ALUs. In particular, Agnus controls the memory address lines and chip-register-address lines; the chip-register-address and the memory address lines are opened up simultaneously against eachother with one reading and the other writing. So, for instance, when reading bitplans, agnus opens the chip bus using one of the register addresses 0x110-0x11A for BPL1DAT to BPL6DAT depending on which of the 6 bitplanes is being read; while at the same time driving the appropriate memory address by putting the contents of agnus registers 0x0E0-0x0F6 for BPL1PTL/H to BPL6PTL/H on the address bus of the "chip memory" DRAMs. The datalines of the DRAM and the special chips (Denise here) directly open on eachother (eg. DRAM and Paula chip-selected at the same time.)

I'm not sure if I did it justice and got the elegance of this architecture across in this short post. I'm sure many enthusiasts like me who got their start on the Amiga programming 68K continue to discover new things about this machine.

Good times, warm memories.
Show HN: Aural – Listen to Popular News Sources with Neural Text-to-Speech
The Intentionality of Evil (2005)
A man just died in Oakland today trying to recover his laptop that was snatched from him in a Starbucks.

http://nypost.com/2020/01/02/man-dies-after-trying-to-stop-t...

Definitely don't go running after your stolen laptop, let it go.
Is there any way I can contact you? My email is in my profile.

I'm working on something to make the interview process and the offer piece a lot more transparent. I've been part of terrible interview/offer loops too, and the problem aggravates me to no end.

I'd love to speak with you.
If you are ever playing with an SGI machine and need help I would recommend that you stop by irix.cc, ever since nekochan went offline its been the forum of choice.

Normally when you need to mount an SGI ISO/Disk Image

-Get the offset info with fdisk:

fdisk - l ./disk.img

-Insert that into your mount command like below:

mount -t efs -o loop,offset=$((64*512)) ./disk.img /some/mount/point

As far as installing I would highly suggest anyone with a box try to find the DINA VM for network installs.
Speed limits are incredibly low. I drove across Norway this summer and never saw a speed limit higher than 50mph.
Gauss, too, was excited by the way decimals formed cycles as a kid, and he went on to invent modular arithmetic to completely explain the phenomenon!
My argument against gun control is similar to my argument on the “War on Drugs”. It wouldn’t be enforced equally. Do you think they are more likely to arrest one of the good ol boys in the south for having a gun illegally or a minority?

Also, the US has a poor history of actually getting rid of things that people want.
That was rather shocking.

But, rather than just being shocked, what can we do?
Agree completely. I personally know an otherwise normal healthy teenage girl that cries and can’t sleep at night from anxiety if she doesn’t have her phone. I think there are many more people like this than we realize.
One summary: https://www.psychologytoday.com/us/blog/one-among-many/20090...
This is specifically due to the fact that the original Flux implementation labeled these objects as "actions", and Redux was designed as a Flux Architecture implementation:

https://github.com/reduxjs/redux/issues/891
Clickbait article name.
Is there a technical spec somewhere? I guess they don't offer USB-A ports on 13 anymore.

I'd also like to see it boot (cold power on). On my 9350 this takes 10 seconds or so (just to get to Dell firmware logo even without OS).
> protecting my team from this behavior pushed down from above

OT, but it's super common to hear in management circles about how managers are supposed to "protect" or "shield" their teams from the nasty CTO or CEO or some powerful stakeholder. IMO this is just not sustainable.

A CEO or any powerful person pushing a manager too hard accomplishes absolutely nothing at best, and is a disaster at worst. This kind of thing really hurts the morale and culture of the whole company.

Glad to know your boss is one of the good ones. My current CTO is like this and compared to the company I was in before it's night and day.
Right but tools vs solutions. The tool is a screen timer, but the solution is to resolve the underlying problem.
Since you seem knowledgeable, and this seems surprisingly hard to google, do you know why it was named "Amiga"? I know the codename was "Lorraine" and, because I'm a native Spanish speaker, I know "amiga" means "female friend", but why was this name chosen? Did they simply pick a random name, and if so, why Spanish?
Without turning this into a No True Scotsman, I don't think the problem is Agile. I think the problem is that most companies have no idea what Agile is, and they just implement a subset of its ceremonies in a highly malignant way and pat themselves on the back.

If you have 10 hours a week of mandatory meetings and are asked to make projections about features and deadlines 6-12-18 months into the future, you are not Agile.
The Predictive Index | Software Engineer, DevOps Engineer | Westwood, MA/Boston, MA | ONSITE COMPANY The Predictive Index (PI) is a technology company that gives business leaders access to the people science, data, and strategy they need to make objective hiring decisions, design great teams and culture, and reach their strategic business goals. PI has more than 7,000 customers, including Nissan, Citizens Bank, DocuSign, Subway, 47 Brand, Blue Cross Blue Shield, and Omni Hotels—across 142+ countries, and has undergone more than 500 validity studies.
Passion, teamwork, and energy are at the core of who we are. Our team embraces and takes pride in the power of The Predictive Index and its impact on workplace relationships and culture. We are our best case study.

If you are looking to join a company that is innovative, expects you to think outside of the box and empowers its employees to act, this could be the opportunity for you. At the Predictive Index, we embrace an employee-centric culture that has fun, works hard and accomplishes a lot. Our employees, their careers and their life outside of work, are our priorities.

Tech Crunch post on $50M funding in February: https://techcrunch.com/2019/01/25/the-predictive-index-bring....

POSITIONS

- Senior Devops Engineer: https://grnh.se/f7576e9e2

- Software Engineer: https://grnh.se/0db2828d2 (It says senior but we're hiring all levels except for junior!)

Contact: wotto+hackernews AT predictiveindex.com
Apple is treading the same path with their ads about Privacy in the US and also continuing to sell into China.
All this in the name of the almighty SEO optimisation.
What would the crime be?
Should I have said "physicists"?
This post is funny. “Web assembly is super duper easy! let’s do a hello world example! But also let’s not do a hello world examples because strings don’t exist in WASM and that would be kind of confusing!”
I thought that one of the major points of WASM was that it would be fast? The first advantage listed on the official WebAssembly website is "Efficient and fast" [0]. But I suppose you wrote "the point" - it's just one of several points. But ideally, it should run at "native speed", right?

[0] https://webassembly.org/
I'd been wondering if the GD32F107 was a clone of the STM32F107! Thank you for confirming that! But surely you can't honestly think that ST microcontrollers are a reasonable alternative for most electronics manufacturers? As far as I can tell, ST doesn't even offer datasheets in Chinese!

I think RISC-V software support will probably take shape pretty quickly, in the next $smallinteger years.

In terms of the ethics of cloning products from other companies, such as Linux, Chrome, Intel’s 64-bit chips, and Google Search: do you want the future to be dominated by engineers who create new things, or by owners of government-granted monopolies like copyrights, patents, and RF spectrum? Bram Cohen and Richard Stallman, or the RIAA and Verizon?
> Wait! Click on the tiny barely-readable links in the bottom corner of the page (at least on desktop) that say "List Maker" or "Online Notepad" (they both are different URLs, but link to the same page). Then you get an interactive demo.

I saw those links and clicked on one. I thought that it was for a different product!
Hadn’t heard that term before. Feel free to explain :) Is it a sales thing?
This is somewhere where project style guides and code reviews can yield tiny, incremental wins.
I forgot to mention that fitness is a uniquely great use case for VR. I use my Quest daily to work out cardio and core (Box VR and Thrill of the Fight are awesome for this)
Yeah, I use this one:

<meta name="viewport" content="width=device-width, initial-scale=1">

and "initial-scale" is only needed by Chrome Android AFAIK.
https://i.ibb.co/KqZg188/nordvpn-hoodie.jpg
Interesting. How's Intuitionism doing?
Taste varies from one individual to the next. I try to avoid skim milk because whole milk simply tastes much better.
You think Slack was ever undercapitalized to a point where they couldn’t hire both Mac and Windows developers?

Companies have been producing both native Mac and Windows software for over 35 years.
One of the lede's that was buried slightly is that "whole milk" is only 3.25% milkfat. So, going from 2% to whole milk is a miniscule increase in the total amount of milkfat consumed.

This surprised many of my relatives when I brought it up with them, who thought it was an increase to over 25% milkfat.
On the Journey to New Habits, Take Tiny Steps
Yeah. I myself dismissed concerns that people have expressed because I tend to be suspicious of alarmism. But there is a real problem, a real addiction. Sure, it might not be the same as a chemical addiction to alcohol or something, but that doesn't make it any less real. I've seen firsthand how relationships have been destroyed, in large part, due to smartphone addiction.
I left context out for the sake of brevity, but since you are addressing its absence:

The entire time I was there (and remember, this is the DMV, so it was a while) the kid was glued to the phone. There is a difference between engaging with a smartphone and being engrossed by one. This case was certainly the latter. Yes, again, toddler worldviews have limited scope and the thing in front of them is usually the most important thing ever, but even so this child was clearly addicted.
I think you greatly underestimate seatbelt laws. Seatbelts were seen as bike helmets back then, almost nobody used them. For example, according to this study setbelt laws increased seatbelt usage from 6% to 70% in just a few years.

https://www.sciencedirect.com/science/article/abs/pii/000145...
I don't. They're from a country with sky-high crime rate though so their IRL street smarts are rock solid. Some of that translates to digital scams

Still worried though when their SIM cards got cloned. (banks use cell OTP for 2fa)
Ah, that the companies in SV are less forward thinking than the population of, specifically, SV. That could be.
Maybe it is better to show episodes of Seasame street. They seem to be able to do it.
I have to say I am disgusted with HN. Horns aren’t meant for telling people they’re doing something you don’t like. They’re for preventing other cars from colliding with your car. Pedestrians pose no harm to your vehicle, so if you’re out there honking at pedestrians, you’re behaving in a shitty manner and making the road more adversarial for everyone.
The Windows /3GB bootflag might have also given the needed 0.5GB of extra heap space, but apparently the JVMs couldn't really make use of it according to https://stackoverflow.com/questions/21631167/java-heap-space...
How to hire qualified developers and tech profiles
Author of Mapbox's Vector Tile specification here and also contributor to some of the code that is used by PostGIS and I wanted to add some additional clarity on some topics associated with Vector Tiles and dynamic serving of them that seems to be a new trend.

The Vector Tiles specification was designed for map visualization but has expanded into other uses as well, but in general the purpose is to be able to quickly provide a complete subset of data for a specific area that is highly cacheable. Most of this provided speed and cache-ability is specifically gained by preprocessing all the data you will use in your map into tiles.

The general steps for turning raw data into Vector Tiles are:

1. Determine a hierarchy of your data. For example if you are talking about roads at some zoom levels you will want to see only highways or major roads while at other zoom levels you will want all your data.

2. For each tile at each zoom level; Select your data following your hierarchy rules, simplify your data based on your zoom level (for example you might need less points to display your road) and then clip your data to your tile and encode it to your Vector Tile.

The problem is that doing these steps is often very complex and requires thought about the cartography of your final resulting map, but it can also drastically effect performance. If you are dynamically serving tiles from PostGIS it is very hard to reduce large quantities of data quickly in some cases. For example take a very detailed coastline of a large lake that is very precise and you are wanting to serve this dynamically. If you are attempting to serve this data on demand each time you need a tile you have to simplify and clip a potentially massive polygon. While this might work for single requests, if you increase in scale this quickly adds lots of load to a PostGIS server. The only solution is to cache the resulting tiles for a longer period to limit load on your database or to preprocess all your data before serving.

Preprocessing of all the tiles is already something other tiling tools such as tippecanoe are really good at doing and comes with the benefit of helping you determine a hierarchy for your data. Preprocessing might seem excessive when it comes to making potentially millions of tiles, but in general it makes your application faster because it is simply serving an already created tile.

Therefore, if your data does not very change quickly I would almost always suggest using preprocessing over dynamic rendering of tiles. You might spend more effort maintaining something than you expect if you start using PostGIS to create tiles on demand over existing tiling tools.
Treat every unsolicited call like a sales call. Which it is. If they're pushing you something you didn't ask for, it's sales.

If there's really an issue with your device/account/whatever, you'll know about it.

No legitimate business will threaten and cut you off if you don't do what they're asking right now. Your bank wants your business. They won't just cut you off because you didn't verify your social security number. A legitimate institution will bend over backwards to let you make things right, eventually. Not threaten you right now.

But really, being savvy with tech scams is just being savvy with society in general. So the usual anti-aging, keeping your body and brain active advice apply here as well as anywhere.
Why does that look like Lisp?
Yeah, you can get that, "um, exact case" too, with Rails in 2018, ask how I know it's easy to trip over while switching between web servers like Puma and Unicorn, because of the different way they each handle objects threading/forking.

I found out when my new Rails 5.1 app which was using Puma, had to be switched to Unicorn so that it could work with our uniform platform for Rails apps. Puma threads are I guess pretty cheap and so are basically disposable, so they are created freshly all the time, but Unicorn process forks are made once per app-start because they're process forks, and incur some greater expenses.

So suddenly we noticed when switching to Unicorn that Class vars (those starting with an "@@" which are declared and have values in the class scope) are not reliably empty at the start of a request anymore, but usually had some value left hanging around from the previous request. Class vars are basically global variables so shame on us, now we know.

That previous request of course could have come from any logged-in user, so be careful what you store there! It's much easier to say "if the variable is empty, then initialize it thusly" and count on hitting that corner case once in a while, than it is to say "what is the order of my actual dependencies and how do I keep them ordered" – at least it seems easier until it bites you like this!
> This article might give you an idea of the most extreme example

Ahh, yes. A link to a 10 year old climategate article. Nice one.

> everyone wants their research to be sexy

This is flat out wrong. There are plenty of people who care more about money, prestige, and power than they do about producing sexy research. Right now, the easiest path to achieve that would be to produce contrarian research. There is no shortage of funding from the oil industry, and the right wing media will give air time to anyone that sounds like they have a plausible sounding argument.

> you seem to have a very restrictive idea of climate change science

I am well aware that there is a large amount of uncertainty regarding the predictions of the future. Pretty much everyone, including the 'academia establishment' acknowledges that. If anything, that fact that they are so open about these uncertainties makes your argument of 'cabal-group-think' weaker.
Jo March, Literary Lodestar
Maybe get to Reunion and then blend in on a domestic flight back to the mainland.
> Please could you try and explain how you came to this conclusion?

1. Stateless brokers

With Kafka any time a broker goes down you need to be aware of the kafka broker id. Yes, this can be fixed by creating your entire infrastructure as code and keeping track of state.

This is something of great OpEx. I've seen few people successfully automate this, Netflix is one of the few. The rest just use manual process with tooling to get around, pager, Kafka tooling to spawn replacement node with the looked up broker id, etc.

2. Kafka MirrorMaker

Granted I have not used v2 that recently came out in ~2.6 but dear gosh v1 was so bad that Uber wrote their own replacement from the ground up called uReplicator. The amount of time wasted on replication broken across regions is disgusting.

3. Optimization & Scaling

Kafka bundles compute & storage. There's (maybe on a upcoming KIP) no way that I know of splitting this. This means you'll waste time on Ops side deciding on tradeoffs between your broker throughput and your broker space.

Worse yet time & money will be wasted here. I'd just rather hire more people than waste time on silly things like this. This is where I justify taking on the expense of client libs.

4. Segments vs Partitions

The major time wasters are where you end up in a situation with the cluster utterly getting destroyed. It will happen, it isn't a question of if but a question of when or the company goes belly up and nobody cares.

It's 3 AM, the producer is getting back pressure, you get a page and now have to deal with adding on write capacity to avoid a hot spot. Don't forget you can't just simply do a rebalancement in Kafka or you'll break the contract with every developer who has developed under the golden rule of, "Your partition order will always be the same".

You'll successfully pay the cost of upgrading the entire cluster and then spending 3 days coming up with a solution to rebalance without making all your devs riot against you when you break that golden contract.

RIP Kafka

Having spent a couple of years dealing with Kafka I'm sorry to burst people's bubbles but is dead. Even Confluent doesn't have a good enough story these days to not switch to Pulsar, they're going to sell you on the same consulting bs, "We're more mature", "We've got better tooling.", "Better suppott"...

Yes, of course, it has been in the open source community 5 years longer and the company has been also around longer for that time. Kafka is dead, long live Pulsar.
Personal opinion: Skim milk tastes like a distant relative to whole milk. That 3.25% milkfat makes a major change in the taste of the product. It's like adding butter to a recipe - it's the fat that really adds to the taste.
$2.50 for a cup of coffee? Only if you're paying for the "convenience" of take-out like Starbucks.

I buy locally roasted beans, grind them myself and brew my coffee in an Aeropress for sub-$0.50 a cup. It's low calorie, gives me a buzz, and I love the taste and comfort of a warm drink, especially in the Canadian winter.

Seems like a deal.
Yeah, this is actually my same observation. High-functioning teams were naturally agile even before it was called that. Defining and formalizing agile practices is a way for people who've never experienced it to know what success looks like.
It's an interesting observation.

I think that the modern approach to distributed systems is moving towards golang style microservices and lightweight / simple system design with RPC communication, reconcile type loops for state reconciliation, and backing CP databases. I think this is the influence of k8s (and maybe google's approach to distributed systems).

I will almost certainly get downvoted for this (as I always seem to when I criticize the JVM), but Apache/JVM style architecture feels REALLY long in the tooth to me. I think you are committing to an outdated and very expensive approach to building software if you use anything running on the JVM, especially Apache based anything. Cassandra is a great example of this - out of the box it's a terribly performing database that is extremely expensive to run and tune. Throw enough resources and time at it and you can get it to acceptable scalability - but running on the JVM which is a huge memory hog will always make it expensive to run (and even then, you will always get terrible latency distributions with the JVM's awful GC).

If I was building a business I would run far far away from any JVM based solution. The only thing it has going for it is momentum. If you need to hire 100s of engineers off the street for a large project, then a JVM based stack is about your only option unfortunately.