SQLite 3.32 - <AUTHOR> https://sqlite.org/releaselog/3_32_0.html <comment><USER2> As a non-dev intruder I have to say that I love SQLite. I do a lot of data- analysis and it makes everything easy, from fast SQL Wizardry to sharing the DB just coping a file! Just how amazing is that?!

It must sound naive to some of you, but the first time stumbled upn sqlite I was so excited!

<comment><USER3> I work in data analysis too and SQLite is to me what MS Excel is to other people in the industry. I have development background so I never picked up in MS Excel to same degree as my colleagues from statistics backgrounds. In corporate organisations where DBAs monitor the use of their database with an eagle eye SQLite is a fantastic option to analyse several millions of lines of data on your desktop. I find DB Browser for SQLite (DB4S)[0] is invaluable when using SQLite.

[0][https://sqlitebrowser.org/](https://sqlitebrowser.org/)

<comment><USER4> I have a lot of Excel-like use cases for which SQLite would be a great fit if only it had a decimal type.

<comment><USER5> As in like Java Bigdecimal, with a BigInteger on the left side, and a fixed precision on the right?

<comment><USER4> As in other database systems such as Postgres. Even a C# style decimal floating point type would be sufficient.

</comment></comment></comment></comment></comment><comment><USER6> For our B2B application, we've been using SQLite as the exclusive means for reading and writing important bytes to/from disk for over 3 years now.

We still have not encountered a scenario that has caused us to consider switching to a different solution. Every discussion that has come up regarding high availability or horizontal scaling ended at "build a business-level abstraction for coordination between nodes, with each node owning an independent SQLite datastore". We have yet to go down this path, but we have a really good picture of how it will work for our application now.

For the single-node-only case, there is literally zero reason to use anything but SQLite if you have full autonomy over your data and do not have near term plans to move to a massive netflix-scale architecture. Performance is absolutely not an argument, as properly implemented SQLite will make localhost calls to Postgres, SQL Server, Oracle, et. al. look like a joke. You cannot get much faster than an in-process database engine without losing certain durability guarantees (and you can even turn these off with SQLite if you dare to go faster).

<comment><USER7> I love sqlite, but just a wonder on how big you are going?

I regularly see 50TB total of databases on SQL Server, and scaling up to thousands of clients.

<comment><USER6> With current volume, our largest transactional datastore is ~50GB.

That said, if we had a situation where we were pushing such volume that the transactional store was 50 TB, and we were still within the scope on the overall project, I see no reason why this would be a problem for us. As I mentioned prior, the context of our applications is single process, single server. Obviously, this is not suitable for all edge cases and you will potentially be better off with a hosted solution in such cases.

At the end of the day, there is no arbitrary number of bytes where B-Tree indicies just stop working because you didn't shell out for a SQL Server license.

<comment><USER7> Sure, but things like horizontally partitioning your data across multiple hard drives via splitting files, supporting partition elimination in your queries, etc are all things that I am pretty sure sqlite doesnt even want to bring to to the table.

<comment><USER6> And I would hope that they do not bother to. The current offering is arguably perfect as-is.

I would prefer to implement things like horizontal partitioning myself using business keys and logic that make sense for my problem. I do not want a database to manage this sort of thing for me, because I want perfect visibility into exception cases so business logic can be developed around them.

I.e. if one of the drives fails, but I was only storing a lower-priority business entity on that particular partition (e.g. user preferences), I could decide to just continue processing without it (e.g. reset to defaults). With a hosted database solution where you do not have this degree of granularity, a catastrophic loss of part of the storage array would mean the entire database is down. Even if the important data isn't directly impacted.

</comment></comment></comment></comment></comment><comment><USER8> While reading the documentation for iff(), I noticed the command line function edit(), which is pretty cool.

      UPDATE docs SET body=edit(body) WHERE name='report-15';
      UPDATE pics SET img=edit(img,'gimp') WHERE id='pic-1542';

<comment><USER9> [https://sqlite.org/cli.html#the_edit_sql_function](https://sqlite.org/cli.html#the_edit_sql_function)

</comment></comment><comment><USER10> While I love SQLite as much as the next person (and the performance and reliability is really quite remarkable), I can't understand all the effusive praise when you can't do basic things like dropping columns. How do people get around this? Do you just leave columns in forever? Or go through the dance of recreating tables every time you need to drop a column?

<comment><USER11> Don't many MySQL backends also recreate the whole table when you drop a column? They just hide it from you better.

<comment><USER12> Pretty sure they must, row based storage on disk would practically require it just to not completely waste all of the space you've just gained from deleting the column by leaving a gap on every single row.

<comment><USER13> Adding a nullable column is constant time (ie: basically instant) in postgres and innodb, maybe also in other systems.

<comment><USER14> If _adding_ a nullable column is free, it probably means that the DBMS is able to distinguish multiple layouts for the same table: existing rows in which the new column doesn't actually exist and is treated as NULL, and newly written rows in which there is space for the new column.

But dropping a column is different: even if the DBMS performs a similar smart trick (ignoring the value of the dropped column that is contained in old rows) space is still wasted, and it can only be reclaimed by rewriting old files.

<comment><USER13> Dropping a column in postgres is also instant, so yes, it uses the same trick.

Deleting a row is similar too - the row is not removed from the heap page and the database does not get smaller (though if that page gets rewritten the row is not kept). Last time I used innodb it didn't actually return free heap pages to the filesystem at all so no matter how much you deleted the database file never got smaller.

EDIT: Looks like that's still the case now: [https://bugs.mysql.com/bug.php?id=1341](https://bugs.mysql.com/bug.php?id=1341)

</comment></comment></comment></comment></comment></comment><comment> why-el One of the great things one can learn from SQLite is the degree to which they unit (and integration) test their source code. It's honestly the best unit test document I have read in my career to date: [https://www.sqlite.org/testing.html](https://www.sqlite.org/testing.html).

<comment><USER15> IIRC, some company wanted to use SQLite on an airplane, so they paid the devs enough to bring the test suite up FAA standards. IIRC, they have code coverage of _every machine instruction_.

<comment> why-el Yep, I think (with 90% certainty) that Richard Hipp, the creator of SQLite, mentioned this in a Youtube Talk, but sadly I can't recall which one. :(

<comment><USER16> This seems to be it:

[https://youtu.be/Jib2AmRb_rk?t=675](https://youtu.be/Jib2AmRb_rk?t=675)

<comment> why-el Yep, that's the one. Thanks.

</comment></comment></comment></comment></comment><comment><USER17> SQLite is great but its decision in not having a standard datetime/timestamp datatype -- a standard in all other relational databases -- has always struck me as a surprising omission, but in retrospect I kind of understand why. Datetimes are undeniably difficult.

So sqlite leaves the datetime storage decision to the user: either TEXT, REAL or INTEGER [1]. This means certain datetime optimizations are not available, depending on what the user chooses. If one needs to ETL data with datetimes, a priori knowledge of the datetime type a file is encoded in is needed.

In that sense, sqlite really is a "file-format with a query language" rather than a "small database".

[1] [https://stackoverflow.com/questions/17227110/how-do- datetime...](https://stackoverflow.com/questions/17227110/how-do-datetime- values-work-in-sqlite)

<comment><USER9> "SQLite does not compete with client/server databases. SQLite competes with fopen()." \--- [https://www.sqlite.org/whentouse.html](https://www.sqlite.org/whentouse.html)

</comment></comment><comment><USER18> >Increase the default upper bound on the number of parameters from 999 to 32766.

I don't want to know the use case for this.

Keep rocking on, SQLite. It's the first tool I reach for when prototyping anything that needs a DB.

<comment><USER19> Simple. Bulk insert with a 999-parameter limit is just painful; if each entry has 9 columns, you can't even insert 112 rows at once. In practice distros already compile with higher default; e.g. Debian compiles with -DSQLITE_MAX_VARIABLE_NUMBER=250000, still way higher than this new default.

<comment><USER20> What's the point? Inserting batches of 1000 rows at once, or even 10k rows at once is hardly any faster overall than using batches of 100 rows, assuming there are no delays in presenting the batches to the DB.

<comment><USER21> It's just easier: I won't have to split queries with 1,500 parameters in two because of some limit.

</comment></comment></comment></comment><comment><USER22> Thanks so much for SQLite. Amazing and stable database. Yazz Pilot ([https://github.com/zubairq/pilot](https://github.com/zubairq/pilot)) is built on it

</comment><comment><USER19> Good to see a ternary function iif() added. Case expressions are usually pretty painful and/or unreadable when using query builders.

</comment><comment><USER23> Is it reasonable to assume that in most current deployments of PostgreSQL or MySQL, SQLite would be at least an equally good choice?

I was recently choosing a database for a medium-size website and SQLite seemed like an obvious choice. One thing I was worried about was that the database locks for each write - but this is apparently not true anymore with write- ahead log.

<comment><USER24> Depends on the environment. SQLite will scale out reasonably well _so long as_ it's only needed on one machine. As soon as you need a network-accessible database, traditional database servers start looking like a better option.

</comment></comment><comment><USER25> I've been using SQLite on GCP for a few small projects and it seems to work well.

I use docker volumes to write to disk. I pass the disk directory to my process via a CLI arg.

When running on a VM these disk writes are replicated between zones (this is default for regional GCP disks). So you get zero config high availability (if you can tolerate down time during a reboot).

<comment><USER26> You might find DQLite of interest.

[https://dqlite.io/](https://dqlite.io/)

<comment><USER25> Thanks I have seen this, but would prefer to use the data center provided replication at the disk level as I do not need to have real time failover (I just need to make sure I can recover data in case of a single zone failure). Also incremental disk snapshots are nice to have.

</comment></comment></comment><comment><USER27> Are there resources for good practices on database formatting? I feel that what I make 'works', but I'd be curious on what experienced databases look like.

For example I have an app that you upload files through. Files can be local to the server or on s3 and have metadata. I end up making a new table for the API points. Like a table for listing files/directories. A table for local files and a table for s3 files. Then a table for the metadata, and a table for the kind of file it is, etc. It works, but it feels like a heavy hammer.

<comment><USER28> You might want to check out Codd books. He invented relational model after all and his books cover database design.

</comment></comment><comment><USER29> A few nice little conveniences like IFF(). I like reading SQLite released because they seem good at avoiding adding cruft. (The refusal to implement JSONB comes to mind.) Now if only I could get my shared web host to upgrade to a recent version...

<comment><USER30> If you have ssh access to your web host, you may be able to upgrade it yourself. I needed something more recent for django 2.2 and had to download the latest sqlite, compile it, put the lib in some folder and add the lib to .bashrc so that python3 could use it (ld_include_flags or something like that).

Look for it on google, it's possible to do it..

<comment><USER31> My Google skills are failing me here, can you provide any more details? I'm very interested in knowing tricks to upgrade the SQLite version used by Python.

<comment><USER32> You set the LD_LIBRARY_PATH environment variable ([https://unix.stackexchange.com/a/24833](https://unix.stackexchange.com/a/24833)).

Specifically, you'll need to recompile libsqlite3, put it somewhere, and then set LD_LIBRARY_PATH before invoking Python. You can do that globally in your shell by modifying your .bashrc or similar file.

Or if you're super brave, you just replace the libsqlite3.so that Python is pointing to (really depends on your use case).

</comment></comment></comment></comment><comment><USER33> Recommendations for learning SQL with SQLite? I've recently started doing the Khan Academy videos, and am liking them, but I'd like more practice problems and explanatory text.

<comment><USER16> Some of these _may_ be useful:

[https://github.com/sqlitebrowser/sqlitebrowser/wiki/Tutorial...](https://github.com/sqlitebrowser/sqlitebrowser/wiki/Tutorials)

[https://github.com/sqlitebrowser/sqlitebrowser/wiki/Video- tu...](https://github.com/sqlitebrowser/sqlitebrowser/wiki/Video-tutorials)

One of our developers (Manuel) started putting together lists of tutorials and video's for SQLite + DB Browser for SQLite a while back.

There are probably more we've missed, and contributions to those pages (etc) are welcome. :)

</comment></comment><comment><USER23> One possible disadvantage of SQLite is that it only allows one writer at a time (but writes don't block readers with write-ahead log enabled). I'm really curious about whether Postgres performs better at concurrent writing, couldn't find any benchmarks. In theory, disk writes are always sequential, so I'm skeptical Postgres would do substantially better.

<comment><USER16> > I'm really curious about whether Postgres performs better at concurrent > writing ...

Very much so. PostgreSQL easily handles _lots_ of concurrent writing. It's a use case where PostgreSQL is much better than SQLite. :)

<comment><USER23> I don't believe this without a benchmark.

<comment><USER16> Generally that's a good approach. :)

In this case though, it seems a bit weird.

SQLite is widely known to be for single writer workloads, whereas PostgreSQL is similarly widely known for being extremely good in concurrent usage scenarios.

Those are the things they're each designed for. eg:

[https://www.sqlite.org/whentouse.html](https://www.sqlite.org/whentouse.html) (the "High-volume Websites", "High Concurrency", and "Many concurrent writers?" pieces)

Feel free to run benchmarks to demonstrate this to your own satisfaction though. :)

<comment><USER23> Well I explained my rationale above - writes are sequential on the disk level regardless the database. So PostgreSQL shouldn't have much of an advantage in concurrent simple writes (it could even be slower than SQLite). PostgreSQL should be faster in concurrent complex transactions but the question is how complex and how much faster.

<comment><USER16> Good point. That's a reasonable place to start investigating from.

Personally, I can't be bothered (to much higher priority stuff to do). But if someone else gets around to testing this specifically, I'd be interested in the answers as well just to "make sure" the common understanding isn't wrong. :)

</comment></comment></comment></comment></comment></comment><comment><USER34> I have running in production a SQLite powered service for the free Geonames gazetteer. It's a read only service so it fits perfectly and providing really good performance. I also use it to work with data coming in CSV format. What a great piece of software!

</comment><comment><USER35> Where can you use sqlite?

Embedded: Yes

Raspberry Pi: Yes

Mobile Apps : Yes

Desktop Apps: Yes

Microservices: Yes

Big Monolith : Yes

Browsers. : No

<comment><USER36> check this out for browsers [https://github.com/sql- js/sql.js](https://github.com/sql-js/sql.js)

</comment></comment><comment><USER37> Why is it "iif" instead of "if"? I don't recall "if" being a keyword in SQL

</comment><comment><USER38> is SQLite used for big data storage ? What are high end use cases than small data points which I mostly use it for. excuse me if its a dumb question

<comment><USER39> Maybe this will help? [https://www.sqlite.org/whentouse.html](https://www.sqlite.org/whentouse.html)

</comment></comment><comment><USER40> my favorite db format</comment>


Twilio Slashes Prices As It Looks To Further Boost Growth - <AUTHOR> http://techcrunch.com/2010/09/14/twilio-slashes-prices-as-it-looks-to-further-boost-growth/ <comment><USER2> I wasn't worried about paying them too much for Appointment Reminder, but I certainly won't refuse getting a few hundred bucks knocked off my expense projections.

Now if I can only get to paying them $10k a month to get the bulk rate... _crosses fingers_

<comment><USER3> why not just colocate your own asterisk box?

<comment><USER2> For the same reason I don't write an optimized BingoMongrel in C to lower my memory footprint and save $25 a month on my hosting bill: a) that introduces technical risk into a project which doesn't need it at all and b) the cost savings are swamped by the investment in engineering time.

Plus, four weeks spent teaching myself Asterix is four weeks I can't spend doing things like coding the part of the app _people actually pay for_ or doing consulting, which could buy me a X * 10^7 minutes of call time or Y months of salary in the bank for employee #1.

<comment><USER4> You left out (c) Facilitating Mark Dowd's awesome Bingo code injection exploits.

<comment><USER2> Wasn't memory allocation errors, stack overflows, and code injection implied sufficiently by the words "in C"?

</comment></comment></comment></comment></comment><comment><USER5> This is nice to hear. I am currently putting something together using Twilio to make it super simple to get local or tool free numbers to use as tracking numbers for print, web and SEM. The numbers forward on to whatever normal business number you would use, but the call information is all tracked and logged. It can also ping Google Analytics for you or ping your own custom page on your server. This way you can know exactly how many calls resulted from a print campaign, or from your website, etc.

<comment><USER6> I was interested in implementing something similar for a web directory that would enable tracking offline phone conversions via Twilio. I was going to use click-to-call, however, click-to-call requires paying for both the inbound and outbound portion of the call. Is there a way to have one inbound number forward to a different number dynamically (depending on a phone number variable)?

<comment><USER7> Yes. Every request we make to you includes the 'From' number, which you can check for in your code, and return a <Dial> with the number you want to forward them to specified. <http://www.twilio.com/docs/api/2010-04-01/twiml/dial>

<comment><USER6> Sounds interesting. Are any outbound minutes used after the call is forwarded? I am willing to budget for the inbound connection and tracking, but paying for the entire outbound conversation would be a bit too variable.

<comment><AUTHOR> Twilio is not currently able to hand off a call to another carrier, so you have to pay for the outbound minutes when you call out with <Dial> or the REST API to connect another party

</comment></comment></comment></comment></comment><comment><USER8> I've previously setup Elastix (Asterisk/FreePBX distro) on a VPS for another business - price was right on the DIDs and minutes, but making it work nicely on VPS, learning Asterisk+FreePBX quirks, and keeping everything up to date quickly became a time-waster.

Twilio/OpenVBX looks like it might be a comparative breeze to setup and use - and let us focus on our core competencies rather than burn time becoming Asterisk/VOIP gurus - but the fact that they aren't built on open standards like SIP makes me a bit nervous. Anyone have any experience with OpenVBX, thoughts, alternatives I'm missing?

Edit: Twilio has somewhat confusing statements inre: Canadian toll-free numbers at <http://www.twilio.com/faq/international>. Anyone know if they provide US toll-free numbers that accept calls originating from both the US and Canada?

<comment><USER9> Hi, I work at Twilio and wrote that FAQ. Clarification; Canadian customers can definitely get toll-free numbers that US and Canadian users can call. However, Canadian callers often will get misreported in caller ID, which is a deal- breaker for many use-cases. But these numbers are available and functioning for Canadian customers.

<comment><USER7> Also, our US toll-free numbers accept calls from US and Canada.

<comment><USER8> Thanks to both of you. Munged caller ID is definitely not a deal-breaker for me.

</comment></comment></comment></comment><comment> daniel-cussen I can really see Twilio becoming a blockbuster startup.

<comment><USER2> I think we'll see several multi-million dollar companies built on Twilio. It makes every phone into a smartphone (i.e. a first-class citizen of the Internet which speaks HTTP). That is just gobsmackingly awesome if you have a good way to exploit it.

</comment></comment><comment><USER7> We (I work at Twilio) also announced a new developer contest today. The winner will be flown to NYC to meet with Fred Wilson, Albert Wenger and Brad Burnham from USV: <http://contests.twilio.com/>

<comment><USER10> I emailed you guys about a terms of use question but never heard back. I'd love to know if your "no unsolicited calls" line would apply to non-profits and political organizations. Call through voter lists where it is legal under current law. I got an app ready, but am hesitant to market it if it is going against Twilio terms of service.

<comment><USER7> Can you email me directly email@example.com and I'll find your request and follow up with it ASAP?

<comment><USER10> Sent.. thanks..

</comment></comment></comment></comment><comment><USER11> Can someone explain what "inbound call" and "outbound call" mean in this context? Do they mean the "up" and "down" duplex components of a single call, i.e. it's now cheaper if you only listen when people call in and don't say anything back?

<comment><USER12> An inbound call is when someone calls your application. An outbound call is when your application calls someone.

<comment><USER11> Thanks; that's what I originally thought, but something about the wording of this article confused me. Outbound calls that result from inbound calls? I guess this just reflects the way a lot of applications tend to use Twilio's service.

<comment><USER12> Yeah, that's really one of the refreshing things about what Twilio has to offer - they've gone through pains to simplify all parts of the process. The pricing is straightforward, the API is easy to use, and they have gotten really good at community response. It really sets them apart from most of the other Asterix service providers around.

<comment><AUTHOR> Wow, thanks -- awesome quote, you can write our press release anytime ;)

</comment></comment></comment></comment></comment><comment><USER13> Cool, though I probably would have paid double :)

<comment><AUTHOR> aww thanks Daryn :) Instead, how about using 2x as much?

<comment><USER14> He's going to have to use it four times as much since it's now half the price :).

<comment><AUTHOR> haha or maybe even more, some use cases are 66% cheaper. darn precision, i was just trying to make it sound cheeky

</comment></comment></comment></comment><comment><USER15> For any Twilio staff reading.... any plans to get UK SMS working at a reasonable price point? I signed up a good while back but it wasn't working at the time.

<comment><USER9> We hear ya loud and clear! SMS outside the US is tough to get complete coverage of, since carriers vary so widely, but it's definitely one of our top requests.

</comment></comment><comment><USER16> If they want more users, why not expand internationally, instead of (just) slashing prices?

<comment><USER17> You can make outbound calls internationally but it's very expensive to call a mobile outside of US/Canada.

How many of their customers could afford to run their service when it costs so much to make a mobile phone call internationally (i.e. $0.32 - $0.493 for the UK)? Compare that to $0.02 for US/Canada.

</comment></comment><comment><USER17> While really nice, this is more fine-grained pricing and not so much "slashing prices". Anyone that takes incoming calls and then makes a subsequent outgoing segment or anyone that sends/receives SMSs will pay the same as before.

<comment><USER7> That's true. But a significant portion of our customers will see savings of 33-67% for their use cases. Single-leg is more popular than I think people realize.

<comment><USER17> Yeah, I should have mentioned that for many use cases, this would effectively be a price decrease. I was just expecting a drop for SMS when I first read the headline.

</comment></comment></comment><comment><USER18> Nuts, doesn't look like that'll benefit me, I just use SMS sending.

<comment><USER19> Same here, I was hoping to see a cut in SMS pricing or at least the opportunity for volume pricing.

<comment><USER20> If you're just sending SMS, why not use one of the abundant tier 1 providers (<http://www.usshortcodes.com/csc_aggregators.html>) and pay bulk rates? I think we get something around 1c per outgoing, and 1/3c per incoming.

</comment></comment></comment><comment><USER21> Awesome. Does Twilio support MMS? If not, when will it?

<comment><AUTHOR> Nope, we don't support MMS but it is a popular feature request. No timeline on if/when it will be offered though

<comment><USER22> Danielle,

Any plans for Twilio start accepting non-US costumers?

Thanks!

</comment></comment></comment><comment><USER23> Anyone up for sharing their Twilio projects? I've always been interested in the platform, but I've seen relatively few applications built on it.

<comment><USER24> I built <http://phonetapapp.com> during DjangoDash a few weeks ago using the Twilio API. The whole thing is available on GitHub as well. <http://github.com/bnmrrs/PhoneTap>

<comment><AUTHOR> awesome, I'd love to feature this on our blog. Please email me at firstname.lastname@example.com if you're interested, and we can brainstorm the story

<comment><USER7> Done! [http://blog.twilio.com/2010/08/ben-morris-wins- twiliomongodb...](http://blog.twilio.com/2010/08/ben-morris-wins- twiliomongodb-contest-with-phonetap.html)

</comment></comment></comment></comment><comment><USER25> Still pretty expensive for out-of-US destinations.

</comment><comment><USER26> Just checked, it's still 32c per minute to call the UK.

When will there be a UK operation?

<comment><USER7> That's only for some mobile numbers. Landlines in the UK are currently $.03/minute. We're working on adding more international capabilities soon. Stay tuned.

<comment><USER26> Aside from businesses, I don't know anyone with a landline :)</comment></comment></comment>


The Highest Paying Jobs in America Based on LinkedIn Salary Data - <AUTHOR> https://blog.linkedin.com/2017/highest-paying-jobs-in-america-based-on-linkedin-salary-data <comment><USER2> How can this possibly matter without considering factors like the _location_ and number of hours expected?

<comment><AUTHOR> This is an overview post, but the tool ([https://www.linkedin.com/salary](https://www.linkedin.com/salary)) lets you drill into specific locations / years of experience.</comment></comment>


Keith Rabois is the new king of Y Combinator - <AUTHOR> http://gigaom.com/2010/08/30/keith-rabois-is-the-new-king-of-y-combinator/

<comment><USER2> It looks pretty obvious to me that YC has hit some kind of marketing inflection point here. They've become a status symbol for investors and industry pundits as well as for founders. I can't articulate it better than that, but it bodes well for them. Congrats.

</comment><comment><USER3> So far, I've invested in 6 from this class. Only time will tell if that's a good thing or a bad thing :)

<comment><USER4> How many had been completed as of Demo Day? I'll update the story.

<comment><USER3> 5 on demo day. Thanks

<comment><USER5> PB is also the person who's invested in the most YC startups over all time.

</comment></comment></comment></comment><comment><USER6> Let's say you're a very early stage startup with no raised capital. Let's also say you have two equally plausible options today of raising a convertible note with a cap. You can raise either $500k or $1M. How would you choose?

Bottom line -- if you could, would you take more capital now given the potential risk of a double-dip recession, or take less and hold onto more of your company?

<comment><USER7> I'd do $1m. Gives you some dry powder in case you need it.

</comment></comment><comment><USER8> Lets say I need to raise about $500k; how does the terms look like? If this question is already discussed, could you please point me to the url?

<comment><USER9> [http://www.gabrielweinberg.com/blog/2010/06/how-to-learn- abo...](http://www.gabrielweinberg.com/blog/2010/06/how-to-learn-about- angelvc-term-sheets.html) gives an overview of term sheets.

For numerical term sheet examples see <http://thefunded.com>

<comment><USER8> thank you Amund.</comment></comment></comment>


CIA-backed Afghan units carry out illegal killings - <AUTHOR> http://news.trust.org/item/20191031030216-cdu92 <comment><USER2> What's new is old: [https://en.wikipedia.org/wiki/Phoenix_Program](https://en.wikipedia.org/wiki/Phoenix_Program)</comment>


Ask HN: can a company do too much OSS? - <AUTHOR> #15 of patio11's summary of pg's future business trends (http://news.ycombinator.com/item?id=1632689): "I can't name a company which did too much OSS. If no one has gone too far, we're probably not doing OSS enough yet."
As one example, I've thought a lot about open sourcing all or parts of DuckDuckGo, but have been hesitant for the obvious reasons (trade secrets, gaming the system, etc.). Of course, anyone interested would have to wade through my Perl. On the other hand, I'd love the opportunity to develop more of a community around the code.
So where's the line? <comment><USER2> IBM is the line. Their participation in the OSS community is very active and positive. See IBM's developerworks as examples as to how the largest organizations can participate in the open source community and not try to take direct control.

Now, IBM's motive is to most likely bundle services around those OSS implementations, so they profit from that.

On the other hand, we have Oracle who outright acquires OSS organizations just to wrap sales and maintenance around the products. They'll trickle in funding to barely nurture the products along, only to have the founders/leaders of those projects bail when they realize what is really happening.

That results in the mass resignations that we see with MySQL and countless other Sun OSS acquisitions.

And don't get me started on Java. :(

<comment><USER3> Somehow I don't see IBM open sourcing WebSphere, J9, DB2, zOS, Lotus Notes, Lotus Live, EAS, Cognos, the Rational lineup, the Tivoli lineup, CloudBurst, ibm.com/cloud, or anything they consider a product.

</comment></comment><comment><USER4> _(ok with the pre-amble that I am VERY pro-OSS, and generally very bullish on the value for companies of every size to embrace an OSS strategy...)_

I think a resource-constrained startup (pre-funded thru to series A) needs to be careful that every dollar spent is building direct value to the company that investors will want to invest in.

Creating _good_ OSS does have an over-head (documentation, support, community collaboration, etc). Sure that can help you attract good developers to come work for you - but if you launch too many OSS project the overhead costs can become disproportionate to the funding of the company.

You also need to be careful that while you are building value early-on that you are not exposing yourself for your competitors (or your own employees) to fork what you are doing and build their own competitive service (it does happen but again, some of this comes down to license used).

I would not want to publish 'secret sauce' of a company (algorithms, development strategies, etc) before I got to a point where I could defend the business with network effect, traction, funding, etc.

There is no point of over-committing or over-exposing and then not having the resources to be around in 18 months time to keep the OSS project going.

<comment><USER4> I'm not going to name the company, but another extreme example comes to mind was of an early stage company in a specific vertical who completely funded a relatively high-profile (read: well hyped) open source project that was orthogonal but not completely related to the core competencies and interests of the parent company.

I would have been strongly against this if I was an advisor or investor in the company.

Suffice to say, things ended badly when the company ran out of money and now both their project and the open source project are dead in the water, + lots of hurt feelings all around.

</comment></comment><comment><USER5> Sun is the line. Perhaps they couldn't sell their product either, but their competitors were making bank selling software instead of giving it away. Look at what oracle is doing with their IP

<comment><USER6> Let's see how those lawsuits go for Oracle, it's too soon to tell if they'll pay off.

<comment><USER5> I was referring more to how they are handling Solaris, but Java is another prime example of a technology that Sun failed capitalize on in spite of making it open source.

OSS is a great idea for commodity software that has little margin left in it anyways, but very few open source their core competency and live to tell about it. The exception to that rule is probably Red Hat.

The smart thing to do is to open source your complements, something Google and Apple do phenomenally well at.

<comment><USER7> Sun fought the open sourcing of Java for a long time past when it made economic sense for them to do it so it's an odd example of going too far with open source.

Even now the booby traps they laid are being put into actual use and the end result could be a true open source fork which will be very good for the Java ecosystem, and less than optimal for Oracle.

</comment></comment></comment></comment><comment><USER6> Reddit is almost 100% open source except for some of their anti-spam code which can be replaced by open source code. I think they could go 100% open source though as I don't believe in security through obscurity.

Duckduckgo could go for a distributed model where each install could communicate together and maybe scale better.

<comment><USER8> Spam protection with obscurity is different from security through obscurity. Spam protection through obscurity is fairly prevalent and reasonable.

<comment><USER9> A better technique is one where even if the spammers know what your countermeasures are, they still can't spam you.

<comment><USER10> Good luck! :)

Unless you're taking a blood sample from every user, you are going to have spam that you can't catch.

<comment><USER11> If a robot makes a meaningful contribution to your website / service, do you really care if they are a robot?

If you could tell which comments are insightful / relevant / interesting / unique it wouldn't matter which ones were produced by humans and which ones by algorithms.

Likewise humans can often create spam by hand - daft comments / contributions that hurt your site but come from legitimate humans.

<comment><USER10> The assumption with any kind of collaborative filtering is that the opinions of many people produce a better result when combined than the opinions of one person. If you are allowing machines to vote then you're letting one person have an arbitrary number of votes, which totally breaks the model.

</comment></comment></comment></comment></comment></comment><comment><USER12> My guess is it doesn't really matter either way. Software projects are so complex that just understanding them is a full time job. The code will be an incomprehensible blob to anyone who hasn't put many hours into understanding it. People may be enthusiastic at first and screw around with your project for a couple of weeks, but eventually they will stop caring. So the maintainer ends up doing the vast majority of the work, regardless of whether a project is open or not.

I have no data to back up that claim, it's just my gut feeling. Has Reddit gotten substantial code contributions as a result of open-sourcing its stuff?

</comment><comment><USER13> I think that it greatly depends on the company and its needs. If you think that there is a great chance that someone will simply ape your code and use it to compete directly with you, it might be wise to hold back. If, on the other hand, you a likelihood of people getting involved and helping to improve the code, that might outweigh the risks. I'm not so worried about the former seeing as you're already competing against some very powerful players, but that's just me.

It really depends on whether you think that your algorithms important enough to keep secret, or whether you thing that an open source search engine would really add something.

</comment><comment><USER14> > I can't name a company which did too much OSS.

Of course you can't. They failed and faded into obscurity. Unless you were directly involved, I don't think you would have heard of any of them.

</comment><comment><USER15> There can be strategic business reasons to open source, but don't forget that open source is a powerful recruitment tactic as well. Recruiting is the main reason we are permissive about open source at BackType. Programmers (esp. top ones) really want to be involved in open source.

I wrote more about this here: [http://nathanmarz.com/blog/why-your-company- should-have-a-ve...](http://nathanmarz.com/blog/why-your-company-should-have- a-very-permissive-open-source-p.html)

</comment><comment><USER16> The biggest benefit of open sourcing DDG in your case is that it would be useful as research to programmers who are developing something similar (e.g. a search engine, wikipedia parsing, crawlers).

You might also think of extracting some common functionality into a project which could be directly used by programmers. That would also give you the chance to form a community.

Examples: Tornado web server (Friendfeed), Cassandra (Facebook), RoR (37signals).

</comment><comment><USER17> It depends on your motivation.

To society as a whole, if everyone released their software as Free / Open Source software, much less effort would be wasted writing software that has already been written, and this effort could be directed towards developing better software to solve new problems.

However, FLOSS is a reverse tragedy of the commons situation. Everyone benefits from it, but the person who develops it isn't directly rewarded.

If your only motivation is profit (or you have a duty to maximise profit), there are still some good reasons to release FLOSS software: contributing to other infrastructure projects (especially if it is an established project) will be useful to other people who don't directly compete with you, and if there are lots of contributors, you will likely get more back than what you put in, while still getting the feature you want. In addition, if you make it known that your company is involved in FLOSS development, it is likely to generate good PR amongst technical people. It may also help you get good quality employees who are already familiar with some of your code base.

If your aim to make society a better place, without harming profits too much, rather than purely profit, FLOSS development makes even more sense. The risks to watch out for are spending too much time supporting the software, liability issues (nearly all FLOSS licenses include a disclaimer, but it is hard to rule out liability entirely), lowering barriers to entry, and having an unfair disadvantage if competitors use your code or ideas but don't release theirs (the Affero GPL can help with the former - and patenting novel algorithms and licensing them to all services which release their implementations with the latter - but you need to consider whether you have the cashflow to enforce your license / patents anyway).

<comment><USER18>
        If your only motivation is profit, ...  there are still good reasons ...

It wouldn't not make sense for google to be developing top of the line web frameworks and open source them either; More better websites means more people would go on the internet and thus more google searches.

I think another reason you might open source software is so that the community around your product flourishes and uses your product even more.

</comment></comment><comment><USER19> I think the specific license you choose is a bigger factor than the amount of code or of a product open sourced.

I think the line is, if you are the dominant open source player in a specific market or likely to be, like sugarcrm is, it makes sense to use GPL.

If on the other hand you are not the incumbent, it makes sense to use a more liberal license, so LGPL/bsd/mit like vtiger has.

So the line really depends on your status in the market your in.

<comment><USER20> When dealing with websites the GPL is almost a liberal license. There is no requirement for a server operator of GPL'ed software to share the code with the users of that software. If you want to copyleft the code and make sure ALL users of the software get access to the sourcecode, use the AGPL.

</comment></comment><comment><USER21> I think you have to talk about the pros and cons overall not just the amount.

Pros:

\+ Can boost developers' morale. Feeling of contribution of their work to society is a plus for many people. If developers are shameful of their work or do not want it publicized, however, it could decrease morale.

\+ Possible increase in amount of eyes on code and users of product, which may increase the need for code changes that could increase the quality of the product. The predicted quality increase is still often overestimated.

Cons:

\- Most projects with any respectable amount of use in-the-wild (many are not used, and it is not a problem) require a level of support which might not have been necessary had they not been open-sourced. And the amount of time required for support and related added functionality is often underestimated.

\- Despite best efforts, projects will inadvertently leak private company data. Usually the risk associated with data going public is small, but web searches can often find passwords, etc. Many things can mitigate this risk (thoughtful design and practices, a more secure network, etc.), but it is a risk.

Tips:

* The more time spent on fewer projects, the more successful they will be, and the more this will reflect positively on the company.

* You need a good balance where there are enough leads on the project to sustain some leaving, but too much complexity will kill a project.

* Company and organizational/cultural politics can severely weaken a project. This is probably just as valid of a reason that many large academic projects stink as the reason that they are not money-driven or having to deal with competition.

* Lawyers and legal/licensing concerns can kill or severely stagnate an OSS project.

Despite all that, I still think companies should do as much OSS work as possible, even if it isn't _always_ good for business.

</comment><comment><USER22> Like fleitz, my thoughts immediately turned to Sun as too much.

However, in a business environment, I don't think you should open source just for the sake of open sourcing (which seemed to be Sun's philosophy). Open sourcing has some potential benefits and some definite costs. Do the benefits outweigh the costs? Then it makes sense to open source. What I don't think we have a full grasp on yet is what all of the potential benefits are.

Regardless, I would _never_ expect the community contributing code to be a realistic benefit. Even in a highly technical community, that won't come until much later, after the other benefits and costs have already made their impact.

</comment><comment><USER23> Reddit opened its code. However we didn't see a swarm of reddit clones taking over, so it must be pretty safe after all. That, and I'm a perl hacker :)

</comment><comment><USER24> There are two kinds of companies for whom OSS makes sense. The first category of OSS company is the data driven companies. Twitter, Google, Yahoo, and Facebook all fall into this category. Data driven companies derive their primary business value from the quality and quantity of their underlying data. They give away their software because it is free PR, endears developers to their platforms and it is a big morale booster for their engineers. Google will never give away its search index. Facebook and Twitter will never give away dumps of their graphs. Those things are the crown jewels, not the software that supports them.

The other kind of company that benefits from open source is companies like Red Hat, Basho and Opscode. Their open source offerings are loss leaders intended to stimulate enterprise sales. Mission critical systems get built on the open source software, and then managers can elect to buy enterprise features and support from the vendors.

<comment><USER25> You're missing a category. Lots of big, non-IT-centric enterprises SHOULD contribute to OSS projects because they're already using and extending them (whether it violates the license or not) and it really, really pisses off corporate developers when they're told they can't release internal code into the wild. Totally demotivating.

<comment><USER14> The keyword being non-IT-centric. IT projects, OSS or not, should not be a business focus in that case. Best Buy's IdeaX (<http://bbyidx.com/>) would be one of the first things that comes to mind as an example in this category.

<comment><USER25> I know where you're coming from with that comment but I don't necessarily agree. Each year, information systems become a bigger and bigger differentiator on the business side and should be a business focus.

Maybe when you said "IT projects" you meant projects where IT is the customer, and if so I still don't agree. These tend to be "luxury" projects for a lot of companies and, as such, the developers tend to have a lot more decision making authority than on business projects. Letting them open source their code or contribute to existing OSS projects is a huge motivator (especially if the OSSed project gets popular and the company starts reaping the benefits of additional contributors).

</comment></comment></comment></comment><comment><USER26> There is no law stating that you have to open-source any of your software. Make the decision based on your company's business needs, not on popular opinion within a small engineering niche that probably doesn't constitute the majority or even a significant percentage of your customer base.</comment>


How I beat an online scammer and made $2,100 in the process - <AUTHOR> https://www.ryanckulp.com/online-course-scam/ <comment><USER2> That was a fun story. I like the way you write. Did you read any of the books on improving writing? Normally I'm not able to read posts this long but in this case it was easy.

Congratulations on the win.

<comment><AUTHOR> thanks for the support and feedback.

one book i recall is The Elements of Style, often called Strunk & White: [https://en.wikipedia.org/wiki/The_Elements_of_Style](https://en.wikipedia.org/wiki/The_Elements_of_Style)

otherwise i've not studied writing per se, just "practice" a lot in blog posts like this one.

my shtick is to add humor, remove qualifiers, stay conversational. all tips real writers would share too, but maybe not the same writers. ;)

<comment><USER2> Your style is also confident. I remember I read about that in the book "On Writing Well". That's also refreshing.

</comment></comment></comment><comment><USER3> This wouldn't work with PayPal USA. They have a hard rule that Seller protection applies only to tangible goods received from a PayPal-recognized common carrier with tracking to the buyer's Confirmed Address. This would be an automatic reversal.

Beyond that, the buyer could do a chargeback through his card issuer. If successful, PayPal takes back 103% of the payment.

<comment><AUTHOR> this was PayPal USA, i'm an American.

<comment><USER3> You lucked out... for now. Again, a CC chargeback will be hard to fight.

<comment><AUTHOR> i find CC chargebacks (for us, they're via Stripe) more likely to win than PayPal tbh. and often w/ CC chargeback an accountant simply wasn't aware, mistakenly filed. PayPal, otoh, is often used by people with bad intentions on Day 0.

</comment></comment></comment></comment><comment><USER4> i enjoyed your story

<comment><AUTHOR> thanks Julien! clever personal website btw ;)

<comment><USER4> thanks :)</comment></comment></comment>


Continuous Deployment  - <AUTHOR> http://www.avc.com/a_vc/2011/02/continuous-deployment.html <comment><USER2> One of the great benefits of continuous deployment is that it really helps you hone in on a useful testing philosophy.

We've been doing continuous deployment at Ars for about 1.5 years. We would generally write tests for our apps before that, but they were somewhat directionless (and awfully easy to blow off for a "minor" change). Once our tests became crucial, we did a much better job of picking relevant tests and feeling their importance.

Many people visibly shudder when we tell them about our deploys. What they don't consider, though, is that manually ensuring a given release is "good" is less reliable than letting a well instructed computer system do it. When you make changes, run your tests, and then eyeball things to make sure everything's cool, you're really just doing unstructured integration testing. You're likely to miss regressions, unintentional bugs in seemingly unrelated systems, etc.

<comment><USER3> It's great to see the ideas like CI trickle into the that startup world at large, to the point where we have VC blogging about it.

The thing that's amazing to me is that anyone would choose to NOT work like this. If you are web-based startup and cannot do multiple deployments a day, or you don't empower ever last person on your technical team to do a production deploy, you are at a serious competitive dis-advantage.

<comment><USER4> There is a difference between CI and Continuous deployment. CI can just mean you continuously build/run tests/deploy to staging(may be). The article talks about continuous deployment to production.

</comment></comment></comment><comment><USER5> _I asked how to roll back the changes. He said "we don't roll back, we fix the code."_

Not the best idea. I don't debug as well under the extreme pressure of my site being broken with the clock ticking.

<comment><USER2> You'd probably find it easier when the deployed changes were extremely small. Our last automated deploy was a single line change. Most are bigger, but not huge.

Also, while they don't do full rollbacks, I suspect more than one fix has been "remove the offending code until we can figure out what's wrong".

<comment> rm-rf I've seen single line changes cause data loss, corruption, system outages, remote root exploits...

I'm not sure that the number of lines makes the change more or less risky.

<comment><USER6> And how exactly does this relate to the way they deploy their code? As far as I can tell, they actually review code before marking it ready for deploy. That kind of changes would be an issue with "usual" large batch deploys as well.

</comment></comment></comment></comment><comment><USER7> "At Etsy, they push out code about 25 times per day. It has worked out very well for Etsy and has led to [...] improved morale."

I am in the opposite situation at work. My company has scheduled, monolithic, all hands on deck releases once a month. It's an insane legacy policy from a time before our dev team had scripted releases and automated tests running against every commit in development. We've solved the technical issues of continuous deployment, but socially, we're stuck in the dark ages. It's a huge morale killer. We've had several great developers rally to change this policy and were stonewalled, and eventually left.

<comment><USER3> Without knowing the details of this company, here is my theory:

With established companies, with established revenue and legacy product/process, management thinking is probably something along the lines of "if it ain't broke, don't fix it". They don't --pardon my french-- give a shit about morale if the profit is rolling in. If they didn't start with CD, they aren't going to do it now.

So to champion any change, you're going to have to make a case around greater revenue/margins, better (less) customer support, more defensibility in the marketplace, or something else that gets the suits all geeked.

Complementary part of this theory: Startups need every advantage they can get since they have the weaker market position when they begin. So they're more willing / required to be innovative about every last bit of their process, including deployments.

Other advice -- start slow. Prove the process on a smaller part of the product.

</comment></comment><comment><USER8> We adopted continuous deployment at my last company, and it was a huge win for us. It resulted in less downtime, reduced the cognitive load on our developers, and let us turn changes and bug fixes faster, which just made everyone happier. Here is the approach we took --

We got continuous integration working first by setting up an automated test server. We used cerberus, which is a trivially simple ruby gem that simply polls a repo, grabs code, runs tests, and reports the result. You could install this anywhere, even an old Mac mini if you wanted. We spun up a low end server for it. We wrote great tests, got decent coverage, and made adjustments in our automated testing strategy to increase our confidence.

Then we worked on zero-downtime deployment and rollback. This was actually the hardest part for us. With regard to schema changes, if we had to hammer our database (new index on a big table) then we needed to take the site down, but otherwise our strategy was to always add to the scheme, wait for the dust to settle, and then remove things later. This worked for us, but we had a relatively simple schema.

I haven't quite figured out how an ajax-heavy site would pull this off. That seems like a hard problem since you need to detect the changes and refresh your javascript code.

We then combined these two to get automated deployment to a staging server. We could have written monitoring code at this point, but we decided to punt on that, relying on email notification for crashes and watching our performance dashboard.

And finally, we set it up to deploy to production, and it just worked, and we never looked back. It was the most productive and pleasant setup I've ever worked in.

<comment><USER9> Regarding ajax heavy applications, I have been faced with that particular problem. A few of my sites are javascript heavy apps, with long flows between page reloads. If I ever change my server API in a way that would break the javascript, I need to signal to the client that it needs to refresh. (I keep track of version numbers for the server code, and whenever that is bumped, it means the client is out of sync)

This can be kinda.. awkward. What I've opted either a lightbox or some kind of message saying we need to refresh the page. But that is not ideal.

Has anyone dealt with this issue before? With javascript heavy apps, the development is more like a traditional desktop app, or a mobile app that has to deal with the client/server model interface in a non-trivial manner.

<comment><USER10> I haven't directly but I just happen to be staring at Pivotal Tracker which handles it pretty nicely. The do as you say and push a little lightbox which says "A system change has occurred requiring a refresh of this page. Please click 'OK' to reload Tracker."

<comment><USER9> And Gmail would have the same problem. But to date, I have never seen Gmail ask to refresh..

<comment><USER10> I think how Gmail handles the problem is they keep multiple instances of the server-side software running, one for each version of the API. From my experience, whenever GMail rolls out a new feature, I don't see it until I do a refresh and frequently that's what GMail tells me I need to do to see the new feature.

</comment></comment></comment></comment></comment><comment><USER11> It's great seeing VC's get involved on this level with their portfolio companies. I imagine it makes explaining when things go wrong easier.

<comment><USER12> yes, and it is fun to be able to "go into the factory and see how things are made"

i had so much fun

</comment></comment><comment><USER13> Reminds me of the calacanis article about facebook's developer culture - continuous deployment not only makes updates faster, it democratized the process and gives every developer the power to make things better. Good for the product, and good for the team. [http://launch.is/blog/launch002-what-i- learned-from-zuckerbe...](http://launch.is/blog/launch002-what-i-learned-from- zuckerbergs-mistakes.html)

<comment><USER14> TBH if you are a startup and have downtimes, people don't trust you. I know I won't go to a site if it failed on me on the second click because somebody was _adding features_.

<comment><USER2> If you are a startup and _don't_ have downtimes, you're either building something trivial or a god.

We've actually had less broken downtime since we started doing automated deploys than we did beforehand. It's partially the result of good testing, partially because the changes are just so much smaller than they used to be, and partially because pushing to our master git branch is now serious business.

<comment><USER14> Imagine this scenario. Peak traffic time in the day and site goes down because of a deployment, an investor sees it and threatens to pull money out. Ad networks that you work with actually see a report where during peak hours their advertisements weren't served, causes of major trouble. I work for one of the biggest sites in my region and take my word for it, uptime is essential and not something left to chance or gods.

Continuous deployments ensure delivery of features and turn around time fast enough for a changing business model of startup and can't be stopped either.

So uptime and continuous deployment model has to happen at the same time.

Deployments should always be automated and revertable. If you think you can run a healthy startup with just about adequate mistakes perhaps you got an easier place to work at :)

<comment><USER15> You're scenario has nothing to do with CD. In fact, if you aren't using aspects of CD, your scenario is even more dangerous.

</comment></comment></comment></comment></comment><comment><USER16> Just getting to this now, but there's a slight misquote in Fred's post. :) I (and I think Kellan said it at the same time) said "...we don't roll _back_ , we roll _forward_..."

We do that because it's simply faster and easier to roll forward than to roll back the entire deploy. Rolling forward means taking advantage of the percentage rampups of new code paths, feature and config flags to turn things off/on, and even reverting the 5 line change is simpler than rolling it all back.

So no, I'm not suggesting we let bugs in prod languish while they are debugged for a long while.

</comment><comment><USER17> Anyone have good pointers on the best tools for continuous deployment of Django? I know there are tools like Capistrano, Fabric and Django Evolution out there but if someone has first hand experience using some of these it would be good to learn about.

<comment><USER18> I use Fabric at work, with South for migrations.

One useful technique I've found is to have Fabric deploy to a "staging" install on the target server (we still use SVN). It runs unit tests in that install, and if the tests fail, it stops deployment. If they pass, fabric will then complete deployment to the production server (and run tests again for good measure).

Of course that depends on having good testing practices and coverage, but it helps reduce the number of stupid last-minute mistakes that creep into the repo. Fabric is also useful in numerous repetitive small tasks that you need to run without going through the rigamarole of SSH.

Generally though we avoid running South through Fabric - changes to data schema are run very carefully after backing up etc. South is great, but any migration tool should be used with due care.

<comment><USER17> Interesting. Somehow, I had never heard of South. Thanks!

For others like me, from <http://south.aeracode.org/docs/about.html>

_South brings migrations to Django applications. Its main objectives are to provide a simple, stable and database-independent migration layer to prevent all the hassle schema changes over time bring to your Django applications._

</comment></comment></comment><comment><USER19> You read about these "20 deploys a day" type situations, and it sounds great, and I'm sure it makes VCs all warm and creamy inside. But they're talking about small changes, and not all deploys are small. You can't incrementally change a database engine, for example.

What I would be more impressed by is if they could run tests against a full load of real user input, and have useful/reliable metrics come out the other end. There's no reason for the deploy to fail if you have a real mechanism for testing the deploy. I've yet to hear of a shop of the size of an Etsy that does real production/load testing.

<comment><USER20> IMVU. [http://timothyfitz.wordpress.com/2009/02/10/continuous- deplo...](http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment- at-imvu-doing-the-impossible-fifty-times-a-day/)

<comment><USER19> "[...] 4.4 machine hours of automated tests to be exact. Over an hour of these tests are [...] Selenium. The rest of the time is [...] unit tests."

Impressive. But this not production test, where you tee the actual input from users into the system. Nor is it load test, where you measure whether or not the site is performant under real load. For that matter, there's nothing here that indicates you debug your operations (provision/deploy/backup) at all. My comment about not seeing such an operation stands.

<comment><USER20> Read a bit farther.

> Load average, cpu usage, php errors and dies and more are sampled by the > push script, as a basis line. ... A minute later the push script again > samples data across the cluster and if there has been a statistically > significant regression then the revision is automatically rolled back.

<comment><USER19> Precisely so, but that's not testing, it's repair. You've just rolled back from a production problem automatically. The user still saw the problem.

Sorry if this seems rude. You're definitely way ahead of the game, but you're not addressing the thing that I'm talking about.

<comment><USER20> None taken. I don't work for IMVU.

</comment></comment></comment></comment></comment></comment><comment><USER21> That's how we roll at Cloudkick. We ship the code. We're going to get all of Rackspace to do this too if we can.

<comment><USER22> Will you really be able to pull that off? I imagine certain parts of the code base you could use CI, but Rackspace servers cannot have downtime. If I were a Rackspace customer, I wouldn't want innovation - I'd want my boxes to never go down. And I believe that means a rigorous QA process.

<comment><USER23> It's not always true that development is a trade-off between fast feature development and stability. If you're building a monitoring system (like Cloudkick), more features means more stability for whatever you're monitoring.

</comment></comment></comment><comment><USER14> Interesting stuff. I've been doing something similar with my sites for over two years now. Its more of an workflow than just a system really.

1\. A staging server where the new changes are first tested 2\. Production server which gets the updated and verified working code 3\. In case of any trouble (which hasn't happened in quite sometime btw) the old solution backup is kept with a date and time and can be reverted just as easily as code is updated from staging server

You can actually use a load balancer to roll over the servers too while deployment and it takes the factor of downtime away to an extent. But this can't be done with a powershell or any shell script and a network admin has to be present at the time of deployment which makes it difficult.

I have had next to none downtime on my servers. Last I remember my sites going down was during a DNS shuffle well over 6 months ago, never because of some developer or sys admin screw up. Yes I do have more than ten deployments on a single site in a day.

<comment><USER24> We use Capistrano[0] to automate releases in the same manner. It keeps multiple copies of the site in timestamped directories and has a 'current' symlink which it just points to the latest. If you ever need to roll back, just point the symlink to a different timestamp.

Similarly, for our rails apps we use unicorn[1] to do no-downtime deploys. When we roll out new code, unicorn brings up new workers while the old workers are still running. The old workers are not sent any new requests, and once they finish their in-progress requests, they are killed.

[0] <https://github.com/capistrano/capistrano/wiki> While most of the docs talk about rails, capistrano isn't ruby-specific. We use it to deploy node.js apps as well. [1] <http://unicorn.bogomips.org/> A forking ruby http server

<comment><USER25> Do you also have timestamped databases? How do you deal with schema changes between versions?

<comment><USER24> Most of our deploys don't have a schema change, and often when adding tables or columns the migration can be run before the new code is deployed. When dropping or renaming columns you'd usually need to first deploy code that is able to gracefully handle the migration.

However, sometimes it's not worth the extra code complexity and we just take the site down and migrate.

</comment></comment></comment></comment><comment><USER26> So what do you do when you want to make a change that isn't a logical evolution of your existing codebase? Say, for example, you have an ecommerce site, and you're switching payment processors to use one with an entirely different API. Surely you can't just push a change like this straight to your production server.

<comment><USER27> Make the code change conditional and push it out off, cookie (or query string or URL) force some users into the new path...

If you don't already have an A/B or multi-variate framework in place, first push the no-effect change to the old code to understand that now it needs to be conditional on XX.

IMO, adding a new payment provider is a logical evolution. If your intent is to turn the old one off, I still believe it's worth the complexity to run them both until you're sure.

</comment></comment><comment> brown9-2 Continuous Delivery is a great book about how to build such deployment systems and infrastructure (I'm only about a third of the way through it):

<http://continuousdelivery.com/2010/02/continuous-delivery/>

</comment><comment><USER28> Shameless plug -- we're building hosted continuous integration and deployment for heroku. We'll be opening up our beta real soon, email email@example.com to get an invite. More information at <http://zenslap.me>.

</comment><comment><USER29> Does anyone have experience trying this in a more enterprise-friendly product? We'd have a struggle figuring out how to communicate these changes to our customers on a daily basis, not to mention the absolute horror if something changed/broke right before or during a crucial production run. There's a lot of things I want to implement from these ideas, but the examples I see are usually high-volume consumer websites, so I am curious if people in other areas have success with this.

</comment><comment><USER30> That's pretty cool. This could work in mobile but Apple's review process kills it there and the monitoring part is hard. App stores, though, make this possible. I wish Apple would allow a post-review oath for trusted developers, those who have established a track record of successful releases.

<comment><USER6> If a mobile app wanted to be updated every single week, I would get annoyed at some point. The point is that web applications can do this in a seamless manner.

<comment><USER31> There's no technical reason why that should be so. Google Chrome doesn't make you click a button to update it, or even tell you that it _has_ updated. It just does it.

<comment><USER32> Mobile is different because people have to pay for bandwidth

<comment><USER31> Not a problem with Google's binary delta based updater.

[http://blog.chromium.org/2009/07/smaller-is-faster-and- safer...](http://blog.chromium.org/2009/07/smaller-is-faster-and-safer- too.html)

<comment><USER33> Unless you live in Canada.

</comment></comment></comment></comment></comment></comment><comment><USER34> I don't even roll out changes really, I edit the live production code, one small change at a time. I always felt this was kind of dumb, and I know it brings my site down for a few seconds to a minute here and there (about 1k visitors are on the site at any given time). But i've always felt this allows to get 5x more work done than I would within structured rollout system with version control, etc.. and has given me a great sense of instant satisfaction that motivates me to keep working.

<comment><USER35> You don't use version control?

I'd seriously recommend learning git (or svn). After a few days learning curve it won't slow you down in the slightest, and it will have a huge effect on the quality of your codebase since you won't need to keep old code around and you'll always be able to figure out what you changed, why and when.

</comment></comment><comment><USER36> Is anyone doing this at a site where serious money is involved? For instance, that 4 minutes of downtime described in the article would be a loss of something like $120k at Amazon.

<comment><USER37> Looking at the opportunity cost lost by four minutes of downtime without comparing it to the increased cost of _not_ doing continuous deployment doesn't seem like a fair comparison.

Also, with huge monolithic deployments, the risk of much longer downtime is increased. If you can get deployments into non-events, you don't have as many catastrophic problems.

</comment></comment><comment><USER38> Etsy exhibits an ever-changing array of glitches and bugs which are difficult to pin down, monitor and understand. These are exhibited in both the web interface and the API.

I think that their plan to 'push code' 25 times a day or whatever plays a role in that. And really, I don't think having their dogs, VCs and first day employees publish changes to the site helps.

I think the issue is which test they have written - their tests aren't catching a few important details here and there.

</comment><comment><USER39> I wonder if they have some kind of automated test suite just to make sure everything works fine. Having worked on large codebases, it's almost impossible to make sure everything is still alright manually, after a new deploy.

<comment><USER40> Yes, there are tons of unit tests that are run (voluntarily) before commits and (automatically) on staging pushes.

And then once code is live we have many system and business-level monitors in place, so we know almost immediately if anything's wrong. More info about that here:

<http://codeascraft.etsy.com/2010/12/08/track-every-release/>

<comment><USER41> One thing to add is our test wizards have also conjured up a system we call the "try server", which allows the execution of all the test suites asynchronously on fast machines before you commit. So, you don't have to wait for your laptop or machine you're working on to run the tests, you just kick it off and get an email with your results in a few minutes. This makes it so it's painless to be sure you'll never commit a red build.

<comment><USER42> Yeah, I was thinking about doing a similar thing here at Cloudkick.

Currently, our test suite is not that large and it takes around 6-8 minutes to complete, but with testing every minute counts (testing is generally not that fun and a slow test suite just makes it more painful).

We have a two types of tests:

\- Twisted tests - this tests runs asynchronously and finish pretty fast so they are generally not that problematic \- Django tests - Django tests don't run in parallel so they are pretty slow. Recently, I was playing around with the Django test runner and I have made some modification to it to run the tests in parallel. Now the Django tests finish around 50% faster.

The only problem with this solution is that it is a "hack" and it requires some modifications to the Django core (I guess I should play more with the nose parallel test runner).

We also use some other "tricks" which make tests run faster - for example, MySQL data directory on a test server is stored on a ram disk.

<comment><USER41> Coupled with slow tests is the fact that unless you have something like the try server it ties up your machine while the tests are running. Being able to just kick it off and continue working on the next feature or bug goes a long way to reducing the pain.

</comment></comment></comment></comment></comment><comment><USER43> There is a great example of continuos deployment, good tools and methods here: <http://vimeo.com/14830327> .

</comment><comment><USER44> _Big changes create big problems. Little changes create little problems_

The real problem comes when little changes (unknowingly) create big problems</comment>


Why Privacy Matters Even If "You Have Nothing to Hide" - <AUTHOR> https://write.privacytools.io/privacy-simplified/why-privacy-matters-even-if-you-have-nothing-to-hide <comment><USER2> "People that say you have nothing to hide often care the most about their privacy. For example Mark Zuckerberg spent $30m (£18.8m) buying four houses that surround his own home in California in 2016. "Why?" you might ask, because he cares about his privacy."

I have no idea if Mark Z. has "something to hide" but he takes precautions like he does. We all remember this picture of his laptop with not only the camera covered, but the mic ports as well?

[https://www.telegraph.co.uk/technology/2016/06/22/why-has- ma...](https://www.telegraph.co.uk/technology/2016/06/22/why-has-mark- zuckerberg-taped-over-the-webcam-and-microphone-on/)</comment>


Ask HN: Why everyone make own nosql db? - <AUTHOR>

every week i read about new amazing nosql db. why? why? why? <comment><USER2> Because it's a rapidly-evolving space without many of the constraints of the relational databases in the last 40 years.</comment>


New Zeland High Court wants to see evidence against dotcom. US doesn't have any. - <AUTHOR> http://www.techdirt.com/articles/20120615/17485919355/new-zealands-high-court-steps-into-extradition-fight-over-kim-dotcom.shtml

<comment><USER2> "Zealand"</comment>


Japan's elaborate, colorful manhole covers - <AUTHOR> https://www.atlasobscura.com/articles/japanese-manhole-covers <comment><USER2> I remember this was one thing that really made an impact on me about Japan when I went there as an exchange student.

"Even their manholes are thoroughly done and look amazing! What is even going on!?"

They can still make me smile every now and again when I visit, and I really admire the "Japanese sense of" (I don't know if it's particular to Japan) putting lots of effort into something seemingly mundane; putting effort into something which yields no practical return on investment. I wish there was more of this artisanship in the everyday city-life around us, to keep remind us how lovely life can really be. It's easy to forget sometimes.

<comment><USER3> I think you'll enjoy Junichiro Tanizaki's essay: "In Praise of Shadows"[1] on Japanese aesthetics - from toilet design to art of Kintsukuroi. If you haven't read it, it was written more than 50 years ago[2] and still stands true about the Japanese aesthetic culture - it is amazing.

[1][PDF] [http://wwwedu.artcenter.edu/mertzel/spatial_scenography_1/Cl...](http://wwwedu.artcenter.edu/mertzel/spatial_scenography_1/Class%20Files/resources/In%20Praise%20of%20Shadows.pdf)

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

<comment><USER4> I read this book recently and... yeah. It's filled with stuff like him bemoaning how "western" chemistry and the periodic table of elements are, and speculating about how "Japanese physics" would be.

Oh and that's not getting into the whole BS about purity and skin color he gets into.

It's nihonjinron at its finest.

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

</comment></comment></comment><comment><USER5> Fun fact: they sometimes make them with celebrities, which happen to be cause public outrage later in their career, causing issues with what to do with the manholes.

Recently Pierre Taki was arrested for Cocaine, and the manhole with him on it is in an interesting debate, the town is thinking about covering it: [https://news.nicovideo.jp/watch/nw4980896](https://news.nicovideo.jp/watch/nw4980896)

<comment><USER6> > with celebrities, which happen to be cause public outrage later in their > career,

That's the funny thing about Japan. Regarding outrage and celebrities. I have seen that over and over in the past 10 years, it goes like that (not talking about manholes here):

\- Celebrity X is super popular and well loved

\- Celebrity X gets into trouble for something that is frowned upon in society.

\- Mass media rush to eat Celebrity X alive and paint them as a horrible person.

\- Celebrity X will do public apologies on TV.

\- Suddenly all media ties/advertising ties with Celebrity X are severed. In fact, you won't see or hear about Celebrity X for quite a while (usually a couple of years).

\- Then, without any prior notice, suddenly you will see Celebrity X coming back on a talking show at some point, "just to test the waters".

\- Celebrity X becomes accepted again, just because time has passed.

It's... largely nonsensical.

Note: exception for drugs. People who have done drugs are usually burned forever. For example, the famous band "Dreams Come True" used to have 3 members, and one of them was arrested for drugs at some point, and since then the band continued with 2 members only, and all material they show about "the past of Dreams Come True" is carefully edited to remove any memory of that person. It's like he had never existed. Astonishing.

<comment><USER7> Genuine question, can you elaborate on why you feel that such cycles are nonsensical? Cuz for me I just think that the celeb "paid their dues" by not receiving compensation/exposure for some time (like a prison sentence in the public eye), and if the misendeavor is minor enough they can be reaccepted.

<comment><USER8> Can't speak for people who actually care about celebrities, but the predictability and insincerity of this manufactured cycle would definitely bug me personally.

</comment></comment></comment></comment><comment><USER9> Is Japan a benevolent dictatorship (psuedo-imperial corporate fascism and guaranteed political monopolies) in exchange for social cohesion. Is there an equivalent concept to a zaibatsu in a republic or democracy? Monopolies here are hidden behind the trident of usury, corporation and government spending; beyond terms like corporate capture, manufacturing consent, military/health/tech/energy industrial complex, conspiracy... With the American Republic at least it seems stability was replaced by extremes, and an active tension is rather encouraged in the population in order for dialectic opposition thesis+antithesis->synthesis. This rule by fear tends to sacrifice a lot of civility and social harmony, as an outsider it appears tiring, but Americans must prefer it or it would have never sold in the post ww2 era as the new normal.

<comment><USER10> Yeah, it's kind of funny. The extreme social cohesion itself forms a sort of dictatorship. Although it's a distributed dictatorship. Every one of your peers is a dictator.

</comment></comment><comment><USER11> I visited numazu recently, and took this manhole's pic: [https://imgur.com/a/sihTun3](https://imgur.com/a/sihTun3)

</comment><comment><USER12> Aaah, atlasobscura, where every time I visit I get: "We value your privacy[1]" with one button saying "accept!".

[1] "we clearly don't"

<comment><AUTHOR> I must have clicked "accept" 'cause I never see that button.

<comment><USER12> I wouldn't be surprised if this was geofenced (I'm browsing from the EU).

</comment></comment></comment><comment><USER13> Oh Japan!

When I was first visiting Japan, I asked an architect friend of mine who had lived in Japan: what should I see?

His response: see how much attention to detail has been paid to even some of the most mundane things.

At first I was, WTF. I was looking for recommendations about places to see. But when I got there, his advice made total sense. I was not disappointed.

<comment><USER6> > His response: see how much attention to detail has been paid to even some of > the most mundane things.

Counter example, about every residential building is so damn ugly, so I am not sure where the attention to details has gone there. I could go on on how poorly designed work offices are, how poorly designed the furniture is in general (enabling IKEA to actually have a market here), and that's enough to refute that kind of blanket statement.

<comment><USER14> I think it really depends on what you are looking for. Older Japanese homes are, though often "run down", very nice in my opinion. More modern residences have turned towards a manufactured feeling unfortunately but when you take into consideration the constraints of possible earthquake and expense of land it is rather impressive how residences are arranged. The technical challenges, which go unseen, are not simple I would imagine. The boxlike look is, I think, probably driven by land value.

Furniture in Japan is often practical and low to the ground which might not appeal to some people. People used to spend their time exclusively sitting on the floor of their homes. I wouldn't be surprised if the majority of Japanese still do.

</comment></comment></comment><comment><USER15> Love Live manhole covers: [https://www.reddit.com/r/LoveLive/comments/a2a0yi/found_the_...](https://www.reddit.com/r/LoveLive/comments/a2a0yi/found_the_first_years_manhole_covers/)

</comment><comment><USER16> 1\. How durable is the paint? When it wears away do they repaint?

2\. I could see US cities doing this, except they would probably use the space for advertising. This would be annoying.

<comment><AUTHOR> Domino's "Paving For Pizza":[https://www.eater.com/2018/9/7/17831586/dominos- potholes-pav...](https://www.eater.com/2018/9/7/17831586/dominos-potholes- paving-for-pizza-towns)

</comment></comment><comment><USER17> > "A manhole cover in Tokyo depicting "fireboys."

I can swear I saw this one somewhere the other day. Unless there's another one just like it. I didn't think much of it at the time, but I remember clearly giving it a glance when I was walking somewhere. I want to say the firemen were monkeys though.. maybe a different one, same depiction.

</comment><comment><USER18> Why do some of the manhole covers have English, not Japanese, text on them?

<comment><USER19> So in the same way that some Americans with no Asian ancestry in the slightest, or any spiritual inclinations towards the Tao or Buddhism or anything like that _might_ get a tattoo or article of clothing with certain symbols, i.e. yin-yang, or some bit of Arabic or Chinese or Japanese writing as _decoration_ , the Japanese take a similar attitude to English or Spanish or Christian (Catholic in particular) writing and symbols.

They use English as window dressing because it's _cool_. Most Japanese kids will take English in school, but few will ever attain any real fluency in the language. So if you sprinkle in some gratuitous English into your signage, clothing and television scripts or character designs, then you _are_ cool, and you can still effectively communicate to some degree because while almost no one is fluent, they can still understand at least small amounts of English at a time. I'm not sure that still holds up with younger generations, but at least at one point it was the case.

<comment><USER20> Superdry is perhaps the most obvious example (in the opposite direction). In the same way that Japanese products often include gratuitous English, they include gratuitous Japanese on their clothes:

> The company's products include meaningless excerpts of Japanese text > generated by machine translation.

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

<comment><USER10> I really love this brand because it's just a troll brand but it became popular. Because 'oh look it's got funky asian writing on it' cool factor. It's just perfect. Every time I walk passed someone wearing that shit and read what the hell it says I crack up laughing.

</comment></comment></comment></comment><comment><USER21> If they are too beautiful people might walk away with them.

<comment><USER22> While it occasionally happens, in Japan they still have a sense of civic responsibility. They wouldn't do that.

There's also the fact that you could (statistically) also forget your Macbook Pro in a crowded public park in Tokyo and come back 2 hours later to find it there untouched (and unstolen).

<comment><USER23> Wow. Was this ever (anecdotally) tested?

<comment><USER24> Absolutely. In Japan most bicycles are left unlocked. You can leave your cellphone to hold your seat in a coffee shop. Things you lose get returned. My father lost his passport there and when he called, the embassy already had it.

<comment><USER25> No they're not. Most bicycles are locked by the device that is builtin. Also bike registration exists for a reason: bike stealing is one of the most common crimes.

<comment><USER24> I lived there so I've seen it. Bikes are usually locked in the neighborhoods with a lot of foreigners (Roppongi, etc), but in most of Japan they aren't. I've seen hundreds of bikes parked outside work without a single lock.

<comment><USER26> I live in a more rural part of Japan where you can count the foreigners on your two hands and I find it hard to believe you can even see how many bikes have their ubiquitous ring locks[0] locked among hundreds of bikes

[0] [https://i.stack.imgur.com/kPKjx.jpg](https://i.stack.imgur.com/kPKjx.jpg)

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> The man with those half inch thick gloves, you bet that paint isn't coming off for years if it touched you.

</comment><comment><USER28> I absolutely love this, not so much for the covers which are great, but the sense of civic participation that would enable such a thing to happen.

Someone on city council has to approve budgets for this ...

</comment><comment><USER29> The Mouth of Truth from ancient Rome was likely a manhole as well: [https://www.atlasobscura.com/places/the-mouth-of-truth- rome-...](https://www.atlasobscura.com/places/the-mouth-of-truth-rome-italy)</comment>


Thoughts On TechCrunch Disrupt - <AUTHOR> http://uncrunched.com/2013/10/29/thoughts-on-techcrunch-disrupt/ <comment><USER2> _Picking the winner of the battlefield startup competition should be free of any influence of non-editorial people and judges._

I'd argue it's rather hypocritical of Michael to talk about 'influence' when his venture capital fund had invested in the previous three Disrupt SF winners -- for which he was a judge -- prior to their victories.

<comment><USER3> Fair point, but I care a lot more about an objective assessment of the current state of the conference than pegging someone as a hypocrite. People who try too hard to avoid hypocrisy never do anything interesting.

</comment></comment><comment><USER4> He also fails to mention that the last 3 TC Disrupt winners in SF have been Crunchfund companies...

Layer - [http://techcrunch.com/2013/09/11/and-the-winner-of- techcrunc...](http://techcrunch.com/2013/09/11/and-the-winner-of-techcrunch- disrupt-sf-2013-is-layer/) YourMechanic - [http://techcrunch.com/2012/09/12/techcrunch-disrupt- sf-2012-...](http://techcrunch.com/2012/09/12/techcrunch-disrupt- sf-2012-winner/) Shaker [edit, they may only be in the runner-up, Prism Skylabs] - [http://techcrunch.com/2011/09/14/and-the-winner-of- techcrunc...](http://techcrunch.com/2011/09/14/and-the-winner-of-techcrunch- disrupt-is-shaker/)

</comment><comment><USER5> Many of these conferences are a waste of time for startups attending them and Europe is especially guilty of this with many media companies jumping on the bandwagon. Instead of startups being at the center, they simply have become cheap 'content' that are allowed to pose next to corporate sponsors priding themselves of 'loving innovation'.

</comment><comment><USER6> Interesting application of what I call the 'Top Gear Effect.'

Top Gear UK is produced for BBC. They aren't beholden to sponsors and therefore their reviews come across as being less biased than sponsored shows (so long as the product is not British). Because they have the largest viewership on the planet, companies continue to give them cars regardless of the outcome of the review.

If Top Gear US tried doing some of the reviews that UK does, they would lose sponsorships or even access to entire product lines. This has lead to a dramatic restructuring of the show that ONLY does reviews when they can be positive.

</comment><comment><USER7> I attended the hackathon and was a little disappointed that all the prizes went basically to teams who rubbed up the sponsors in the right way. Obviously the sponsors were there to promote themselves but rewards should have been given to innovation and not just how many api's from the sponsors you can mash into an app.

<comment><USER8> I'm afraid that this is how the $1 million Salesforce hackathon will end up going to be. Given how 25% of the judging criteria is the "Use of Salesforce Platform".

<comment> k-mcgrady I'm not aware of the event but if it is a Salesforce hackathon (i.e. they are running it) doesn't it make sense you get points for innovative use of their platform? If they are just a sponsor I can understand frustration.

</comment></comment></comment><comment><USER9> I've been to a lot of these (I'm loosely associated with TC these days but help them out) and while I think Arrington's criticisms are sort of silly after everything that went down before, I do agree that there's been a lack of focus on editorial content since the whole thing was doubled down on about 18 months ago. Too many promotional interviews, not enough exploration of culture and concepts. It's become a convenient platform for moneyed entrepreneurs to launch, rather than a serious investigation of the people and companies involved. There's still good stuff, and we get great guests, but I do agree it needs to be pulled back and made more beholden to editorial — they can sell that. Right now it's kind of a meat grinder of valley trends and personalities.

</comment><comment><USER10> << Michael, you see, in Europe there are far better ideas and better executors than those you saw at Disrupt. The problem is that some European countries fail to understand software and Internet of Things as a potential for not yet existing value-added products. This is so clear with European VCs that won?t fund ideas they don't understand. So, what happens to the "far better ideas" not easily understood from people whose wallets still live in the dotcom bubble? We have to work at night, and only those nights we have some spare energy left from our day jobs, which we cannot leave, because we don't have funding to pay for dinners or rents. Silicon Valley doesn't have better ideas, it has better investors and resources. How do you plan to "disrupt" that? >>

</comment><comment><USER11> As a side note, this is very tame criticism for Michael Arrington.

</comment><comment><USER12> I went to the hackathon in SF last year and was very disappointed. I have decided to never go again.

</comment><comment><USER13> "No startup left behind", is what I thought after reading this. A reference to [http://en.wikipedia.org/wiki/No_Child_Left_Behind_Act](http://en.wikipedia.org/wiki/No_Child_Left_Behind_Act)

<comment><USER14> We got the reference, dude.

</comment></comment><comment><USER15> There is a distinction between the Startup Battlefield (companies that are launching) and the Hackathon (apps and hacks made in a constrained time period). His criticism seems to be leveled at the Battlefield judging.

</comment><comment><USER3> TC Disrupt is a microcosm of the dilution of the term "disrupt".</comment>


Looking for Early Adopter and Feedbacks – Sales Productivity Tool - <AUTHOR> Hey Guys,
We just launched a new sales productivity tool, we have been investing on the tool for almost a year now.
I'm looking out for early adopters to use to get feedbacks and loop it into product development.
The tool has some of these features,
- Email sequence automation
- predefined templates
- reply detection
- bounce detection
- out of office detection - reschedule email based on when the user is back in office
- team collaborating
- performance analytics of SDR
- phone call (work in-progress)
- automated messaging (work in-progress)
If you find these interesting just ping me at
email@example.com
or linkedin.com/in/prmsnth
I would personally onboard you to the product and get your feedbacks
check out the product here - https://engage.adapt.io <comment><USER2> There are tips here about how to present your work as a Show HN: [https://news.ycombinator.com/item?id=22336638](https://news.ycombinator.com/item?id=22336638). Take a look at those and, once you've absorbed them, email email@example.com if you want to and we'll try to help.

<comment><AUTHOR> sure</comment></comment>