HN user

sparky

1,209 karma

grad student in computer architecture -- i like to dabble in a lot of things though

I can be reached at johnso(85+2)@illinois.edu, where the parenthesized expression is replaced with its result.

http://blog.mattj.me

Posts3
Comments376
View on HN

Cheapest possible toaster oven + cheap multimeter thermocouple for manual temperature control + {paste flux, solder paste+stencil} works better than you'd think for soldering BGAs. Even honest-to-goodness reflow ovens can be had on eBay for $300-$400 (search "T962"), which would give you another one or two nines of reliability by circulating the air and having more precise temperature control.

Schmartboard also makes 1.0mm pitch BGA adapter boards, but a lot of the high-end stuff these days is moving to 0.8/0.5/0.4mm pitch. Of course, for those kinds of things, the extra parasitics of an adapter board are probably a no-no in any case.

Yeah, I think that comment conflates three things: 1) The regulatory burden of going public (Sarbanes-Oxley compliance et al.) pushes companies to stay private, which keeps the average Jane from investing in those companies via the public markets.

2) For those companies that are privately held (whether that's because of the regulations in #1 or for more fundamental reasons), separate regulations (accredited investor rules et al.) prevent the average Joe from investing privately.

3) On top of #1 and #2, market forces and norms give more investment opportunities (both public and private) to large, established players than individual laymen. For example:

* Companies may prefer to take $1M each from 5 large investors than $1k each from 5000 people, both to reduce logistical burden and because those large investors statistically have other unique things to offer like expertise, advice, and connections. This is unfortunate for the small-time-but-sophisticated investor, but seems quite rational.

* IPO shares only being offered to large friends and clients of the underwriter. The justification is reduced logistical overhead as in the previous case, but the true motivation is widely suspected to be cronyism.

Isn't that for a 1000x ROI? 1000%=10x, so even selling 1% on Kickstarter at a 200M valuation would yield something like that.

Aliasing conflict!

This is about doing histogramming on an FPGA, not a tool to group FPGA dice into speed grades :)

Would be interesting to see how an FPGA stacks up against a GPU on this problem. GPUs are very fast at parallel histogramming, but hardwiring the number-to-bin-index computation for a particular problem instance might buy you quite a bit of energy efficiency, or even possibly a bit of performance if the computation involves a divide. If the bins are of non-uniform size and the indexing computation involves a binary search on a lookup table, it seems like the much higher clock speeds on a GPU would win out.

The lack of palletization on Target's trucks seems inefficient at the store level, but may be justifiable at the company level, since Target owns its own distribution centers:

* Trailers are 9-10 feet high, so a fully palletized truck would (a) Have very tall unwieldy pallets, and you'd have to carefully order things so boxes on the bottom don't get crushed, (b) need racks or something similar to hold multiple tiers of normal-height pallets, or (c) be half-empty

* Even with the current process, getting boxes off the truck is not even close to the bottleneck. When I worked at Target, 2 people threw boxes onto rollers, 5-6 people sorted the boxes onto pallets organized by area of the store as they went by, 2 people rolled those pallets onto the sales floor and threw each box in front of the appropriate aisle, and ~20 people opened the boxes and stocked the shelves. The 2 people unloading the truck could always keep well ahead of the 20 on the sales floor.

* An alternate strategy might be to sort the boxes into pallets by store area at the distribution center rather than at the store. You might get some economies of scale out of doing this process for 100 stores at 1 distribution center, but it may still not be worth it to put all that needed floor space, latency, and congestion in what I imagine is already a very congested point in the supply chain. Better to distribute that part to the endpoints, since you already have 100k square feet per store to work with that's just sitting there while the store's closed.

They need not be destroyed[1] :

  Goods that are seized and forfeited as bearing a mark
  that is a counterfeit of a registered trademark, piratical
  of a registered copyright or imported in violation of
  distribution rights agreements are routinely destroyed,
  unless the owner of the trademark/copyright gives
  permission for other disposition, such as charitable
  donations.
Fluke seems like they might be cool with that.

[1] https://help.cbp.gov/app/answers/detail/a_id/105/kw/what%20h...

We also aren't that far off with 1TB mSATA (about 1x2 inches) drives available today. 2.5" drives are obviously much bigger than 8 microSD cards because the form factor was designed for spinning platters.

Yeah, the paper talks about how to vary the parameters to simulate powder, wet snow, slush, etc. These techniques were developed for the movie Frozen, and to my eye (I grew up with snow too) they did a great job of simulating all manner of snow and ice.

Likewise, a beep and a statement of fact on a screen ("target has been missed") is a far cry from screaming.

If the work can fundamentally be measured on 15 second intervals, what is the rational basis for not doing so? If your issue is with giving the picker instant feedback on how they are doing with respect to their performance goals, what interval would be more satisfactory, and why?

I understand that, emotionally, it is preferable to receive negative feedback less frequently than more frequently if given the choice, but I can't help but feel that a lot of the unease with the scanners on HN is the result of projecting best practices in one's own field (software development or some other form of creative knowledge work) onto another. We can all agree that beeping at a software developer if they don't type X characters every 15 seconds would be absurd, but we don't scoff at test-driven development, spell-checkers, and other instant performance feedback mechanisms. Most of us don't interpret a red squiggly line in Word as emotional abuse; what makes the scanner beep so much worse?

This sounds like you're advocating a free market approach in this case, where BART employee wages should rise until their employer can no longer operate.

As in other markets, the sticky part is switching costs; one big reason employees have leverage in situations like this is that the employer can't practically fire everyone and have equally trained workers the next day. The employer then has to weigh the cost of increased wages vs. the economic harm that would be done if the business were to shut down while they found and trained new workers.

For unspecialized positions, a worker's leverage is proportional to that economic harm, not that worker's skill, or length of service, or particular suitability to the job vs. someone else. The economic harm is proportional to the economic value which was created by others, often including the public at large (e.g., power plants and transportation systems exist by laws and permits that essentially divide up natural resources owned by everyone). A moral opposition to leveraging the efforts and resources of others to enrich your own bargaining position ('hostage-taking' in anti-union parlance) is the counterargument to 'perhaps they should get paid more if the BART is so important'.

Obviously there's some middle ground here between abusive behavior on either side of a labor dispute. One idea to reach it is for both sides to have more alternatives/lower switching costs (make it more socially acceptable for workers to look for contingency jobs while already employed, and for employers to train backup workers while the positions are already nominally filled).

What part of that is objectionable? I worked logistics at a big box retailer 10-ish years ago, and that kind of thing was completely standard. The feeling was that, yes, the beeps were annoying when you were helping a customer, getting an occasional drink of water, etc., but your (human) supervisors ultimately used their discretion in how they interpreted the efficiency numbers, and could take all that into account. If your supervisor punishes you for taking a bathroom break, that's a separate issue in my book.

What's the alternative? Should companies not measure efficiency, or not care what it is, as some sort of gift to their employees? The time for humanity is in interpreting what the machine tells you and hearing the worker's side of the story.

This is great news, thanks guys!

Are there really no limitations on the number of calls and text messages? I imagine many businesses and other use cases could operate indefinitely with a single phone number and unlimited calls/texts, so what's preventing 10,000+ customers from never paying a cent, or even reselling your service to others?

Many credit unions are part of a large co-op with lots of no-fee ATMs all over the place ( http://co-opatm.org/ ). You can also deposit checks/cash at many of these ATMs. They may not be on every street corner like major banks are in some cities, but chances are there's one near you. Some of those credit unions will also reimburse all your ATM fees if you use your debit card a certain amount (for mine, it's 12 transactions per month).

Man it'd be nice if this (or BladeRF) went down to DC like the USRP, so you could also use it as an oscilloscope. It's easier on the USRP because of its motherboard/daughterboard architecture, which adds some cost and complexity, but the cost adder should be pretty small relative to the several-hundred-dollars these things cost.

With no other information, you probably can't. But imagine the metadata as a graph; phone numbers are nodes, edge weights correspond to the length and frequency of calls between the two phone numbers. Clique (http://en.wikipedia.org/wiki/Clique_(graph_theory)) -like entities in that graph are people who are all in close communication, so if you know that one phone number is a suspected xyz, the others in the clique are probably of interest too.

If you compile the code on said absolutely-latest-CPU, -mtune=native for GCC and Clang, -xHost for ICC.

I don't use MSVC, but /arch:AVX will get you the AVX instructions found on Sandy Bridge and Ivy Bridge. AFAIK, there is no generic "tune generated code for host" flag for MSVC, and AVX2 is not supported at all yet.

You'll probably need to pass optimization-level and vectorization flags to see more of an effect, but for the most part, the biggest gains will come when optimized libraries come out with new ASM- or intrinsic-based variants for the new ISA extension.