skysight-inc/HackerNews huggingface dataset:
> For any code base that isn't a throwaway like a one-off script or similar, say 10 or 20 years maintenance

I think one of our problems is that people have downgraded the importance of this. Much code nowadays (rightly or wrongly) is considered "disposable" - people think that the likelihood of any given piece of code they are writing as surviving more than a few years is negligible. It is a natural assumption when you see the deluge of new technologies, hype cycles, etc. It is further reinforced by the fact that people's empirical experience is that a huge amount of their software work is abandoned, rewritten, outdated, obsoleted, etc.

I think these views are horribly mistaken, because at a deeper level even if 90% of code gets abandoned, the quality of the 10% that survives is still going to determine your maintenance cost. And half the reason we keep throwing code away is because it was created without consciousness of maintainability - it is so easy to say that the last person's code was garbage, so we are going to rewrite it because that is faster than understanding and then fixing the bugs in what they wrote.

I observe this in myself: my favorite language to code in is Groovy - a dynamic, scripting language with all kinds of fancy tricks. But my favorite language to decode is Java. Because it is so simple, boring, there is almost nothing clever it can do. Every type declared, exception thrown, etc. is completely visible in front of me.
I guess the only bit I don't really agree with is this:

> upfront investment in thinking about the correct types

being a cost. Surely you have to do this whether the compiler will check your work or not, and if you just don't do the thinking you'll end up with bugs? Isn't this a benefit?
OpenWRT is dead. Long Live LEDE.... until they fork LEDE back into the OpenWRT codebase..
> Most people downsize once their kids leave home

Except you can't do that in California, because then you're walking away from your Prop 13 "rent-controlled" property taxes.
I realized I meant to say the front-end role. Looks like you took it off of your website.
I have a few answers to this question.

The first computers I used:

Several Pentiums and i486's running MSDOS, Win95, Win98, and Win2000 are what I grew up with.

First computer I built:

A socket 426 motherboard I got from a large dumpster, an Athlon XP 2600+ (2ghz) from ebay, and an ATI All-In-Wonder 2006 Edition (a Radeon 9600 256mb with built-in RCA input) my dad couldn't get working in his system.

That video card is why I passionately hate closed-source drivers. As of ~5 years ago, the free Radeon driver has been up to snuff, but alas, too late.

In this span of time, I built several PCs with second-hand parts, and installed many a GNU/Linux distro (roughly in the order Ubuntu -> Linux Mint -> Debian -> Archlinux -> NixOS with Gentoo, Debian, TinyCore, Fedora, etc. scattered between). I even got a 2011 Macbook Pro secondhand, and learned how to deal with the abuse that is Apple's EFI (not UEFI) - especially when the CD drive stopped working - right up until it melted.

The first system I bought parts for (I finally had real money!):

ASUS M5A99FX Pro R2.0, AMD FX-8320E, 2x 4gb 2133 cas10 dimms, 500W semi-modular PSU, NVidia GeForce GT 720.

Still my main system, but with a couple of AMD RX 480's instead of NVidia, and a beefier PSU, SSDs, etc.
Those machine have a disclaimer posted, saying malfunction will void payout. If they have big latitude on what they consider "malfunction" it sounds like a big scam and we all should stop patronizing them.
without paywall https://jalopnik.com/tesla-misses-model-3-production-goal-ov...
Commodore 64
I have one follow up question - is TTL a planned feature? Being able to set a TTL on the _stream itself_ and -also- on the messages would be extremely nice. While MAXLEN prevents a queue from being extremely large, I also want to remove "stale" data after a configurable time period.

Use case: A log of network latencies, where a user might currently `XREAD` with a timestamp 10 minutes in the past, would be able to save on memory usage by expiring log entries > 10 minutes, and then being able to `XREAD STREAMS strm 0` and let Redis (and therefore the infrastructure, not my code, manage data retention).

Also, how does this work re: evictions? Say a node is at max memory, will entire _streams_ be evicted, or (I hope) the oldest messages in the LRUed or LFUed queues.
A counter-argument: majority of visible anything in cryptofin is a fraud, or shady at best.
Would Shape be interested in hiring a Machine Learning intern with experience in Vision and Mechanical engineering?

I have a BS in Mechanical Engineering and have worked at a fortune 50 automobile company. However, I am currently pursuing my MS in CS with a focus on Machine Learning in the US. I have also previously worked full time in a 3D mapping startup in Vision and 3D classification.

Didn't see a listing for software interns on your product page. So I thought I would ask here instead.
For someone only passingly familiar with Spec, what's the benefit of Spec over just using a property based testing framework like Haskell's QuickCheck (and I think Clojure's test.check)?

I can encode all those invariants as QuickCheck properties and have them automatically tested against random inputs on every test run. It's still all runtime verification, but with random inputs I actually have more confidence of hitting a corner case than with just asserting during regular program runs or hand written example tests.

Also, with enough heavy lifting you can actually encode all of that in the types in a dependantly typed language like Idris [1]. And while a machine checked proof of your sorting algorithm is nice, it might be hitting the diminishing returns point the article mentions over just using property tests.

[1] https://github.com/davidfstr/idris-insertion-sort
I wonder about the efficacy of directing hopeful youths into entrepreneurship. The median outcome for founders is basically poverty, which is not a problem for those who have less utility for money and more desire for independence and who want the freedom to pursue dreams. But the harsh reality is that you need to make money to survive and YC often funds founders before they have validated their economic opportunity. They also provide founders with all the kool-aid they need to justify unreasonable optimism. The cost of increasing the number of early-stage startups and directing a higher percentage of them towards positive outcomes is that it also increases the likelihood of the worst-case outcome: failing slowly. Maybe it's easier to find injections of money to keep petering along, and maybe the cost of failure feels higher. So founders pinch even tighter, constantly anticipating the train derailing making just enough money to hurl down new track in front of your engine. Just enough to survive, but not enough to thrive and go faster. Maybe it's a quixotic quest fighting for every inch to find customers, funding, and not really advancing technology or your product. There's some schadenfreude to seeing others around you fail, especially one's who have raised more funding than you. There's also some jealously when your founder-friends advance to greater wealth and maybe a little jealousy towards the risk-averse among your friends who stayed at Google for 4 years and can now angel invest in your next startup. You have some experience now and should do better this time, but you can't cash in your existential dread.
YourMechanic| Mountain View, CA| Fullstack Engineer| Onsite| Multiple Positions Available! https://www.yourmechanic.com/careers

YourMechanic connects mobile mechanics to customers who seek affordable, convenient, and honest car repair services at their home or office, seven days a week.

We're expanding nationwide and we are looking for software engineers who, like Mechanics, enjoy looking 'under the hood' and can work across the entire product spectrum, to join our core development team. Feel free to reach out to

Tech:
Ruby on Rails for back end.
Postgresql DB, with Redis for in memory caching.
React for front end.
Swift for iOS app.
Java for Android app.
Special purpose modules in nodejs, golang and tomcat.

kdurant@yourmechanic.com to learn about this role and others!
All open positions: https://www.yourmechanic.com/careers
It seems that "$" is a special ID for the last message, as opposed to the last possible message.

I would humbly suggest that "^" would be a suitable symbol for the first message in a stream. ^ and $ are used in regex (and vim) in a similar way.

That way you could write
"XREAD BLOCK 5000 STREAMS newstream ^" and get all the messages in a stream from the beginning, and then block until a new message comes in all with a single command. You would still be able to add a count if needed, to prevent client flooding.
> Brutal competition from discounters Aldi and Lidl is making life very uncomfortable for the big British grocers

I don't really get this paragraph. On a recent vacation in Scotland I found Tesco to not be very top-end (that's also how I remember it from the 90s) - so unlike Sainsbury it feels like a pretty low-end supermarket (or maybe mixed? full-spectrum) and we have some of these "nearly discounter" chains in Germany as well. FTR, I only visited Lidl once in Scotland, so can't comment. And I also didn't really buy typical groceries, not cooking,e tc. Just random stuff.

TLDR: I'm very confused about which chain is supposed to be upscale or close to being labelled a discounter.

Also, in Munich I tend to see a lot more normal supermarkets anywhere near the city center than exactly Aldi and Lidl, because they tend to have bigger stores, which are not so easy to come by.
1 500 000 000 000
----------------- = 15 000 000
100 000

That would, in theory, result in 8-figure jobs for every serviceman. Is that right? Where is the excess going?
This is very similar to maidsafe. Except maidsafe pays you for hosting. Does this?
Is there nothing that J Strother Moore hasn't touched?
Yeah, firefox after 56 is garbage on this front too.

but that is mostly trying to please sponsors, like google.

But do me a favour, try to find any setting, command line flag, developer setting, anything, to disable or limit referrer to the domain, on chromium/chrome. All three times i counted, the features were removed by google employees after added by outsider contributors. And 3rd party cookie is going the same way. Outside contributors add, google employees remove. Until everyone gives up and google has its way.
Actual source: http://ir.tesla.com/releasedetail.cfm?ReleaseID=1042449

OT: Sad how difficult it was to find this. The media avoids linking to primary sources. For example, Engadget's 3 paragraph article contains no less than 5 links back to engadget.com and not a single mention of this source.
No but see climate change is a liberal conspiracy
LAS VEGAS VICTIMS' FUND
Value is more complex than that. Many people would like to live among friends and family and have their kids raise grandkids nearby. Housing price bubbles disrupt communities at great cost to society.
I'll probably eventually hate myself for even bringing this up but I can't help but notice the similarity between this ID structure and Version 1 (aka timestamp) UUIDs. While I wouldn't go as far as recommending that you fully adopt that form, it might be worth considering if you could make these IDs compatible with UUIDs by defining a canonical transform. The critical differences are:

- UUIDs use a different epoch (15 Oct 1582 vs 1 Jan 1970)
- UUIDs count 100 ns blocks instead of ms
- UUIDs include a 6 byte "node id"
- UUIDs allow only up to 15 bits of "sequence"

I think that last one is the biggest deal, since as currently specced redis allows 64 bits of sequence, which is obviously much bigger than 15. The options I see are either up the time resolution used by redis, encode some of redis's sequence bits into the UUID's time bits, or just live with it as a limitation--in practice 2^15 is a lot of messages to get in a single millisecond (though in cases of clocks jumping back might not be too much).

You'd also need to come up with some thing for the node id, perhaps the first 6 bytes of a cluster node ID or similar.
Machine guns are hard to make. They may be theoretically easy, like building something like Facebook. But something portable that doesn't jam or fall apart is much harder.
[100% Off] Course Marketing Strategies: Build a Business Teaching
Engagement in Marketing Is Bullshit –  Why
In Turkey they arrest journalist following the rule of (their) law.

In Spain, the paramilitary police injured 800 citizens who wanted to vote. Following the rule of (their) law, of course.
Note that this is all a single screen. Just preferences > privacy. No extra navigation required.

It's is under the history sub-title, but you can see all the options in the screen at once. Not as hidden as in chrome.
Seems like a fair fit for something like a Merkle tree. Do it properly and you could even save and load undo history with the file, treating external changes seen on load as new history states - which might be a nice feature to have.
Paris syndrome
> The C compiler picks up on that, too.

Except when it's not. Just five days ago I was debugging an error in my Erlang
port driver that was caused by me passing receiver (ErlDrvTerm, an int in
disguise) in the place where I wanted number of iterations. The funnier thing
was that the declaration of the function had the arguments in correct order
(and that's what guided me), but definition had them swapped. The compiler did
not catch that bug, because, well, both are ints, so apparently the
declaration and definition match, don't they?
Are there plans for a "unique count" over an XRANGE?

I currently use multiple Sorted Sets (one set every 5 minutes) and Union 30-60 worth to produce a "rolling window" of uniques.

I can see an alternative where I just request a unique count of elements within an XRANGE.
I usually go to bed between 10-11 and read (non-light emitting eink screen). Lights out is almost always around 11:45. I wake anywhen from 6:30 to 7:30 usually.

My kids (both on the autism spectrum) use 1-3mg Melatonin and have from a young age, otherwise they would never sleep. If I'm travelling or find I have a few nights in a row with trouble getting to sleep I'll take it for a few days too. Works well.

The quality of your sleep is an important factor too. If you suspect you may have obstructive sleep apnea then go get it checked out. It may be the cause of all manner of irregularities in your sleep routine.
> Very few people are able to make a living today maintaining open source projects.

I think you underestimating the number, but even if true, if open source is still so strong despite of that - where is the problem?

> I view free speech, the airwaves and even the internet itself as public property.

Free speech is not a property, it is a human right. Internet is mostly distributed private property, and works just fine with that. As for airwaves, it's a mess, let's not go there, it's irrelevant for our discussion.

> So it makes sense that having a greater share of public funding/ownership in those areas

No it does not. How forcefully extracting money from people mostly unwilling to pay them and allocating them by opaque decisions of people who have little expertise in what is needed and mostly are bothered by looking good on TV is better than voluntary funding by consumers who know what they need? I mean, I can get if you say some things can not be financed otherwise, for reasons. Maybe for some things there's just no way to work out suitable non-governmental model that would work. But here we have a model that already, provably, works. And we have governmental model which is notorious for its poor efficiency, corruption, wastefullness and constant scandalous mismanagement. How it makes sense to replace a working model with it?
in-tech (www.in-tech.com) - Subject Matter Expert: Digitalization - Onsite (Greenville, SC) - Full time

in-tech is a rapidly growing German engineering company founded in 2002. We take on automotive and digital transformation projects for companies like BMW, Siemens, and Ford with team sizes ranging from 2 - 200 people and project length from 6 months to 6 years.

We are looking for a Subject Matter Expert to join our team in Greenville, SC. As a specialist you will assist with the direction of the in-tech R&D unit to accompany our traditional customers in the sectors of Automotive and Machinery during the transformation phase, while at the same time positioning in-tech as an outstanding provider for individual mobility solutions. You will contribute to the unit's success by providing technological expertise, professional and methodical know-how, and accompanying our independent and self-responsible development of new business models.

Talented software leads and project managers looking for a new challenge are welcome to apply on the in-tech website. Let Tyler Parmelee at (+1) 864 341 1100 know if you apply or have questions.
Ah. I hadn't caught the part where it relies on Intel's Attestation Service. That is indeed weird.
Catalonia has a population of 7.5 million. In the EU, there are 13 countries that are smaller than Catalonia.

Some of them, like Denmark or Finland are doing pretty well, and have some of the most advanced democracies in the world.
You can also enable people to make the world a significantly crappier place for millions of people by accepting that money.

If you're going to think of good or happiness as a transactional thing, you can "steal" some happiness from millions of people to increase your own (e.g. by getting tens of millions of dollars) but in doing so you've likely decreased to total happiness of the world. MAYBE you can make up the total amount of reduced happiness by spending that money to do good somewhere else, but you can never really know whether you've been successful and you can also never really know just how much you've worsened people's lives long-term.

I find it unlikely that people interested in purchasing VLC so they could monetize it would stop at a level that users would consider acceptable.

Selling out your users for money is almost always going to be a net loser in the currency of happiness in the world.
A simple way would be to implement the entire work on chain; a challenger has to pay for the entire work on chain, but in theory that rarely happens if the deposit is large enough. Anyone thinking about submitting the wrong answer has to consider that it's easy for prospective challengers to check the work before running the on-chain fraud proof.

More complex methods allow fraud to be proven with only a partial computation, by applying merkle proofs. I haven't really dug into it but the TrueBit paper is probably the best source: https://truebit.io/
> However, if you have an experiment that pulls X from the system, watches Y fail, then readds X in a new way to recreate the system, you can be much more certain that X influences Y. That becomes a much desired, "elegant" experiment.

Yeah, in molecular biology this always seemed to be the most convincing evidence. Deleting a gene and then adding it back. Sometimes going a step further and overexpressing the gene. You can generally publish that data without any statistical analysis.

> The later experiment is often harder, and might not even be proposable until you've seen some statistical effect.

I think the better journals/reviewers can push back at this step, though: If you don't have a demonstrable mechanism, you can't publish. Don't let people stop at "...this gene is important (p < 0.005)." (I know not all things are as simple as gene deletion and complementation)
OK I'm confused. Thank you though!
Don't mutable and immutable references with lifetimes count? Sure, one could argue whether the borrow checker is really part of the type system, but it's a compile-time check either way.

Yes, in the standard library, an immutable object can hide mutable state in e.g. a 'Mutex', and effects to the external system aren't wired through anything like monads or unique objects.

I see those as compromises Rust makes in the name of pragmatism and being a system'ey language. I don't necessarily like all of them, but I find the general uniqueness typing based approach interesting.

See articles comparing Clean and Haskell for an interesting historical perspective, including how both approaches could be used to model side-effects in a purely functional language. Haskell "won", possibly because it was seen as more generic and composable. I always felt Clean's approach had merit too, so I was really glad to see Rust bring the idea, or a closely related idea, to prominence.
I think the downsides are much bigger than a few dozen people killed a year. Yes, it's a tragedy. But gun homicide rate in the US is not terrible, and most of it happens between gangs rather than civilian shootings. Many of them will get guns from other sources anyway, and like banning drugs or alcohol, it will give criminals more sources of income.

Disclosure: I'm not American and I think someone needs to keep Trump in check.
Security through obscurity is a very misunderstood concept. It should never be used at the expense of proper security (i.e. rolling your own crypto), and you should always act under the assumption that targeted attackers can see through your obscurity, but it can be a valuable part of defense in depth: especially against unskilled attackers.

Consider an 0day for example. When the 0day is published, attackers are going to mass-scan the internet for vulnerable applications. Your WAFs, etc won't yet block the attack, and if you have a vulnerable application that must be externally facing, you may get hit by this mass-scan. If your applications are protected with port knocking, however, you'll have that extra window of time to apply patches and protect yourself before you're directly targeted.
Hi My name is JULIAN HOUSTON, am from upper island cove . Canada. I want to use this opportunity to thank God for using this Great prophet to solve my marriage problem and also help to wine lottery. This Great Prophet of God brought my husband back to me. 3 years ago, i and my husband has been into one quarrel or the other until he finally left me for one lady. I felt my life was over and my kids thought they would never see their father again. I tried to be strong just for the kids but i could not control the pains that was tormenting my heart. My heart was filled with sorrows and pains, because i was really in love with my husband. Every day and night i think of him and always wish he would come back to me. Until one day i melt a good friend of mine that was once in my situation, but her problem was different a little bite, her ex-boyfriend who she had an unwanted pregnancy for refused to take responsibility and dumped her. She told me that mine issue was a minor case and that i shouldn't worry about it at all. So, i asked her what was the solution to my problems and she gave me this Great Prophet of God phone number and his email address. I was doubting if this Great Prophet of God could actually solve my problem. So, I contacted this Great Prophet of God and he told me what to do and i did it.He told me to wait for just four days and that my husband will come crawling on his kneels just for forgiveness. So, I faithfully did what this Great Prophet of God asked me to do and for sure after four days i heard a knock on the door, in a great surprise i saw him on his kneels and i was speechless, when he saw me, all he did was crying and asking me for forgiveness, from that day, all the pains and sorrows in my heart flew away, since then i and my husband and our lovely kids are happy. That why i want to say a big thank you to God for using Prophet ikehedu .to solve my marriage problem. This Great Prophet of God made me to understand that theirs no problem on earth that does not have solution.So, if you are having same Problem, any problem that is similar, i will advise you to contact This Great Prophet of God straight at (prophetikehedu@gmail.com )And his facebook contact is this (https://www.facebook.com/ikehedu.sundayn.3)