skysight-inc/HackerNews huggingface dataset:
In other words, use a pure dependency-injection style, and ZERO globals.

I'm writing Python and some C++, and I have been doing this for maybe 5-6 years. It takes a little practice to structure your programs like this, but once you know how, it has a lot of benefits.

It's not really idiomatic in those communities either. Python and C++ Libraries use globals all the time, although I think it's becoming less common.

I guess Java programmers have been doing dependency injection for even longer. It probably became popular more than 10 years ago. But I'm not really sure how "pure" the Java ecosystem is. Singletons are banned under this style. Instead, a singleton is just an object you instantiate once in main(), and pass throughout the rest of your program.

I think the problem with Java is lack of free functions. Static methods confuse things too.

The pure-dependency injection style is basically functional programming, requiring state as an explicit parameter.
This is false. The first sale doctrine can be summarized as, once I have physical possession of an item I can resell it.

Do not confuse issues around distributorships, which are contracts that say, I will agree to sell you these goods at wholesale prices so long as you agree not to sell them anywhere I say you can't.

Your example with reselling prescription opiates, is that opiates are a controlled substance, food is not.

Trademark would only be a problem here if what Pirate Joes was selling was counterfeit Trader Joe's goods.

Pirate Joes' core business was perfectly legal in the US. The only way trademark could be a problem is that Pirate Joes might be ruled too close to Trader Joes, and that's the trademark of the business, not the trademark of the items for sale in the store.
Android devices, as deployed in the wild, consist of a bewildering array of offerings, from shovelware-equivalent throw-over-the-fence devices, to pricey flagships whose makers command some brand awareness. Google has known for years that the Android security patch situation is awful, and has been slowly trying different approaches -- from shipping its own hardware, to moving portions of the OS out of the base image and into Google Play Services-updatable components (much to the chagrin of those who lament the increasing disparity between stock AOSP and Android-as-shipped-on-devices), to its newest: Project Treble, a HAL and vendor interface.

But a big part of Android's headaches is the long tail of devices that have been functionally abandoned by all involved parties: the device maker, the carrier, and Google. These devices are trapped in time and in a cesspit of an ever-increasing number of vulnerabilities. It's like unpatched WinXP, except these devices were once bought new a mere two or three years prior. Because all involved parties have dropped the ball, and at the lowest end of the market, the consumer can't really punish the these parties because they're reliant on the exact same names to get access, this sad state of affairs continues until Project Treble ships for real.

At that point, all pre-Treble devices are still doomed, but post-Treble devices at least have a fighting chance.
If you frame the problem correctly, the market will answer you.

The real problem is "I need to move people / things from point A to point B". A horse solves that, as does an automobile, as does a boat. The market won't tell you that directly.

It's all about learning how to ask the right questions.
We hired a guy once who, a few weeks after starting, had to take three weeks off to serve jail time for his 3rd DUI. Good times.
Ok, I'll bite. If you are an admin generally you have God powers over everything within your umbrella. If things are going south with you and your employer and you're a giant asshole you can most certainly use your God powers to quietly open firewall ports, install software in dusty "corners" of networks, etc. We can all armchair quarterback this but in the end humans make mistakes and beyond that the presence of actual malicious intent by someone with keys to the whole kingdom makes the detection and/or mitigation difficulty factor go up significantly. It's real easy to make righteous proclamations about other people's misfortune when it's not you.
> Unfortunately, for transactions between two Bitcoin addresses that are on the Coinbase network, Coinbase will perform an internal transfer of funds. The transaction is never pushed to the blockchain, avoiding the need to pay Bitcoin fees, and making payment confirmation instantaneous.

Wait... what? how does this work? didn't the wholepoint of using Bitcoin is that there is a public ledger for every move? Looks like Coinbase find a way to act like a real bank on the bt network.
The dream of the plan9 filesystem may be alive in upspin (https://upspin.io/). Its a federated filesystem/protocol with a global namespace. The security story could arguably be described as a layer on top of any application built with it in mind.

I've just begun experimenting with it on my personal server and like it so far. Its still an early project though.
A post on "SSL Security Issues and Vulnerabilities" on a blog without HTTPS, from "gotowebsecurity"...
Don't necesarrily attribute the error to the ex-admin, because the current admins were stupid enough to let it happen. Yes, the ex-admin is wrong and shouldn't have done it, but it is a crime of opportunity.

If I leave $20 on the sidewalk the thief is wrong for stealing it, but it is partially my fault for being stupid enough to leave $20 on the ground.
Indeed. For falls from relatively low heights, just having an instinctive reaction to protect vulnerable areas like your head and hips, to spread the impact over as wide an area as possible, and not to do things like reaching out with locked arms can avoid or mitigate many potential injuries.
Screws are the straw that will break the camels back?

Everyone knows torx are better anyway. They are less prone to stripping.

I used them on the house I built.

Any curious nerd will have torx bits already. Anyone else won't care enough to even want to open their Mac.
I went from equities trader to software developer, while also going from 80 hours a week to 50. Sure, I took a pay cut, but not everyone makes decisions on a pure monetary basis.
lol, fuck apple. They go out of their way to make things more difficult for their users. This whole one port thing is a fucking joke!
Material-UI
Coinbase took $50 from me two weeks ago and never gave me my coins. I have filed and updated a support request every day since then and haven't received a single response.

An absolute scam of a company, I'd strongly recommend people avoid them if possible.
Just noticed after a while: it was "in the stack, not heap" (about the arrays).
> he designed to mimic a Trader Joe’s

So what? The mimicry occurs in Canada, where Trader Joe's apparently does not operate. I thought the whole point of trademark law was to prevent customer confusion, not to give a party property-like rights to some retail "style."

I'm really surprised this is an issue for the US courts at all, and that they didn't refer Trader Joe's to the Canadian court system.
Thanks for reading! I definitely left FB thinking I had a good idea, spent 3 months building it to find out people didn't reallllly want it. It sucked.

Definitely wish I could go back and do that differently which is what inspired the post.
Europe eyeing direct access to cloud services for police data requests
In MySQL for example, using UTF-8 charset will cause it to use 3 or 4 bytes per character.

All the bytes transmitted on the wire will be UTF-8 strings, but this is disconnected from the underlying storage engine.

I don't know if this is the case for other databases, but when I read this my first thought was "This must have been MySQL"
I use the internal int and external uuid strategy mentioned at the end. It does make for somewhat confusing code for newcomers. I still don't love it.
>The original issue with simple auto-incrementing values is that they are easily guessable as I noted above.

I don't think this is a real problem. If you're relying on your ID's being "unguessable" (and introducing engineering complexity to that end) for security you've already failed.
This article sort of assumes you're using a relational database.

Most of the drawbacks discussed don't exist if you're using a key value store.
He's not kidding.
Nah, if he had hustled somehow to make people believe and stay on for a week it would be a positive. Not sure forging wire transfers is ever a positive.
Google already makes a bunch of requirements to access the Play Store services on their contracts with OEMS and carriers, requiring a certain level of updates to access those services is just another legal clause and validation when devices talk to Google servers.
It's been 3 days, give them a break...
Google Wifi prevents a domain from being resolved to a local IP
Fair enough, and I'll probably regret making that comment sometime in the next year or so.

I probably spend way too much time on HN, random VC Blogs, Medium, and consuming other startup-ey content so it would probably be healthiest to interpret the comment as a reflection of my own skepticism/impending burn-out.

That said, Canny looks pretty cool. Hope it goes well :)
Very interesting take on the matter. I try not to take a victim's mentality on the matter, but you do have very true points. Thank you for your comments.
Pretty much every store I go to, I use the chip and then enter my pin. I haven't had to sign in over a year.
How are you supposed to force companies using open source software to update it immediately?
There are some hearing protection earmuffs that allow you to plug in music players such as these: https://www.amazon.com/dp/B001T7QJ9O/

I bought these a while ago and while the sound quality is not the greatest they will block a lot of sound. They also have microphones so you can listen to conversations without taking them off (useful for protecting hearing in dangerously noisy environments - not that useful in an office).
Maybe he means 'walkable'? As in with a integer (or long) based key you can just start at 0, 1, 2 etc and just query for each.

This isn't very feasible with UUIDs because something like 99.9999999% of keys won't have a corresponding object.
I'm looking at this as though Trader Joe's was a different company... say Disney. Disney goes to great lengths to work out how its products are used, packaged and distributed to not only maximize profits, but also to maintain a certain image.

If I go to DisneyWorld, purchase a Mickey Mouse doll, an take it home. I have the right to do with that doll whatever I want: burn it, give it to my daughter, or resell it at whatever price I see fit.

However, I don't believe I have to right to go - as an agent of another (presumed competitor), purchase that same doll, and then resell it in my own store. I have no resell agreement with Disney to do so. In a typical reseller arrangement, wouldn't a store (e.g. Target) have an agreement with Disney to purchase bulk product for resell, presumably at a reduced price, but also under strict guidelines as to how it could do so? For example: cannot be sold above a certain price, cannot be sold next to adult content, etc.

On a side note: I have to believe that (while not a TJ problem or related to the lawsuit) there were other issues with what Pirate Joe's was doing related to imports, possible tariffs not being adhered to, etc.

/IANAL
To me it is pretty clear that's what he was doing.
> didn't the wholepoint of using Bitcoin is that there is a public ledger for every move?

There is a public ledger for every public move. If you move money within your own organization there is no publicly visible effect.
It will fail like the previous initiatives if not followed by legal requirements on the Play Services contracts or gated access to Google servers.
A lot of 'managed' hosting providers are pretty bad with security, there still is a major provider that just gives root credentials to all servers to all techs not just admins, doesn't audit who accesses which credentials, and doesn't rotate credentials, doesn't rate limit dumping credentials...
That's before we go into more interesting issues with their security.
Frankly I am surprised this sort of thing doesn't happen more often ? In some ways it both restores some of my faith in people while reducing some of it at the same time in a different vector.
Pretty much every store I go to, I use the chip and then enter my pin. I haven't had to sign in over a year. I'm in South Dakota.

Edit: I just figured out why. My bank is apparently providing the chip and pin functionality.
From the same article:

“It was really important to me that people understood that this was absolutely not a story about my rotten dad and the terrible things he did,” Thompson also said. “I don’t think there’s anything really special [in my story] in that aspect. Probably lots and lots of fathers and sons go through the same kind of process, it’s just their dads aren’t famous.”
In that case you don't own your prescription medication. Reselling alcohol is another legal gray area, but absolutely prohibited to sell to minors, so not being able to dispose of your property how you see fit I guess you don't own your alcohol either.
IT admin people have the keys to the building and pretty much all data at the end of the day. Trust is everything and reputation is extremely important. This will not go well for the ex-admin one way or another either by lawsuit or blacklisting.
Mobile Payments: A Long, Relentless War of Attrition
>They didn't share what was in his check but it wasn't good.

Always ask to see the background check details if you're the hiring manager (you should have the rights to see that despite what HR might tell you). Could be just a personal issue an HR employee might have with a former colleague. Or discrimination-based (happens).
Apparently not where I live, in South Dakota. The machines ask for my pin every time.

Edit: I just figured out why. My bank is apparently providing the chip and pin functionality.
> I was using Emacs and had all of the various language support modes configured, but go-to-definition and cross-references barely worked. Searching was slow, and if I wanted to discuss a piece of code with my CS lab partners, I couldn't just share a link.

When you say something vague yet absolute like you "had all of the various language support modes configured," that is a big indication that you did not have them configured. There are about four major modes for C/C++. Searching and cross-reference is done with external tools. The only time I ever thought searching was slow was when using the grep that came with Mac OS X. There is absolutely no way that online tools can beat ag or rg for code searching, especially if you have an SSD. Exuberant ctags and GNU Global work for cross-referencing and support dozens of languages. And you have Magit and VC mode right there to track down source code history.
Simple example: we have support staff that are allowed to view any customer record but only by making a text search on their email with a precise match. We rate limit their requests as well. But we don't even want them to view one customer who doesn't need help if we can avoid it. So using UUIDs is a good way of covering this case.
I stand corrected.
Thanks.
I didn't do one, but my friend did and is now a Google SWE!
In a typical reseller arrangement, the constraints on reselling are tied to the discount. There's nothing about Mickey Mouse that contravenes the first-seller doctrine when bought at retail.
They had to make it webscale!
Does it support remote devices like 9p?
It's a process problem, not a product problem.
Or make it unlawful to extend a case artificially or until the other party goes bankrupt.
That is badass. And energy intensive. I do think we will have legged/wheel hybrids rolling for efficiency and walking/hopping/etc for the difficult parts. He was certainly using his legs to perform those maneuvers. Wheels only can't bounce up. Wheelies, but not the hopping part. Wheelies + AWD may do it though. Good perspective. Thank you.
I want all auth removed.
No, you're just incorrect here.

Transfer of prescription medication is a different matter, and these are controlled substances with specific rules around transfer. If you happened to be a pharmacist and happened to have someone with a prescription for a drug, there are some scenarios where you could transfer them.

If you give me an apple, I have no obligation to eat or destroy the apple. I'm free to give it to anyone I wish, either as a whole or in parts.
4 useful resources for CSS3 development
As I mentioned in another comment, I doubt Treble will succeed if not followed by legal requirements on the Play Services contracts or gated access to Google servers.

They will keep not providing updates, because they don't come from Google anyway, even with Treble.
The reason I don't like the internal-int-external-UUID strategy is that all of your queries now require an extra join. It's no longer "select microblog.* where userid = ?" now it's "select microblog.*,user.id from microblog,user where microblog.userid = user.id and user.uuid = ?".

This may be practical from a storage standpoint but string-based indexes on an SSD are pretty damned efficient.
It's private companies doing the wofk with a track record of patenting and suing over their tech. Quite a bit of tech funded through NSF and DARPA gets patented. So, it should be assumed and mitigated.
I wonder if you can use this monitor in portrait mode?
Ask HN: How do you operate an SV startup as a foreigner?
In order to operate a company in the US, you need a visa. A B1/B2 visa is generally not sufficient to operate a company in the US, so I assume you'd need at least an E2. Acquiring an E2 does not seem to be easy.

How do people do this? Do they just arrive on a B2 and illegally operate their business?

Can you recommend lawyers who are experienced with this stuff?
> secondary primary key

This is called a "candidate key" in existing literature. much has been written about such things.

Both UUID's and auto ID's are "surrogate keys" because they are arbitrary with respect to the data.

lastly, "natural keys" are combinations of columns that consist of the business data.
Legal actions and blocking access to those devices to Google servers.
Linkage: http://raspi.tv/tag/richard-miller-plan-9
Two weeks, but I'm curious - how many days must pass before you think that the people you paid owe you the goods and/or services you've paid for?
https://news.ycombinator.com/item?id=5428382
Have a look at http://grimoirelab.github.io, which supports many of the data sources for those projects (but still, you need work to retrieve everything, and analyze, and stuff...)
Bitcoin Sex Change?
I'm actually a fan of the Death Star. For me, it was one of those places where you could turn a corner and get a completely different perspective. And it was decently fun to LARP in. I was in the sciences so I never spent much time there, but I like the uniqueness of the building. I just wish it was a little more unique, using other colors and textures than plain gray concrete.
Which is part of why Ether is quickly catching up to bitcoins market cap.

Indeed, I would be amazed if at least part of the recent price movement of bitcoin wasn't due to people moving fiat -> BTC -> ETH
Buckyball sandwiches
Ableton Git Repo simplifies dev for custom software for Push 2 hardware
Disney is a really bad choice because the Disney resell market is absolutely massive. Anytime they release limited release items there's a line of people buying as much as they can just to dump it on ebay.
As a (washed up) climber, falling is something I think about a lot. It turns out that sit harness used by recreational climbers are unsafe. In a catastrophic fall, the harness directs force into the lumbar spine in an anterior direction. An old study on industrial fall arrest found that loadings in this orientation can produce spinal injury around 4kN (don't quote me on this number, it's been a year since I read the paper.) It gets worse. If a falling climber rotates during the fall, load will be applied left-right above the pelvis. This orientation decreases the spinal injury threshold further.

A chest harness, on the other hand, loads the body in a vertical orientation applying compressive force to the spine. This pushes the survivability margin out toward 7kN and beyond the maximal loading forces you can experience in a factor 2 fall.
Next-generation probes, particles, and proteins for neural interfacing
Oh but it is true, and I will happily offend them. Each and every one of them, on an individual basis. Who are they to be shielded from criticism?

Apple has often been secondary on UX. Not always - sometimes they can nail it. But it's been more often they miss, or backburner it over other priorities.

Do other companies suck more? sure. But apple has lost its way, or found a much more selfish one, and you see it play out in every gesture they make.

Sorry not sorry. Apple needs a kick in the pants.
If this was truly a former employee (wasn't made 'former' after the incident occurred) then all of their accounts should have been blocked from having access. Unless the guy built a back-door or something.
IT and Network team may have dropped the ball on that one.
But not pentalobe ones..
The strategy "internal int-external uuid" can be simplified if you use encryption and hypermedia API. It's possible to encrypt int and some additional information and format it as uuid v4 (random). For external users that know natural keys of some objects it's possible then to discover the rest of objects by navigation via API, where UUIDs are just some pseudo-random parts of the URIs.
Hm, no, I don't think there is a legal right for a business to do something just because they judge that it would be profitable or strategic.
Didn't know I could do that.

I've had my own background checks in the past and no one has shared them with me. Speaking to HR, unless there is a negative item on your record they aren't required to.
This is great news. Now when somebody asks to Skype with me, I can tell them "Sorry, I'm on Linux".
Yep, glad to see this posted. In the python world, this is why we have UUID.int (https://docs.python.org/3/library/uuid.html#uuid.UUID.int), though the native postgres UUID type with uuid-ossp works well too if you need them auto-generated in the DB rather than in application code.
Coinbase has the worst customer service EVER. I once got locked out of my account, emailed them to their customer support line, three times. Never received any response.

I mean, we're not even talking about some trivial technical issue here. These guys have my real money, and I can't access them, and I try to reach them multiple times, but they just don't respond, I don't know how they get away with this behavior. When this happened I did some googling and looks like I'm not alone.

I ended up resolving it on my own somehow but have been looking for a different, safer service.
I specifically wanted to call out this particular statement because it can be so innocuous and it served as a great example of the problem I've been seeing more and more in comments.

I specifically wanted to float the idea about moderation intervention as a possible solution to the problem I pointed out. It's perhaps not the best solution, but it's a starting point.

How many more "Facebook is stupid and evil, Apple no innovation lol watch bands" statements should we suffer through as a community?
Oh yeah, that makes sense. At least for CHAR(36), but I'm not sure how VARCHAR(36) as given in the article would behave. (Never mind I just looked it up and it depends on the storage engine - e.g. MEMORY will always allocate the max size.)
Given that we live in an age where you have to sign away your right to the legal system to get a credit card or a job why not I guess.
That's why you typically add caching (like cookies) that store the UUID with some user context so it can be provided directly in queries.