skysight-inc/HackerNews huggingface dataset:
It's a DBA rant.

Unfortunately, the author doesn't really get UUIDs -- the whole point of generating them and using them as a primary key is that you get a unique entry that can be used between systems. That is a magical thing that gives you superpowers.

In a past life, we would keep the customers basic data in the production database forever, but denormalize and export most historical records out of the transaction system to a data warehouse after 18 months of account activity. We also dumped login/audit data to a big flat file for compliance purposes.

The beauty of using the UUID as the key in that scenario is that the data became fungible between the systems. We didn't care about the audit logs, but had to keep them -- if we had to process them, we could do so with text tools (i.e. Perl/Awk) and do whatever querying we needed to do with a subset of data.

Relational databases are shitty and expensive when used as file systems. If you don't need the relational magic, you don't need the cost and operational overhead of a RDBMS. Literally billions of dollars are wasted keeping unused data in databases.
> 4 low-latency locations in ISO/IEC 27001
> certified Tier 3+ data centers in United
> States, Netherlands, France and Canada.

Entirely possible.
Public transit and car rentals are a poor substitute for a taxi service.
To be honest after one semester, I can't eloquently state it without rambling for a few hours, so I'll direct to this excellent HN comment, which does a much better job than I could:

https://news.ycombinator.com/item?id=14286604
Except that as a CEO, presumably they could afford insurance. Then again, insurance might correctly price itself based on how likely a CEO is to screw up, which I imagine is actually fairly common, and the insurance might be too expensive for even CEOs.
The Internet and open data movement are just incredible. I am still amazed that regular people can get such insight, and fairly well presented anytime online.
There's a company I would list here but it's in bad taste because they are popular and my comment would not fit into the 140 character limit!
I hope fans will forgive me for saying this, but Matt Levine's newsletter is kind of incoherent and not relevant to the HN audience. It never has much of a focus, and it's only rarely about tech. If you like this kind of newsletter, just subscribe to it: http://link.mail.bloombergbusiness.com/join/4wm/moneystuff-s....

Kindly avoid posting it to HN every day. Post the articles Levine links to instead, if you must.
> What's people's thoughts on learning languages with basic editors first before switching to IDEs?

When I started learning Rust 6 months ago, I asked myself this question.

I chose to use rustfmt so I could spend more time worrying about what my code was doing as I modified it and less time over what any Rust style guide might say.

I chose to not use anything else though. My focus was on learning the language and not getting a project done. With that in mind, I wanted the learning process of digging through the documentation to become familiar with what is available rather than just doing "auto complete programming".
TL;DR: In an economy with government involvement as heavy as ours[1], it's ludicrous to claim that people should not only know the "true" value of something but know precisely when the gov't is going to decide that the market value should be allowed to revert to its "true" value.

> Taxi drivers did not get screwed. It's medallion owners that got screwed

Right, good catch, I wasn't thinking about that fact. That's not central to my point but it is a good point to clarify.

> The medallion owners who got screwed do partially have themselves to blame, because they saw the outrageously inflated prices for medallions and chose to pay them anyway.

This doesn't make a whole lot of sense to me. What is the "true" value of a taxi medallion, in a regulatory context where the government is setting the supply? If we implement [insert optimal healthcare policy] and (hypothetically), doctor salaries drop precipitously, are doctors to blame for seeing how "outrageously inflated" med school tuition was and choosing to pay it anyway? Should they have stayed out of the field entirely until healthcare policy in this country is perfectly optimal?

For the life of me, I'll never understand the lack of empathy required to see someone get screwed by unstable rules and conclude "well, it's your own damn fault: you should have been born one of the X-Men, with the ability to predict the future perfectly and realize that this particular inefficient policy regime was going to be disavowed at this exact time". Providing a stable legal framework is one of the most basic and most important jobs of a gov't, and making changes like suddenly deciding to stop enforcement of policy that the industry has been dealing with for decades is what legal scholars call "a dick move".

Here's another example which might be more directly relatable: if you buy a house in California and Prop 13 gets repealed or if you own real estate anywhere and our idiotic policy regime around real estate gets fixed: you'd suddenly lose a huge portion of your life savings, but you'd have yourself to blame because "you saw the outrageously inflated prices and chose to pay them anyway"?

Bear in mind that even if you were intellectually consistent here and agreed that those homeowners are to blame, that would be terrible advice for the literally centuries' worth of landowners/homeowners in whose lifetimes real estate policy wasn't made efficient or fair, and real estate value growth accrued to arbitrary people through rent-seeking.

[1] Not that that's a bad thing necessarily
>Presumably records are locked in such a way that simply knowing a URL doesn't allow you to bypass security.
In case this doesn't happen. If there is a leak, with sequential ID, you run the risk of leaking the whole table. With UUID, the leak can be more limited.

Also, sequential ID may reveal some information you may not wan to share. If someone's user ID is 1234, that may be an indication the service has at least 1234 users.
I recently wrote about changing the Primary Key as a way to organize/cluster the data on disk for better query performance (MySQL, unsharded environment). http://techtime.getharvest.com/blog/improving-report-perform...
Interesting. What SaaS products are available in kubernetes today?
> It totally destroys encapsulation.

Not at all. Only the initializer needs to know about the needs. Then in the object world you can use a combination of dependency injection and factories to abstract over all the details you don't want callers to know about, and you can do the same more elegantly in the functional world with partial application (AKA currying).
Yes.

You overestimate how willing people are to say "It is morally unjust that squeaky wheels get the grease" when they could say "Squeak".
More: It shows the company cares about integrity and that's the kind of place I'd like to work.

But I'm not a senior executive.
Windows 10 All in One ISO Build 16215 (x86+x64) Is Here [Latest]
It works until it doesn't :). A lot depends on how well they're enforced. SSNs are a go-to example, but in other countries which have actual ID numbers for citizens[0], duplicates do happen every now and then because of e.g. clerical errors. Real world is messy, and something can be trivially fucked up, it will be.

--

[0] - as opposed to the way US handles the SSN, where the number was explicitly forbidden from being used for identification, but people use it for it anyway.
Judo for about three years, around 11-12 years old. I'm never afraid to fall. People have actually been impressed when they've seen me fall.

You get good at programming by learning technique and programming. You get good at falling by learning technique and falling.
Security Maxims (Johnston, 2009)
But, to state the obvious, anonymous items in computing (e.g. anonymous functions, or untitled/unaddressed draft emails etc.) generally need to be assigned an id for the software to keep track. The practice of avoiding natural keys and assigning unique ids is analogous. No paradigm is implied.
Oiled japanese muscle lesbian athletes on GotPorn (1382795)
I favor an DI style as well, but sometimes in rare cases I like using the init functions.

This boils down to functions which follow the template.Must pattern, i.e.: either the function can be evaluated or the program should panic.

The other case is read-only lookup tables.
I use Facebook to chat with friends and organize social events but do not post personal content. LinkedIn is truly awful, my feed is flooded with recruiters complaining about candidates or posting cringy motivational stories.
Roger G. Johnston worked in security at Los Alamos and Argonne National Laboratories and collected this set of maxims (funny but painfully true) in 2009.
Interesting indeed. I'd say that a primary thing that makes an object is its identity - and the identity is never a part of object data, nor it could ever be. In programming languages, objects' basic identities are determined by however the language implements references; in databases, a natural solution would be a surrogate unique key...
An incoming CEO would have slightly more leverage with the company than you had in that situation. :)
I use both, but R for interactive analysis and reporting, Python for data transformations (ETL).

While the syntax of Python is "cleaner" for backend scripts, R feels more straightforward when working with dataframes (dplyr) resulting in things to report on. The syntax for ggplot2 fits the same category.

As much as having one languages for both categories would be nice, using both today seems like a better option.
In programs, anonymous objects always have an unique ID automatically assigned - by the very virtue of being separate entities. Usually those IDs are what we call "references" in programming.
Not precisely sure wrt PCIe 4.0, but I'd speculate that bandwidth limits of copper on FR4 is surely one contributing factor, driven by a cost-sensitive consumer market. Cost-optimized interconnect solution may also be another.

Somewhat related, I've noticed comm tech tends to follow a fairly consistent evolution: new enabling material/process, improvements to interconnect, algorithm optimizations, repeat.
I think the author's two examples - a logger and a database connection - should be handled differently from each other. The database connection should be passed as a parameter, and the logger should be a global variable.

One difference is that it's reasonable to add logging to nearly any function anywhere, which means that you have to either make the logger global, preemptively provide a logger parameter to almost everything, or else change a whole bunch of method signatures at once every time you need to add logging to somewhere that didn't previously have any log statements. Global variables are unfortunate, but the other options are much worse.

The second difference is that you pretty much only ever have one logger object in a process, but processes often use multiple database connections and it may matter which one is being used. For example, a caller may want to make your function's database accesses part of its transaction. Or use a unit test database instead of a real database. Or a number of other things. Omitting the parameter hides the fact that a function uses the database, which is an important thing to know about it.
> AMS-IX is the largest connection between Europe and the US

An IX (Internet eXchange) is not a connection, but is more like a giant switch, where internet access providers send local traffic, so they don't have to send it through their bandwidth providers, to cut bandwidth costs.

The AMS-IX is more or less the largest internet exchange in the world.
Metal 2 supports external GPUs. I don't know if this means it supports using multiple GPUs at once though.
Paper at http://comp.social.gatech.edu/papers/icwsm14.vader.hutto.pdf
Electrons in the conductor are actually kinda slow, it's on the order of millimeters or centimeters per second. It's the electromagnetic field propagation that is fast. That is, if you have a conductor cable, and apply voltage to it, the individual electrons inside it will proceed very slowly, but they all will start moving almost at the same time along the length of the wire.
And yet, the countries which had sweatshops, like China, India, Vietnam, etc. have had huge success in bringing their population out of poverty. The countries which didn't, like most of Africa, did not. Population growth also tends to go down with industrialization, not up. So you are basically completely wrong when you say that sweatshops trap people in poverty.

Speaking of wrong... Suicide rates per capita are also higher in many rich countries than in many poor ones. It's the "per capita" part that people don't understand. Foxconn literally has 1,300,000 employees. At the standard US rate of 13 suicides per 100,000 people per year, we should expect 169 suicides at Foxconn per year. But people see a headline about a dozen suicides at Foxconn and think it's a crisis, because math is hard.

Despite your disgust with the poor, no major pathogen of the last few decades has been traced back to sweatshops. AIDS and Ebola came from people interacting with apes, not from factory workers. Bird Flu came from birds. So I call bullshit on your claims that the poor are breeding super-diseases.

We can all agree that capitalism has some bad aspects and maybe the governments in these countries should be doing more to help. Spreading a lot of ridiculous nonsense about how these people are worse than animals is just that, ridiculous.
For PCIe with essentially baseband signaling and short links the bottleneck is in the transistors. It's in balancing the power requirements with cost/manufacturability of the link interface circuitry.

Both for power consumption and EMC reasons you want to minimize the maximum slew rate of the signal on the link (and thus the voltage) while on the same hand you need the voltage to stay large enough so that the receiver (which is for all purposes an analog design) can be implemented in widespread digital CMOS processes.

On the other hand both conventional parallel PCI and conventional (<=2.0) USB is limited by physical factors, which is in both cases the physical length of the link/bus and propagation velocity of the used wires (ie. speed of light divided by some small-ish constant). In both these standards this limit was intentionally introduced by Intel as cost reducing measure (in PCI's case this means that motherboard does not have to contain about 60 or so discrete resistors, real impact on cost of USB's implementation is somewhat questionable).
Orion Labs | Senior Android Developer | SF | Onsite, https://www.orionlabs.io/

Orion Labs is dedicated to connecting people, groups, and services though seamless voice communication. Through our push-to-talk wearable and voice platform, we deliver a heads-up and eyes-free experience that enables people to communicate more efficiently without losing focus, and to do their best work.

Our users depend on companion apps for connecting wearable hardware to the Internet, creating and switching groups, managing contacts, finding the location of their teammates, and more.

We're looking for teammates who enjoy building, refactoring, and testing mobile software, and take pride in their work. You should care passionately about intuitive user interface design.

Java should be your bread and butter, and Android Studio your playground. We use Dagger to provide dependency injection, and RxJava to support reactive programming patterns. Our mobile applications use Bluetooth LE (GATT protocol) to talk to our wearable product, and RESTful APIs to talk to our service backend. We aim to iterate quickly, delivering app updates to our users every couple of weeks or so.

Orion is dedicated to building a diverse and inclusive team with a wide range of backgrounds and experiences. This means not only striving to hire a diverse set of humans, but providing them with support, mentorship, and opportunities to grow. We firmly believe that hiring and supporting a diverse team is valuable endeavor in itself, but also allows us to do our best work and make better products.

30min phone screen --> take home exercise --> 3.5hr on-site

Apply here: http://grnh.se/vhar011
> I'd think top talent would, you know, behave ethically

How does that increase profit?
> If you feel sorry for someone who purchased a $300k taxi medallion which had an intrinsic value [...] which is far less, you are enabling such behavior.

Dude.

Feeling sorry for someone else makes you a human, not an enabler.
It depends what kind of candidate the exec is. Personally I don't enjoy working for places that are known for not firing low performers. I'd rather work somewhere that has higher stakes and higher rewards.

That kind of mentality is more likely to attract execs looking for a cushy high paying job with little to risk.
There are copy writing services that can write articles for you. The one I am familiar with charges per word, so the cost would depend on the length of the article. If you want higher control that involves in house editors checking everything before it goes to you, you can set up a team. That will tend to cost more.
I think he was getting at how browsers nowadays put each tab in their own process. So on multi core systems, your "browser" would end up running on multiple cores
Social federation statistics project
Four Weird Mathematical Objects
Fit to Print: Split-Level Storage Explains “Upper-Case” and “Lower-Case” Letters
> The ex-admin's bosses probably thought they were the important ones, and that this worker was a replacable cog, but they found out the hard way that this was not the case.

I don't think this really indicates that at all. Maliciously inflicting damage on the company when you're fired is very different from being irreplaceable. It makes it risky to replace you, but that's not the same thing.
The claw back is limited to their actual pay. Which also makes insurance far more affordable.
Tloona Tcl IDE
/dev/urandom is a major liability on any machine with low uptime booted for the first time from a widely-used image (i.e. a VPS), and on embedded systems which have few sources of entropy & do not (or cannot) save/restore it across boots. As a result there can be a much higher than pure-random chance of a collision in the "random" portion of a UUID.
But aren't you cluttering your "app" object then?
Sure, your interfaces are pretty stable now since you pass "app" around. But now "app" leaks all kinds of functions to all callees, which don't really need all functions declared in "app".

If on the other hand your "app" object is quite lean, and follows the behavior of maybe Context in Android, then ignore my above comment, and I would agree with you.
I was happy with my settlement check from amazon
...but I'd be 20x more keen to take a job at a company who doesn't fire on suspicion. E.g. a company who stands their ground and says: "We know we're subject of a PR campaign against us, but we respect the presumption of innocence: We won't fire X because he hasn't yet been proven guilty in court, and we will fire any that is proven guilty." i.e. GitHub, Mozilla both have fired CEOs on unproven claims.
And they got the reason why manufacturers are going to move to PCIe 4 wrong. It has nothing to do with bottlenecks to video cards and everything to do with freeing up lanes. Pretty awful article.
Yes, I do that all the time. Even for tables that have a sequence column to indicate the desired display order, I'll add the primary key on the end of the order by to ensure consistency just on the off chance of two rows having the same seq value.
What role did autism play in human evolution?
>that stated I would be responsible for all monetary harm if I were to leak information about the project

>If I were applying for a CEO position and saw a clause like this, I'd refuse to sign that contract, too. So United isn't wrong...

I might be reading it incorrectly, but I think there is a very big difference between capped and uncapped liability/penalty clauses. What you seem to be describing facing sounds like the latter, and yes that should give absolutely anyone, anywhere, in any situation, the screaming hibbie-jibbies. I think looking for that sort of clause, which can be subtle, is probably one of the more important things when going over any contract. As long as liability is limited the rest can be planned out, but of course nobody can sanely deal with infinities. On a larger level that's the fundamental point behind limited liability corporations, the bankruptcy code, hard learned principles regarding the non-inheritability of debt, and so forth.

But I don't think that's the same thing as a pay clawback, which is fundamentally capped. "You break the law, you face a maximum (with us) penalty of your salary for those years" doesn't seem unreasonable at all at c-level. They're not being asked to take retroactive responsibility for something amorphous like "failure", nor is the sum unbounded or affecting their personal net worth before taking the job, or even for that matter touching any money they made using their holding of that salary before the clawback like interest/investments. It feels like a reasonable deal: don't commit and (company related at least) felonies while on the job, if you do then your contract of employment was voided at that time and the company wants its money back. Again looking to corporate liability limitations, they don't apply if someone purposefully pierces the corporate veil for example. It's not supposed to be a shield against serious breaking of the law.

I can see how some clawback terms could go way too far, with trigger clauses being too fuzzy, penalties not bearing reasonable relation to the violation, or both, but I'm not sure the concept itself is theoretically bankrupt.
> Then in the object world you can use a combination of dependency injection and factories to abstract over all the details you don't want callers to know about

And then you made Go a complicated and awful to read language
This happened to me in Seattle recently. I ordered an Uber and there was a long wait, so I went to the taxi queue and got one immediately. The fare in the end was DOUBLE what the quoted Uber fare was. Before that I had assumed fares were the same and the only reason to order an Uber was the convenience of using an App. I haven't hailed a taxi since.
There were many other "initiatives." I remember for the Alliance at the announcement they were very emphatic that it wasn't lip service, expect to hear more soon. 6 months later I saw and article pointing out how nothing seems to have happened since the announcement.

I saw and article from 2010 recognizing that phone updates weren't reaching customers and the initiative was to untether more apps and release them via the app store. They pointed to Google Maps as an example they were copying. I don't really pay attention enough to know if that was successful. That seems like a "lower hanging fruit" version of Treble.

This problem has been around since the very first handsets...almost 10 years ago. Both technical and working groups have been attempted. I'm skeptical things will change.
Hrm. I wonder how this would work if the ex-admin is working remotely from a country that wouldn't extradite for this.
Shameless plug since I rarely see us mentioned on HN:

We're hiring for a large range of engineering roles including some more specialized positions in research (writing classifier models and machine learning operations) and 3d (computer vision, photogrammetry, rendering). There's a lot more behind the scenes than just pretty pictures.

http://houzz.com/jobs and mention HN