Building Memory-Efficient Java Applications (2009) [pdf] - <AUTHOR> https://www.cs.virginia.edu/kim/publicity/pldi09tutorials/memory-efficient-java-tutorial.pdf

<comment><USER2> IMO This without the talk is not a very usable read. Maybe it's because I've already knew 95% of the concepts it was showing but I felt that the talk must have been pretty interesting as most of the presentation is just bullets points of complex topics.

Does anyone have the audio of it? Also with memory is becoming less of a problem so people tend to completely ignore it, it's nice to see something like this.

</comment><comment><USER3> I remember seeing this on an IBM-branded site. A cursory search gave me this: [http://www.ibm.com/developerworks/library/j-codetoheap/](http://www.ibm.com/developerworks/library/j-codetoheap/)

...which is not the exact same presentation, but the subjects it touches on seem to overlap.

</comment><comment><USER4> I tend to find the overhead of the JVM appears to contribute the most. If I have -Xmx 128MB for example, around 200MB will often be shown in Windows task manager, or whatever.

Maybe this is addressed in the talk, any my "overhead" is actually my own mis- used data space which I am not aware of.

<comment><USER5> The Xmx flag controls the maximum heap size. The JVM has other things that are outside of the heap (the JVM process itself, the code cache, native buffers, resource handles, etc.).

<comment><USER4> That's my point, perhaps clumsily put. It's the stuff outside the heap that appears to take up much of the space.

</comment></comment></comment><comment><USER6> Please correct me if I'm wrong...

Q: What is the size ratio of Integer to int?

An int is 4 bytes, an Integer additionally has a 2 word object header (8 bytes) and a 4 byte reference pointing to it. This adds up to 12 bytes for the object, which is rounded up to 16 bytes, because Hotspot aligns objects to 8 byte boundaries. Including the reference, the Integer needs 20 bytes, or 5 times as much as an int.

Q: How many bytes in an 8-character String?

      * object header: 8 bytes
      * reference to char[] storing the value: 4 bytes
      * int field to cache hashcode: 4 bytes
      -> 16 bytes for "wrapper"
      * char[] storing the value:
          8 characters in UTF16: 16 bytes
          object header: 8 bytes
          length field: 4 bytes length
          -> 28 bytes, rounded up to 32 bytes
      total: 48 bytes

Q: Which of the following is true about HashSet relative to HashMap

d. does less, bigger: HashSet is a wrapper around HashMap

Q: Put the following 2-element collections in size order: ArrayList, HashSet, LinkedList, HashMap

Excluding the size of the actual elements:

      * ArrayList, created with initial capacity of 2 (vs. default of 10):
          * object header: 8 bytes
          * size int: 4 bytes
          * reference to Object[] holding element data: 4 bytes
          -> 16 bytes for wrapper
          * element data with 2 pointers: 2*4 bytes + 12 bytes, rounded
            up to 24 bytes
          -> 40 bytes total

      * LinkedList:
          * object header: 8 bytes
          * size int: 4 bytes
          * references to first + last node: 8 bytes
          -> 20 bytes, rounded up to 24 bytes
          * nodes (2x):
              * object header: 8 bytes
              * references to previous and next item: 8 bytes
              * reference to element data: 4 bytes
              -> 20 bytes, rounded up to 24
          -> 72 bytes total

      * HashMap, created with initial capacity of 2 (vs. 16) and default
        load factor of 0.75
          * object header: 8 bytes
          * modification count int: 4 bytes
          * size int: 4 bytes
          * load factor float: 4 bytes
          * entry set: ?
          * resizing threshold int: 4 bytes
          * pointer to hash table: 4 bytes
          -> 28 bytes for wrapper, rounded up to 32 bytes
          * hash table (Node[]):
              * object header: 8 bytes
              * length field: 4 bytes
              * pointers: 4 * 4 bytes
              -> 28 bytes, rounded up to 32 bytes
          * Node objects (2x):
              * object header: 8 bytes
              * hashcode int: 4 bytes
              * pointer to next node in chain: 4 bytes
              * pointer to element data: 4 bytes
              -> 20 bytes, rounded up to 24 bytes
          -> total of 120 bytes

      * HashSet, created with initial capacity of 2 (vs. 16) and default
        load factor of 0.75
          * object header: 8 bytes
          * pointer to HashMap: 4 bytes
          -> 12 bytes for wrapper, rounded up to 16
          * HashMap: 120 bytes
          -> 132 bytes total

</comment><comment><USER7> I couldn't get this either . "Forbidden"

</comment><comment><USER8> is the talk available?

<comment><USER9> Not from the same talk, but the same conference so probably not?

"Comment from Dave Mandelin Time: January 25, 2010, 2:15 pm

I asked the conference organizers and unfortunately they didn't videorecord the talks."[1]

[1] [https://blog.mozilla.org/dmandelin/2009/06/02/tracemonkeypld...](https://blog.mozilla.org/dmandelin/2009/06/02/tracemonkeypldi/)</comment></comment>


Show HN: Personal Webpage - <AUTHOR> http://agw.io/

<comment><USER2> This is a theme for WordPress, is it not?</comment>


Show HN: We're bringing Code Bubbles to life - <AUTHOR> http://codeconnect.io

<comment><USER2> I played the video on the home page and tried to go full screen but it scrolled over to the next page.

<comment><AUTHOR> Sorry about that, we're in the middle of removing that carousel entirely.

In the meantime here's a link to the video on YouTube: [https://www.youtube.com/watch?v=CuQ8NJOypqs](https://www.youtube.com/watch?v=CuQ8NJOypqs)</comment></comment>


Blender 2.80 - <AUTHOR> https://www.blender.org/download/releases/2-80/ <comment><USER2> To OP:

It's not exactly a nice move to link to the download folder before the main website has been updated, because as you might notice this has resulted in a lot of confusion from normal HN users who don't follow the Blender mailing lists/developer forums closely. The release is in fact today, the 30th of July, but possibly several hours from now, as many developers are currently at SIGGRAPH in California.

Even if the link is changed to [https://www.blender.org/download/releases/2-80/](https://www.blender.org/download/releases/2-80/) (which it probably should be), that page hasn't been updated since RC3, which will possibly just confuse more people.

It would probably be better for the Blender community to not jump the gun and wait until the website is updated.

</comment><comment><USER3> A probably paranoid note of caution: it isn't confirmed that this is correct.

RC3 was released July 24, this version was posted July 29, but currently (12h15 GMT on July 30) it hasn't been announced, either on the website or social media. But downloads for all platforms without RC* numbers have been added to the download directory (and they are not just duplicates of RC*).

The team were planning to build the final version yesterday for release today. So that does check out. But until they announce, it might be worth being patient for a couple of hours.

It is SIGGRAPH this week, so the team has been busting a move to get 2.80 out. Particularly after a couple of weeks of really impressive announcements on funding. So it is likely this is the final version, waiting for a formal launch later today. But it could just be a temporary thing.

</comment><comment><USER4> If this is the real 2.8 (not rc3) this is great! Admittedly the beta was quite stable and usable, so no big change but for the symbol.

Having played with 2.8 for the last few months, it's really a massive overhaul. Combined with important investments from big studios like ubisoft [1], it's seem Blender is moving in an interesting direction.

[1] [https://news.ubisoft.com/en-us/article/353364/Ubisoft- Joins-...](https://news.ubisoft.com/en-us/article/353364/Ubisoft-Joins- Blender-Development-Fund-to-Support-Open-Source-Animation)

<comment><USER4> Replying to myself, but it seems that this is the final release indeed :)

See:

[https://devtalk.blender.org/t/29-july-2019/8498](https://devtalk.blender.org/t/29-july-2019/8498)

</comment></comment><comment><USER5> I've been using blender 2.8 over the last few days and I've been liking it quite a bit.

The change from 2.7 is both big and small depending on the perspective.

Going in I was worried that I would need to relearn a lot of things, but while there were some big changes (like the ui, scripting, eevee, etc) I was still able to navigate things easily with only occasionally needing to look something up. I still think the old ui got way too much criticism, but this new ui is better so hopefully this will please everyone. All in all, a really good .x update, but definitely not a major one like 3.0 will be.

I am also kind of struggling with the new rendering engine. While it's way way faster, the renders are different enough especially with certain things like shadows and transparency from cycles that I am on the fence about what my future workflow will look like.

Blender is such an amazing piece of software and probably one of the most successful oss applications out there. This is another really big step forward for it.

</comment><comment><USER6> The plan to release today from their meeting notes: [https://devtalk.blender.org/t/29-july-2019/8498](https://devtalk.blender.org/t/29-july-2019/8498)

</comment><comment><USER7> > Blender 2.80 is almost ready! The stable release will be available in the > coming days.

It is not stable release, Release Candidate 3

<comment><USER4> The main website is not updated yet, but it seems this is 2.8 indeed. Or do you have other information I'm missing?

<comment><USER8> Which website is updated then?

Everything on that page suggests that it isn't ready yet.

Downloads still default to 2.79 or alternatively the release candidate.

edit: not sure if I clicked the wrong link or something but I was directed to blender.org and not the current link that goes to the files directly ( [https://download.blender.org/release/Blender2.80/](https://download.blender.org/release/Blender2.80/) ).

</comment></comment></comment><comment><USER9> The HP desktops we have at school don't have GPUs and the Intel GPU is too old, so 2.8 won't even run.

Can anyone recommend the cheapest useful half height vga outputting GPU?

<comment><USER10> Sure it's not just a driver issue?

<comment><USER9> Well, they don't make a driver that does the OpenGL version needed

<comment><USER10> You didn't post any details about your setup, so I just wanted to make sure you're not buying new hardware just because you have the wrong drivers.

</comment></comment></comment></comment><comment><USER11> Also RTX integration for accelerated ray tracing, wooo

</comment><comment><USER12> Yahoo! This is your celebration

Celebrate good times, come on!

</comment><comment><USER10> Congratulations!

</comment><comment><USER13> Release notes:

[https://www.blender.org/download/releases/2-80/](https://www.blender.org/download/releases/2-80/)</comment>


Paradigm Shifts by Ray Dalio - <AUTHOR> https://www.linkedin.com/pulse/paradigm-shifts-ray-dalio/ <comment><USER2> tldr: go out and buy yourself some gold (up to 10-15% of your liquid portfolio)</comment>


Show HN: my boilerplate CSS code for new designs, written in Less. - <AUTHOR> http://mgeraci.github.com/Less-Boilerplate/

<comment><USER2> <Not Related>

Last weekend I finished reading "The Non-Designer's Design Book": [http://www.amazon.co.uk/Non-Designers-Design-Book-Robin- Will...](http://www.amazon.co.uk/Non-Designers-Design-Book-Robin- Williams/dp/0321193857).

So, I decided to test my newly formed designer skills and modify the look of the site here: <http://i.imgur.com/k6y0g.png>

The central point of the book is that we can tell when something is off with a design, but rarely we know how to fix it. So, yea this is what I thought need fixing on the site:

1\. There is conflict between "What" and "Less Boilerplate" Header. Firstly, the fonts are the same size, so they are competing for who gets viewed first. Second, the orange on "What" is a warm color so it will stand our more, hence overpowering the header. So, I shrunk the "What" and increase "Less Boilerplate."

2\. Too control the eyeflow from top to bottom, I increase the size of the navigation bar.

3\. I increased repetition by changing the color of the header to white,the text to white and the separator in the navigation bar to white.

4.To highlight the "What" more I indent the text under it. And also set the text under it to be the same font size. There is no conflict here, since the header "What" is already highlighted alot.

5\. To show what items that are important under "What", I bold the text that is not in the list.

</Not Related>

<comment><AUTHOR> 1) I agree. I made the H1 the same color as the examples (close to white, with some cream) and reduced the size of the H2s.

2) I agree that the navigation and H2s should have a similar visual weight, so the nav. got bigger.

3) I'm not a fan of dropout text for large quantities, so it's staying dark, but I did brighten the background to increase readability.

4) A rule of thumb for me is that you only need one layer of emphasis for a differentiation of text. Both of our solutions are currently breaking that rule, and I happen to like larger text.

Thanks for the feedback and mockup!

</comment></comment><comment><USER3> I've been using sass and going kind of mixin crazy in my latest project. Once you discover all the various CSS3 generators online, creating good-looking mixins is absolutely trivial and a lot of fun.

A couple of comments:

1\. Aside from my dislike of CamelCase on a few classes, it might be simpler to call the .borderRadius helper "round"? .borderRadius(@radius) is not the best naming, IMHO. 2\. As mentioned below, click-stops on gradients really make for nice looking gradients. 3\. For the button, I suppose you could make it into a helper method where it can take @buttonColor as a parameter. I'm not loving the almost brown color for the active state. What I did was the reverse the gradient for the active state - so light to dark becomes dark to light when clicked on.

Lastly, what I'm finding is that all these gradients, mixins, shadows, etc. do add up, but I supposed if we compress our assets it will in most cases be less than using images. Anyway, nice work.

<comment><AUTHOR> I just updated the script with 3- and 4-color gradients, and with the call to action button as a helper method with color as a parameter. Thanks for the suggestions!

</comment></comment><comment><USER4> Anything like this for SASS that isn't Compass?

<comment><USER5> I'd highly recommend Compass, but I did a quick & dirty conversion of this to Sass: <https://github.com/nathos/Sass-Boilerplate>

Please log issues if I goofed anything :) I haven't fully tested all of the mixins. (Sass color math & functions work a bit differently than Less)

</comment></comment><comment><USER6> This might also be of interest to anyone looking for less boilerplate code... <http://markdotto.com/bootstrap/>

</comment><comment><USER7> I really like the .transition, and the attention to browser support in .gradientH and .gradientV. Very nice touch!

Tiny nitpick: IMO the call to action styles doesn't belong (seems a bit to specific for a generic boilerplate). Other than that, nice job.

Edit: I also like that this is more lightweight than Bootstrap - which I hadn't seen before.

<comment><AUTHOR> Most of the CSS3 browser compatibility came from Paul Irish's awesome CSS3please tool (<http://css3please.com/>). You should definitely check it out if you're coding css without a framework.

</comment></comment><comment><USER8> Nice work. A few things you might consider adding:

1\. color stops on gradients are very useful, especially if you use them to denote button states, for example

2\. drop shadows can be inset

<comment><AUTHOR> Yes, and yes. These are both now on my list. Thanks!

<comment><AUTHOR> I just updated the script with both of these features. Enjoy!

</comment></comment></comment><comment><USER9> This looks pretty awesome, I like the idea a lot, will give it a try. Thanks! And thanks Michael for turning me onto Less in the first place while we worked together last year.

</comment><comment><USER10> Think there might be a typo in your first example.

"#element{.boxRadius(radius);}" and the box below it references ".borderRadius(radius)"; is it both?

<comment><AUTHOR> Thank you! Fixed. (it was supposed to be borderRadius)

</comment></comment><comment><USER11> For all the cool kids on node.js: <https://github.com/visionmedia/nib>

</comment><comment><USER12> Very slick looking - thanks for sharing!</comment>


Ethereum Proof of Stake FAQs - <AUTHOR> https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs <comment><USER2> A question I had when I started learning about PoS that isn't addressed here is "how much interest can I earn per year". The answer is it depends on how many people stake, and the numbers aren't finalized yet, but estimates are that you should be able to earn 2-6%. We won't know for sure until it's live and being used.

<comment><USER3> This is a good resource to learn about the economics of Ethereum Proof of Stake (aka Serenity). [https://docs.ethhub.io/ethereum-roadmap/serenity- phases/eth-...](https://docs.ethhub.io/ethereum-roadmap/serenity- phases/eth-2.0-economics)

</comment></comment><comment><USER4> I still have trouble getting my head around proof of stake. I feel like it's akin walking into a bank to get a loan, and when they ask you for collateral, you give them the contract for the last loan they approved, and its just a room full of people doing this over and over.

Isn't having something like collateral or work that is external to the system a key part of keeping value in check?

<comment><USER5> The collateral is your stake, in this case ethers.

If you engage in provably Byzantine actions, your stake can be slashed, burned, or otherwise sacrificed or redistributed.

There are Byzantine actions that one can take that are unprovable at this time AFAIK (IE: exploiting the data availability problem).

</comment></comment><comment><USER6> What hard- and software do I need to be able to stake? In non-technical words preferably :).

<comment><USER7> Any computer or laptop can stake. Your computer will need to be online 24/7 to stake.

You will need to download an Ethereum 2.0 wallet when it releases and start staking through the UI. 6 or so of these are being built and you can check it Prysmatic Labs to see the progress on theirs.

<comment><USER8> Isn't the chain too large/heavy on I/O for an average laptop?

<comment><USER7> You will only make a few blocks a day depending on how much you stake. It's not too intensive from what I've seen. I think it will work fine even on a slow HDD.

One important thing to note is that the proof of stake Ethereum chain is a different chain than the proof of work Ethereum chain. You won't need the legacy PoW chain to stake.

With PoS you only need data from the last checkpoint to stake. This is only a subset of the entire chain. You also only need the data for the shards you are a validator for which further reduces the data required. The goal is to allow anyone to stake if they want to regardless of hardware in order to increase decentralization.

<comment><USER8> You still have to validate all the blocks made at the same time by others, don't you? And that's gonna be hard on IO.

<comment><USER7> You would only be validating blocks in your committee. Not the whole network.</comment></comment></comment></comment></comment></comment>


Stop using Nagios (so it can die peacefully) - <AUTHOR> http://www.slideshare.net/superdupersheep/stop-using-nagios-so-it-can-die-peacefully <comment><USER2> So... stop using a debugged and stable tool whose limitations and problems are well-known and understood and replace it with six bits of software duct-taped together, two of which aren't working yet (if they even exist), without any idea of how they interact when they hit edge cases.

I mean, "don't use X, use ShinyX instead" is one thing (and most of the time it's a bad thing but it does occasionally turn up good ideas), but this is just So Much Worse...

<comment><USER3> You're presenting the MySQL argument. "Why should we switch since we know it fails in exactly these 1,000 different ways and we can fix these problems? Using something better has unknown failure scenarios!"

Have you ever been woken up by a nagios page that automatically cleared after five minutes because the incoming queue was delayed past the alert interval?

Have you ever had your browser crash because you click on the wrong thing in the designed-in-1996-and-never-updated nagios interface and had your browser crash because it dumps 500MB of logs to your screen?

Have you ever had services wake you up with alert then clear then alert then clear again because some new intern configured a new monitor but didn't set up alerting correctly (because lol, they don't get paged, so who gives a flip if they copied and pasted the wrong template config, as is standard practice)?

Have you had to hire "nagios consultants" to figure out how to scale out your busted monitoring infrastructure because nagios was designed to run on a single core Pentium 90?

Being pro-nagios is like being pro-Russia, pro-North Korea, and pro-Rap Genius while arguing "but at least we know how bad they are and can keep them in line."

<comment><USER4> >Have you ever been woken up by a nagios page that automatically cleared after five minutes because the incoming queue was delayed past the alert interval?

No, because I know how to configure escalations properly.

>Have you ever had your browser crash because you click on the wrong thing in the designed-in-1996-and-never-updated nagios interface and had your browser crash because it dumps 500MB of logs to your screen?

Actually, no. I've had my browser crash due to AJAX crap all the time though. Nagios' (and Icinga classic's) interface is clear, simple and logical; it's just not 2MB of worthless javascript that wastes half my CPU time, so I can see why unpopular with some user types.

>Have you ever had services wake you up with alert then clear then alert then clear again because some new intern configured a new monitor but didn't set up alerting correctly (because lol, they don't get paged, so who gives a flip if they copied and pasted the wrong template config, as is standard practice)?

No, because I know how to use time periods, and escalations again.

>Have you had to hire "nagios consultants" to figure out how to scale out your busted monitoring infrastructure because nagios was designed to run on a single core Pentium 90?

No, because it isn't, because I know the basics of Linux performance tuning, and because I've heard of Icinga and/or distributed Nagios/Icinga systems for very large scale.

Your post reads like "Have you ever crashed your car head on into a concrete wall at 70mph because it didn't brake for me?". No amount of handholding a program can do will protect users who have no clue how to use it.

I do not by any means consider myself an expert in Nagios either - if there was such a market for consultants as you claim, I'd likely be doing it and therefore be rich, but in actual fact, it's a skill just about any mid-level or better admin has.

I've inherited a Nagios config before that was a mess, that I rebuilt from scratch in a maintainable way, as well as extended. If Nagios (or MySQL pre- Oracle, for that matter) has a problem, it's amateurs attempting it, making a mess, and others judging the quality of the tool on their sloppy work. Not unique to Nagios, by any means. If there's a criticism you can level at Nagios for that, it's the lack of documentation and examples in the config files.

I'm also not denying the existence of alternatives - OpenNMS is ok, as is Zabbix, but both are far more limited in terms of available plugins and extensibility, and by nature harder to extend. Munin is good for out of the box graphing, but relatively poor for actual monitoring/alerting and hard to write new plugins for with limited availability of additional plugins. Each one is a standalone tool that's good for a purpose, and not some vaguely defined set of programs, partly nonexistent, that everyone has to hack together for themselves.

<comment><USER5> not trolling - but how do you configure escalations properly in a circumstance where a queue might delay longer than any arbitrary period? In short - tell me your secrets

<comment><USER6> Well, why are you triggering on something that appears to have a completely random amount of delay? Either you choose your line in the sand, or you monitor the dependency that is causing the variability.

<comment><USER3> A typical nagios alert will fire if it hasn't been updated in X seconds. Sometimes the queue of incoming events gets backed up and nagios doesn't receive the results of service probes until X+5 seconds or 2X seconds later (due to internal nagios design problems, not the services actually being delayed).

So, nagios thinks "Service Moo hasn't contacted us in 60 seconds, ALERT!" when the update is actually in the event log, but nagios hasn't processed it yet.

<comment><USER4> I haven't seen this in ~1k services, but I guess it probably depends on the spec of the monitoring system to some degree, and I realise that 1k+ hosts is likely a different story. If you're using passive checks in any high-rate capacity, you should be using NSCA or increasing the frequency they are read in anyway. This is also another problem Icinga handles better - while I say Nagios for convenience's sake, my comments here refer to Icinga (and to Nagios XI, which is comparable but stupidly expensive).

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Stop using nagios, all you have to do is string together 6 random pieces of software, 2 of which don't exist yet!

<comment><USER8> 2 of them are not available in nagios at all (graphing and anomaly detection) and 1 already sucks completely (UI), so I'm not sure this is a good way to look at the presentation.

<comment><USER9> Most nagios users configure the pnp4nagios plugin for graphing

<comment><USER10> ...and some use Centreon, which bolts graphing and a better UI onto Nagios 'out of the box'

[http://www.centreon.com/](http://www.centreon.com/) ..or install via FAN: [http://www.fullyautomatednagios.org/wordpress/](http://www.fullyautomatednagios.org/wordpress/)

<comment><USER11> It isn't very clear to me which Nagios plug-ins are considered standard, and perhaps that sort of confusion is what creates all the FUD surrounding Nagios.

</comment></comment></comment></comment></comment><comment><USER12> The "main problem" with nagios is that it's configuration is godawful. The "main problem" with most nagios users is that they edit their configuration manually.

Automate that shit. We use Nagios to monitor our infra (5000+ checks, hundreds of hosts), and chef maintains the config. Works without a hitch - and best of all - it's been running for years, and not once has anyone had to poke it with a stick.

Yes, NetSaint is old, yes, the UI is worse to look at than Putin's crotch, yes, the plugin architecture is whimsical as all shit - but... _IT WORKS AND YOU CAN RELY ON IT_.

<comment><USER13> This is one of the weird things about puppet. The core of puppet has general types, and software-specific stuff is in modules... except for Nagios rules, which are core types. Struck me as odd that only Nagios gets this 'star' treatment in the core.

[http://docs.puppetlabs.com/references/latest/type.html](http://docs.puppetlabs.com/references/latest/type.html)

<comment><USER14> Puppet is almost entirely composed from weird things, so much so that I'm surprised you're surprised.

rspec-puppet in particular; so much pain.

</comment></comment></comment><comment><USER4> That in one line: "But I don't like it because it doesn't do things my preferred way!".

People use Nagios because it works, and it gets everything right, including config if you have any clue whatsoever how to set up a good object hierarchy. The only real problem with it is maintenance, an issue which Icinga resolved long ago.

<comment><USER15> We add/remove about 150 nodes every day to/from our monitoring system automatically via APIs. That use case has always sucked for me with Nagios. How would you do that?

<comment><USER16> Are you making the Nagios host pull (via NRPE) or are you asking the individual hosts to push (via NSCA)? I am trying to solve a similar problem. Given a dynamic population of hosts, each of which has a variable life span, I think that asking individual hosts to query their own state and then push that to a "monitoring receiver" is the most scalable, sustainable approach. At least, that's the theory I'll be testing this week.

<comment><USER15> We're not actually using Nagios. We use sensu because it was designed with this sort of dynamic environment in mind. (I'm trying to stay away from the "C" word. :)

</comment></comment></comment></comment><comment><USER17> I'll only address distributed monitoring. Use NSCA instead of NRPE. That bypasses the limitations of the Nagios active check scheduling. I have a wrapper that I use for that:

[http://rbcarleton.com/send_nsca_service_check.shtml](http://rbcarleton.com/send_nsca_service_check.shtml)

Use some kind of automation system like CFEngine for the distributed scheduling. Some assembly required ;)

</comment><comment><USER18> My main experience from working with nagios for somewhere around 10 years now is that when people complain about it, they are either too lazy to read, or too inept to understand, the documentation or the architecture. (1)

That being said, there _are_ limitations (but scaling is not one of them) to nagios, and the configuration is definitively not something you do in cute widdle config.yml.

Combined with the recent negative developments with the corporation behind the Nagios trademark and the enterprise version - which the author fails to mention, and should be even more alarming - one should at least consider using and contributing to bareos, the (hopefully) true OSS fork of nagios (I will for future deployments).

Oh hey, look at that, it would even pose the possibility to _improve_ the software. (I really don't see why an almost-complete rewrite of nagios should be necessary. Even after reading these slides(2)).

(1) That includes the author.

(2) Or rather especially after reading them.

<comment><USER19> > one should at least consider using and contributing to bareos, the > (hopefully) true OSS fork of nagios

Bareos [1] is more an fork of Bacula [2], Isn't it? Did you mean Icinga [3]?

[1] [http://www.bareos.org/en/](http://www.bareos.org/en/)

[2] [http://www.bacula.org/en/](http://www.bacula.org/en/)

[3] [https://www.icinga.org/](https://www.icinga.org/)

<comment><USER18> Oops, of course ! (Unfortunately, the edit allowed timespan on my comment has expired).

The irony here is that with bacula a similar thing happened.

</comment></comment></comment><comment><USER20> Great idea. You can always use ugly Nagios for monitoring your great monitoring system built on top of RabbitMQ, Ruby, Elasticsearch, Redis and few other famous components.

</comment><comment> ah- I have wanted to try out collectd ([https://collectd.org/](https://collectd.org/)) for some time now, does anyone have experience with it?

<comment><USER21> I just set it up last week to push data to Graphite. It took a little bit of time to understand how to configure it and the docs have conflicting information in some places. Also, you will need to build it yourself or get a PPA if you're on Ubuntu 12.04 and want to use it with Graphite since the version that Ubuntu ships with doesn't support graphite.

I haven't tried to write plugins for it but it comes with a lot out of the box and it's working well.

</comment></comment><comment><USER22> You should try Scalyr ([https://www.scalyr.com/](https://www.scalyr.com/)). It's easier than juggling between six different tools. It was built by ex- Google DevOps engineers for the same reason you made this Slideshare: the available tools suck.

(Full disclosure: I'm working with Scalyr, but you should still try it.)

<comment><USER23> I don't think something like this should be hosted/SAAS. I don't want to send my Gigabytes of logfiles (sometimes containing confidential informations ...) over the internet to some unknown entity with probably questionable security.

My small startup company already has more than 10 (virtual) servers which would cost us 500 dollars a month to monitor which is more than the servers itself cost.

<comment><USER24> [Scalyr founder here]

We take security very seriously, but let me turn this around into a question: what would it take for you to trust an external service to manage your logs? Some of the things we're doing:

1\. SSL everywhere (including internal traffic between our backend servers).

2\. We add a tag to the raw representation of every string value, so that we can verify that data never leaks across accounts. (This has never detected a problem -- except in tests, because yes, we do test it.)

3\. Implementing in a "safe" language (Java), to rule out low-level buffer management bugs.

4\. As Greg noted, we make it trivial for you to redact sensitive data before it leaves your server.

We are sometimes asked for an on-premises installable version of our service. We don't provide that because we're using economies of scale on the backend to completely change the log management experience: when you give us a query, every CPU and spindle in our entire cluster is briefly devoted to that query. This means that you aren't limited to graphing predefined metrics; you can do ad-hoc exploration of your entire log corpus in on the fly. E.g. display a histogram of response latencies for all requests for url XXX on server group YYY in the last 48 hours, and expect a near-instantaneous response.

<comment><USER25> >what would it take for you to trust an external service to manage your logs?

I think that's a really weird question that completely fails to address the concerns that some people might have. We do logging of sales, profit margins and stuff like that. You can't have access to that because: "You're not us". If you can read our data, then we're not going to use your service and to do anything useful the logs you really do need read access.

Of cause you might have no reason to spy on our data, but the only safety is that you promise not to. We could seperate logs for different things, so webserver logs go to you, but email logs goes to an internal system, but then we would need two systems.

<comment><USER7> Do you ever email about this data or put it into spreadsheets on Google's servers?

<comment><USER26> What's your point there, that because they are already exposed in some areas they shouldn't care being exposed in more ? Or are you looking for a "ah-ah" moment; "you're already compromising that data" ?

Because either way, that doesn't change at all the concerns he voiced regarding this particular service.

<comment><USER7> I suppose both? I think it's pretty reasonable to expect a business dealing with storing sensitive data to not look at that data, regardless of it is email or logs.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> Good response article:

[https://laur.ie/blog/2014/02/why-ill-be-letting-nagios- live-...](https://laur.ie/blog/2014/02/why-ill-be-letting-nagios-live-on-a- bit-longer-thank-you-very-much/)

</comment><comment><USER28> I have consulted on operational monitoring for many years, including with a customer that claims to have the largest deployment of Nagios anywhere (50K+ nodes). The author hits on many good points, right up until they suggest a solution. My advice to customers has long been that you _can_ make any tool successful, but the tools are not what really matter. Too often I've seen customers invest $MM in tooling, and fail to understand that people and process around that tooling is the real challenge. Too often both the entrenched enterprise vendors AND startups in this space miss this too. When it comes to tooling, the problem that too many startups miss is that they repeat the patterns that the entrenched players formed decades ago, and fail to understand that the kind of monitoring tools like Nagios and its clones offer is but one piece of a comprehensive solution for all but the smallest of operations.

<comment><USER6> Hah, you sure are a consultant: your last four sentences basically repeat themselves. ;)

</comment></comment><comment><USER29> I'm a big fan of monit (tried and true) + m/monit (web interface + more complex logging and anayltics)

[https://mmonit.com/](https://mmonit.com/)

</comment><comment><USER30> So use Shinken [http://www.shinken-monitoring.org/](http://www.shinken- monitoring.org/), the Nagios rewrite in Python.

<comment><USER31> Shinken was specifically mentioned in the slides as just a "Nagios", and not solving the problem.

Not sure whether that's true or not, but they did address it...

<comment><USER30> Shinken is built to scale.

</comment></comment></comment><comment><USER32> has anyone tried icinga or opennms, and can comment on that ?

[https://www.icinga.org/nagios/feature- comparison/](https://www.icinga.org/nagios/feature-comparison/)

<comment><USER33> opennms is a bit of a culture shock if you're used to nagios. It works kind of inversely, in that it wants to auto-discover the servers and services to monitor itself. Frankly, it feels very much designed around snmp imo (which I'm not saying is a problem, but it's different to how we use nagios).

It's also the opposite of nagios in that rather than lots of smaller moving parts, it is one big mega (java) process that does everything. Again, not necessarily a problem (though I happen to think so :), but different.

I also found opennms to be VERY complicated. I suppose nagios is though, first time around.

For some reason though, I really want to use opennms and keep going back to try it out, but eventually give up.

<comment><USER3> OpenNMS is great to run _in addition to_ a traditional monitoring system.

Your traditional monitoring systems have hand-selected features to monitor and alert for. OpenNMS will just go out and discover everything you have (and _graph_ everything without any intervention too).

You probably aren't monitoring all the statistics on every interface of your switches (what? people have switches?), but just throw OpenNMS at your networking management subnet and it'll pick up everything for later review.

You _can_ use OpenNMS for alerting and inventory tracking, but I prefer more extensible tools for those. Just use OpenNMS as a largely hands-off sanity check of your existing monitoring and graphing systems.

</comment></comment></comment><comment><USER34> Sensu is alright but it also has a few downsides:

I'm not a huge fan of having yet another debian package with it's own version of ruby packaged. It does make the plugins easier to write though.

Checks need to be installed on the client (like nagios). It means that some coordination is necessary when you want to add a new check on the server side. This is largely resolved when using a configuration management system but it doesn't seem clean to me. The sensu-community repo has a lots of checks which is great to get started, some of them need some ruby gem dependencies to work though.

I had issues with malformed json config or rabbitmq disconnections which would crash the server. Because the debian packages uses the old sysvinit it wasn't restarting. Moved the init scripts to upstart and added json validation when generating the config and now it's fine.

</comment><comment><USER35> Nagios is pretty much a joke compared to most enterprise production monitoring tools, e.g. Wiley and Foglight. I always find it funny to read what people consider "monitoring" they're talking about a few disparate metrics and then complain that the alerting/paging sucks.

If the tool can't trace a transaction end-to-end. I.e if a user visits your page or uses your application you need the ability to trace it from Http to EJB across any webservices and queues and ESB's right down to which queries were used in the database, if you can't do that you're using a shit monitoring suite.

Knowing infrastructure metrics is useless without knowing if it's actually affecting end-users and in which use-cases.

</comment><comment><USER36> I hear a lot of people crapping all over Nagios, but none of the alternatives are any better.

I recently had an opportunity to do a clean sheet build out for monitoring, so I evaluated Zabbix, Munin, and combos of statd/Graphite, etc. and none of them were better.

That said, I have a stock Nagios base config that I can install and have monitoring in five minutes. The key to Nagios configs is to define hostgroups in one file, and then create config files for each host, assigning it to a group. Then you put the service definitions in a service file. Easy peasy.

</comment><comment><USER17> One thing that is very strong is the need for a "host" with a Nagios service definition. This doesn't map so well on to environments like Amazon EC2 auto- scaling groups. You don't necessarily know the host names in advance. You wind up building Nagios plugins that can monitor a pool of hosts (using cloudwatch or whatever) and gives you some kind of aggregate status. It sounds like a kluge to push it into the plugin, but it does allow you to use the Nagios alerting, which is pretty well understood.

</comment><comment><USER37> Rejoinder - [https://news.ycombinator.com/item?id=7340514](https://news.ycombinator.com/item?id=7340514)

<comment><USER38> came here to rebut, read your response, went away satisfied with it.

</comment></comment><comment><USER39> Presentations like this always reminds me why "DevOps" is very different from system administration.

</comment><comment><USER40> I choose nagios cause there is currently nothing else on the market that is actually better.

I think nagios is a piece of shit, but it is a working piece of shit.

</comment><comment><USER41> Do we use nagios to monitor the other 6 utilities? Or what about when the alerting gateway goes down?

</comment><comment><USER42> while we're at it, let's let graphite die too. in a fire.

<comment><USER15> Why? And replace it with what?

<comment><USER43> [http://en.wikipedia.org/wiki/Space_Pen](http://en.wikipedia.org/wiki/Space_Pen) :)</comment></comment></comment>


Kanye album launch pushes Tidal to the top US app - tefo-mohapi http://thenextweb.com/facebook/2016/02/15/kanyes-album-launch-pushed-tidal-to-the-top-us-app-now-hes-begging-mark-zuckerberg-for-cash/ <comment><AUTHOR> Meanwhile, on reddit :

> Why is almost no one talking about how Tidal has taken THOUSANDS of people's > money for a download of Kanye West's new album, not given them the album, > and are not answering their help and support tickets?

> Tidal's Twitter feed has been flooded with complaints and requests for > refunds since yesterday morning due to an apparent glitch in the payment > section of their website which allowed people to pay for Kanye West's new > album yet never sent them a link to download the album.

[https://www.reddit.com/r/Music/comments/45wpeh/why_is_almost...](https://www.reddit.com/r/Music/comments/45wpeh/why_is_almost_no_one_talking_about_how_tidal_has/)</comment>


Can we wean Elon Musk off government support already? - <AUTHOR> http://thehill.com/blogs/pundits-blog/economy-budget/345338-can-we-wean-elon-musk-off-government-support-already <comment><USER2> Ugh, what a bad-faith argument. The whole reason government puts subsidies on things is to encourage those things. The article starts with the assumption that market distortion is always has a bad outcome, but it's going to have to back that up. It also assumes (at the end) that our representatives in Congress can't possibly really be representing us.

The rebates and tax cuts are working as intended. For example, by paying $7,500 for a certain class of electric vehicle, we tip the balance for people considering buying a somewhat less expensive internal combustion car. Just by tipping the scales, we shift a significant fraction of the demand from IC to electric, which makes a huge difference in the market, and therefore capital investment in manufacturing. Just doing this for a few years gets us decades ahead of where we would be in terms of electric vehicle technology.

Corruption is always possible but it's not a given. For an old rebuttal, Musk's "The House Always Wins" essay still applies. [https://www.tesla.com/blog/house-always- wins](https://www.tesla.com/blog/house-always-wins)

P.S. The tax credit already get phased out above 200,000 vehicles per manufacturer, so it's not going to apply to all 500,000 pre-orders (even assuming they all become sales). [https://energy.gov/eere/electricvehicles/electric- vehicles-t...](https://energy.gov/eere/electricvehicles/electric-vehicles-tax- credits-and-other-incentives)

<comment><USER3> Probably a better counter point would be for somebody to provide some examples where market distortion hasn't had a bad outcome.

<comment><USER4> How about some examples of "undistorted markets" resulting in unambiguously good outcomes first?

</comment></comment></comment><comment><USER5> This is a misleading partisan hit piece. The R party has decided they don't like Musk and this is part of their noise war.

Some of the dollars are indeed shameful, but standard business practice that we need to shut down _everywhere_. If SpaceX is getting 'subsidy' dollars I'm sure it's not 1/4 as much as Boeing/Lockheed and the rest of the defense contractor crowd get. If Tesla factories are getting tax breaks that's because there's a nationwide race to the bottom with every local jurisdiction falling over themselves to give away breaks in hope of luring just this sort of thing. We need to stop that race to the bottom _everywhere_.

And solar subsidies I'm for. F' CO2 emitters.

</comment><comment><USER6> Can we wean oil & farm companies off of government support first?

<comment><USER7> Hey! I really like my cheap produce.

<comment><USER8> Cheap meat is more likely to take a hit if we cut farm subsidies; feed crops are the biggest beneficiary (mostly corn).

The data on wikipedia[1] is from 2004, but I haven't heard of any major reforms since then. From greatest to least, subsidies went to: corn, cotton, wheat, rice, soybeans, dairy, peanuts, sugar, minor oilseeds, tobacco, wool and mohair, vegetable oil products, and honey. Anything else is in the remaining 2%.

[1] [https://en.wikipedia.org/wiki/Agricultural_subsidy#United_St...](https://en.wikipedia.org/wiki/Agricultural_subsidy#United_States)

EDIT: Note that sugar and onward are individually <2% (smaller than the "anything else" bucket)

<comment><USER9> Mohair?

</comment></comment></comment></comment><comment><USER10> > As wide-ranging as these various entrepreneurial ventures may be, they all > have one thing in common – not a single one of them would get funding in a > competitive private capital market if it weren't for massive (and I do mean > massive) taxpayer-funded government subsidies.

Correct, but that's a problem of the current incentive structure in the market (some would say it's a problem of capitalism... I wouldn't go that far). The government isn't tied to those incentives, and so can (and should) use its money to promote initiatives that have large expected payback in the long run.

</comment><comment><USER11> Don't forget that the US military is a huge subsidy to the oil and gas industry and conventional auto industry. I'm sure Tesla would gladly do away with subsidies if Exxon/GM gave up theirs. In any case, I'll bet GM/Toyota have received more electric car subsidies than Tesla. Ridiculous article.

</comment><comment><USER12> I mean, Plan A to achieve the same goals with regards to electric cars and solar without gov't subsidies was a cap-and-trade or carbon tax, but since the articles author's group helped shoot that possibility down, we're left with less market oriented, less elegant approaches, like direct gov't subsidies on companies that develop the necessary tech.

I'd certainly be happy to go with the more free market oriented approaches, but that doesn't seem likely to be possible in the US in the near future.

</comment><comment><USER13> Elon Musk has earned every tax payer dollar he has received. From what I can tell by reading the news, the man works himself and his companies insanely hard. Perhaps this argument could be made about any other organizations or institutions, but not Elon Musk and his companies

<comment><USER14> " _Elon Musk has earned every tax payer dollar he has received._ "

By definition you do not earn a handout. You merely conform to the requirements of receiving it, which he has. "Earn"? Definitely not the word to use for him. We're talking about money that he has taken from all taxpayers to fund the pursuit of his dreams. His dreams get funded because they are approved by the government. There are ~156 million adults employed full time. On average, this equates to ~$32 every single taxpayer has paid to Musk. If you are a higher earner, which I suspect is true of many here on HN, Musk has "earned" somewhere between $50 and $100 of your money.

</comment></comment><comment><USER15> Keep in mind the source:

"Jenny Beth Martin (@JennyBethM) is president and co-founder of Tea Party Patriots."

The Co-founder of the tea party patriots thinks any and all financial government support is bad? I'm shocked I tell you.

</comment><comment><USER16> This site has an actual popup advert.

</comment><comment><USER17> What a crappy article. Including SpaceX contracts as a subsidy? Seriously?

<comment><USER14> I am pretty sure they are _not_ including the contacts. They are only including the subsidies. As far as contracts go, SpaceX landed deals totaling more than 5.5 billion from the US Air Force and NASA alone.

</comment></comment><comment><USER18> The author is another Republican looking to dump on anything that helps the Environment.

Jump in a lake, Jenny Beth. I'm sure you're a-okay with subsidies to Petroleum companies on the taxpayer's dime.

</comment><comment><USER18> The author is another scumbag Republican looking to shit on anything that helps the environment. Fuck you, Jenny Beth. I'm sure you're fine with fossil fuel exploration subsidies on the taxpayer's dime.</comment>


A Bicycle That Rides On Water. Invented By a 60 Year Old Man from India - <AUTHOR> http://www.thebetterindia.com/9335/saidullah-inventor-amphibious-cycle/

<comment><USER2> Comments on this post are classic HN remarks. Why does everyone here seem to have such a hard time recognising and appreciating other people's accomplishments? Who cares if this is nothing new, he built it and whether or not "anyone could do this" _he actually did_.

</comment><comment><USER3> I don't want to be disrespectful, but what's so innovative about a bike that cycles on water? Cycle boats are nothing new and everyone could think of a bicycle that floats and uses the rear wheel as propulsion. I (and so do you) can even think at least of two or three ways to make this waterbike more efficient...

<comment><USER4> I was thinking that I have seen similar things before. I guess there just isn't much of a market for them to go mainstream. Still it is kind of cool.

</comment></comment><comment><USER5> This video has a condescending feel to it.

</comment><comment><USER6> I think the right link to post would have been [http://www.nif.org.in/?q=amphibious_cycle](http://www.nif.org.in/?q=amphibious_cycle). The video is a bit irritating (thanks to Discovery Channel).

While the idea is nothing new for regular folks, this man has built this in one of the most under-developed regions of India - Bihar and the fact that he has made several other similar solutions that are specific to the problems he faces, is laudable.

</comment><comment><USER7> What is so interesting about his age?

<comment><USER8> Does it really need spelling out?

</comment></comment><comment><USER9> What is with the editing in that video?

</comment><comment><USER10> what does the pedal boats do? aren't they a form of cycle mechanism?

<comment><USER11> The also works as a traditional "land bike."</comment></comment>


Moving to MemSQL - <AUTHOR> http://eng.tapjoy.com/blog-list/moving-to-memsql <comment><USER2> Not related to the content of the post, but I wonder why tapjoy.com is blacklisted by Disconnect (via uBlock Origin)

        ||tapjoy.com^
        Malvertising filter list by Disconnect

</comment><comment><USER3> Until Apple buys it...</comment>


The importance of side projects, talk by Pulse cofounders - <AUTHOR> http://ecorner.stanford.edu/authorMaterialInfo.html?mid=3132

<comment><AUTHOR> I liked this talk, aptly titled as "What you learn by doing". It reinforced the idea that side projects are very important and, that is what would allow to build a strong technical foundation. The story of Ankit and Akshay is certainly inspiring.</comment>


VirtKick – Take Cloud Back - <AUTHOR> https://www.indiegogo.com/projects/virtkick-take-cloud-back

<comment><USER2> It looks interesting, but since there is no functional prototype besides static files and novnc, I'm not sure if it's worth any financial risk.</comment>


Rust in the bread basket - <AUTHOR> http://www.economist.com/node/16481593?story_id=16481593

<comment><USER2> Diversify your investments, er, crops, I guess. Monoculture is risky, whether its Windows, or wheat. Predators and parasites will find a way to get at things eventually, no matter.

<comment><USER3> Indeed. However, keep in mind the green revolution always has had the PR of _high yield & low risk_.

People who point out that it is in fact high yield & high risk, tend to be accused of being anti-progress luddites.

<comment><USER4> It did _not_ increase the risk. At worst, if the article is entirely accurate, we will simply be returning to where we would otherwise be anyway.

<comment><USER3> Yes it did increase the risk.

Before the green revolution there were a lot of very different wheat varieties around the world. In fact, if my memory is correct, during the selective breeding for high yields one of the breakthroughs came from a thick and sturdy stalked dwarf wheat from Japan. The stalk genes it had produced a stalk strong enough to carry the new large yields.

The point being, we used to have a large variety of geno and phenotype around the world, and now we don't.

</comment></comment></comment></comment><comment><USER5> I guess it's time to buy some Monsanto stock.

</comment><comment><USER6> Is this a terrorism vector?

Could infection of the 5 largest wheat-producing countries be done maliciously? If the disease is fungal in nature, what's to stop Joe Terrorist from hopping over to mainland USA or AUS and injecting a few dozen crops, and letting it spread from there over the next 5 years? Can anybody speak to this?

<comment><USER7> Yes, but not an existential danger.

Sure, it could be done, perhaps pretty trivially (from the article it sounds like you'd have to do it when the climate is wet enough), but the US dependence on wheat is more ... say cultural than essential. We produce a lot of other grains, e.g. in my home area of SW Missouri in addition to wheat we produce a lot of dent corn and "milo" (grain sorghum), the latter two for animal fodder. Elsewhere there's a lot of rice grown (e.g. my mom grew up on a Louisiana long grain rice farm).

We've always had the option of "gearing down" and shifting some of the grain from animals to people. Nowadays with something like 1/3 of our corn crop going to ethanol fuel production we're in great shape, at least in terms of being able to provide everyone enough calories.

I hope you like cornbread ^_^.

Seriously, go to this page: [http://faostat.fao.org/site/567/DesktopDefault.aspx?PageID=5...](http://faostat.fao.org/site/567/DesktopDefault.aspx?PageID=567#ancor)

Select the US, Production Quantity, year(s) and the grains you're interested in and you'll see as of 2008 that we produced 4.5 times as much corn as we did wheat.

<comment><USER6> Thanks. Just the sort of info I was looking for. +1

</comment></comment></comment><comment><USER8> Obligatory classic SF reference: <http://en.wikipedia.org/wiki/The_Death_of_Grass> (quite a good novel, IIRC, although it's been a few decades).

</comment><comment><USER9> How is this hacker news?

<comment><USER10> Quite simply they'll have to 'hack' together a cure or a solution to this obviously potentially big problem.</comment></comment>


Geocoding Paradise Papers Addresses in Neo4j for Geographical Data Visualization - <AUTHOR> http://www.lyonwj.com/2017/11/28/geocoding-paradise-papers-neo4j-spatial-visualization/ <comment><USER2> The map itself [http://www.lyonwj.com/pp- viz/heatmap/](http://www.lyonwj.com/pp-viz/heatmap/)

</comment><comment><AUTHOR> If anyone is interested in working with the Paradise Papers / Offshore Leaks Neo4j database from this post it can be downloaded from the ICIJ website here:

[https://offshoreleaks.icij.org/pages/database](https://offshoreleaks.icij.org/pages/database)</comment>


How Facebookipodayclosingprice.com Scaled with MemCachier - <AUTHOR> http://www.memcachier.com/how-facebookipodayclosingprice-com-scaled-with-memcachier/

<comment><USER2> Not to be cynical but this post has virtually no content -- it's simply "We used memcache as a caching layer and not hit the DB. The End"

Didn't we know this a decade ago?

</comment><comment><USER3> While some people look at this as "so what?" I did find the post valuable. I've never used memcache before, and this was a good illustration of its use.

</comment><comment><USER4> How many hits were they really getting? It appears that only 2261 people made predictions.

<comment><AUTHOR> It was covered in TechCrunch, Bloomberg, and other big journals, too -- it definitely got a lot of views.

The difference between the small number of updates (2261) and the presumed large number of views is precisely why this was a great use case for memcache/MemCachier. High-read/low-update content is the perfect caching use case.

</comment></comment><comment><USER5> Website uses basic caching to survive traffic spike, news at 11.

</comment><comment><USER6> Had not seen the site before. Amusing how far off nearly everybody was on the pricing.</comment>


Show HN: I created a UX focused developer tool for Voice Apps - <AUTHOR> https://helloviolet.ai/ <comment><AUTHOR> I am the author - I did 10% of this for my job, but 90% of it has been a nights & weekends activity. I would love feedback. And feel free to ask me anything.</comment>


An Apple User Tries Ubuntu - <AUTHOR> http://itmanagement.earthweb.com/features/article.php/3742066

<comment><USER2> This wasn't a bad article to read, although it doesn't really get anywhere. A reasonably novice Mac user tries out Ubuntu, finds some pros and cons.. the end. Quite well written though but some of his insights don't quite make sense..

> I had heard that Linux users still use a command line. Instead of pointing > and clicking, they actually type in obscure commands – a series of numbers, > letters, and squiggly things. It's very Russian spy, black hat, deep nerd.

So do most technically minded OS X users. Admittedly he says he finds the command line quite useful on page 2, but Linux's command line offers no benefits over OS X's.

> My test laptop was using the GNOME desktop interface. On start up, it > offered me a choice of interfaces (KDE, GNOME, etc.) The oddness of this > struck me: isn't Ubuntu enough? It appears I still needed to select a > separate desktop interface. [...] The Linux desktop needs to eliminate that > extra choice if it wants to reach a mass audience.

That's what Ubuntu is attempting to do: enforce a standard. I don't recall Ubuntu asking me this question with a default install. You're never going to be able to eradicate the ability to choose though, because people on both sides of the KDE/GNOME fence are pretty diehard. I can see why, because I "quite like" GNOME and think KDE is a bloated, ugly, block piece of Windows- inspired junk (basically, I respect KDE as much as I respect Comic Sans) and I don't usually take sides on things like this..

<comment><USER3> I might quibble with the "Linux's command line offers no benefits" line. It's true that the _shell_ is identical. But OS X, out of the box, is lacking huge chunks of what you expect to find out-of-the-box on a typical Linux distribution. That's a problem for anyone who wants to be able to portable scripts, etc... Add that to the fact that the existing package managers for the command line tools are kinda lacking, and I'd honestly put OS X behind even cygwin as a good example of a OS command line environment.

The bit about Gnome vs. KDE is a sore point, alas. Canonical itself is clearly a Gnome shop, and that's what they ship on their core Ubuntu Desktop distribution. But KDE has a huge user base of near-fanatic volunteers, who insist (how dare they!) on maintaining the Kubuntu distribution in parallel. Both desktops work very well, and at this point neither is likely to disappear.

FWIW, I use Gnome and prefer the architecture and API.

<comment><USER4> The stock OS X box comes with enough of the standard command-line toolbox that if you are actually writing a "portable" script you are not going to have a problem running that script on OS X. The biggest differentiator is probably that OS X is a part of the *BSD lineage and so you will need to do more tweaking of a Linux script to get it bsd-ready than you will need to tweak a standard bsd script to move it from FreeBSD to OS X. While macports is closer to the freebsd port system, it is close enough to apt-get that you should really have no problems switching from one to the other.

<comment><USER3> It's been a few versions since I paid close attention, but as I remember OS X ships with only the bare POSIX tools, plus a few extras from the FreeBSD userspace. It lacks stuff like perl, python, curl, wget, ssh (maybe: not sure about that one), tcpdump, etc... That's all stuff the poor user is going to have to figure out how to get.

And as mentioned, the existing package systems for OSS software are really primitive. There's just no equivalent for, say, the Ubuntu synaptic tool for new users.

I'm not trying to make this into a flame war: clearly you _can_ achieve a pretty solid command line experience in OS X if you know what you're doing. But you're never going to learn it there without a bunch of headaches if you don't already have that expertise.

<comment><USER5> I'm running Leopard right now, and I have python, perl, curl, ssh, and tcpdump. I have no idea why wget is left out of the default install, but I just get it with macports, which is just a download and double click install away. Anyone who would be using these tools wouldn't have any problem setting it up. A few revisions of OS X ago things did seem relatively odd to the average Bash user. The shell was tcsh, and being based on BSD everything felt a bit off to someone switching from Linux, but these days it's pretty much all there. You should give it another look if you get a chance.

<comment><USER6> wget is left out simply for licensing reasons. curl is an MIT license, wget is GPL.

edit: I second guess this now that I think about it. bash is GPL...

</comment></comment></comment></comment></comment></comment><comment><USER7> I think this is a normal Ubuntu review that's been spiced up by painting the reviewer as an amateur user and Mac fan. I don't believe the last part though.

The amateur user thing just doesn't seem consistent throughout. And the way he talks about his limitations as a user ("I'm not a software engineer; if I can't grab it off the shelf, I can't use it.") just strikes me as reciting a persona.

Two other obvservations:

* His experience with OS X must have been a long time ago because there's no mention of Exposé, Spaces, or Spotlight – which are all comparable features to the Ubuntu ones that impressed him. And if he was truly an OS X user all these years he'd know about them because they were the main features touted on the upgrade boxes. (Unless he's never upgraded from OS X 10.1.)

* From my memory and quick research Ubuntu doesn't come with KDE – you have to install it. I'm guessing the journalist read about the Linux war between Gnome and KDE and decided the throw it into his story even though it didn't actually happen to him. (Though it's possible Virginia Tech gave him a customized Ubuntu install to play with.)

</comment><comment><USER6> > I know Ubuntu is free software, but I don't care about that. It's more > important that my system be good, not cheap. (And if it was really that > great, they'd charge for it, right?).

I wanted to stop reading right there, because the reviewer is ill informed by what it means to be "free," however I stuck it out and he gives a favorable review.

<comment><USER8> The first 10 paragraphs seem to be intentionally echoing the usual gripes and fears, in an ignorant-sounding tone. The author could have made it more clear, but I think he meant for it to sound flippant or somewhat mocking, then rebut most of it in the rest of the article.

It's a decent Mac-user-tries-Ubuntu anecdote, not so much a review. But he does bring up one good point: Apple spends hojillions on advertising, and Microsoft at least matches that. Word of mouth is great for converting power- users, but there's a reason the advertising industry churns through so much money -- it works.

<comment><USER9> While the point about advertising is interesting, I think it's a bit of a red herring: Apple and Microsoft are trying to make money by having people use their OS, so naturally they have to convert people, or convince them to not switch to the competition. Linux on the other hand doesn't _need_ to convert people.

Sure, the more users you get, the more potential developers there are, and the better the system will end up being. And of course there are commercial Linux distributions. But in general, Linux doesn't need advertising, because it doesn't need to "win." It just needs to stay alive for those of us who want to use it!

</comment></comment></comment><comment><USER10> He seems like a real novice Mac user.

Ubuntu is nice, but both Ubuntu and GNU/Linux aren't without flaws that don't exist in the Mac/Windows world (that a novice might not notice).

Examples:

Software. I can grab off the internet or the shelf any piece of "Windows" software and put it on my computer. Likewise, I can do the same with the Mac. I can't say that about GNU/Linux. Why? Because each distribution (and new version of a specific distro) has different dependencies taken care of by a regular install. Distros get around this by providing repositories (and Ubuntu's is excellent), but it's still different than being able to just grab stuff. GNU/Linux is much more in a state of flux which means that it can progress very quickly, but also that software requires more tweaking for each distro.

Proprietary stuff. This has come a long way since I started using Linux in the RedHat 9 days. Ubuntu 8.04 allows for easy installation of proprietary codecs, but things like DeCSS (for DVD playback) is still a pain and flash (becoming more important in the YouTube generation) is absolute crap. Not the fault of GNU/Linux, but it does still lessen my enjoyment of it.

UI stuff. I like GNOME's HIG for the most part, but GTK+ is starting to look old. Look at Adium and Pidgin. Pidgin is a fine piece of software, but it just looks cludgy by comparison. Likewise, there are just somethings that no one seems to want to fix (the minimize animation is crap). More abstractly, none of the desktop environments seem to be hitting what I'll call the Firefox level. Specifically, that nice balance between simplicity and complexity that Firefox seems to hit. GNOME goes for simplicity to a fault while KDE will throw every useless thing into the mix and tell you that you should just be comfortable looking through a cludgy list of a million settings.

GRANTED, there are many thing that are simply superior about GNU/Linux. Examples include software updates that don't require restarts, some of the best multi-tasking I've seen (where Windows and Mac might make other processes hang a bit in responsiveness), and of course being free. It's truly amazing, but there are some annoyances.

If I were to lay out some milestone's in GNU/Linux's future, I'd have to argue that these would be important: like LSB (Linux Standards Base) becoming the norm (which I think will happen when developers start seeing the number of new things they can add decline and they focus on environment stability); getting consumers off proprietary codecs and environments (like flash or DVD - yes, this is out there); and a change in one of the two desktop environment's philosophies to be more Firefox-like in terms of verbosity and the like.

</comment><comment><USER11> As a Mac user, this article made me cringe.

 _> And that Safari can't handle certain Web features, including plenty of videos._

That's not really true, unless he's talking about crappy IE-specific sites. Most videos will play with the appropriate codecs installed (Flip4Mac and Perian cover most)

 _> ...and some even still use the command line. (The command line? Oh, geez…)_

This says much more about your level of experience than your platform of choice (though I imagine the average Linux user uses the command line much more than the average Windows or OS X user). To his credit, it seems he sees the light later in the article.

 _> First off, immediately, before anything: the rotating desktop. Damn, that is totally cool. You click an icon in the screen's lower right, and the desktop rotates to a fresh view. Remarkably, you can have up to 16 different desktops._

OS X has that too! Up to 16 different desktops! (it's called "Spaces") Granted they copied it directly from Linux, but it's there, rotation and all (I think OS X may have actually had the rotation effect first, with Fast User Switching)

<comment><USER12> No, most people only saw the effect first on OSX. <http://desk3d.sourceforge.net/> I'm sure it predates that too.

Every so often, I come across some weird "new" effect I swear I saw implemented in Enlightenment, which always seemed to have some cool eye-candy, years ago, but the hardware just wasn't up to it at the time.

</comment></comment><comment><USER13> > It's not just cool, it's great for workflow. You can have files and > documents open on one desktop – maybe you've got four browser windows open, > researching something – and a single click takes you to a fresh desktop, > with documents and apps open as you like.

The article was written on May 2, 2008, well after the release of Leopard which ships with Spaces.

> The results come up in different colors, which helps you locate things. (I > think.)

The article is filled with little nibblets like this that scream novice user.

> And what the heck is 'KDE'?" The Linux desktop needs to eliminate that extra > choice if it wants to reach a mass audience.

Probably the most significant thing in this article: I wholeheartedly agree that for _everyone else_ , it should ship with one desktop interface--likely the more popular one. I imagine that would be Gnome. I agree with him that if someone like my grandmother tried to start up Ubuntu for the first time would see this and think she had done something wrong.

<comment><USER14> _Probably the most significant thing in this article: I wholeheartedly agree that for everyone else, it should ship with one desktop interface..._

I don't know if this has changed recently, but when I installed Ubuntu, it did not ask me to choose -- it defaulted to Gnome. If you later wanted KDE, you had to install it separately (or you could have installed the KDE-only Kubuntu in the first place). It makes me suspect that the friend that set up the Ubuntu box went through the additional trouble of installing both environments, so that the author was not playing with a vanilla install:

[http://www.watchingthenet.com/switch-between-gnome-and- kde-d...](http://www.watchingthenet.com/switch-between-gnome-and-kde-desktops- in-ubuntu-or-kubuntu.html)

<comment><USER13> Actually, it's been a while since I had been on Ubuntu--I can't remember for sure! I was going by what he said.

</comment></comment></comment><comment><USER15> i tried ubuntu over the weekend (this time for real, not on a VM). I was severely shocked to see that in order to have multiple monitor support, I would have to start editing config files. I'm a tad bit linux savvy (i know what cd is, in other words) but this was just too much hassle. I stuck with vista... :(

<comment><USER16> Knowing how to change directories isn't really evidence of "linux savvy", considering the command is the same in Linux, Unix, and Windows.

As for multiple-monitor support, your hardware vendor will often have a GUI configurator just like they provide for Windows. ATI's is called Catalyst Control.

</comment></comment><comment><USER17> Another Mac user here. I gave Ubuntu a spin the other week, running in Virtualbox on my main machine.

I thought it looked slick and was very usable.

Then I tried downloading and installing Firefox 3.

I grabbed it, unarchived it and then.... then what? Where's the bloody installer.

<comment><USER18> ubuntu hardy comes with FF3 installed, and typically you can install most software you need using Synaptic (from the GUI, apt-get from the command line). You might also be able to find a binary version on the site where you downloaded from (look for .deb files).

If that's not an option (which is possible with FF3 if you're using an older version of Ubuntu) then chances are you need to build the software you downloaded from source and this is where it gets more complicated (although not that complicated unless you happen to get errors).

In case anyone is new to Linux and curious here are the typical steps to building a package from source.

      > wget http://example.com/somefile.tar.gz (or you can download with the browser)
      > tar zxvf somefile.tar.gz (or you can extract the archive using your desktop manager)
      > cd somefile
      > ./configure (if you don't see a configure and there is a file called Makefile present you can skip this step)
      > make (this will compile the software)
      > sudo make install (if you didn't get any errors during make you can use this to install the software)

Depending on the specific software you are trying to install you might need to pass configuration options to ./configure, you should typically look for such things in the instructions for the particular software you are trying to install. Also note that on Ubuntu you should install build-essential first (sudo apt-get install build-essential).

<comment><USER17> Many thanks for the explanation. Much appreciated.

</comment></comment></comment><comment><USER19> "Granted, I was testing on the campus of Virginia Tech, which has a fire- breathingly fast Net connection. But I've often checked out Web page load time while standing in an Apple store – and you know that's optimized for speed – and it still wasn't as fast."

Here I stopped reading.

</comment><comment><USER20> >There's a reason that Apple has always been the choice of artists and musicians. The machine itself is artful. Yeah, it's expensive, and it crashes, but it's artful. And that counts for a whole lot.

What? Apples crash?! Unpossible--Apples are the greatest computers evar!

</comment><comment><USER21> He tries so hard to look like an Apple user that I hardly believe he really is one.

</comment><comment><USER22> I'm certain I've read this article before. Given all the anachronisms in the article, that really points to this being an old article. Google didn't turn up anything though :-/

</comment><comment><USER23> "Eeek! It's a Command Line! (Run, Hide…)"

If only he knew the power of the CL...

<comment><USER24> If he could be turned, he would be a powerful ally.

</comment></comment><comment><USER25> ubuntu-desktop stays true to its name ... an OS for average users only for desktoping

you know a unix OS is broken when you google "how do i compile / patch vim in ubuntu?"

or when you can't ssh to ubuntu-desktop machine

Ubuntu is an OS designed by committee ... it's secure by being weak

The only thing good about ubuntu is its supports for new hardwares; however, quality is questionable.

<comment><USER26> Well on OS X I googled for "how to rename a file" and "how to copy a file" (OS X file manager doesn't support cut+paste). On the other hand, I just installed vim on Ubuntu the other day with synaptic, no problems whatsoever.

<comment><USER25> "apt-get install" is not the same as compile from source

you are at the mercy of repositories

"make install" on the other hand, gives you more freedom

vim patching problem was kinda solved by using intrepid repo instead of hardy's ... but also gave birth to other problems

To me, a unix system that is unable to compile from source (only binaries) is on the same level as windows

even on mac, i can use port, it fetches the sources and dependencies, compiles everything, beautiful!

NB: yes i did apt-get dev-compilers & libraries & dependencies

 _shrug_ I guess Ubuntu is not there yet

</comment></comment></comment><comment><USER27> smith-n-wesson the 'original' point and click interface :o)

</comment><comment><USER28> Safari's video support and general works-well-ness was bad 3 years ago, but it's just fine now.

edit: he doesn't seem to know that macs have a command line

<comment><USER29> "edit: he doesn't seem to know that macs have a command line"

Yes, I found that bizarre. That, and the part where he writes that Ubuntu "does everything that Windows does".</comment></comment>


Large European routing leak sends traffic through China Telecom - <AUTHOR> https://blog.apnic.net/2019/06/07/large-european-routing-leak-sends-traffic-through-china-telecom/ <comment><USER2> Someone please write a real-time monitoring tool for this kinda of things at home.

It would really be fun to see what continents are currently seeking packets I sent to Google and how it changes over time</comment>


JavaScript is the best first programming language to learn - <AUTHOR> http://www.mrdrozdov.com/2015/04/20/javascript/

<comment><USER2> Learning javascript is important nowadays, given its popularity... but as a first language? No... it's not a good idea, whoever learns javascript as a first language will learn a lot of bad practices along the way...</comment>


Ask HN: Rest server project suggestions - <AUTHOR>

Hey everyone,
I'm looking for project ideas to practice building back-end services and was wondering if anyone had any ideas for relatively nontrivial projects?
Mostly looking to get my hands dirty building Java API's that serve JSON, or could power a ruby web app, etc.
Thanks for any suggestions! <comment><USER2> I have a few projects that require advanced back-end components. Most orchestrate requests across multiple providers - so there's actually a lot of work. I work at a non-profit, but we pay...I'm on skype as tom.p.griffin.</comment>


YesGraph's Numbers from TechCrunch, Product Hunt, and Hacker News - <AUTHOR> http://blog.yesgraph.com/yesgraph-tc-ph-hn-omg-bbq/ <comment><USER3> You're sugarcoating these numbers a bit calling them successful and describing signups as something that don't matter then exploring metrics that don't matter. It doesn't look like very effective marketing at all, maybe PH was ok but that's not very repeatable.

HN is a disaster, 0.5% conversion rate not 2.8%. At 3,100 visitors per per post you need 60 front page posts to get 1,000 registrations and probably several hundred to get 1,000 actual users!

TC looks really bad if you're pre-product, a mailing list is like a funnel on top of your registration funnel.

PH was a month ago so you can really pinpoint how effective that was - <USER2> registrations is some number of active users today.</comment>


Bitcoin Comes Under Senate Scrutiny - <AUTHOR> http://blogs.wsj.com/washwire/2013/11/05/bitcoin-comes-under-senate-scrutiny/ <comment><USER2> My favorite recent twist of events is that the US government now has the Bitcoin address with the largest balance: DPR's seized coins held by the FBI.

[https://blockchain.info/address/1FfmbHfnpaZjKFvyi1okTjJJusN4...](https://blockchain.info/address/1FfmbHfnpaZjKFvyi1okTjJJusN455paPH)

<comment><USER3> Largest _known_ balance right? Satoshi might have some unknown amount stashed away...

<comment><USER4> The location of all Bitcoins, and therefore the address with the most Bitcoins, is public knowledge. This is an inherent property of the system. If anybody tells you Bitcoin is anonymous, they haven't the first clue how Bitcoin works. Run away as quickly as possible, for they are dangerously clueless.

<comment><USER5> While blanket statements like that sound true on their face, I think it's safe to say that an unknown person may have a large number of coins spread over a lot of wallets. Especially people trying to hide their total balances, including people using tumblers.

<comment><USER6> His statement doesn't just "sound true on [it's] face"... It also happens to be completely true. He never made any assertion or even alluded to the idea that someone couldn't spread balances over multiple addresses...

You're statement is an unnecessary unveiling of a ridiculously obvious possibility which comes across as braggadocios and condescending.

<comment><USER5> It's a question of audiences.

To an expert on bitcoin, the description of "the address with the most Bitcoins" is self-explanatory and, yes, has one well-defined answer that it can be determined from the block-chain alone. If you're this person, I can understand why you think I'm being pedantic, and I'm sorry if I came off that way.

But someone who says "If anybody tells you Bitcoin is anonymous, they haven't the first clue how Bitcoin works" isn't talking to an expert on bitcoin. They're talking to someone that they fear may not know enough to avoid being easily swayed by the kind of inexact language that a non-expert doesn't even know that they're looking for. They're talking to the exact kind of audience that _doesn 't_ know that "person" and "address" are not interchangable

This person may then go on to claim, based on this evidence, that (1) no anonymity can ever be obtained by bitcoin (which isn't true in theory or in practise for the reasons I mention) and (2) that we know "who" (as in person, not address) has all of the bitcoins. But that's just not true, and it's a really, really important detail to someone that makes policy decisions, or that wants to decide if or how to use the technology.

It's the same problem with equating an IP address with a human. _You_ may use exact language when you talk about these things, and _you_ may understand that when someone offhandedly points at an IP address on a diagram and says "...but this guy over here..." that "guy" doesn't refer to an actual human being. But you aren't any of the grandparents to this conversation, nor are you the hypothetical uneducated observer (to whom I mean no ill will; we all are, given the right conversation). Most importantly, you're not ninetax, who is clearly referring to a person and not to an address, nor are you nknighthb, who is clearly referring to the notion of an address rather than a person.

</comment></comment></comment></comment></comment></comment><comment><USER7> Uh, oh. This will either be really good for Bitcoin or really bad. I am thinking the Government are going to try and clamp down on Bitcoin and do their best to get their share of the pie through taxes and whatnot. An unregulated currency has surely got a few Federal Reserve members and those with vested interests in currency on the edge of their seats and on the attack.

Government backing is the last hurdle for Bitcoin. If some rules are put into place that allow its use in the US alone, it'll set a precedent for other countries to follow-suit. It's apparent the Government don't care about how Bitcoin is being used, all they care about is getting their share of the money which at present is zero.

<comment><USER8> You bitcoin guys think you can push buttons on your computer and code around the system. So naive.

Sorry to be a pessimist, but they can just say anyone transferring bitcoin to another party without going through a KYC compliant intermediary is money laundering and then send the swat team out to whatever ip they can track down via NSA whatever. Game. Set. Match. Banks win as usual, all done. They'll take it down just like Pirate Bay, etc.

Can someone tell me how people think the cryptonerds can win here? I'll be over here munching on my popcorn thank you.

<comment><USER9> _They 'll take it down just like Pirate Bay, etc._

I think you have unintentionally predicted exactly what will happen.

<comment><USER10> Sure, you're not going to completely squash it but it will then be considered a "dirty" service and only be used for illegal activities. No U.S. business will ever touch it again.

<comment><USER11> The recent shutdown of Liberty Reserve, another digital currency favored by criminals, shows the extent to which the U.S authorities are willing to go in cases like this. Nowhere on earth is safe if you are running/facilitating a multi-billion dollar money laundering operation.

<comment><USER12> Unless your a large bank "too big to fail"... Or give any serious punishment to for money laundering.

</comment></comment></comment></comment></comment></comment><comment><USER13> Article states, "The hearings will be held by the Senate Committee on Homeland Security and Government Affairs and by a subpart of the Senate Banking Committee, the aides said."

And then it continues, "As with all emerging technologies, the federal government must make sure that potential threats and risks are dealt with swiftly; however, we must also ensure that rash or uninformed actions don't stifle a potentially valuable technology."

While I cannot say sooth how exactly this will end, but I have a feeling it will end in tears. And by tears, I mean primarily our tears.

I mockingly envision TSA agents shaking me down at an airport for undeclared bitcoins and then absconding with my hardware until they can determine that I'm not illegally transporting undeclared bitcoins across state borders.

I'd mock this notion, but at this point in time, I know better.

</comment><comment><USER14> And apparently Obama has also been asking about Bitcoin recently.

> The president, whose most important job is surely to protect the integrity > of the monetary system, smugly asked Schmidt if Bitcoin, one of many growing > challenges to currency hegemony, was anything he had to worry about.

[http://www.usatoday.com/story/money/columnist/wolff/2013/10/...](http://www.usatoday.com/story/money/columnist/wolff/2013/10/27/ceos- are-often-clueless-about-technology/3182203/)

<comment><USER15> Interestingly, Eric Schmidt had no idea what Bitcoin was until Julian Assange first explained it to him in June 2011.

[http://wikileaks.org/Transcript-Meeting-Assange- Schmidt?noca...](http://wikileaks.org/Transcript-Meeting-Assange- Schmidt?nocache#688)

</comment></comment><comment><USER16> This is more about the government trying get its share of the pie and control and monitor bitcoin. Inherent in the philosophy of bitcoin is a society where no central authority can control the means of exchange. I think the more control the governments puts around bitcoin the more people will be driven to alternative crypto-currencies...

<comment><USER17> Why would government want a piece of the bitcoin pie? They already have the _entire pie_ in terms of control of the money supply. If anything bitcoin is becoming an existential threat to one of the main pillars of government power. I predict terrible things for bitcoin going forward.

</comment></comment><comment><USER18> I welcome all the USA has to throw at btc. It will only make it stronger in the long run and further erode any credibility the us gov has.

<comment><USER19> Talk about underestimating.

If the USA wanted to, it could easily destroy bitcoin, they have more than enough computing power.

It might not be legal for them to do so, but that's their own self imposed limitation, not inability.

<comment><USER20> >they have more than enough computing power.

No, they don't. Not even close. What they _do_ have is enough money to print more ASICs than the Bitcoin community has.

</comment></comment></comment><comment><USER21> I love how there is no 'one' person in charge of bitcoin, who are they planning on summoning.

<comment><USER22> None or the developers are anonymous, so one imagines they will be summoned. At least some of them are US based. Even if they don't own or control anything, they'll still be blamed.

<comment><USER23> This is just a shakedown to get some dollars for the upcoming election season.

</comment></comment></comment><comment><USER24> "we must also ensure that rash or uninformed actions don't stifle a potentially valuable technology"

I love how they judge the utility of bitcoin based on monetary value.

<comment><USER25> "Value" alone doesn't necessarily imply "monetary value."

</comment></comment><comment><USER26> I'm excited to see the costly boondoggle that will come from this, because we all know how well the SEC is at regulating centrally controlled currencies.

<comment><USER27> Considering that the world economy did not completely implode in 2008, I think we could do far worse.

<comment><USER26> I wasn't really referring to the world economy. Whether it is from dealing legally in bitcoins or undergoing HFT transactions where exchanges can selectively declare self-help, or new financial tools/instruments, the people with the ability to leverage technology in ways where there will be little to no technical capabilities to enforce regulation (due to it's newness) will have more incentive to work outside of governments. By the time government has caught up to the problem, people would have innovated and pushing the bar higher.

But on the global economy, a lot of emerging economies have been hit hard, and the schizo of the market on taper/no-taper utterings tells me this book is still open.

</comment></comment></comment><comment><USER28> Stupid question expecting stupid answers: Is there a reason why Bitcoin can't just be treated and regulated like any other foreign currency?

<comment><USER16> I think the anonymity of Bitcoin makes it tougher to regulate when compared to other currencies which generally pass through regulated intermediaries.

<comment><USER10> Honest question. Isn't giving someone a $20 bill for something more anonymous than BitCoin?

<comment><USER25> Yes, but there are downsides to cash which Bitcoin solves.

For example, crossing country borders with more than $2k-$5k in cash is a felony many places. Bitcoin, however, is as blind to borders as TCP/IP.</comment></comment></comment></comment>


Alternative Memcache Usage: A Highly Scalable, Highly Available, In-Memory Shard Index - <AUTHOR> http://blog.maxindelicato.com/2009/01/alternative-memcache-usage-a-highly-scalable-highly-available-inmemory-shard-index.html

<comment><USER2> Summary: _assuming that your lookup patterns can be answered with a hash table, we can use scale-out hash table (memcached) in lieu of a database index._

I am pessimistic. For one thing author did no address how he plans to keep index fresh in the face of evictions or memcached nodes crashes. It gets really bad - if you did not find the data, is it absent or has it been evicted? Can you create a new user named "FOO" right now? You won't know until you scan the whole data set, which is a "size of data" operation.

There is a case to be made for a resilient RAM-only distributed databases, but using memcached is not it.

<comment><USER3> Yeah, using a cache to store data you need to always have is a terrible idea. I used to store session data in a volatile region like this (Cache::FastMmap, if you care), until one day I realized that sessions were being deleted long before they had expired. Oops, I was using a lossy store for data that must never be lost. Now I use BerkeleyDB for that, and make sure that expired sessions are manually cleaned up every so often.

<comment><USER2> To be fair, idexes are redundant structures so data will not be lost permanently in this case.

<comment><USER4> No, they will magically reappear the next time memcached is restarted. The way the article describes the idea the same thing will happen when there is a database error during user deletion: The user will be gone from the cache, but may reappear later. To make this scheme work, both the database and memcached must be made to support two phase commit, or the application must try to get the shard information from the database if it isn't in the cache.</comment></comment></comment></comment>