skysight-inc/HackerNews huggingface dataset:
Why is it when voter ID laws are proposed by legislators, they never propose a way to get IDs into the hands of eligible voters who don't already have them?

Nothing about giving citizens IDs at 18, nor existing or easy pathways to get a voter ID if you don't have one. Nothing about registering for IDs at the polls, nor programs to ensure that vulnerable populations like the elderly have IDs. There's no assurance given that polls won't enforce ID requirements until a majority of voters have IDs, which should be the default stance of such laws.

Voting is an important right and I'd expect our elected representatives to treat it with deference.
Not sure if sarcastic or not, in case not: https://digitalguardian.com/blog/top-10-biggest-us-governmen...
it's case-by case, and also sport-by-sport. each sport is governed by their own organization that decides which technical advantages are fair and which aren't.

and it's interesting that you mention better bicycles being okay, because for the most part they aren't. UCI rules state "no technical innovation regarding anything used, worn or carried by any rider or license holder during a competition (bicycles, equipment mounted on them, accessories, helmets, clothing, means of communication, etc.) may be used until approved by the UCI executive bureau."

the full ruleset for what constitutes a race-legal bicycle is here: http://www.uci.ch/mm/Document/News/Rulesandregulation/16/51/...
I've been suffering from extreme depression in 2014[1]. I'd still say the 'bootstrap' thing has a bit of truth. It's because the symptom of cured depression is that little stem of inner desire. Almost no one can restore it. Now I wouldn't say it in a blaming tone. I'd just add

1) you're hurt, you need to rest

2) don't drown so keep as much things you can in check (rhythm, sunlight, diet, movement) even it's just one thing do it, then be proud and rest again

3) you can't see it now but things will improve, just slowly. Again take your time, but keep in mind : slow and steady, you'll be back I promise
Conceptual or semantic compression, yes, as the rest of that section makes clear. The very problem with deduplication without abstraction is not thinking at the conceptual level, only at the literal code level. There are lots of ways to compress code, e.g. minifying it :)

Quoting the start of the article: Abstraction in its main sense is a conceptual process where general rules and concepts are derived from the usage and classification of specific examples, literal ("real" or "concrete") signifiers, first principles, or other methods.

For the Button case, you'd have to come up with some concept of what a Button is and does, beyond what code lives in its file (e.g. an onClick handler that calls handleClick, etc.) in order to have an abstraction.

There are "wrong" abstractions (in the sense of abstractions that turn out to need to be changed later, like any code), but if you lump all deduplication into abstraction then you will have a skewed sense of the cost of changing an abstraction.

The cost of changing an abstraction also depends on your programming language; if you spend a lot of time in a dynamically-typed language, you may internalize that refactoring is tedious and error-prone and often intractable.
But often the fork happens too late, after the first few differences have been creatively shoehorned into the shared code. The resulting mess then tends to live on twice after the fork.

In the end, almost every conceptual way to slice up software can be viable if you are good at whatever you do, and terrible of not.
There’s also a solid YAGNI argument against abstraction, especially when circumstances or requirements can change.

You don’t yet know what abstraction you need or what extensibility or generalizability you need, and prematurely extending in these directions can either paint you into a corner where you have to do terrible things to avoid throwing things away and rework, or else you have to bite the bullet and do a bunch of rework.

There can be a lot of benefits to just duplicating things like config, occasional pieces of function bodies, classes with modified functionality, or even using whole projects as templates, like quickly getting a collection of inter-related web servics going with copy/paste code and factoring out common code later.
If you are working in any bigger company they have more than a C class, so they can identify company. If you go there frequently you are employee. You can infer how often /24 changes, means you are traveling or even commuting between work and home. You can't infer exact location but some close area can be guessed. They have a set of data for bigger group so they can create highly probable guesses what people may be doing and where they are.
Me too. I started reading CR in about 2006, found it incredibly educational, and yes, Tanta was a real talent who was gone too soon.
This is similar to the limit imposed on various motorsports. It's not that engineers aren't allowed to compete (they most definitely do, within the limitations imposed by the sport's governing body)--the rules exist to level the playing the field a bit between teams and companies with radically different budgets.
I use kaleidoscope with the git cli. I like using git from the command line, except for dealing with merge conflicts, so I have kaleidoscope pick up merges through its mergetool hook.
Perhaps "All the options of the UI are available in the API and more!" is a better selling point.

Disclaimer: I like UI. I use TortoiseGit 99% of the time and I use the CLI for scripting and weird cases.
But that is just ONE paragraph under ONE circumstance.
My biggest question is: Does it work with Gmail, but this is no answered anywhere, so I am not keen to sign up. (I also don't really know what I am signing up for.)
A serious question here, and not trying to ruffle any SV'ers feathers, but why do you see autonomous vehicles to be as valuable as...say transistors, or satellites? In terms of long term usefulness for the 99% who care much more about turning up at work on time and/or transporting things efficiently from one place to another.
Probably also a lot of people who were banking on a $27,500 car and are unable to fork over the $49,000 that is more likely with a premium interior and expiring tax credits.
The engineers can compete in engineering competitions. A bicycle race is not one of those.
Is 40s too old for a PM job
hey y'all,

I am in early 40s and I moved into PM late in my career from Engineering. I had weird experience with a well known public company in the valley and that led to all sorts of speculations about age and sex etc.
Is there a preference given to younger PM over older PM in the valley, assuming all things equal (experience, education, interview)?
It is ok if it's true, it just changes my strategy by gaining additional experience outside my work or seek out riskier projects, with the goal to make my case more appealing.
Going back to engineering isn't an option. I absolutely love PM work.
Not typical everywhere... The median wage / house price in sydney & melbourne are 13x and 10x respectively. And you pretty much have to live in one of those two cities if you want a decent job in Australia.
The country’s in for a lot of pain if there’s a big recession.
Doesn't d.tube only run on one main server, but transmit over ipfs?
Yes, this! Opening credit cards now (but not using them, beyond the initial minimum spend that’s required to get your points) is a good idea. But before you jump into the pool, read about the tricks and gotchas, such as Chase and their “5/24 rule”.
Awesome. Thanks Macie
> The VERY BEST wood working / handy man show NO CONTEST

TOH was the best handyman show for sure. But he woodworking content was negligible. The Woodright Shop is the best woodworking show.
Yeah, it is gold.
I don't know how much of the environment you think needs to be protected from being "destroyed" by the laying of pavement, but a helpful comparison might be to look at the figures for England:

https://www.bbc.co.uk/news/uk-18623096

"the proportion of England's landscape which is built on is… 2.27%."
Just pulled[0] it for including to Awesome Mechanical Engineering Resources[1] list.

This awesome list already include extendable list of many different engineering & CAD competitions.[2]

- Enjoy!

[0] https://github.com/m2n037/awesome-mecheng/pull/44

[1] https://news.ycombinator.com/item?id=15337556

[2] https://github.com/m2n037/awesome-mecheng#competitions
What I go to war against lately is abstractions that are only there to save people some typing. I strongly believe abstractions are there to abstract -complexity-, not to save you some typing (if the bottleneck doing your job is your typing speed, ask your boss to give you harder problems, hehe).

Being able to evolve 2 pieces of code separately is powerful, and realistically is a more common case than wanting a change to pop up in 2 different places.
The worst truism in information security
well, that’s not really the right question; given enough time, they’re always going to be safer than human drivers

the question is at what point we decide that it’s “good enough” to be a life saving compromise

humans are really terrible drivers compared to sensors. the number of inputs, precision, and quick decision making are all much better for driving than humans
Personally, I'd still err on the side of creating or thinking about an abstraction rather than duplicating code. While creating the wrong abstraction is a problem, it should be a deliberate choice, and duplication should be picked only in the rarest of cases, or where the logic is trivial. If a future requirement renders the current abstraction wrong, it should be refactored to fix the abstraction. If folks are adding edge cases to the current abstraction instead, that is a culture issue that must be fixed. And you should always have good test coverage anyway. This article makes an assumption that future developers are lazy or incompetent and will not fix the abstraction, and I think that we should strive for a culture where such laziness is not tolerated, instead of living with duplicate logic everywhere.
Marion Ohio, USA. My brother even knew an dying fellow that wanted to sell his house for 10 grand. The house is kind of a relic from the 50s. When soliders came home many of them bought these little 800 sq foot homes. Marion Ohio is more than 45% senior. No tech in the town besides the broadcasters, and ordinary sys admin type stuff. But there is a little bit of tech (tiny) in Delaware Ohio, Lewis Center, and all of Columbus has tech jobs that pay anywhere from $60-100k. If you can put up with a 50 minute commute you could save up a nice pile of cash in no time. Thrift!
Get developers more into creative "what if" thinking.

Quite a few are like robots that needs to be told what to do to the letter.
>Maybe i just have a 19th century brain or something. but i found them delightfully free of modern gobbldeygook.

No, you can blame Bourbaki for that. People such as V. Arnold decried the way mathematics is now presented[1].

It was from Hamilton's book that I learned what the word vector means and why it's used. It simply means carrier (as in malaria vector that you might heard from biologists) - and carries the space, by a translation!

Such lucidity is absent from all linear algebra books I've seen.

We need to go back to the presentation style of 19th century, where not only the result, but the thought process is presented. Today's papers look like they are written for formal verification systems.

[1]https://www.uni-muenster.de/Physik.TP/~munsteg/arnold.html
I'm using exactly this stack for my current personal project - Elixir/Phoenix and Turbolinks.

Sprinkling in either Elm or Vue for the one or two complicated widgets I'm going to need, but I haven't committed to either one yet.
i’m sure insurance companies know whether it’s true or not
As Aasif Mandvi put it, Reverend Al speaks for me, but just.
Autonomous vehicles could optimize routes and driving to get things to places faster, reduce stress while driving, and create safer roads. If the tech was widespread enough, there could be autonomous lanes that can drive at very fast speeds too.
Compiling is definitely CPU intensive
It was apparently someone's decision, nobody at Google told him to redirect duck.com to google.com. Comment on slashdot:

https://slashdot.org/comments.pl?sid=3270187&cid=42074845
I started working at The Duck Corporation (duck.com) in 1996, a few years before it went public as On2 Technologies/The Duck Corporation (on2.com and duck.com), and was working with Google/Duck/On2 until a year and a few months after the acquisition in 2010. At Duck/On2, I was responsibile for everything related to building our networks and maintaining all the hardware, software, servers, domains, networks and a ton of other stuff, you know the typical system administrator job.

Prior to the acquisition, but after going public as On2, we likely didn't sell duck.com because that was still my primary email address and I and a few others still actively used it, and we still kept up a basic website for information about our old and basically no longer supported software; and it was just one of those things still tied to the company with a lot of history as The Duck Corporation, so we decided to keep it. Feel free to blame me, since I always requested that we keep it when we saw the many offers for the domain over the years, mostly in the hundreds to couple of thousand dollar range; and because of my history with the company, I am sure I was a big part of that decision to not sell it.

When Google bought us, I knew I was still going to be there for a while to make sure all our company data, and some specific services that had to stay up, was migrated into their servers. Since we hosted all our own servers with our own hardware and software and they had to ulimately be shut down, I had to get things moved over and still needed to get my duck.com email.

So at that point, since I was still getting a lot of duck.com emails and had my duck.com email address for literally many hundreds of websites, publications, mailing lists, business contacts and other things, since I mainly used duck.com for well over a decade, I wanted to make sure Google's DNS and email was configured to still get duck.com emails. I actually had started trying to switch all my duck.com to google.com, but it was an overwhelming process. I still wonder how much email is still going to my duck.com email address.

I took it upon myself to learn the Google way of configuring their public DNS, email and a bunch of other things because I was nosey and wanted to learn and did learn some really cool and interesting stuff about them while I was there. I made sure the MX record for duck.com was still configured to deliver my email (and a few other email addresses) to my Google email account. Since it was decided to no longer keep the website up, I can't give you a real explanation, but I ended up configuring duck.com websites to point to the google.com main page instead of nothing. So you can go ahead and blame me, but no one at Google specifically told me to point duck.com to their site.
Here's a crowdfunded, decentralized YouTube. Crowdfunded. Decentralized. I don't see why everyone is using private business and investment lingo. People seem to be missing the point entirely. Also, if your startup fails and you didn't actually learn anything or made anything remotely usefull, that's a waste. This doesn't seem like a "waste". It's crowdfunded. The type of people supporting this probably couldn't care less if it "fails". I repeat myself verbatim: I don't see why everyone is using private business and investment lingo.
Either that or a brilliant piece of Nike PR masquerading as journalism. Doesn't Nike also sell $400 basketball shoes that make you jump higher?
Functional-ness is completely orthogonal to the type system. Clojure is probably the second most-functional prominent language after Haskell. Immutability is very strongly encouraged, with mutation used only in controlled ways.
> In the moment of writing the code, the evidence for the shared abstraction seems overwhelming, but the evidence of the cost of coupling is completely absent

This is actually representative of a problem in the industry as a whole I think. A lot of things have short term benefits but long term drawbacks. Because of the drastic, recent growth, orgs are bottom heavy (very few people have experienced long term drawbacks of X compared to how many people who just learnt X). Additionally, because of the extremely quick turnover of people, it's even rare that people who implement X are there when X blows up in people's face. They went on to implement Y...and will be gone before Y blows up.

So most tools, libraries, frameworks and abstractions are HEAVILY optimized for the short term. Optimized for getting a project set up quick. Optimized for the initial "Hello world". Optimized to get an API and a form in seconds. Very few tools/patterns are optimized for ease of long term (hell...these days long term means a year or two) maintenance. The ones that are generally get a bad rep.

And building stuff that's both good short AND long term is very, very hard.
I also like what Rob Pike used to say: "A little copying is better than a little dependency."
Ask HN: What was the name of this Sci-Fi book?
In a discussion around 2 months ago in HN, related to alien life, there was a reference to a book. The book was about humans visiting an alien world, but humans and aliens moved at different speeds so they had challenges communicating. Sadly it is all I remember, but sounded like an interesting concept. Any idea which book this might have been?
I agree. I suspect the author is coming from a purely-oop background, where making a subclass/trait is a very costly and clumsy way to reuse logic.

In a functional paradigm, even the most trivial of abstraction pays off handsomely. This is exactly what "map" is for example.
It's not an easy case at all (and in fact, the court punts on the big-picture question, deciding the case instead on fair use). There are two separate issues: (1) "whether people subject to US laws must pay to know what the law is," and (2) whether a legislative body can deprive the private entity of copyright protection in a work by incorporating that work by reference into a law or regulation.

Answering "yes" to the first question does not resolve this case, where a legislative body incorporated a private entity's technical standard by reference, without the private entity abandoning copyright in that work. The question is, what happens now? Does the copyrighted work automatically become public domain (what public.resource.org argued)? Or does the copyright remain valid, but instead we find the legislative body in violation of its obligation to ensure public access to the law (and, perhaps, find the law invalid on that basis)?

It is not necessarily the case, as public.resource.org argued, that the requirement of public access automatically eliminates copyright in standards that have been incorporated by reference. It may instead create an affirmative obligation on the part of legislative bodies to enter into appropriate arrangements with the private entities that develop the standards.
Many have (rightly) pointed out that this article is devoid of articulating a good reason why the market is at the top right now, and hence, why you should alter your behaviour right now.

Nonetheless, it does outline two key points from my perspective:

1. Saving enough money for unpredictable events. While I wouldn't "put it away as cash" for everything, having an emergency fund that can sustain you for 6-12 months is a good idea. Emergency fund usually means liquid - so cash or a savings account (despite the low interest rate) is your best bet - irregardless of what other investments you may have.

2. More importantly, I would say that this article is a great example of how the environment that one grows up in can vastly change affect their world views. I entered the workforce not too long before the Great Recession of 2008 began.

Seeing my initial retirement fund returns go extremely negative (> -40% for 2008) right at the beginning made me question the "conventional" investment advice to just contribute/DCA into index funds and not look at it. Of course, it didn't help that my first employer went bankrupt in 2009.

I haven't developed such a bearish sentiment as the author of this article, (continue to invest in index funds, with a mix that matches my risk profile) but nonetheless remain extremely skeptical that this bull market is some new normal. Thankfully, I'm in a much better position now (work for a big tech company), but I can see a marked difference between my outlook and those of my coworkers who entered the workforce much more recently.

There are many who've only been working since 2012, and many of them see no reason why you'd want to (immediately) sell the RSUs/equity the company gives you as part of compensation, unless you needed to spend the cash. An argument against this was particularly hard during the bull market of 2017 where equity prices (especially big tech) were essentially just a sloped upward line.

I try to tell them it's about risk management/risk mitigation, but my impression is that most people overestimate their risk tolerance until something bad happens.
I wonder if the cars in this are electric or gas.
When I first started learning how to program, I didn't know git existed. When I eventually learned a year later, I was already well acquainted with sending myself zips by email, and using email as "history". Git was quite scary to me at the time, (merges and reset/revert as I recall) so for a good year or two more I just kept using emails. It certainly wasn't pretty, but it required almost 0 mental cycles, worked without question, and actually gave some really nice features comparatively. (searching for a "commit" using complex queries)

We were eventually forced to use git/hg/svn for some courses over that time, so I became comfortable out of necessity and now vc for anything serious; had to unfortunately even use TFS for a while. (guilty secret, for many toy projects, I absolutely just have a folder on my fileserver and rely on its backup/replication, zipping the folder if I want to "snapshot".)
Drag doesn't matter as much at higher levels of cycling, because teams will draft off one another to save energy.
Elixir, Phoenix and Postgres. I like a lot about Elixir and find it's a great solution for many of the soft-realtime apps that I've been building lately.

Standing up a CRUD app in Phoenix is dead simple as well.
When in doubt, I use this rule of thumb:

- It is ok to have the code duplicate twice. Add a comment to track the conscious decision.

- But when I find myself to do it the 3rd time, it is time to think if I can factor it out.

Three use cases tell me more than two about how things can be abstracted and if it makes sense.
I found the following comment very insightful in a past discussion:

https://news.ycombinator.com/item?id=11042400

I reproduce the relevant part:

Dependencies (coupling) is an important concern to address, but it's only 1 of 4 criteria that I consider and it's not the most important one. I try to optimize my code around reducing state, coupling, complexity and code, in that order. I'm willing to add increased coupling if it makes my code more stateless. I'm willing to make it more complex if it reduces coupling. And I'm willing to duplicate code if it makes the code less complex. Only if it doesn't increase state, coupling or complexity do I dedup code.

State > Coupling > Complexity > Duplication. I find that
to be a very sensible ordering of concerns to keep in mind when addressing any of those.
If you add up every thing that an author has argued is a cornerstone of the evolution of society the picture starts looking more and more like the grains of limestone in a concrete foundation.
> Why cannot Java probuce binaries that can be mapped into memory and shared like native executable files? It could solve the startup time problem.

It can. That’s what this article is about.