skysight-inc/HackerNews huggingface dataset:
You mean, other than for me to threaten to stick a red hot poker in your eye if you use it? :)

BGA isn't "impossible" for a hobbyist. But it's a huge amount of work for very little gain.

All advice here also applies to what people refer to as CSP (chip scale package) as well.

1) BGA packages generally require better than normal PCB rules in order to actually "fan out" the signals to routing. BGA packages can put a lot of signals in a small area (that's why people like them), and you wind up needing very small pitch traces and vias to get everything out. You may even need an 8-layer board to pull it off

2) You can't really inspect BGA without X ray equipment. I don't know of any hobbyist X-ray machines yet (that actually might be a good project...)

3) BGA is prone to strange failures if you don't get ALL the balls down properly. You can get things like unpowered chip sectors because a Vdd ball is a little flaky (chip manufacturers don't always spend money reinforcing the on-chip power grid if they think you are using balls).

4) If you have a "small" (less than 40 pin) BGA, there is almost always a QFN option that is easier to work with and is almost the same size.

5) Thermal management of a BGA can be tricky. There is normally better heat flow out the top of a chip than down into a board, but BGA's normally want to push heat into the board.

That having been said IF YOU MUST use a BGA:

1) Use a contract manufacturer

Really. This is the best advice. I got some very tiny CSP chip boards done for like $50 per board for 20 boards. Even if your time is only worth $20/hour, the crossover point is 50 hours of work. You'll spend lots more than that if you're playing with BGA.

2) If you have a small number of balls, see if you can adjust the footprint such that you can hand solder things by having copper stick outside the package outline.

I can't give you any general advice as this is specific to every chip. However, I have successfully routed things like power regulators which only have a small number of balls this way. I have also routed some bigger things like FPGA's this way (you can reorganize the output pins) where I simply didn't even try to use any pins not on the outermost edges. However, you are at the mercy of the manufacturer as to how many power balls you need hooked up properly.

3) Use a reflow oven. There are lots of reflow oven things on the market for <$500. If you get things placed right, a reflow oven gives you decent results.

4) Don't try to hand rework. Accept that you're going to throw the board out if there is a short.

Yes, I'm sure lots of people have done things and been successful with BGA. However, if you do enough, you will find you are at the mercy of luck rather than consistency with BGA unless you let folks who have reflow and X-ray machines do the work.
That's much clearer, thanks!

Folks who use Red could be referred to as communists ;-) If it takes off, you'll be Big Red.
Except work doesn't get us more food. I have a dollar on me, I know I can get a lot of sugar right now with that.
Yes, and what do you think of the person who deleted a tweet will say about you using their copyright? I would argue it is a copyright issue because by deleting content a user is saying they don't want anyone to access it. Why would Twitter then want to turn around and allow access to it through an API?

As a user I think this is the right tack to take. There is no possible advantage for Twitter to have sites that make the delete feature not really work.
How in the world could image recognition tell apart the zillion hotel rooms that look identical? And what good does it do to know the room? It's not like the trafficker hangs out in a single hotel room.
This is all great advice. Making component footprints is the worst. You'd think companies would release footprint files for each part along with the datasheet (formatted for different EDA suites), but they don't. Even if manufacturer footprints were available, it would not always be possible to use them, as in the case you point out with making larger custom footprints for QFN parts (a very helpful tip).

For SMT parts, I find 1206 parts to be pretty huge and generally prefer to work with 0805s if I'm hand-stuffing prototypes, but then again I'm a cheap 2-layer masochist, so the extra space over 1206 parts makes a difference. Parts 0603 and smaller are fine for pick and place robots, but for humans they tend to blow away when you sneeze. :)
In shell scripts, for example, accessing a longer variable takes longer time than accessing a shorter variable. In my testing, accessing a 100 character variable took around 20% longer than accessing a 1 character variable.
Do you ever check out the Who's Hiring thread here?
> preventing users from writing programs that suck up all the CPU cycles is really tricky

I like the low level programming / virtual machine approach for this reason. You can provide the player with a machine that is severely limited in speed and size, which makes for a fun challenge and makes it easy to keep things bounded.
yep, we were using Amazon ECS-Optimized Amazon Linux AMI, docker and agent should've matched there.
It was strange behavior, either all agents were connected or most of them were disconnected at the same time...
Scrape using an IP address registered to a corporate body located in an unfriendly jurisdiction.
The patent “Network-1” just used to get a $25MM settlement from Apple
Speed Up, Slowpoke, or Get a Ticket
> Why would Twitter then want to turn around and allow access to it through an API?

Then? No, this is about getting it through the API while it's still up.
there is a shortage of talented developers

"talented" in that context usually means "has the ability of an experienced developer at the salary of a more junior developer."

If you accept that talented software engineers are the people who are simply good at software development then there are plenty - but they're often older, more experienced, and consequently paid more.
The maxim is much older than Blackstone, and has been variously recited as 2:1, 100:1, 1000:1, etc. The point is that the justice system should error on the side of protecting the innocent.

It's not quantifiable. It's not a statement of social utility, and no utility function (e.g. which related community wealth to innocents jailed) could replace it. The maxim is a bedrock principle of how society defines justice. It's an articulation of the values and preferences that go into defining a utility function. That is, how just you _believe_ the government is a utility in and of itself, regardless of objective efficacy, and the maxim outlines one of the criteria for how you guage justness.

The notion is that a government that emphasizes protection of the innocent is believed to be most capable at defending fundamental liberties, in part (in as much as people rationalize it) because it incentivizes rigor in how government prosecutes criminals. Putting criminals away benefits everybody, so there's already substantial incentive to get it done. Imposing constraints on how it's done allows society to shape the process and, ideally, push it toward a global optimum rather than falling into a local optimum.

So it's an articulation that society places substantial value on liberty even if to the detriment of some security. (Compare that to cultures like Japan.) Second and simultaneously it articulates a belief that security _depends_ on the protection of liberty; that is, effective governments safeguard liberty, and those which do not safeguard liberty are unlikely to be effective at providing long-term security.

Neither of those statements are absolute truths, and they certainly don't depend on empirical efficacy. They're normative value judgments in and of themselves, therefore they help define the utility function, both in the aggregate and of individuals in the society, the vast majority of whom will have internalized those normative judgments.
Black Lives Matter
IANAL but how would a foreign company get sued under US Law?

I understand that it would violate the ToS if they conducted this directly through Twitter, and that may or may not be a big deal depending on the local Jurisprudence and other factors- but say an application was using the Twitter API to reproduce the tweets of persons of interest, and prompting deleting them as required-- what then is to prevent our foreign fictitious company from scraping THAT service?

Twitter should not be asserting itself in this kind of overreach. Personally I look forward to it's continued decline in value.
They were planning too, but never actually did it. http://www.politico.com/story/2015/07/library-of-congress-tw...
Another nitpick: on iOS Safari, that pizza-poo-domain name actually does show up in the address bar. So there has to be another mechanism that prevents the Amazon-with-Cyrillic-"a"-trick which I guess involves normalization.
Why is that? Besides preparing for understanding the role, culture, etc why would you need someone to brush up on their algo knowledge for your job interview? Do you believe that algo prep would make them better at their job?
Exactly. Make a "times" record/object/tuple (whatever the local custom you have for an aggregate type is), perhaps with a "tenth" nested such item (10% = 1/10), with "fall" and "rise" members.

times.tenth.fall
times.tenth.rise

Hopefully, they aren't using some ancient version of FORTRAN.

My first paid work in the 80s was in a language with 8 or 10 character long names, depending on use, with only scalar values outside of ISAM tables. One compiler variant extended that with arrays (but not nested arrays). You had no choice but to make some weird names.

That said, when I started doing ANSI C with 32 char names, I felt like I had failed when I needed a variable that had to be that long to explain what it did. Either it had too broad a scope, or should have been bundled in something else (record/struct).
I'm surprised. The 2-layer masochists I know tend to prefer 1206/1210 parts because they can use the part as a "jumper/extra layer" and sneak a routing trace (or two) in the middle between the two pads.

0805 is okay, but I seem to need a microscope for my eyes. Whereas I can just put 1210 components on a board without any magnification most of the time.
Twitter will just block it. Scraping should be done from multiple random addresses from the networks all around the globe, at random intervals. I guess, the only case is voluntary botnet, where users sympathetic to the cause would run limited (so, not prone to abuse) proxies. (To avoid users messing with tweets, just proxy TCP connections to the mothership and let it verify TLS.)

However, this would hinder the service, as with the polling model it may not always notice all the tweets.
I must admit, it was totally non-obvious to me that this was a joke.
>The sad truth is (in the case of Reddit anyway) that allowing people to freely publish their opinions on your platform hurts your brand and your advertising revenue.

They're a user generated site (UGC). Truth is that their brand was mostly in the hands of their users from day one. And it's extremely hard to wrestle that control out of the hands of your users without suffering some pushback. In come cases, this pushback can even kill a site by making community disenfranchised.

Reddit has been doing a lot of censorship lately and people are slowly leaving that site. By exerting more free speech restrictions, they're starting to alienate large swaths of their userbase.

Here's an example of Reddit censorship in action: https://www.washingtonpost.com/news/the-intersect/wp/2016/06...

And then there's this:
https://www.washingtonpost.com/news/the-intersect/wp/2016/06...

And this is just creepy:

‘We know your dark secrets. We know everything.’ Boasts Reddit CEO Steve Huffman

http://thenextweb.com/socialmedia/2016/05/30/reddit-knows-yo...
Passing a trace through the middle is a nice trick, and definitely enabled by 1206s. I'll admit to using that one, particularly for amplifier feedback circuits where one or two parts are 1206s to allow trace pass-through, and the rest being 0805s for density.
Obviously, but with the restriction you also delete it when it's no longer in the API. It would be ridiculous if Twitter helped developers to embarrass/blackmail their users.
When someone's an verified user, they're a public figure and have an outsize impact on the Twitter discourse (they tend to have a lot of followers). The things they say are inherently newsworthy. If the archiving is done for the purpose of scholarship or commentary it sounds like a compelling argument for it being fair use.
Agree on most parts. I would say you can learn to love 0603 and even 0402 if you have the right equipment. You need a proper stereo zoom microscope and then everything is big, and smaller components can save a lot of space. But don't go there until you've done the bigger stuff and actually felt a need for more room. Definitely 1206 and 0805 are plenty fine for people who aren't super in to it.

Another hard lesson I have learned is that PCB assemblers lie. Even supposedly reputable community friendly ones. If they can save money by swapping out a component for unknown alternatives, there's some nonzero chance that will happen.
I am old enough to remember the final year of JANET with the backwards addresses.

At the time I was at Plymouth Marine Laboratory with a university email address of the type researcher@uk.ac.pml - i.e. backwards. However, in those days there were many different things about networks, you could have several connector types in a room so anything beyond email was a bit like the difference between travelling across state borders in the U.S. and travelling across the Iron Curtain. I can't remember how one got from one's VT terminal to the wider internet on VAX/VMS but that was possible. FTP and some Telnet was how it worked, none of this www stuff.

The change of address structure to normal internet style was not that big of a change, you would think it would have been as traumatic as changing what side of the road to drive on or the Millennium Bug, but, the change happened with no huge amount of work needed or resultant disruption.
In theory yes, in practice no.

http://www.politico.com/story/2015/07/library-of-congress-tw...
Stereo zoom microscope off of craigslist was the best purchase I ever made.

I got a Leica, but you can get really good Chinese ones for $400. If you do much PCB assembly, they're killer.
Many early 90s C compilers did much the same thing, though the limit was usually around 32 chars, rather than merely 10.
I switched to Pinboard few months ago when Delicious committed seppuku and made their site completely unusable. First, Delicious just shut down their site for something like a week, then they resurrected some ancient version of their site that looks & behaves like it's from 2007. Then they switched to an old domain (del.icio.us) and broke every bookmarklet and plugin that used their API. (I'm guessing they're planning on selling delicious.com domain name, which is worth a lot of money, so they made the switch.)

But the worst part is that you can't even save a link with all these changes they’ve made! I was getting errors 90% of the time (maybe even 98% but who's counting) so it was pointless to even try to save (I gave up after 4 days).

Whoever's managing Delicious is probably the most incompetent person in tech. Their communication with usersbase has been atrocious. They made only one or two blogposts and remained completely silent on social media (Twitter) during all these disastrous changes. People were unable to get their links and the company remained mum. Number of "F Delicious" posts on Twitter was very high few months back. Their site still doesn't work and you can't save links (just tried).

Anyway, I found Pinboard and have been happy since. RIP Delicious.
> they're starting to alienate large swaths of their userbase.

Alienating racists, woman-haters, and pedophiles! Heavens, what an awful thing to do!
Don't worry. The most common switches are the same between ack and grep:

-i, --ignore-case
-v, --invert-match
-w, --word-regexp
-l, --files-with-matches
-L, --files-without-matches
-o
-m, --max-count=NUM
-H, --with-filename
-h, --no-filename
-c, --count
-A NUM, --after-context=NUM
-B NUM, --before-context=NUM
-C [NUM], --context[=NUM]
Habitat – a massively multiplayer online role-playing game for the Commodore 64
> If they can save money by swapping out a component for unknown alternatives, there's some nonzero chance that will happen.

Yeah, I don't tend to go full turnkey unless I'm doing everything in China. At which point, I fully expect that they're going to use the cheapest, crappiest components they can find, and I'm going to just have to deal with it.

Normally, I buy the components and then ship them if I'm using a US assembly house.
I am ops at Appuri. We deployed k8s on AWS since we are using other services like Redshift and RDS inside the VPC, also happy with how EC2 works plus of course we have Reserved instances so we didn't look into GCP yet.
We're running kube on CentOS 7, we bootstrap nodes using cloud-init (user-data) to setup k8s, which we then use to run everything else.
I would love to give you more details, I might write blog post about our kube setup decisions later.
Kelsey wrote nice manual for setting up k8s - https://github.com/kelseyhightower/kubernetes-the-hard-way which is definitely on my to-read list this weekend :)
Sure, I could fork Stack and implement features I consider important. But how do I get my Stack fork advertized on haskell-lang.org to reach as many people as possible?
> Salaries have skyrocket in the last five years. So I'd say...yes, there is a shortage of talented developers.

Actually, a shortage means that there is an external force that prevents the price from rising, such as government intervention[1]. If salaries have skyrocketed in the last five years, that is a sure sign that there isn't a shortage; although perhaps a shrinking pool of those who can afford the available supply.

As higher and higher salary offers are made, fewer and fewer companies can justify the costs. As fewer companies can afford to hire developers, fewer developers are needed. Thus, in a functioning market where prices are rising, the number of businesses in the running to hire developers can never exceed the number of developers available. As soon as there is another business wanting to hire a developer, the price will rise until someone stops wanting a developer because it has become unaffordable.

[1] https://en.wikipedia.org/wiki/Shortage
@SteveWatson - thanks for reporting, should be fixed now.
> Hashing is in a similar position in that we just need to increase the size.

Size of hash, or number of iterations? Or either? And will it still be "convenient security" available for those that "only" have classical computers? (ie: is will be get away with "small" increases in size, and get to keep (some of) our current speed)?

> Biological computing is (AFAIK) irrelevant to the speedups provided by quantum mechanics.

I didn't think otherwise. But they might be relevant to combinatorial problems, and so relevant to security?
I imagine he was referring to normal people who wanted news about the Orlando shooter but instead found thread after thread of [DELETED].

https://news.ycombinator.com/newsguidelines.html

>Avoid gratuitous negativity.
Pinboard has apparently been involved in at least semi-serious talks to buy Delicious, according to the @Pinboard twitter. I believe he'd do it, too.
The part about "no wireless" and "Nomads" didn't clue you in? Not even a raised eyebrow?
I remember in college in the mid 80s trying to get something to work on one of the Apple IIs in the library in BASIC, only to discover that my earlier experience with the disk based interpreter supported 6 char names, but the ROM based interpreter only recognized the first 2 chars, but would accept longer names it would not differentiate.

Hilarity ensues...

And, yeah, I also did a lot of XBase in the late 80s, though usually "Clipper", rather than "Fox".

Batch files made a decent build process, and you could be disciplined with regular arc/zip files for source - not too unlike "make clean" and svn. We certainly had a lot of cruddy manual processes otherwise back then, though.
It doesn't satisfy my auditors. Who can't seem to explain why ("it's not on the list of boxes I can tick"), other than to direct us to the big four of McAfee/Sophos/Kaspersky/Symantec.
Sure, we use configMaps, secrets, mounting EBS, you name it. Implementing k8s felt like Jack in Titanic getting into first class :). Nice to know they won't lock you up when the boat is going to sink :).

configMaps is nice, but we use it in limited way because its so much easier to update pods when editing env vars.
Note: we are using deployments, so if you need to change env var, you do `kubectl edit deployment <name>`, edit/save/close file that opened in your $EDITOR and watch the magic to happen.
Wow, google must be on some pretty shaky ground then...
Why Windows Causes Stupidity
I wish I had a stereo inspection scope...

I've seen used boom-mounted dental microscopes on Craigslist or eBay periodically, and can't help but think they would be perfect for PCB assembly.

It's amazing how precise our hands can be when we have better magnification. Sub-mm accuracy of movement, which is a weird evolutionary trait if you think about it—more accurate than our unaided vision allows.
At the bottom of the page there is a "Full Text (PDF)" link. The formatting of the PDF makes for easier reading, in my opinion.
What are the most popular random seeds?
this was a no go for us, since most of our apps are minimal golang images. IMO it is just good example of bad design :)
> "in an automated manner"

I wonder where that line is drawn. A person using their browser, clicking a link to load a web page initiates a hundred different automated routines[1]. Is that not automation? Is it then automation to have a click initiate another click or two more clicks? Where do you draw the line?

[1]: https://github.com/alex/what-happens-when
Nice, you drove home the point of simplicity in building software which largely occurs over time in the hands of a good software engineer. Do more with less code.

Coincidentally, I had similar views in this piece some time back..
https://medium.com/@thallukrish/on-coding-e3c03771a369#.bb5k...
> he forgot to mention he probably could not find a square of toilet paper to wipe his ass :)

I must've been lucky, when I was in Caracas, my airbnb had a bidet. no tp needed. :-)
Hey gang, I think I found the new HN motto!
I think that one of the things that an account should have to trade in for being a Verified Account is the ability to delete tweets. Being a public figure and having the notoriety that is implicit in having a Verified Account, the account should have to stand by what it tweets, or at least not be able to modify the public record and break references to its content.
I don't understand.

Why would one submit a minified code for a review?

A friend of mine used to work at a place where one of the coder actually used 'a', 'aa', 'aaa'...when naming variables.
I wrote on characteristics of a great software developer a while back.

http://www.supercoders.com.au/blog/50characteristicsofagreat...

The problem is that people try to recruit for these things.

When recruiting, follows Joel's advice - smart and gets stuff done.
You can't deny there's pattern emerging of reinventing existing Haskell infrastructure under the pretense to "move away from infrastructure that is showing its age" rather than help improving the existing one

Moreover, this new tooling/services are operated and maintained by FPC employees which, quite conveniently, moves control away from the community board to FP Complete which by design has commercial interests at its heart.

I'm not saying FP Complete is doing evil things right now but this creeping shift of powers into the hands of a commercial entity is making me uneasy.