Cringely: Sometimes going green hurts more than it helps - <AUTHOR> http://www.pbs.org/cringely/pulpit/2008/pulpit_20080221_004346.html

<comment><USER2> The operating logic of most environmentalists is:

* Something must be done.

* This is something.

* Therefore it must be done.

Most environmental activists (and sadly, even many environmental policy- makers) tend to see you as standing in the way of progress if you try to get them to understand the engineering implications of what they want to do.

The key is that they understand "negative environmental externalities" (== "Destroying The Earth") in emotional rather than engineering terms, so they have no way to access concepts like "good-enough solution," "necessary evil," or "minimal impact." There are only environmental problems they know about ("Nuclear Fuel Comes From Satan's Pooper") and ones they don't ("Several of the reactants used to make solar cells are toxic enough to use as chemical weapons").

<comment><USER3> Ah, the old Carpet Bowling fallacy:

"I think a new, different kind of bowling should be 'carpet bowling.' It's just like regular bowling, only the lanes are carpet instead of wood. I don't know why we should do this, but my God, we've got to try something!"

— Jack Handey

</comment></comment><comment><AUTHOR> As someone with a materials science/engineering background, I'm a bit skeptical of the claim that no-one knows why the whiskers grow. Usually a given material changes its state/configuration because that's the lowest thermodynamical configuration for that material to be in given the particular temperature/pressure. Maybe I'm way off base here, but I think the whiskers are growing due to elevated temperature caused by resistance heating...?

<comment><USER4> You are correct as far as you go, but what you're saying is contained in the first ten pages of any book on device reliability. There is at least one whole Ph.D. project's worth of additional research between your statement and the time when you throw up your hands in despair because your Monte Carlo models just don't seem to work.

If you really want to know, you'll have to read the papers. I'm sure there are quite a lot of them. The incentive to solve this problem is very, very high.

<comment><AUTHOR> Sure, what I'm saying is just the basic stuff. What I was getting at was the air of mystery in Cringely's column regarding why the whiskers grow.

I guess I want to know as much as you want to look up the papers :~).

<comment><USER4> I slept through this class once already. Now it is your turn. :)

</comment></comment></comment></comment><comment><USER5> The "Green" agenda (or at least the one pushed by marketing departments) always seems to ignore the fact that money has an environmental cost attached to it.

That $400 "green" desk lamp? There is probably more environmental cost associated with buyers working jobs to earn an extra $400 than with just manufacturing a more traditional $20 lamp in the first place.

</comment><comment><USER6> From the article: "just the cost of changing to lead-free solder stands right now at $280 BILLION and climbing. That cost is borne by all of us."

Suddenly, getting 20, end of line, lead solder, crystal oscillators for 4.5 pence each doesn't seem like such a bargain.

Surely, adequate ventilation would have been sufficient? Something like a chemistry extraction chamber?

</comment><comment><USER3> Any idea if the claims of silver and bismuth being more harmful than lead (!) have any truth to them?

Silver is used in cake toppings and bismuth is what turns Pepto-Bismol pink. I realize ubiquitous != safe, but c'mon.

</comment><comment><USER7> Completely fascinating rant.

Somewhere there's a counter argument in favor of non-critical systems achieving planned obsolence through joint failure and the economic benefit of consumers purchasing replacements. I'm not about to make it myself, but it is available.

<comment><USER8> It's available, incorrect, and was refuted in 1850 (search for broken window parable).

<comment><USER9> <http://en.wikipedia.org/wiki/Parable_of_the_broken_window></comment></comment></comment>


A Momentum Conserving N-Body Scheme with Individual Timesteps - <AUTHOR> https://arxiv.org/abs/1712.10116 <comment><AUTHOR> Implementation is hosted here: [https://bitbucket.org/qirong_zhu/taichi_public/](https://bitbucket.org/qirong_zhu/taichi_public/)</comment>


Manual Memory Management in Go - <AUTHOR> https://deferpanic.com/blog/manual-memory-management-in-go/ <comment><USER2> The article references a blog post that I wrote a long while ago about how we do memory management for some Go programs at CloudFlare: [https://blog.cloudflare.com/recycling-memory-buffers-in- go/](https://blog.cloudflare.com/recycling-memory-buffers-in-go/) We've switched most of that stuff to use sync.Pool now. And we've done a lot of pprof work to simply reduce garbage in the first place.

We can't wait for Go 1.5 where the Stop-The-World GC goes away: [https://docs.google.com/document/d/1wmjrocXIWTr1JxU-3EQBI6BK...](https://docs.google.com/document/d/1wmjrocXIWTr1JxU-3EQBI6BK6KgtiFArkG47XK73xIQ/edit#)

<comment><USER3> Nice article.

Regardless of my opinion about some Go issues, I really look forward to see the language becoming widespread.

My experience with Oberon back in the mid-90's, made me aware that it is possible to have systems languages with GC.

The main problem is that many developers don't experience the variety from GC implementations that exist out there, and equate all implementations alike.

In Oberon's case it wasn't the best GC in the world, specially in mid-90's PC hardware, but coupled together with value types it was good enough to fully implement an OS in Oberon (and its derivatives).

</comment></comment><comment><USER4> Not a very useful article from the perspective of you are the point where you need to take some control over memory management in Go. The article spends a lot of time telling you should probably don't have that problem or you are not going to do any better than the Go. However, it is pretty easy to start proving you have that problem. Furthmore, you can make a real dent in the problem if you spend enough time working on it.

I should probably not just complain but explain

1\. How to prove via pprof and other tools that you have problems related to memory allocation or GC.

2\. Some strategies for addressing that problem that don't involve writing an allocator. Using sync.Pool or a recycler pattern. Keeping allocations on the stack etc...

3\. How to write a allocation interface in Go for allocating arbitrary objects. Aka emulating New and Make.

4\. How to write a allocator backed by a memory mapped files.

I have been working for a while in this space because of my academic research which involves frequent subgraph mining. That particular data mining problem is exponential and certain techniques can use a lot of memory. In order to scale my solution I have need to get the memory allocations under tight control. Sometimes I think I should just re-write in C++ or Rust but Go has provided me a lot of benefits from the concurrency angle so it isn't a win/win to move languages.

Maybe I will write up all of this stuff at some point. It is a bit much for an HN comment.

<comment><USER5> I agree that this doesn't seem to actually cover practical memory management. In Go (and perhaps most languages) this seems to mean avoid allocations, and if you have to allocate, avoid the heap.

Maybe some information about how heap size and mutation rate affect GC would be interesting, as well as the future of the Go GC.

One interesting thing about Go is that if your objects contain no pointers, the Go GC does not have to scan them. So you can supposedly create huge slices of any type containing no pointers and the GC will have a much lower load on it.

There's a really good article from Dmitry Vyukov including memory related stuff here: [https://software.intel.com/en- us/blogs/2014/05/10/debugging-...](https://software.intel.com/en- us/blogs/2014/05/10/debugging-performance-issues-in-go-programs)

</comment></comment><comment><USER6> The title seems a bit misleading, the author goes on to talk about possible performance issues and how people view GC's and issues with manual memory management, but never actually touches on how to actually use any of the alternatives mentioned.

.. So it's actually just an advertisement for their product, the title should really be something else, I feel a bit mislead initially assuming something useful might be had from reading the article.

</comment><comment><USER7> "Imagine doing lots of small allocations - you can cause a lot of fragmentation resulting in needlessly having to resize your heap which in dire scenarios can result in thrashing."

The article repeatedly talks about how managing memory manually increases the risk of fragmentation. And that this risk somehow goes away with gc managed heaps.

...so garbage collectors don't also have to manage their own internal heaps and have fragmentation issues? Hm, not sure I buy this.

<comment><USER8> Compacting garbage collectors don't have fragmentation issues, but of course Go doesn't have one. A GC isn't even strictly a prerequisite for compaction. Manually combining memory allocations to reduce allocator overhead and fragmentation is a lot of work, but not unheard of.

<comment><USER9> The Classic Mac OS API (the "toolbox") had a compacting manual memory management scheme. Instead of raw pointers like what malloc might return, you worked with double-pointers called Handles (different from Win32 Handles), which indirected through a global Handle table. System calls may compact or rearrange the blocks of memory referenced by Handles. If you wanted to dereference the Handle across a system call, you had to HLock it to keep it from being moved, similar to object pinning in C#.

In modern OSes, virtual memory plays an analogous role. We still have a double indirection, but it goes through the TLB and page table.

</comment></comment></comment><comment><USER10> As if managing memory manually was only the need of calling malloc and free at will. The problem with pro-GC is that they think the ones against it only want and like to do malloc and free for fun. Their simplist view of the issue is really as much annoying as they dismiss of the performance* issue.

*real-time, embedded and gamedev for example. where us scale have as much importance as ms for other fields.

</comment><comment><USER11> Usually when you want to manual memory management it's for two reasons:

1\. You have more domain knowledge about the objects you're creating so you can special case and beat malloc()/free()(which can be extremely painful in some cases).

2\. You need to control the _memory layout_ of your objects so that the data access patters line up with memory layout. The speed improvements here are on the order of 50-100x depending on your case.

Usually(but not always) GC'd languages don't give you value types that let you do #2. C# and a few others happen to be a nice exception. If you're using Java you end up being out of luck unless you decided to leverage a library that provides views into byte buffers like FlatBuffers. Although then you pay the indirection costs.

I haven't worked much with Go to know if it supports composing values types like C# but when we talk about performance that's usually what crosses a lot of GC'd languages from my list.

</comment><comment><USER12> > This is at the point when another developer on the team will pipe in stating > their preference for another langauge, that if you might not be a software > engineer, you might confuse w/the chemical compound of Fe2O3.

Or a certain fungi. :)

[http://stackoverflow.com/questions/16494822/why-is-it- called...](http://stackoverflow.com/questions/16494822/why-is-it-called-rust)</comment>


Ask HN: Best books, blogs, podcasts on shipping more/being more prolific? - <AUTHOR>

It's a topic near and dear to my heart. Not just doing a lot more stuff, but shipping it out the door.
Kindly recommend your favorite books, blogs, podcasts, and other resources and materials. How-to's and nonfiction are good. Biographies of prolific people are good. Links to blog posts, sites, tools are good.
What say ye, HN, on shipping more? <comment><USER3> The War of Art, by Steven Pressfield. It's short but sweet. It's a writers description of "the resistance", an invisible, ever present force that actively works against you when you're trying to ship. More generally, it works against you when you "[try to do] any act that rejects immediate gratification in favor of log-term growth, health, or integrity."

The first part is titled "Resistance: Defining the Enemy" and is a great description of what the resistance is and the ways in which it works to defeat you.

The second part is about how to conquer the resistance by "going pro". There's a lot of pieces to this, but basically, it means figuring out how to show up every day and doing the work, day in and day out, with the explicit goal of conquering the resistance.

The third part is a higher level discussion of the resistance, and at least to me, was not as relevant.

Highly recommended book if you struggle with the resistance when trying to ship.

</comment><comment><USER4> I hate to say it (no I don't--I am loving this) but why don't you check out this website of a guy named Sebastian Marshall who talks about taking teeny tiny iterative steps and making remarkable improvements that way?

In other words you already know what to do. Don't read books. Do.

<comment><USER5> Sebastian Marshall's blog is realy great. He inspired me to start tracking my time on a daily basis, and I am certainly benefiting from it.

Here is an introduction page that he posted for newcomers: <http://www.sebastianmarshall.com/?page_id=288> You can see that there is many topics under "Want to get more done?"

Though I know that most books are a waste of time, these were actually filled with great information, in my opinion:

<http://www.web-books.com/Classics/ON/B0/B580/TOC.html>

<http://amzn.to/Getting-things-done>

<comment><USER6> Sebastian Marshall == lionhearted

<comment><USER5> lol, I hadn't seen he was the OP.. Sorry...

</comment></comment></comment></comment><comment><USER7> Less with the extremely unhelpful 'just ship more' messages....

I'm sure you've read getting real, but anyway: <http://gettingreal.37signals.com/toc.php>

I've always liked Emerson's 'Self Reliance': <http://www.emersoncentral.com/selfreliance.htm>

Otherwise just pick any random productivity technique. I don't think it matters which one, they're all just codifying the things you already know, and stick with that for a while. If it doesn't work, maybe something else is preventing you from shipping things? I find I'm too quick to swap what I'm doing in my personal projects, and thus have lots of prototypes.

</comment><comment><USER8> Are you already highly productive, but want to be even more productive? You should read about systems and methodologies, and implement one rigorously.

Recommended: 4 Steps to the Epiphany by Steve Blank - breaks down the customer development lifecycle into actionable deliverables.

Do you feel like you're not being productive or shipping? You should read about procrastination and then diligently work to fix it, not spend more time studying GTD-type systems.

Recommended: Procrastination by Jane B. Burka and Lenora M. Yuen - <USER2> essential book on understanding and correcting your procrastination.

<comment><USER7> I second Steve Blank for the very useful checklists. You can always open it to the back to find a whole task list in bite sized chunks.

</comment></comment><comment><USER9> Don't read up on how to do more, just do more.

</comment><comment><USER10> No one is as focused on "shipping it out the door" as a news editor, according to Paul Ford in this essay (<http://www.ftrain.com/editors-ship-dammit.html>) posted to HN yesterday: <http://news.ycombinator.com/item?id=1891392>

Merlin Mann at <http://www.43folders.com/> started out writing about David Allen's GTD system, but then turned away from "productivity porn" and started writing more focused essays about creativity.

This isn't necessarily related to shipping products, but I love this Jeff Atwood quote: "If you can't come up with at least one interesting thing to talk about every day, you're not trying hard enough! The world is just full of fascinating stuff." from this interview: [http://community.devexpress.com/blogs/aspnet/archive/2010/10...](http://community.devexpress.com/blogs/aspnet/archive/2010/10/24/video- interview-with-jeff-atwood-aka-codinghorror-com.aspx)

</comment><comment><USER11> it seems like this question is a setup for the answer to be what seems like the hot tech book of the month: "Do More Faster" by the guys that run the YC like accelerator TechStars in Boulder... anyway: [http://www.amazon.com/Do- More-Faster-TechStars-Accelerate/dp...](http://www.amazon.com/Do-More-Faster- TechStars-Accelerate/dp/0470929839)</comment>


Ask HN: How much money does an average VC make? - <AUTHOR> How much money does an average VC make ? And how much does the top VCs make and how much personal wealth do they accumulate over their tenure as a VC. <comment><USER2> VCs raise large funds from institutional investors (pensions funds, university endowments, etc.) called Limited Partners (LP). Typically, the VC (also known as General Partner, GP) contributes 1-5% of the fund out of their own pocket, with the rest coming from the LPs.

VCs are paid in two ways:

1) Management fees. 2%/year of funds under management is common. (Over the ~10yr life of a fund, that's ~20% of the capital.)

2) Carried interest. This is a share of the profits on the fund before the money is returned to investors. The typical number here is 20%.

So, let's imagine a fictional $1B fund. Here's how the numbers might work out.

Y-0: Fund is raised. VC contributes $10M for 1% of the fund.

Y-0: 2% management fees are used to cover expenses / pay VCs.

Y-1~2: Fund invests in stuff, takes additional 2% management fees every year.

Y-2~9: Fund is depleted for new investments. Continues to take 2% management fees every year.

Y-10: Fund's last investments exit. Overall, the fund returns a 50% profit ($1.5B, with $500M in profit). VCs take $15M for their original contribution, and an additional $100M in carried interest. So far, they've also taken $200M in management fees (2% a year for 10 years). Total profit: $305M.

<comment><USER3> I'd add a few points: 1) management fees typically decline after the first few years of the Fund, rather than staying at 2% for the entire 10 years. This is to reflect the fact that partners are expected to do more work during the sourcing and diligence portion of a Fund's life (typically defined as an "investment period" after which they're not allowed to make new investments), and that helping portfolio companies and helping achieve exits takes less time / staff / expense. The GP also typically raises subsequent funds once the investment period is over, the management fees of which helps to fund their overall budget.

2) On the carried interest often the VC fund can only earn that _after_ they've returned a certain amount to Limited Partners (called a "preferred return", and typically ~8%; if they don't return an 8% IRR to LPs, they only get the management fee and whatever they earn on their own out-of-pocket contribution.

In general I'd just add that this is a highly negotiated point for each Fund and differs from firm to firm and fund to fund.

Source: I work as an advisor to investors who participate as LPs in VC funds.

<comment><USER4> What's the relationship between VC funds, VC partners, and VC firms? Are funds typically associated with a specific GP, or are they associated with the firm as a whole? Does the firm offer only a single fund at a time, or does a brand- name VC (say, Sequoia, or Accel, or KP) have multiple offerings with different portfolio strategies?

Also, is there a good way to find out who is about to start raising money for new funds, and where in the lifetime of their fund a particular partner might be? (As in, have they just raised money and are looking for the first couple investments, or is the investment period about to close and the fund's capital has all been invested?)

<comment><USER5> Established venture firms may have multiple vehicles (e.g. a seed fund, main fund, or growth fund), but the majority of venture firms tend to invest out of one vehicle at a time (there may be a short period of overlap when new funds are raised).

If you are not an active investor, getting quality access to information about funds can be difficult. I'd recommend the firm's website and crunchbase as free datasources. There are other, higher quality sources, but you need to pay for access (e.g. dow jones venture source).

</comment></comment></comment></comment><comment><USER6> At Kleiner we know from the Pao case that junior partners make $400k while senior partners make $3 million. That's before carry. Carry is about 20% of the returns of the fund, which is divided between (senior) partners of the particular fund --- a VC firm has multiple funds and depending on the firm not every partner may be a partner in each fund.

I guess you could ball park 5 partners per fund and therefore 4% carry per partner but that's probably not accurate because the carry distribution likely rewards partners in proportion to the success of the companies that they sourced or on whose boards they sit. Also you want to give a little bit to associates and junior partners.

Carry is not guaranteed but if the returns are positive you will get something (and 20% of a middling 5% return is still a lot of money on a billion dollar fund.) In any case carry is valuable in VC because they are like free call options on very volatile assets and option value increases with volatility.

It's difficult to calculate how much VCs are getting from carry because fund returns are closely guarded secrets.

All this said it's pretty tough to break-in to top VC firms.

<comment><USER7> Kleiner is a huge fund though. Most smaller funds have partners that make a lot less. If you're an engineer, you're making more than I am as a newish VC :)

<comment><USER8> Yeah, I assume newish VCs have it tougher than most as expenses are high and management fees won't cover the full costs of operating the business. Well, you're entrepreneurs working at a higher level of abstraction after all.

</comment></comment></comment><comment><USER9> What you probably want is median - averages are skewed by outliers.

</comment><comment><USER10> Probably not very much (as low as a risk-adjusted average of 0% [^]). As usual, you're probably better off sticking your money in the broader stock market.

[^] [https://server1.tepper.cmu.edu/seminars/docs/VCSDF_2.pdf](https://server1.tepper.cmu.edu/seminars/docs/VCSDF_2.pdf)

</comment><comment><USER11> It's an outlier [0] driven business. Median may be more important than mean. E&Y has some great data on VCs in general. [0]

Quick math...

"In 2013, 153 early-stage funds in the US raised US$9.4 billion" Going with the mean (even though median is better) suggests the average fund is ~$60 million. Let's say that a firm runs 2 concurrently. 2013 was a boom year, so let's say the last fund was $40. So it's 100mm under management. They keep 2% of funds under management, and get 20% carry. Let's say that the funds appreciate 10% a year (we're talking mean - it may actually be lower). That means 2% of 100m = $2mm in management fees and 20% of 20% of 10% of 100m = $2mm in carry. (I'm ignoring compounding, but let's let that slide) The firm has $4mm to pay rent, fancy trips, business dinners and nice salaries. If the firm invests the $100mm in 20 deals, perhaps it needs 5 partners (4 boards per partner?) and 5 associates. Let's call the fixed overhead a half million dollars? That leaves $3.5 million - perhaps each partner takes home $500K and each associate $200K? Or $600K per partner and $100K per associate?

My informal intuition is that the top partners do much better, while most folks do a little worse. We're also in a boom time now because great investments are being harvested, and lots of money is entering the sector. Net - they're doing good in both carry and management fees.

This may sound a lot, but generally the private equity folks earn more.

[0] [http://www.forbes.com/profile/john- doerr/](http://www.forbes.com/profile/john-doerr/) [1] [http://www.ey.com/Publication/vwLUAssets/EY-venture- capital-...](http://www.ey.com/Publication/vwLUAssets/EY-venture-capital- insights-2013-year-end/$FILE/EY-venture-capital-insights-2013-year-end.pdf)

<comment><USER2> I think you're misunderstanding how fees & carry works. The carry is not paid out until the fund returns its investment, much later, so its $2M in your example isn't paid out until years down the line. The only way that the firm can pay salaries etc. is from the management fees.

<comment><USER11> I was oversimplifying, since firms with multiple funds are doing a mix of investing and harvesting at any given time. What you say is more precise - it's more accurate to view the 2/20 as base salary and bonus, especially since the former is much more predictable.

</comment></comment></comment><comment><USER12> In general, I have seen a range of about 20-30% in long term.

</comment><comment><USER13> Your question isn't very clear. Do you mean, what is the average salary of a VC? How much is their profit share?

<comment><AUTHOR> I am curious about their entire personal wealth creation in general as an investor.

<comment><USER14> You don't usually start as a VC, but you get richer by other means, then, when you're a millionaire you just throw money at startups until one of them hits big or you run out of money

Edit: this is for an Angel Investor, SeoxyS explained better the concept of general VCs

</comment></comment></comment><comment><USER15> I can't remember the source, but I feel like I've heard it a few times, that VC overall is a fairly poorly performing asset class considering the risk. Most VCs don't beat the market.

<comment><USER16> This was the finding of the famous Kauffman Institute report on their own 20+ years experience as an LP in various funds.

PDF copy here: [http://www.kauffman.org/~/media/kauffman_org/research%20repo...](http://www.kauffman.org/~/media/kauffman_org/research%20reports%20and%20covers/2012/05/we%20have%20met%20the%20enemy%20and%20he%20is%20us\(1\).pdf)

</comment></comment><comment><USER17> I know a VC who makes $400k in base salary. FYI on that side</comment>


Is cheap Chinese labor really why we can get so many gadgets for Christmas? - <AUTHOR> http://theonda.org/articles/2010/12/24/dont-feel-guilty-about-your-gadgets-this-christmas

<comment><USER2> The cost of production of many consumer goods are determined by a combination of efficiency in manufacturing (good) and unreasonable exploitation of workers and the environment (bad). Consumer pressure in the market can sometimes cause a temporary back-down, but as a whole I doubt it is very effective, simply because consumers can't easily differentiate products produced by workers getting fair pay and with appropriate environmental safeguards.

The most effective response would be for governments to set tariffs determined so that manufacturers who can't prove labour below a certain cost wasn't used (and other similar social and environmental measures), so manufacturers can't outsource to avoid laws that exist for the wellbeing of society.

These types of measures often meet opposition, because they get lumped in with overzealous protectionist policies because both are aberrations from the principle of free trade. However, the former are aberrations which are beneficial to the world economy, while the latter can be harmful. Separating the two types of measures legally is difficult; I think the best approach is to avoid free trade treaties, educate the public about the benefits of free trade done right and the pitfalls of it done wrong, and let each country unilaterally decide which tariffs are beneficial and which are harmful to impose on imports into that country.

</comment><comment><USER3> I don't know that I see the point. Just because they could pay more doesn't mean that the fact that they don't doesn't enable a cheap consumerist society where we benefit off of their poor working conditions.</comment>


Rails 4.0 Sneak Peek: Expanded ActiveRecord Support for PostgreSQL Datatypes - <AUTHOR> http://reefpoints.dockyard.com/ruby/2012/05/18/rails-4-sneak-peek-expanded-activerecord-support-for-postgresql-datatype.html

<comment><USER2> I want support not just for PostgreSQL native datatypes, I want ActiveRecord support for adding my own custom datatypes.

<comment><USER3> You can pretty much do that right now (and have been able to for years) with composed_of: [http://api.rubyonrails.org/classes/ActiveRecord/Aggregations...](http://api.rubyonrails.org/classes/ActiveRecord/Aggregations/ClassMethods.html) (search on that page for it)

<comment><USER4> The problem is that custom pg types are represented as strings in ActiveRecord < 4.0.

In AR 4.0, you can have ActiveRecord automatically cast them to a different type.

<comment><USER5> Type casting is fine but if you need to use schema.rb you'll have to use the sql alternative. Adding explicit support for the existing datatypes allows, amongst other things, the schema.rb

<comment><USER6> We had to abandon schema.rb early because we use PostGIS, functional indexes, partial indexes and foreign key constraints, none of which are supported. (FKs may be supported now, but at the time we had to monkeypatch AR to support it, before eventually abandoning schema.rb altogether.)

Schema.rb is inherently a broken concept anyway, because it's lossy. What you really want is the SQL, which is the only format that completely encapsulates your schema in AR. I often wish AR was declarative for that reason.

The default Rails tooling for loading and dumping the structure is also completely harebrained (google it and you will get a gazillion hits), so we wrote our own internal gem that does all of it for us, along with overriding db:test:prepare.

</comment></comment></comment></comment></comment><comment><USER7> You can say what you want about rails, but i really admire the pace they make progress.

</comment><comment><USER8> Rails is the new Java.</comment>


Compiling to Lua - <AUTHOR> http://blog.cloudflare.com/cloudflares-new-waf-compiling-to-lua <comment><USER2> I can't help but feel like Lua is one of those languages that is fantastic, but gets basically ignored for most things outside of a particular niche (game scripting). Perhaps that is why it is still such a fantastic language...

<comment><USER3> It's the other way around, it gets ignored because it is consciously designed and maintained to serve a very particular niche: high performance extension language. I wouldn't consider Lua a fantastic language anywhere else.

<comment><USER4> It's designed as a simple and performant language. Embedding within games, for example, is one area where those traits are very valuable. That doesn't mean Lua is only good for embedded programs or games: Lapis and Luvit are testaments to how Lua is great for building web applications.

On top of that, LuaJIT means it blows conventional languages like Ruby and Python straight out of the water. Not only is it a good language for web development, it's a remarkable one.

<comment><USER5> Could Python or Ruby be compiled to Lua? Such languages are hard to compile to static typed languages like C, but Lua is dynamic like they are, which should remove a lot of problems.

<comment><USER4> Technically yes, but it would likely only be possible with a restricted subset of the language. Python and Ruby have a large standard library and set of built-in functions, because they're "batteries included" languages. Lua is quite the opposite: it doesn't even have access to the file system unless you implement that or use a module. So you'd either end up using a limited Python without features absent in Lua, or you'd need to bridge the gap in functionality with a very large runtime library.

If you're looking for a more expressive syntax, check out MoonScript. It's an awesome language that you could consider Lua's CoffeeScript analogue.

<comment><USER6> Lua does have file system access: [http://www.lua.org/manual/5.2/manual.html#6.8](http://www.lua.org/manual/5.2/manual.html#6.8)

<comment><USER7> In that it can open files. It does not, however, have a way to enumerate files in a given directory---that requires a module to handle.

<comment><USER8> I fully agree with you but just want to add that you can do it in "pure" Lua :

for file in io.popen("ls "..dir):lines() do ... end

This should never be used in real applications and a proper filesystem module should be used instead. But, I find it very useful for quick one-shot scripts I write for batch processing some files.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> is cloudflare using openresty( its author agentzh works for cloudflare)? or their own nginx + lua implementation?

<comment><USER10> We use openresty and, yes, agentzh, the project's creator, is on our team.

<comment><USER11> why not pay him to get websocket support out? who prioritizes his work queue?

<comment><USER12> What a bizarre comment. They are paying him.

He has said that someone could sponsor him to do it in his own time [https://github.com/chaoslawful/lua-nginx- module/issues/165](https://github.com/chaoslawful/lua-nginx-module/issues/165)</comment></comment></comment></comment>


Flood.io Security Breach - <AUTHOR> https://status.flood.io/incidents/gsw7vx8cqxk5 <comment><USER2> Here is the full email:

==EMAIL STARTS HERE==

Hello,

You may have seen an incident reported recently regarding a security breach at Tricentis Flood. We want to provide preliminary information about what has happened, what information was involved, and what steps we are currently undertaking to help protect you.

What Happened? \--- On 21 June 2020, automated systems detected a security breach of services provided by Tricentis Flood. We took immediate action to contain the breach and have since been carrying out further investigation, remediation and notification measures. The incident is reported on our Flood incident status page: [https://status.flood.io/incidents/gsw7vx8cqxk5](https://status.flood.io/incidents/gsw7vx8cqxk5)

This incident is also closely related to last week's strategic Cyber attacks on Australian authorities and businesses: [https://www.abc.net.au/news/2020-06-19/foreign-cyber-hack- ta...](https://www.abc.net.au/news/2020-06-19/foreign-cyber-hack-targets- australian-government-andbusiness/12372470)

We believe the purpose of the attack was to steal customer data and, credentials that allow Flood to orchestrate load testing infrastructure for customers through third-party cloud providers. These credentials are used by a subset of Flood customers who utilize our 'hosted' grid infrastructure.

What Information Was Stolen? \--- Potentially a cryptographic hash of your password has been obtained. While we use an irreversible hashing algorithm based on Bcrypt, we have already scrambled your password as a precaution. This means if you use username and password authentication to access Flood, you will need to reset your password.

Additionally the API token that you use to programmatically access Flood may have been revealed. We have already rotated all user's API tokens to prevent unauthorized use.

The following specific user information may have been obtained from your account: \- This email address \- Your first name \- Your last name \- Your nickname \- Your company size \- Your employee role

Potentially the following specific account information has also been obtained: \- Your account name \- Your suburb \- Your state \- Your country \- Your postal or zip code

Next Steps \--- We cannot determine if any customer test data you have provided to us, in the form of test plans and supporting test data has been obtained from your account. However, we are working on the assumption this has occurred. We will be introducing changes to the way we manage customer test data through the provision of configurable storage soon. This means we will be taking an alternative approach to persisting and encrypting customer test data. We do not plan to migrate any customer test data provided to us before this impending change.

We will release another notice to account owners via email and our status page when this change is made. We will also provide a way for you to obtain your test data, including the option to destroy it permanently.

We will be providing a detailed post-mortem of this incident at our blog, once we have completed these steps.

For More Information \--- For status updates regarding this incident, please subscribe to updates on [https://status.flood.io](https://status.flood.io)

If you have any questions, please feel free to contact our team at firstname.lastname@example.com

Thank you for your patience and support throughout this challenging issue.

==EMAIL ENDS HERE==</comment>


Ask HN: What happened to Dart? - <AUTHOR>

I remember their being a lot of hype around Dart given that it was Google and Chrome and all that jazz, but I don't hear much about it lately.
Their website has been refreshed: https://www.dartlang.org/
Looks like there is a conference coming up too. Just wondering what the general feeling is? Is this the replacement to JS or just another language that some will chose to learn? <comment><USER2> Dart's around. It's great :)

The developer summit was a couple of months ago, but there will be more.

<comment><USER3> What exactly is great in Dart in comparison with other languages?

<comment><USER4> It compiles to JS and allows for seamless JS interop and its a highly usable language.

<comment><USER3> Other languages also compiles to JS (even better than Dart) and don't require JS interop and they also highly usable languages.

What exactly is great in Dart in comparison with these languages?

</comment></comment></comment></comment><comment><USER5> The only way Dart will survive it is if Google start using it as a lenguaje for creating Android apps, because for the server or web applications is practicatly dead, not becuase nobody is using it, because is doomed to be in the shadow of JavaScript.

</comment><comment><USER3> Just another language which compiles to Javascript. Till now with their own virtual machine. But already without their own Editor. And, as always, without any programming language roadmap.

<comment><USER6> Dart also lacks the ability to use the "pub" command if you're behind a proxy or your organization uses IronPort or some other ssl sniffer that breaks your certs.

[https://github.com/dart-lang/sdk/issues/5454](https://github.com/dart- lang/sdk/issues/5454) [https://github.com/dart- lang/sdk/issues/18929](https://github.com/dart-lang/sdk/issues/18929)

<comment><USER2> That issue is closed as fixed.</comment></comment></comment>


Ask HN: Starting Small - <AUTHOR> I am a college student studying engineering. I have taught myself how to code over breaks and during my spare time (school rarely challenges me) and am becoming skilled in several languages. I have found that programming comes very fast to me. I have dabbled with small projects in Perl, Python, C++, and even tried Lisp. I am currently working on two websites in addition to my coursework. One is just an HTML/CSS design job. The other is a full web-application I wrote in PHP.<p>Anyway, when I finish these projects in the next couple weeks, I will have made a around $1000 in spare cash. I am looking for advice about what to do to further my experience with programming. Designing websites is great, but I am looking for something more challenging and complex than simple scripts and MVC websites. I am not sure if that amount of money could make a difference in this, but it is available to me. <comment><USER2> If learning game programming interests you, you may want to try coding a 2d rectangle collision system. Not just intersection tests(that is the easy part) but also a collision response that can either cleanly separate intersections or prevent them from occurring, the kind of thing you want for actor- environment collision.

It's actually a really hard problem to solve in both an accurate and fast manner without making major design assumptions. How wrong have people gotten it?

<http://www.youtube.com/watch?v=Hgd3YcmIvYE> <http://tasvideos.org/RockmanTricks.html>

Mega Man's collision was above-average for its time, and holds up to normal play, yet it is full of exploitable bugs. If you can make a system that works well enough, you are most of the way to having a game, and the next most helpful thing to learn would be finite state machines and variants.

</comment><comment><USER3> 1\. Make a program that solves a problem.

2\. Charge money for it.

3\. Get a headstart on learning all the stuff that takes place outside of the IDE.

($1,000 is way past what is needed for this these days, if you do your own coding and fill in gaps in your skills with open source. Open source web design, etc...)

</comment><comment><USER4> It's a shameless plug, but come check out our site <http://clusterify.com>. We organize meetups for small coding projects, and you might find an interesting project, or someone interesting to work with.

</comment><comment><USER5> Learn Hadoop/MapReduce, write something that requires data-scale.

</comment><comment><USER6> Try a BitTorrent client. Transmission seems to be the main option on Linux, and I bet you could do better than that...

<comment><USER7> Uhhh... I can't tell if you're serious or not. Transmission's been actively developed for so many years now. To suggest that someone (especially with little experience) could just magically create something better is absurd. Come on...

<comment><USER6> It'd be fun (and educational) to try, though.</comment></comment></comment>


Practical Deep Learning for Coders 2018 - <AUTHOR> http://www.fast.ai/2018/01/26/v2-launch/ <comment><AUTHOR> Jeremy from fast.ai here. Happy to answer any questions about the course, fastai, or anything else relevant!

BTW the 2018 version of the course is being discussed in this forum, for those interested: [http://forums.fast.ai/c/part1-v2](http://forums.fast.ai/c/part1-v2)

<comment><USER2> Do you have good references about how to setup the environment with a Nvidia GPU in a Windows machine?

<comment><AUTHOR> Yes, I've provided a step by step walk-through here: [http://forums.fast.ai/t/howto-installation-on- windows/10439](http://forums.fast.ai/t/howto-installation-on-windows/10439)

This includes setup of fastai, pytorch, cuda90, cudnn, opencv, bcolz, and much more!

<comment><USER3> Hi Jeremy, I just recently "upgraded" from a Macbook air to a Windoze Gaming Laptop with the GTX1050 GPU just for the reason that one day I could hopefully do all the Fast.ai assignments on my laptop. I think this announcement right here will spur me in taking up this course and Finishing it. I have an actual need for automating some of our IQC/OQC( Incoming and outgoing Quality control) of sub-assemblies and parts that we purchase from our vendors and I hope to leverage what I learn from this course. Thanks a Ton for democratizing Deeplearning and ML for a large population. Ananth

<comment><AUTHOR> My pleasure! You may need to reduce the batch size in a few lessons to fit on that card, FYI.

</comment></comment></comment></comment></comment><comment><USER4> Time to shill my little tool to help with rewatching lecture videos. Search the caption by keyword and jump to that timestamp of the video. [https://github.com/mingrui/youtube_caption_search](https://github.com/mingrui/youtube_caption_search)

<comment><AUTHOR> Thank you for creating that! :)

BTW I just had a thought. What if instead of a txt file like you have:

        hi everybody welcome to practical deep
        00:00:00.000
        https://www.youtube.com/watch?v=IPBSB1HLNLo#t=00h00m00s

...you instead created a markdown file that had:

        [hi everybody welcome to practical deep]
        (https://www.youtube.com/watch?v=IPBSB1HLNLo#t=00h00m00s)

...then you'd have a readable transcript, where every phrase is hyperlinked! For bonus points, run it through the bidir RNN punctuator to add punctuation: [https://github.com/ottokart/punctuator2](https://github.com/ottokart/punctuator2) . (I plan to do this for the transcripts in the future BTW).

<comment><USER4> Good idea on markdown, it should be a quick fix and quality of life improvement.

Didn't know punctuator existed, I'll look into that!

</comment></comment></comment><comment><USER5> I just finished the "soft launch" version of this. It's a truly excellent way to get started with deep learning. The course is very hands on and practical. This version has been updated to use pytorch and a bunch of new techniques. Highly recommended if you are looking to get started with deep learning.

</comment><comment><USER6> Is this course free? What's the catch? I can't seem to find pricing anywhere.

(this is a genuine question, and not a meta-comment)

<comment><AUTHOR> It's free. We're a self-funded non-profit. We do this because we actually want to help people!

<comment><USER6> Sweet! Thank you!

</comment></comment></comment><comment><USER7> Hi Jeremy, recently google have free gpu with colab notebook product. Student can use it when they need free gpu option. [https://colab.research.google.com/notebook](https://colab.research.google.com/notebook)

</comment><comment><USER8> fast.ai international fellowship recipient here - The second iteration of the fast.ai course is totally worth. If you can code in Python, you can master deep learning. Join our fantastic community!

</comment><comment><USER9> Did anyone do Andrew Ng's deeplearning.ai and know how it compares?

<comment><AUTHOR> Yeah there's a discussion of this on [http://forums.fast.ai](http://forums.fast.ai) if you want the details. Basically, Andrew's course is bottom-up (i.e. start with the theory and math and simple examples) and works up from there. Ours is top-down (start with code to train world-class models and dig deeper and deeper in to how they work). fast.ai also has more examples of more recent techniques, and covers a wider variety of applications. Students who have done both tell us that they found both helpful to their understanding of the field and practice.

</comment></comment><comment><USER10> Can anyone reccomend an "AI for Dummies"? Every resource I've yet to find starts with assuming I have any idea what "Eigenvector" or "Gradient descent" means.

<comment><AUTHOR> That would be this course. It assumes neither of those things :)

(It's for dummies that are prepared to work hard over a 7 week period and that have been coding for at least a year.)

</comment></comment><comment><USER11> Hi Jeremy, i have an computer running ubuntu 17.10 with 16gb ram and 4gb nvidia gpu. Is it possible to setup my system to run the exercises locally without having to use paperspace? Thank you.

<comment><AUTHOR> Yup that should be fine. There's resources on [http://forums.fast.ai](http://forums.fast.ai) to help you get set up.

(I'd still suggest doing the first few lessons on Paperspace so you can focus on the deep learning, rather than the setup. It's only $0.45/hour and 20 hours is plenty enough to get going. Sometimes getting your computer set up can be distracting and frustrating at first!)

</comment></comment><comment><USER12> What are the benefits of the in-person "Part 2" in SF? Would it be feasible to fly in weekly for the course?

<comment><AUTHOR> There are certainly folks that fly in weekly. One student flew in from Australia for the duration! But if you're far away you'd probably be better off applying to be an international fellow, which means you watch the lesson live over Youtube Live and can ask questions and interact with me and the class in real time: [http://www.fast.ai/2018/01/17/international- spring-2018/](http://www.fast.ai/2018/01/17/international-spring-2018/)

If you're considering the investment of weekly flights, you should probably first ask the students at [http://forums.fast.ai](http://forums.fast.ai) whether they would recommend it.

<comment><USER13> I had a good conversation with the student who flew in from Australia. She said she got a lot out of it, and found the discussion groups very useful.

OTOH, I've done it remotely just watching the videos and I've found it great too.

</comment></comment></comment><comment><USER14> Can I run through this course on a no-GPU laptop or would that be too slow?

<comment><USER15> You setup your environment in a cloud environment that gives you GPU access. Details in the course and forums.

</comment></comment><comment><USER16> Enjoyed the first iteration of the course, will definetly check this one!</comment>


WTF is … crowdfunding? - <AUTHOR> https://techcrunch.com/2016/09/04/wtf-is-crowdfunding/ <comment><AUTHOR> "...crowdfunding campaigns are mini-startups in their own right." Seems like a campaign need to have their on lean canvas before you start one and it could even be considered another MVP for your startup.</comment>


How does it feel to be watched at work all the time? - <AUTHOR> https://www.bbc.com/news/business-47879798 <comment><USER3> That might sound like the most obvious thing ever written here to the point of sounding stupid, but:

In my experience as a manager, ANY kind of micro-level timekeeping or micromanagement is not only dehumanizing, but also an utterly unsustainable waste of time and resources and a recipe to let deadlines slip by.

How much time someone spends in front of their computer, how focused they are, and how their process works only gives bullshit metrics and teaches bad employees to game the system. By "squeezing productivity" you teach underachievers how to fake work while still underdelivering, while overachievers will get burned out quickly.

You'll fool yourself into believing that everything is "in control" but productivity will lower in a boiling frog effect that you'll only notice after several months of having everyone glued to their screens.

What I learned after failing: You need to sample a large interval in order to have ANY confidence on employee productivity data. So, it is better to allow employees to just be adults for longer periods of time (say, a sprint, or even a month) and measure them by their macro output and only act when they need you (aka be a real manager).

EDIT: Oh, and one more thing, if you don't have good metrics in place (like every programming shop ever), letting the OWN WORKER pick their metrics and give their own deadlines. This is a completely valid approach and will weed out under-performers like crazy.

EDIT 2: If you don't actually act on those macro metrics and pretend everything is fine, your team will resent you start looking for other jobs.

<comment><USER4> One of my manager once told me: Sometimes you are unproductive all week and then you push out two weeks of work in a day.

It's not always this extreme, but I would be crushed, when measured on a daily basis including some very unproductive whole weeks.

<comment><USER5> Uggh, reminds me of daily "standups" where I have to make yesterday's work sound important even though half of the days are a firefighting crapshoot/standstill.

<comment><USER6> If it's a firefighting crapshoot/standstill, then that's what you say at the standup. That's exactly what it's for; not to justify how you spent your time, but to share problems and delays.

<comment><USER5> Yes, but it has to be presented in a manner to avoid blame, which is exhausting over the long haul.

</comment></comment></comment></comment></comment><comment><USER7> No offense to those who think that being watched while you work is a good thing, but it does surprise me how this topic has popped up multiple times in the past few weeks and how many HN'ers are on board with having someone(even their boss) watch them as they work.

I'll let my manager watch me as my work if I got paid in proportion to the amount of supposedly increased output. Oh, what's that you say pointy-haired boss? I _won 't_ be paid more for letting you spy on me? Oh, okay, _FU_ then. I wouldn't even give an at's rass about "productivity" if it only serves the employer. Valuing productivity for its own sake doesn't seem like a healthy perspective to me.

In a way, I'm speaking from experience. I had a boss at one point that we all had to "watch out for" because he'd visit all the engineers every hour or so, look over our shoulders, and ask us for an update on what we were doing. We got a lot done, yet we were all underpaid and our work wasn't particularly valuable. I'm sure he got to go to his bosses and assure them of their ROI. (EDIT: lol, now I'm remembering how this same company wanted us to do standups, which gradually devolved into status updates for management)

<comment> maze-le I wouldn't be surprised if the stress that this kind of surveillance is inducing leads to lower productivity and less succesful projects overall -- a constant "North Korea" in your head might cause more depression, more overthinking and less creativity for finding solutions in the long term.

<comment><USER7> For a period of time, we had a handful of brilliant engineers. I can't really say that I was one of them back then, but I can tell brilliance when I see it. All three of them ended up leaving within two months of each other, and one of them whom I knew personally told me they left because of that sort of micromanagement. That person works for Apple now, so it's for the best anyway. But once the people with experience and talent left the oppressive environment, that left the more junior engineers who couldn't realistically pick up the slack. I think you're right not only in that it will eventually become counterproductive, but it will also cause a company to simply lose its best employees.

</comment></comment></comment><comment><USER8> Stuff like this may start with good intentions but in the end management will almost always transform it into micromanagement hell. Management will ask you "Why did you spend less time on X than the average worker?" but if you give an explanation with suggestions to fix something that will mostly get ignored. Happened with Scrum/Agile for example. The original idea was that the whole company would get transformed and improved by a series of retrospectives but in a lot of companies it has devolved into daily micromanagement from top down but feedback doesn't trickle up.

In the end companies behave internally like dictatorships so they shouldn't be given more tools that befit a totalitarian dictatorship.

<comment><USER9> > "Why did you spend less time on X than the average worker?"

"Because I wanted it to work correctly."

Edit: I assumed you meant "more time"

<comment><USER8> I meant something like "why did you spend less time in front of your computer". It doesn't really matter . My point was that management will pick a simple metric and micromanage people for that metric without considering that there may be a little more nuance.

</comment></comment></comment><comment><USER10> Every job i had as a programmer, the first thing I did was kill VNC and remove it from the startup script. No one ever complained about it.

The reason I did so was because I worked as an IT before and I was often asked to dive into someone else computer to monitor what they were doing. Often without their knowledge.

Side note: One person that I found particularly interesting was an employee that had been affected by malware. I had him on the phone while I told him I'll access his computer. Right then, this person decided it was the right time to make a purchase online, showing me all his credit card information.

<comment><USER11> They were entering their details into a presumably infected and logged machine?

<comment><USER10> Yep.

</comment></comment></comment><comment><USER12> I feel like some people are too entitled. Most companies do not turn a profit and survive over extended periods of time. Most managers do not lead extraordinary teams. Most managers are not assured extraordinary careers. Why can't we just be adults, accept that a mediocre outcome is (by definition) what we should expect, and then try to be reasonably good people? Instead these fragile egos want to torment their employees into giving them something that they were never going to get in the first place.

Now instead of a mediocre manager with a mediocre track record but an upstanding moral character and at least a respectable reputation as a human adult, you're a mediocre manager with a mediocre track record and a depraved moral character and manipulative personality. For all I know this is leading into your personal life making your kids and wife hate you because you're a control freak asshole. And you likely didn't even increase your results.

</comment><comment><USER13> when i worked at apple they monitored even our private phones. i only found our afterwards that they had been reading the conversations i had with my wife. they way they did it was to ask me to install a certificate or something like that under the pretense that they needed me to participate in testing and providing feedback on the software service they were working on.

apple can go suck it.

<comment><USER14> Wait.

Did they install certificates in your personal private phone?

<comment><USER15> This is par for the course in BYOD regimes. On a past job, I was once given the option -- not required -- to install an app called "Good" on my phone to grant access to corporate email and messaging through my phone. I found out that "Good"'s real purpose is Mobile Device Management -- tracking and controlling phones that connect to the corporate network, including forcing software installs and updates, remote monitoring of device and app activity, and installing certificates that let corporate IT MITM your device.

I told the IT department that if they want me to receive email via cellphone, they will need to provision a corporate phone for me to use because I am not installing anything of theirs on my personal device.

I never heard about it again.

<comment><USER16> But the OP's use of the word "private" suggests that they had _both_ a personal and a work phone, and that even the personal one was being MDM controlled. I can't think of a reason that this would be acceptable.

</comment></comment></comment></comment><comment><USER17> Just insert this slim, minimally intrusive sensor into your anus until the soft beep it emits can no longer be heard; that's how you know it's in far enough. Our team in Copenhagen came up with the sleek design (you should see the office there!). Our CEO even wears one, and you can watch his colon expand and contract, in real time, up on the big board!

Over time, we've found that a rectum capable of dilating to at least 1.5 inches in diameter is correlated with improved productivity, so try and stay loose throughout the day! There are lube and applicators available in the restrooms, and welcome to Job Corp!

<comment><USER18> The Yes Men approach:

> AG: How did you get started?

> MB: We got started by accident when Andy put up a fake website for the World > Trade Organization in 1999 and people started writing for advice and > questions. Eventually people started inviting us to conferences and we > realized we didn't have to be the WTO to go. Pretty soon we had been to half > a dozen conferences. No one objected no matter how ridiculous the thing we > proposed.

> AB: We got invited a textile conference in Finland as the WTO by a technical > university. We lectured about the WTO's solution to various problems, > including the problem of modern slavery. The problem of modern slavery is > they are across the world in places you don't want to go, so you have to > control them remotely and you want hands-free operation. The natural place > to mount a view screen is at the crotch. We developed "the employee > visualization appendage," basically a 3-foot golden penis. People from major > corporations were in the audience, including DOW Chemicals. They applauded.

0) [https://indypendent.org/2009/09/the-yes-men- speak/](https://indypendent.org/2009/09/the-yes-men-speak/)

</comment></comment><comment><USER19> > that coders who sat at 12-person lunch tables tended to outperform those who > regularly sat at four-person tables... >...driving more than a 10% > difference in performances

Yeah, so this is exactly the sloppy analysis that makes these policies so counter productive: there's a pile of data, it is interpreted so poorly as to be random yet instills an absolutely unreasonable level of confidence.

It certainly does not compensate for the loss in productivity that such demoralizing practices create.

<comment><USER20> Worker 4575 you are not sitting with the optimal number of coworkers for lunch, please move to table 21b.

</comment></comment><comment><USER21> "It approves of rereading."

— _Snow Crash_ , Neal Stephenson, 1992

Excerpt of the relevant section available here:

[https://www.deaneckles.com/blog/700_docsend_in_snow_crash/](https://www.deaneckles.com/blog/700_docsend_in_snow_crash/)

</comment><comment><USER22> > "The sales pressure was relentless," she recalls. "The totality was > horrible."

This sounds very dystopic.

> These include tools to analyse e-mails, conversations, computer usage, and > employee movements around the office. Some firms are also monitoring heart > rates and sleep patterns to see how these affect performance.

This can actually end being good. Once you get the data and add to it any study that proves how stress, bad office environments, etc. affect negatively employees health. Companies should be liable for an unimaginable amount of money. People waste a lot of their lives in jobs that are pernicious for their health but usually, it is difficult to prove.

Otherwise, there is a grim future for humanity when management tries to become psychologists while doing some un-regulated human experimentation in the hopes of getting a promotion. Like lobotomies, gay therapy, etc. humans are really good at coming with the most ridiculous and hurtful ideas to improve how others live or do their jobs.

<comment><USER23> In the specific case, the company--a bank--is already liable for a lot of money and that is the reason the tellers are watched and tracked as closely as they are. That was a poor example.

In the fast food restaurants I used to own, one girl complained that I was watching her every move and using a stop watch to time everyone but this wasn't true. I wasn't watching her. I was watching the whole line. I wasn't timing her. I was timing how long it took the customer from the door to the order counter and the time it took to get to the cash register.

However, the last job I ever had working for someone else, my supervisor said I needed to turn my desk around in my cubicle so that, when the owner walked by, he could look and see that I wasn't just surfing the 'net instead of working. I understand his point--I'm being paid to work not surf the 'net--but you can't work continuously without some kind of break for the mind (which, in my case, was actually a slow walk to get a coffee from the lunch room).

<comment> maze-le >> I understand his point

I don't. If at the end of the week, you got your work done (issues resolved, specs written, test cases covered, classes implemented, documentation written), it doesn't matter at all what you have done in between.

</comment></comment></comment><comment><USER24> > Larger lunch tables were "driving more than a 10% difference in > performances". A fact that would probably have gone undetected without such > data analysis.

Isn't this poor data analysis, though? Correlation doesn't imply causation and all that. I think it's more plausible that people who sit at 12-person lunch table have more friends on the company, and that drives performance up, than the lunch table affecting performance. I mean, it could be any reason, but I highly doubt the lunch table is the cause of the higher or lower performance.

<comment><USER25> Depends how they studied it. If they changed a few floors of the building to larger lunch tables, and observe the difference on those floors, keeping everything else the same, they would have a good case. If they difference stayed for months after the change, it further strengthens the case.

<comment><USER26> They still have to apply a random sampling or you risk the same correlations in the new data.

</comment></comment></comment><comment><USER27> Ask any retail employee in the last thirty+ years.

It feels bad.

<comment><USER28> I think it depends. I worked at a credit card factory for awhile. We printed, encoded, and mailed the cards so we had access to finished cards. There were cameras everywhere. But the company only used them for security ( _i.e._ when cards went missing). Management never used them against us or tried to micromanage us. Maybe because of that none of us ever cared about the cameras.

<comment><USER29> If you worked there, why even steal a card? I've had online purchases where I've entered the wrong billing address by mistake and it still went through fine; all you needed was the numbers on the card. Surely someone looking at these everyday would end up _really_ good at memorizing the numbers, or at least memorize them well enough to run to the bathroom stall and write them down quickly.

<comment><USER28> Because it was 1995.

</comment></comment></comment></comment><comment><USER30> IMO this just worsens the already bad employee/manager relationship when it is the employees by definition that add value to the company. And I bet you the upper management/CEO won't have these trackers installed.

</comment><comment><USER15> More proof that we're living in Clownworld. This was a _joke_ from 1994: [https://dilbert.com/strip/1994-02-27](https://dilbert.com/strip/1994-02-27)

<comment><USER31> Pretty sure there are 'efficiency expert' jokes from the 1950s era on the same subject.

<comment><USER15> Thing is, now we're actually _doing it_ \-- and dead serious.

</comment></comment></comment><comment><USER32> I think it largely depends on the industry and perhaps the reason why you are being watched. From working in retail on a shop floor selling, they used to have management join us when we would speak and "sell" products to customers, this type of watching was terrible and put you under immense pressure to perform with someone literally standing over your shoulder hearing you speak and watch you do your work.

Fast forward 4 years working in professional services, if my manager set next to me and watched me work it would be fine and probably a positive experience.

</comment><comment><USER33> "Machine learning algorithms analyse all the data, and create beautiful charts," he says.

Duly noted as a quip for my next bullshit tech job.

</comment><comment><USER34> Even if you're gaining a benefit from it, it's terrifying that you don't own the data.

I measure my sleep and heartrate via fitbit - for me this is useful information - but I would never pass this on to my employer. Likewise, I have my terminal set to keep a very long history but would be quite upset if my employer kept a copy.

</comment><comment><USER35> Shoshana Zuboff:

Psychological and organizational implications of computer-mediated work

Author: Shoshana Zuboff

Publisher: Cambridge, Mass. : Center for Information Systems Research, Alfred P. Sloan School of Management, 1981.

[https://www.worldcat.org/title/psychological-and- organizatio...](https://www.worldcat.org/title/psychological-and- organizational-implications-of-computer-mediated- work/oclc/9150777&referer=brief_results)

In the age of the smart machine : the future of work and power

Author: Shoshana Zuboff

Publisher: Oxford : Heinemann, 1988

[https://www.worldcat.org/title/in-the-age-of-the-smart- machi...](https://www.worldcat.org/title/in-the-age-of-the-smart-machine-the- future-of-work-and-power/oclc/1091639380&referer=brief_results)

</comment><comment><USER18> I certainly don't like it, but I know that I have no guaranteed privacy at work. Or at least, using devices and services owned by my employer. As others note, obsessively tracking "productivity metrics" is stupid and pointless. And demeaning and dehumanizing. But on the other hand, someone has to guarantee good OPSEC, so admins gotta see everything.

However, I _do_ expect privacy at work when I'm using my own devices. At appropriate times, of course. During breaks, when there are personal emergencies, and so on. And I expect that there will be WiFi hotspots for those personal devices, and for guests. Which are not monitored, except when good OPSEC demands it.

</comment><comment><USER36> Needs a study of different kinds of people. The difference being how they respond to surveillance.

I'd guess there's a very high performing group that hates surveillance, and when it's noticed finds something else to do. Might be those people whose results are 20 or more times better than the others.

Then there's those who get into flow. Would be interesting to see what impact surveillance has on them.

As a corollary, study the managers who chose to do and not do this. Figure out how good they are.

My attitude, if there's monitoring, it should be done by the individual and used by them for self improvement, no oversight.

</comment><comment><USER37> Also see the Hawthorne Effect[1] - I think we're actually experiencing this on a global level as we all accept that there's the possibility of being surveilled at any time via use of mobile devices.

It's like the bit in 1984 about never knowing when the telescreens are watching you (if ever) - but the mere possibility that they might be watching was enough to keep people in line.

[https://en.wikipedia.org/wiki/Hawthorne_effect](https://en.wikipedia.org/wiki/Hawthorne_effect)

</comment><comment><USER38> I have / had a plan to work on a MOOP (massive open online psychology) where Alexa / iPhone would listen you your conversations and coach / guide you through life.

To do this is technically possible but the _trust_ problem is huge - <USER2> it involves medical / legal levels of confidentiality baked into our legal and social systems.

It was obvious that in the workplace was the early traction for this (and hey guess what I waited too long) but the good parts and the bad parts of this all hinge on one simple question - is the technology and the legal and support frameworks around the technology aimed utterly in the best interests of the individual in all cases.

Only then do we get the trust levels - only then is the foundation strong.

And we in the West "know" that a dictatorship cannot put in place those systems - and yet we think we can put them in place in our workplaces.

There is I think a vast beneficial life coaching framework that technology can bring to we humans.

But it must come with a medical "patient interests first and only" approach - and the companies that benefit from that (and they will benefit from empowered optimised engaged happy workers) can only benefit by being the kind of companies that one can completely trust - which almost certainly means total rewrite of the rules of how companies work - the laughable dictatorships of today must give way to open communes of equals.

And the catch 22 at the heart of this is only the kind of well adjusted people for whom AI coaching will have least effect are those that will build those companies first

</comment><comment><USER39> Chipping parties? Welcome to the era of nano-management #behavioralControl

</comment><comment><USER40> the lunchtable example in the article sounds like overfitting.

<comment><USER41> More like Texas Sharpshooter. The more data you have, the more likely you are to find _some_ correlation, no matter how nonsensical.

See also [http://www.tylervigen.com/spurious- correlations](http://www.tylervigen.com/spurious-correlations)

</comment></comment><comment><USER42> Don't think that's a trend that is stopping any time soon.

It's also why I carry two phones...keeping the employer at bay.

</comment><comment><USER43> Some of the methods sound very interesting. I would love to see if there are patterns in data from microphones, keyloggers, location tracking, etc. Realistically, though, I doubt much will come out of it (the 12-person lunch table fact is probably the most interesting one they have, or they would have given a more impactful example).

So while it would be fun, I already don't expect it would produce much... but on top of that, _I would never want to be tracked that way in a workplace environment._ It would indeed be dehumanizing. I will happily track myself, but there is a power relation between an employer (or even colleagues) and myself. Data about me might be negative, or positive data about me will be negative for a colleague. This is the reason why employers cannot use your data under GDPR with consent: you cannot _freely_ give consent. A request from your boss is not the same as a request from a local restaurant to track my choice of dishes across visits: I might or might not feel an implied pressure, so it's not free. It's even worse here: this kind of data is always negative about whoever turns out to perform less well on whatever metric it tracks.

(One example of self-tracking is that I like to look back on my trips, so I have OsmAnd record every time I use it for navigation, but I deny Google Maps that permission because then it is no longer me that is tracking myself.)

</comment><comment><USER44> Makes me feel like making sure they see me scratching my ass.

</comment><comment><USER45> Actually, the feeling that there's someone to watch you at work all the time has an invisible benefit: Focus.

You'll be forced to be focus on what you're doing. But depends on situation, it might be your loved or hated kinds of work you want to focus.

Without anyone watching, it's easier to get distracted.

<comment><USER46> It is so much more distracting to know someone is watching you.

<comment><USER45> That's why i said it's "feeling".

</comment></comment></comment><comment><USER47> Anecdote: I've found that developers tend to be more productive - as in producing higher quality code, in shorter periods of time - when the environment they're working in encourages shoulder-surfing - that is, we set up the physical environment such that developers are mostly in a circle, and should one wish to, one can easily swing ones chair around in a circle and see the groups activity on each screen.

This has its detractors - sure, unless you've worked this way, you might find it intrusive that any dev can shoulder-surf at any time - but after a few days it rapidly becomes clear that such a configuration encourages developer participation, and more particularly: honesty about what is going on.

Too many times, dev teams I've managed have been tripped up by the one guy who doesn't like to share anything and rather prefers to work privately without any oversight - well, those guys don't last long in an environment where everyones work is equally open for shoulder-surfing. And I have found, anecdotally, that the most productive devs really don't care if you shoulder- surf - and in fact those that openly invite it, are a net positive effect on the teams own morale. People really learn a lot faster, and are seemingly more motivated to share their work, when the cubicles are set up for observation and not privacy.

Just an anecdote, but I've seen this, effectively, in action over 3 decades now and its just something I insist is a great way to build a developer team. Those that resist it, usually don't have good reasons to do so, either ..

<comment><USER8> This sounds horrible at first look but I would like to see how this looks in the real world. I assume management is part of that circle too, right?

<comment><USER47> Yes, managers sit in the circle too. Its not hierarchical, and thats the point - there is nobody in the group with the special privilege of withholding our screens, therefore we all feel comfortable with whatever is on each others screens.

Respect, equalised this way, means we don't care if one of us is doing something non-work related on their system - its accepted, and nobody cares. Its just so much more productive to be able to understand, at a glance, what ones colleagues are up to without them having to worry about having 'privacy issues' in a workplace where really, the work isn't private.

<comment><USER16> Despite the fact that this system seems unpopular in the average HN reader's mindset (and I can see why), it also seems like it would select people who are good communicators and encourage good communication and collaboration. I'd be interested to see it play out in practice. Is it stressful to have what effectively amounts to no privacy, or does the collaborative aspect make it seem like everyone is constantly pair-programming with the entire group (which might not be a bad thing at all)?

I'd also be interested in my own reaction and whether I'd adjust to that kind of workplace.

<comment><USER8> The question is whether it's real collaboration or "Collaboration" with an open office, noise and everybody wearing headphones.

<comment><USER47> It is not a noisy, open office. Its a circle of desks where people can easily see what each other are working on and collaborate with each other without having to leave ones own desk...

</comment></comment></comment></comment></comment></comment><comment><USER48> Well, as a software developer, I don't mind my work being monitored as long as I am unaware that the employer is monitoring me. If I know the employer is monitoring me I will become self-conscious and the employer would then, in essence, destroy my productivity. However, like writers, coders think about what they are going to write next and web search stuff a lot more than they code so monitoring a developer in real time would probably be pretty boring - and employers would probably be dismayed at how much they pay us to google/cut/paste/modify/test.

In all seriousness though the situation is that, privacy concerns be damned, if valuable data can be collected it will be collected. Absent laws protecting worker privacy, employers will collect as much information about you as they can and use it in whatever way the deem necessary. It's a sad and unfortunate truth.

<comment><USER49> Well and it needs to be prohibited with absurd large amounts of fines when doing it any way.

When you can't make goals and check their success as a manager without surveillance you need to stop managing people.

<comment><USER50> As long as "right to work" (anti-unionization) and "at-will" (immediately fired for no reason, or any reason listed as non-protected) states exist, those states will be free to implement whatever checks on employees.

And they will be free to make decisions on this data without ever disclosing it, hence the 'at-will' status of the state. And if they are put in a position of court, the company will have ample data to show cause, even if the employee never explicitly approved or knew.

The 'right-to-work' also protects companies since unions that are formed can't force employees to pay into the union... Yet the union must negotiate for all employees, including the ones who refuse. In this way, "right-to-work" is a way to drain and kill unions by attacking their solvency.

Perhaps through Europe, their governments care more for workers. In the US, I have no illusion that the local governments, the state government, the federal government, or the company I work for truly cares for us workers. The worse times shows just how little we workers are thought of.

(Edit: And I deal with, as a system administrator, that no demographic or monitoring shows how we are performance-wise. If you count closed tix/day, each job gets split into X tickets for number bloating. Time to close is also sad because some tickets are autogen'd or long term projects. And like plumbers, our jobs aren't noticed _UNTIL_ the 'shit' is backing into the sink.

I've proposed only counting internal and external customers' time in our group, but that too encourages us to blame and bounce tickets to other groups to stop the clock.

Tl;Dr. Sysads are even more fucked than devs that can show feature/ticket over time. We can't show 'crisis averted/ticket/time'.)

<comment><USER51> ÄI wonder, why the downvotes</comment></comment></comment></comment>


Coronavirus Disease (Covid-19) – Our World in Data - <AUTHOR> https://ourworldindata.org/coronavirus <comment><USER2> Lots of interesting charts, maps, and links in there, like daily WHO Situation Report[1], and nCoV-2019 Data Working Group up-to-date dashboard[2].

[1] [https://www.who.int/docs/default- source/coronaviruse/situati...](https://www.who.int/docs/default- source/coronaviruse/situation- reports/20200309-sitrep-49-covid-19.pdf?sfvrsn=70dabe61_2)

[2] [https://healthmap.org/covid-19/](https://healthmap.org/covid-19/)</comment>


Focused Crawling - <AUTHOR> http://bixolabs.com/about/focused-crawler/

<comment><USER2> Are these guys just offering to write 80legs crawlers for customers?

Maybe I'm missing it, but with the ease of web crawling, and the capabilities of open source data mining tools, I think these guys are serving a VERY small market.

<comment><USER3> Hi Pedalpete - I'm the founder of Bixo Labs, so this comment caught my eye. My first thought is "We need to add some additional context to that page", for cases like this where it's the first time somebody is reading about what we do.

As to your question, we don't use 80legs. We build workflows on top of Hadoop/Cascading/Bixo, and run them in EC2.

As for the size of the market, I agree that just writing a webcrawler isn't that interesting; you can easily use Nutch, Heritrix, or (for small stuff) roll your own, though the ins and outs of large scale webcrawling are definitely non-trivial.

We've found our sweet spot to be customers who use the raw webcrawl results as the starting point for a data processing workflow. Sometimes what happens next is simple (extract particular types of data off pages, turn into XML, push to the next step) and other times it's more complicated, where natural language processing & machine learning are key steps.

You mentioned open source data mining tools - which ones are your favorites? We use a lot of open source, but after my Krugle startup days I know there are always 10 more alternatives to every project that I haven't yet heard about.

Thanks,

\-- Ken</comment></comment>


Are Rethink and Horizon Dead / Abandoned? - <AUTHOR> https://discuss.horizon.io/t/are-rethink-and-horizon-dead-abandoned/619/22 <comment><AUTHOR> I lost the thread so I reposted to find it. I'm interested in any news.

Update: found it here: [https://news.ycombinator.com/item?id=12641936](https://news.ycombinator.com/item?id=12641936)

HN, you need search functionality! :)

And an option to delete a post.

<comment><USER2> There is search functionality, provided by Algolia, at the bottom of the page. It works fairly well.

The original thread was marked dupe for mysterious reasons. I reposted the original thread as a submission myself.

<comment><AUTHOR> Thanks. I never noticed that search box before ;)</comment></comment></comment>


Welcome to China. You Probably Can't Buy Anything, Though - <AUTHOR> https://www.wsj.com/articles/welcome-to-china-you-probably-cant-buy-anything-though-11573415753?mod=rsswn <comment><USER2> Alipay introduced Tour Pass for Foreigners to use Alipay in China a few days ago.

I haven't try it yet. Not sure whether it is usefule</comment>


The Nature of the Firm (1937) - <AUTHOR> https://onlinelibrary.wiley.com/doi/full/10.1111/j.1468-0335.1937.tb00002.x <comment><USER2> As someone who studied economics, "the nature of the firm" was something I could never bring myself to read because it just doesn't seem relevant or accessible.

I finally bit the bullet recently, read the actual paper, and wrote about a 1000 word summary here: [https://alexpetralia.github.io/2018/03/05/NL-2018-03-05.html](https://alexpetralia.github.io/2018/03/05/NL-2018-03-05.html)

I'll summarize briefly because I'm happy I did bite the bullet:

* We pay for a lot of things, and that "price mechanism" seems to be pretty good. If something's bad, we pay less; if it's good, we pay more. Everything relevant to a transaction seems to be "consolidated" into this thing called price

* Our whole economy runs on this price mechanism. Everyone pays for goods and services, and the economy works pretty well because of it ("the invisible hand")

* But for some reason, most of us work jobs. This means _someone tells you what to do_ inside the walls of the firm. There is no price mechanism here.

* That is bizarre. We coordinate all of production in the economy using "the price mechanism," but suddenly within a firm we don't coordinate production using it.

* Why don't we use the price mechanism inside a firm? Why does someone tell you what to do? Is it better or worse (ie. "more efficient") than the price mechanism? Why?

* This is what Coase tried to figure out, and he came up with a lot of really insightful conclusions

<comment><USER3> Coase's paper on the FCC is also a must read. It is an amazing and surprisingly approachable introduction to the economics of regulation.

</comment></comment><comment><USER4> A fascinating update to the economics of the firm examines how peer production, mainly open source software development changes the fundamentals of this discussion. [https://www.yalelawjournal.org/article/coases-penguin-or- lin...](https://www.yalelawjournal.org/article/coases-penguin-or-linux-and- the-nature-of-the-firm)

The quick summary from the same Yale Law Review post: "Peer production" is when many individuals use social signals to cooperate on large-scale projects without being paid or directed by managers, motivated by nonmonetary concerns.

The Internet has enabled the growth of many peer production projects. Open source software has been produced in this way.

Peer production is better than markets and firms when the product being produced is information, and when the capital needed for production, such as computers, is dispersed.

Peers are less likely to forget who the best person for a particular job is.

When many contributors access large amounts of information, potential gains are great.

Removing property and contract rights reduces transaction costs; individuals may simply use the resources they want and work as they will.

Peer production uses technological and social strategies to overcome problems usually solved by property and contract, like shirking:

Projects are broken into small parts.

Nonmonetary rewards like enjoyment let projects proceed that would otherwise cost too much.

Stronger intellectual property rights will not increase growth, if peer production is important to tapping human capital efficiently

<comment><USER4> The paper is titled Coase's Penguin, or, Linux and The Nature of the Firm

</comment></comment><comment><USER5> I've always loved this book for opening my eyes to think about the motivations for human structures rather than just enumerating and studying the common structures around us.

Theory of the firm has many applications for technologists. In considering "disruptive" business models: why are transactions bundled together in an existing business model, and where would there be benefit in bundling them differently? In structuring dev teams: why does one mission lend itself to informal coordination within a team, while another can be trusted to collaborative processes across teams? And even in factorizing code: why does this set of concerns require informal coordination between functions (e.g. within a module or class), while this other set of concerns can be addressed at the app level through published interfaces?

<comment><USER6> So many things can be explained by transaction costs even if they're "just" mental. For example, Clay Shirky argued a long while back that mental transaction costs were a big reason why micropayments don't work and that still seems like a reasonable theory.

</comment></comment><comment><USER7> A classic read! With smart contracts and other decentralized tech, the nature of the firm and it relationship with stakeholders is about to be utterly transformed.

[https://en.wikipedia.org/wiki/Theory_of_the_firm](https://en.wikipedia.org/wiki/Theory_of_the_firm)

<comment><USER8> When you look around you may notice that there actually big trend towards centralization. Companies are getting bigger and bigger and the economy also concentrates around places like Silicon Valley and big cities.

<comment><USER9> Which makes sense if you think about it: better technology in forecasting and decision making makes central planning more efficient

</comment></comment></comment><comment><USER10> If people are interested in further reading on transaction cost economics, Oliver Williamson should be the next stop on your reading tour.

</comment><comment><USER11> Here's some interesting pushback on Coase's work - in particular how it's been used to justify some sloppy business practices over the past few decades:

[http://www.harrowell.org.uk/blog/2018/01/31/in-the- eternal-i...](http://www.harrowell.org.uk/blog/2018/01/31/in-the-eternal- inferno-fiends-torment-ronald-coase-with-the-fate-of-his-ideas/)

</comment><comment><USER12> I met Dr. Coase at a small meeting/conference that a consulting firm put together for its clients back in the mid-nineties. It was my first encounter to his thinking, and it was transformative for me. Today when I think about blockchain technology, I can't help but imagine how Coase would jump all over it and theorize about the further disintegration of large companies and how they will be organized. Reading about this tech with a Coasian mindset will also lead one to conclude that blockchain tech without an open digital token has limited value.</comment>


Europe Seeks More Taxes From U.S. Multinationals - <AUTHOR> http://www.nytimes.com/2012/11/19/technology/19iht-tax19.html?ref=technology <comment><USER2> Interesting use of "U.S. Multinationals".

A US citizen has to file a tax return, and pay taxes if appropriate, in the US every year - even if they are not living in the US.

Are these "US multinationals" filing and paying taxes in the US?</comment>


Meet the Man Behind 'Solarized,' the Most Important Color Scheme (2015) - <AUTHOR> http://observer.com/2015/02/meet-the-man-behind-solarized-the-most-important-color-scheme-in-computer-history/ <comment><USER2> Go directly to his website: [http://ethanschoonover.com/solarized](http://ethanschoonover.com/solarized)</comment>


Regenerating a Mammoth for $10 Million - <AUTHOR> http://www.nytimes.com/2008/11/20/science/20mammoth.html <comment><USER2> You know what they should do? Now, some of you may disagree with me on this one, but the more pragmatic of you will see the wisdom in my words:

They should sell the meat of the mammoth before it is regenerated, then make enough money to regenerate 4 mammoths, then have all the people who paid feast on one of the mammoths. That's a profit of 3 mammoths.

</comment><comment><USER3> Hell yeah! We have the code sitting there, let's compile and see what it does :)

</comment><comment><USER4> Although regenerating species is a great advance I am not sure they would be able to survive the climate. Also it would be hurtful to see them in Zoos or become a center of attraction as opposed to let them just be.

<comment><USER5> So no climate anywhere on earth is similar to 10,000 years ago?

</comment></comment><comment><USER6> Where's Jeff Goldblum when you need him?

<comment><USER7> Clutching a clump of mammoth hair and watching a count-down from inside a teleporter booth.

</comment></comment><comment><USER8> Mammoth, yes. Velociraptor, _no_. I'm with Randall on this one.</comment>