skysight-inc/HackerNews huggingface dataset:
I strongly agree. Natural keys are an ivory-tower pattern, and a software-development anti-pattern.
My mistake -- I was thinking of a Newtonian work bench. :-)
I'm surprised the author calls out that knowing the pk before insertion is useful, but doesn't once mention idempotence as a key benefit.

If you are building mobile apps that sync state, UUIDs make your life so much easier. Optimistically perform writes locally, then perform writes remotely and retry on exponential backoff in case of a network error.
Desert Island Discs – Demis Hassabis, CEO of DeepMind [audio]
On the subject of non-approved sysadmin/devops tools,

I wrote a little 'tarball compiler' framework in mostly PMake some time ago to "DevOps" like it's 19[89]9 ... basically it will build per-host file overlay trees, rdist them out to target hosts, and then optionally run user defined start/stop/restart hook scripts when needed.

https://github.com/ixcat/admmk/blob/master/doc/admmk.rst

unfortunately, though it will do per-host targets, I didn't get around to per-service targets.. should be feasable however.

Definitely a bit hairy, but hey, thats what quasi-functional symbolic makefile programming is all about my friends..

ps: if you think this is bad, try rewriting it in gnumake if that's even possible.. PMake! Woo!
Neat! It supports wsl! Even better! O_o
Why not change the definition of natural keys then?
I'm on job #3 since graduating from college 10 years ago. The average raise amount I've gotten each year staying at a job has been 3.7%. The average bump in pay I've gotten changing jobs has been 15%. This is despite receiving an excellent performance rating every year, for 10 years, at each of the jobs. The reality of the job market today, especially at big public companies, is that the framework in which they operate does not allow them to give large awards to good performing employees.

Usually the only way to increase your pay is to get another job or threaten to leave your job if you don't get a raise. Threatening to leave is generally a one-shot deal and will probably paint a permanent target on your back.

My sad advice to maximize earnings is to stay at a job for 2-4 years then move on for a 15-20% pay raise.
No they are not. You can't sell them without a government license. Simple.
What's a CI environment, may I ask? Does CI mean configuration item ?
>I believe Amazon (or shipping in general) actually brings down the carbon footprint. [...] drive about 9 miles to a mall to buy a single cable and drive 9 miles back or shipping it to my address

Sure, home delivery is probably a more efficient way to consume, but the argument is that people end up consuming more as a result of the convenience. If buying a new cable means you have to drive to the store, maybe you decide you don't need it right now.
Did anyone not read the documentation? I'm pretty sure this will be a non-issue soon.

> How does Apple File System handle filenames?

> APFS has case-sensitive and case-insensitive variants. The case-insensitive variant of APFS is normalization-preserving, but not normalization-sensitive. The case-sensitive variant of APFS is both normalization-preserving and normalization-sensitive. Filenames in APFS are encoded in UTF-8 and aren’t normalized. […]

> The first developer preview of APFS, made available in macOS Sierra in June 2016, offered only the case-sensitive variant.
Thank you for the excellent summary. Based on your input and u/flavio81 response I have purchased a book on basic of electricity and that will hopefully enable me to understand and interpret circuit diagrams
HR doesn't need to approve of contractors?
IMHO R notebooks, jupyter and their ilk are essentially emacs for the masses.. which is neither good nor bad, but is.
Maybe i ought to have just said that the title includes the qualifier, " - that's the aim anyway," reinforcing the notion that even if we don't know if tifuhash is universal, it aims to be.

So work is ongoing in that area, and you're welcome to contribute code or work on an approach to prove it is universal at some point. If you have more you'd like to contribute, you could become co author potentially.

Please try to see it like that. That's the idea I'm going for here. Thanks
$80k/month App Store Scam
Earn 2-3k$ from home by typing
One thing my wife learned and told me (she’s a biologist so actual science vs my CS background :) ) was actually fairly interesting and is apparently widely considered true among evolutionary biologists:

If you are male of you are likely to carry genes from your father that produce a similar appearance to him. You will /also/ carry genes from your mother that prefer your appearance (your mother choose your father based on appearance). If you are female offspring you will inherit those same genes but won’t express the male appearance ones. You will still pass them on to your offspring.

So you end up with a cycle where offspring look like/prefer the appearance of their parents, and will forward variants of those genes on to their own offspring.

This is effectively a feedback loop that will carry on until limited by some other factor - eg if your tail is too long you may end up dying too quickly to mate, if it gets too small you may not be able to fly at all (some of the old pigeon breeds studied by Darwin are hilarious).

This means that the selection for beauty does not necessarily mean that there’s an awareness of fitness being proxied by beauty.

Once she had labouriously explained it to me it seemed really obvious.

* note I used male/female etc for ease of typing - there are a few species where the role of being attractive is reversed
Counterpoint. I had a friend who took Aikido where he learned rolling falls. He was quite proud of his abilities and I wound up taking him to the emergency room after he dislocated his shoulder doing a roll off his car hood.
@schoen You do make some very good points, the wave lengths in this list are based on the assumption of pure colour forms using Dan Bruton's Spectra approximation. http://www.physics.sfasu.edu/astro/color.html

Furthermore as you can see in the list composite colours such as white, gray and black have undefined values.
You know that most languages support those things right?

And they have virtually nothing to do with DI?

If you are going to make an argument for more natural support for DI in go than other "strongly" typed languages it starts and ends with structural typing.
Linux EBPF Tracing Tools
ProBeat: Samsung Should Have Put Cortana on the Galaxy S8
Isn't there a large org chart of not-quite $19MM earners to account for, too? It's not like everybody makes $200K until being made CEO.
Also pedantic, but lossless mp3 compression is possible; it just requires the decompressed signal to be identical to the original.
Thanks for the feedback!

- local data -- good point -- will switch that up so the demo goes faster in future

- no loading indicators -- thanks! I think I've used the tool so much I've now gotten used to it, but this is definitely something we'll add in our next release

- form building -- interesting. We were thinking about doing API queries to modify data, but that would require backend code. Were also thinking about just having a database local to retool -- so you can take notes on your customers, say.
Laboratory notebook skills [pdf]
Shameless plug: Anyone bothered about the wasted space in UUID string representation (and using Ruby) can check out https://github.com/sudhirj/shortuuid - it re-encodes your UUID into any alphabet you choose, with a Base62 default (I find that to be a sweet spot that gives both URL safety and efficiency).

Let me know if you want ports in any other languages - the the algorithm is to really just treat the UUID as a hexadecimal number (that's actually what it is) and re-encode it into any other alphabet of choice.

That said, always use native UUID types in datastores - they'll convert to bytes / numbers internally and will always be the most efficient. For other situations, remember that they're just numbers, so you can write them in binary, ternary, octal, decimal, hexadecimal, vowels, baseXX or really any other alphabet you want. The bigger your alphabet (as long encoding remains efficient, like ASCII under UTF-8), the better your gains will be.
It's not about bargaining power, it's about even considering them for the job. Wouldn't you think they were telling you they're probably going to turn out to be more trouble than they're worth? I'm pretty sure that's what conventional wisdom says is the correct response.
SoftOrbits Photo Stamp Remover 9 Crack Plus Serial Key Free Download Get [HERE]
Timing based UUIDs (type 1) or ULIDs can leak (surprise!) timing information. If you can see them then you can infer the rate at which some resource is being created. For example the rate at which a service is creating users or business transactions. This can be valuable competitive information you don't want to share with the world.
This guy is total scum. Hes no bounty hunter at all.
Performance comparison of 5$ Linode vs. 99$ WpEngine: Linode wins
Regardless, it's wrong to say, as the grandparent poster did, that the courts agreed with Pirate Joes.

Also, saying that TJs "bullied" him assumes that he was not in fact trading on the TJs brand. Look at his store sign: http://www.cknw.com/2017/06/08/pirate-joes-in-vancouver-clos.... Even the font he uses is very similar. He wasn't just reselling TJs products. He was capitalizing on the TJs brand to resell products (at a high markup by the way).
This is really cool but I'm curious why Bloomberg would need this. Ie, what special needs does Bloomberg have that would lead to a primarily non-engineering company investing the resources to create this. Was there nothing off the shelf that would have fit their needs?

I don't mean that in a derogatory way, I'm just curious what motivated making this.
I don't see this replacing Jupyter notebooks any time soon, as they simply are better.
I wonder whether the ex-admin was already an ex-admin at the time he wiped the servers.
As claudius mentions, it's a simple SQLite database and yes I do search it, every 2-3 months we need some nugget from years and years ago.
>I don't think that's much about the students. I think that's a huge failure on the part of the boot camp program.

If you want a silver bullet for success, go to an ivy league or similarly-pedigreed school. There are plenty of people graduating from the top schools that burn out on their programs, but still get into successful gigs based on the reputation of their degree, and the connections they made.

Didn't study hard in high school, or Mommy And Daddy didn't send you to private school? Too bad. Life is competitive, and it needs to be that way if we want to make progress as a species.

No one is saying failure should come with punishments like unemployment or homelessness, but not every program out there needs to be as easy to coast through with C's as Harvard is. Not everyone needs to be a developer, doctor, pilot, etc., either. But the military needs almost everyone to get through boot camp.
It's actually operational, and has been for a few months. The USAF is cleared to deploy it worldwide, though I doubt they will until the pilots are a bit more familiar with it.
28-storey Twin Tower Planned for Lahore
The work started 12 years ago when there were probably no `NewSQL` [1] solutions out there.

https://en.wikipedia.org/wiki/NewSQL
At least in Finland, national ID can change in some cases, e.g. when you change your legal gender or if it's repeatedly misused by someone else (like in identify theft scenario).
and a wrapper for golang: https://github.com/draringi/go-libtrue
Bloomberg, after all, is a high-tech news and information delivery network.
Eh, 3 pieces of a randomly generated string... hashed in memory, and only the result of the hash function is stored. Pretty basic concept.

Soon, dear throwaway, you'll be telling me we should live in fear of the locksmiths, for all their key blanks and such fiendish metal files to abrade them with. What if they should file down a butter knife into the shape of my precious bicycle chain's key?
At a previous company, we got burned using UUIDs as MySQL PKs. Turns out MySQL keeps data on disk sorted in PK order, so even a moderate INSERT workload would lead to lots IO and disk thrashing as pages kept needing to be rewritten.

Fun times...
Bloomberg started as a technology company. Sure, they have expanded into media, but I'm pretty sure they are still first and foremost a provider of software (plus hardware) and data.
How many people you know are from third world countries?
A testimony from some random internet stranger tilts your judgement of such a huge life decision as a career change?

How can you be sure my story is accurate? For all you know I might have given them the wrong number or some other error on my part.
I wonder how this compares to CockroachDB
It's common enough to have become a convention, especially where ambiguity is an issue, like in HN titles.
https://bloomberg.github.io/comdb2/overview_home.html

>> We had several goals in mind. One was being wire-format compatible with an older internal product to allow developers to migrate applications easier. Another was to have a database that could be updated anywhere and stay in sync everywhere. The first goal could only be satisfied in-house. The second was either in its infancy for open source products, or available at high cost from commercial sources.
Bloomberg is a massive tech company.
I bet Fortran has an even lower 'proportional' variableness.
It stands for Continuous Integration - here, it probably means a system where developers should check in (integrate) their code several times a day and where tests are run when code is checked in.
> Simple. You store the exact pointer

How would that work in a scale-out, distributed cluster? What is a pointer? How do I figure out what machine an object is really located? What happens if that machine is down? What if I want to move the object/rebalance the cluster? How do I keep multiple copies of an object (for e.g. fault tolerance)? How do I figure out which copy is the right one?

How do I organize the pointers? Would I use a hash table? A tree? A graph? How would that data structure be distributed? Would every machine store a copy of the lookup data structure, or just some specific machines? What if those machines fail? How do I maintain copies? How do I keep the lookup data structure up to date?
one possible way to think about it is to realize that all wires can be modeled as a transmission line (most accurately) with finite (but non-zero) R(esistance), L(inductance) and C(capacitance) components.

signals propagate over the transmission line as a wave by alternatively transferring energy from electric to the magnetic fields i.e. between L & C.

which is where the delay comes from...

it is fairly trivial to derive the wave propagation equation for the above model (assuming ofcourse that leakage conductance is zero). when considering lossy transmission lines though, things get quite complicated, but you can always (almost) get away with numerical techniques...
This actually only underscores the usefulness of surrogate keys.

Let's say you are building a cloud-based HR software of some type. You have an employees table, and store employees.

If someone gets married and changes their name, or gets a promotion and changes title, they're still the same person (and the same database entry).

However, if that someone leaves that job, and then gets a new job at a totally separate company -- that also happens to use your service -- they are a new database entry.
> without context to the situation, who are we to decide who's right or wrong?

You can comfortably make a determination about what is right and wrong. We don't know the facts, but if the claims are true, wiping out not just that company's property, but that of their customers, is a crime.

Now, sometimes a crime is justified, but I don't think it is a rush to judgement to work from a starting point that criminal behaviour is bad until proven otherwise.
This is why I'm starting to loathe SQL. The theory is great, but when the theory meets the practice and everything falls apart, the perfect kernel of relational beauty turns into a trash fire and I just want to get my freaking graph of objects out of the database. If I use numbers for keys, I deal with disaster when I try to merge from disparate sources. If I use guids as keys, I get terrible performance. Or I can just use a goddamned document store of Json or XML and have related objects get stored right next to their parents and tell the beautiful mathematics of relational algebra to shove it.

I'm tired of hearing "you don't have to say how to get the data, you have to tell the database what you want and it will get that in the most efficient manner" and then deal with an encyclopedia of byzantine rules to get it to do the aforementioned "efficient manner" with anything approaching decent performance. I can see the art, but the practicality mars it beyond recognition. It's like Venus de Milo sculpted out of duct-tape and bubble gum.

Sorry for the rant, I'm just getting frustrated with performance problems in small data sets. I've taken the courses, I've read Date and Darwen, and I'm just starting to get terribly disillusioned.
I definitely wouldn't call Bloomberg a
"non-engineering" company if you've ever worked with any of their trading / market data products. Pretty much true of any trading side finance company nowadays.
PCIe 5.0 will be twice as fast as tomorrow's slots...
I am 21, I have a lot of proper ideas, most for side projects, and 2-3 for real business idea which are still not very great. I think, to start building an idea we atleast should be really good at something(code/design/lead/other) and then I can do my part of the work and the others needed eventually.
I am a college student, and I am just recently starting to learn about how software is being deployed at production and about how things fit together.
As I am not good with the lead part, so I think should get better with the tech part and then I start.
"Non-engineering company" -- ha!

But to answer your question: Mike Bloomberg's autobiography talks about this. When they started in the 80's there wasn't as much great off-the-shelf software as there is today.

Their customers were (and always have been) insanely demanding when it comes to reliability and speed. The last thing Mike wanted to do was be caught sheepishly explaining to the CIO of Merrill Lynch, "Well, gee, our Oracle database has this bug they can't fix for the next two weeks..." or even "...this optimization they can't make for the next six months"

This is a company that invented its own layer-2 network protocols 35 years ago just to squeeze every last drop of performance and reliability out of the hardware. Of course they wrote their own database (actually two -- there was a comdb 1 of of course, too)
The Last Windows 7 ISO You’ll Ever Need: Slipstream the Convenience Rollup
> HR told us in no uncertain terms to run the other way. They didn't share what was in his check but it wasn't good.

I always have a hard time with those contexts. HR sometimes has the wrong idea of what is unacceptable and what is appropriate. There really isn't a good reason for them not to tell you. The only thing that would make sense is if they shouldn't know it.
Distribution Model and Sales Channels
Ask HN: How do you manage redux at scale?
Question for all the redux or Rx.js users...

How do you efficiently manage your state/actions when it gets super complicated?

I don't mean in terms of performance though, I'm interested in terms of how you make it so your codebase is still scaleable.

I've worked on/built 4 front-end apps now that were 100k+ lines of code and it always seems like redux becomes a large blockade to refactoring/features at some point.

It seems great if you know exactly what your code should do..but when you're a startup and refactoring features every couple months, it feels like Redux can actually hurt you more than help you.

I just had to trace down a component interaction that bubbled up to its parent component that called an action def that then was thrown in an action func thats outcome ran through a reducer that was monitored by an rxjs observable.. And all of this was just to remove an element from a page. I've got 7 files open and it took me 10 mins to trace something trivial down.

In scrappier times, I'd just call the $.delete and .remove() the element. Two small pieces of code, could even stick them in a React component and call it a day. If I needed to refactor the behavior, I could just open up it up and find it in a few seconds

I know redux is crazy powerful and can make some things really awesome and I've seen it first hand..my last team built a dope Redux app that was handling thousands of stock ticker updates a second with crazy performance. That said... it creates such a web of structure that it feels super hard to untangle when you need to change your state structure or refactor behavior around an action.

tl;dr keep me from switching back to vanilla js and the stone age
You know, I wanted to same the same thing as you, but in actual fact I found it quite interesting and insightful.

Although, surely not as interesting and insightful as the talk itself would've been.
Java doesn't. C# doesn't. C++ doesn't (or maybe it does as of the last few years). And the languages which have them (or something passably close) don't use DI frameworks (Python, JS, etc). They might exist in those languages, but they're fare from common. The point is that DI frameworks reduce boilerplate. Go head less boilerplate than, say Java.
Ask HN: Encrypted thumb print USB disk
I'm looking for a USB-C disk that is hardware encrypted and can be unlocked only via thumbprint. I've tried looking but found nothing online.

Does anyone know if such a thing exists?
why do many say 'serious' work gets done in Python? R is great for linear models, but I find it tedious for many other things such as machine learning. However, I wouldn't classify that as 'serious', just that I find one performs better for different tasks.

its already been said, but I do NLP a lot. R handles text poorly. humans use a lot of text.

tensorflow, neural networks, etc is better in Python

between pandas, list comprehensions, python collections library, sklearn, spyder, I feel I have a lot of power at my finger tips and its easy to do most of the machine learning I want.

importing a package takes a meaningful amount of time in R. Several seconds, that is just unacceptable.

its a personal matter, but R has syntaxes that get on my nerves. python list: a = [1,2,3] a = c(1,2,3). perhaps its because i used other languages before, but my fingers are more adept at hitting [ which requires no shift compared to (. some people love curly braces and lots of parentheses in if/for statements, I appreciate them not being there.

I have to fight with R on scientific notation, always copy - pasting into my code: options(scipen=999)

that said, spyder is buggy, and R studio is fantastic. I still haven't come across a good python IDE that is par with R studio.

edit: I forgot to say, I feel pyspark is far superior to sparkr. last i seen, sparkr only works with a VERY old version of spark. I dont even think that version is supported anymore. this is a bit of a big deal to me
Meaningful names are critical for understanding. Without good names, it's incomprehensible, regardless of the complexity.
I would bet that the Terminals are responsible for something like 140% of their profits, and that the media empire is a huge loss leader / vanity project.
Lots of comments are interpreting "ex-admin" as someone who was fired and then after went and did this. Just want to float the possibility that "ex-admin" could also mean someone was employed there, then did this and is now no longer employed as a result of doing this.

(Btw, IMO there is no excuse or justification for any admin or exadmin to ever do this. Among many other issues is the fact he deleted the data/work of individuals who had nothing to do with whatever "problem" he has with Verelox )