Writing a Time Series Database from Scratch - <AUTHOR> https://fabxc.org/blog/2017-04-10-writing-a-tsdb <comment><USER2> I still can't figure out why people can't even come close to KDB+. It is a real conundrum. I've been waiting patiently for something to show up, but the gap seems to keep getting bigger instead of smaller.

Is it that people want to make the problem more complex that it needs to be? Is it that those who know most about these issues don't share their secrets so implemented from the outside often don't have a good understanding of how to do things properly? If you were to asked the guy behind Prometheus if he's looked at the commercial offerings and what he's learned from them, would even be able to speak about them intelligently?

There seems to be a huge skills gap on these things that I can't put my finger on. I'd love to be able to use a real TSDB, even at only half the speed and usefulness. It would be great for these smaller firms that cant or wont pay the license fees for a commercial offering until they get larger.

<comment><USER3> I have to admit that I did not know time-series databases are a thing and just recently realized that because they came up more often. Unfortunately I do not have an answer for you, but I know traditional DB systems are hard to build, as we expect more reliability and guarantees from them compared to other (daemon) software.

However I am interested to know why this kind of data and/or problems require specific software and why it can't be handled by traditional RDBMs? Obviously you could model the domain with a classic database, but seemingly there exist important queries that can't be satisfied (at least timely) through classic systems - what kind of queries are these, and why do they fail using a general-purpose DB approach?

<comment><USER4> I'm no expert, but I believe the Crux of the issue is how data is naturally organized and stored. In a row oriented database, most data is stored in pages that contain rows. There are often indexes with ordering, but unless a secondary index contains all the values needed (often called a covering index), the entire row must be retrieved to answer any query that uses that information.

Most Time-series databases are columnar in nature, and often have the concept of time baked into the ordering of values (think vectors not sets). Because they are columnar, they are more trivial to retrieve just the data needed by a query. Suddenly instead of loading a billion rows and averaging the value in one column, you're just accesing the column itself to answer the question. From an IO perspective that's a huge savings.

Now imagine you have special, dark arts for working on compressed data, and a query optimizer you've been tuning for a decade for demanding clients. It does not surprise me that kdb is much faster than the open source competitors. And to be fair, even with excellent traditional databases like postgres, I bet Oracle, db2, and Ms SQL are still generally faster in most queries.

<comment><USER5> > Suddenly instead of loading a billion rows and averaging the value in one > column, you're just accesing the column itself to answer the question. From > an IO perspective that's a huge savings.

The other side of this is that writing out data in that form would naively be an iop per sample, as you're usually appending one sample to 100s of time series in one request.

A significant part of monitoring TSDB design is buffering up samples and batching writes in order reduce that iop rate to something sane.

For example in the right circumstances the 1.x Prometheus design can ingest 250k samples/s on a hard disk which provides ~100 iops/s.

</comment></comment></comment></comment><comment><USER6> You may also want to check [https://github.com/criteo/biggraphite/wiki/BigGraphite- Annou...](https://github.com/criteo/biggraphite/wiki/BigGraphite-Announcement) which is also about how to write a TSDB from Scatch but with different goals.

</comment><comment> ah- Exciting times in database land! It certainly seems like the good systems are converging on very similar storage architectures. This design is so similar to how Kafka and Kudu work internally.

As the raw storage seems pretty optimal now, I suspect next we'll see a comeback of indices for more precise queries to get another jump in performance.

</comment><comment><USER7> The description of this new storage engine does not explain how it manages the durability of the data.

When you compare with the extreme efforts traditional databases take to ensure that unplugging a server will never ever result in data loss[0], silencing this problem makes me wonder.

Is it that at this ingest rate even trying to ensure durability is a vain effort?

[0] [https://www.sqlite.org/atomiccommit.html](https://www.sqlite.org/atomiccommit.html)

<comment><USER5> Durability is not a requirement in that sense.

Consider that a regular scrape has happened and that data has been accepted by the DB but not yet flushed to disk.

Whether the database dies just before or just after the scrape produces the same result: The data for that scrape isn't present when the server restarts.

There plenty of other ways a scrape might not succeed that we have no control over (e.g. other end is overloaded, network blip), so there's not much point obsessing over this particular failure mode.

> Is it that at this ingest rate even trying to ensure durability is a vain > effort?

It's not in vain, but it'd be a bad engineering tradeoff in terms of throughput.

</comment></comment><comment><USER8> I had a question about the following statement from the post:

>"Prometheus's storage layer has historically shown outstanding performance, where a single server is able to ingest up to one million samples per second as several million time series"

How are there one million samples per second equating to several million time series? Is a single sample not equivalent to a single data point in a time series db for a particular metric in Prometheus?

<comment> ah- I think this means that there are e.g. 10 million different time series, that each get a new sample appended every 10 seconds.

</comment></comment><comment><USER9> Is like everyone creating a time series database from scratch?

<comment><USER10> The fact that many companies (FB, Uber, Google, Netflix, SO) roll their own TSDBs for metrics collection suggests that there is a real need. Or maybe there is not. It could a way to make boring system monitoring jobs fun and fancy again.

<comment><USER11> Perhaps these companies have such varied requirements that none of the existing TSDB systems fully support? We built our own custom time series db, along with a suite of tools for accessing, slicing, plotting, etc bc (at the time, at least) there was no support for bitpacking data, and storing/calculating certain spatial data operations.</comment></comment></comment>


Boring website? Step on up to the Heyzap (YC W09) Social Games Bar - <AUTHOR> http://games.venturebeat.com/2010/04/20/web-sites-can-step-on-up-to-the-heyzap-social-games-bar/

<comment><USER2> What a strange idea! "My website is boring, so I'll add something to _distract_ people from my content to make it less so?" Seriously?

How is it different from just opening a game in another browser window, and why would users keep coming to my website to play the game instead of some centralized location?

<comment><USER3> Bit of a head scratcher for content owners as you point out. It would however make a nice bullet point for considering a web site: if you're considering HeyZap, you have a problem.

<comment><USER4> Unless you're running a casual forum, in which case it could be another thing for people to discuss and compete about.

<comment><USER3> Valid point.

</comment></comment></comment></comment><comment><USER5> Online newspapers/blogs should definitely consider a feature like this. It could be really helpful in getting users to visit more often if they start designing their time around reading a few articles and then playing games for a bit.

</comment><comment><USER6> "So the bar, which sits at the bottom of a website, is a new, less intrusive option to use Heyzap."

Arguably so. However, I've always found bars like that to be much more intrusive than a little widget towards the side of a website - one can't just scroll past them, and my eye is drawn towards things which stay the same as I scroll but which aren't normally there - which is really irritating.

</comment><comment><USER7> I think it's cool to have a widget that you can embed within your website, just like you embed a youtube video... but it looks like with heyzap, when they play a game, it lightboxes and obscures your website - they may as well have been redirected to heyzap to play it.

Do heyzap do a small game widget that sits within the page?

<comment><AUTHOR> Yes we do in various sizes:

<http://www.heyzap.com/publishers/get_started>

The lighbox only happens when the user is in the middle of the game, which we thought was reasonable to avoid them clicking out by mistake and ruining the game. Happy to hear other alternatives.

<comment><USER7> So as soon as they click "Play", it opens a lightbox and hides the rest of the site. Is there any option to just have the game play within the widget area? I think it'd make for some more seamless integrations into existing sites.

<comment><AUTHOR> The bigger widget plays within the widget area (the 650px+ widgets).

Game need certain real estate unfortunately.

<comment><USER7> Ah ok, hadn't tried that size. Thanks for clarifying.</comment></comment></comment></comment></comment>


API Design Matters - <AUTHOR> http://cacm.acm.org/magazines/2009/5/24646-api-design-matters/fulltext#F1

<comment><USER2> URL actually links to Figure 1 at the bottom of the page. Take off the "#F1" from the URL to direct to the top.

</comment><comment><USER3> If you like this essay and/or curse having to deal with EINTR and haven't heard about "Worse is Better" and the PCLSR ("PC loser") issue, you might want to check out section 2.1, The Rise of Worse is Better, <http://www.dreamsongs.com/WIB.html>, Wikipedia for a brief overview of PCLSR: <http://en.wikipedia.org/wiki/PCLSRing> and Alan Bawden's great paper PCLSRing: Keeping Process State Modular: <http://www.hack.org/mc/texts/pclsr.txt>

</comment><comment><USER4> required reading: The Little Manual of API Design <http://chaos.troll.no/~shausman/api-design/api-design.pdf> [pdf]</comment>


What is the best terminal/editor font? - <AUTHOR> The design for hackers article made me wonder what the best font is for text editing (program code).<p>Typically I either work in a terminal emulator or in a GUI based editor and the amount of time I spend looking at either one of these is simply scary. So is there any font that makes work like that easier on the eyes? <comment><USER2> Menlo. It's like Monaco with all the sucky bits fixed.

I code in 9-point Menlo (antialiased, of course) on a pair of 30" 2560x1600 displays, and it is awesome. Before that I used Consolas. Before that I used Bitstream Vera Sans Mono and often googled for programmer fonts. But none of those could ever go for hours at 9-point size without bugging me. (I prefer Menlo at larger sizes, too.)

One interesting thing is that the font looks noticeably better on my Apple 30" Cinema Display (from 2007) than it does on my Dell 3008WFP (from 2008), both hooked up to the same Mac Pro. Not sure if that's just a coincidence or whether Apple really did some kind of freaky font-tuning for Apple gear. But anyway, coding font has been a kind of personal holy grail for me for years and years, and Menlo is my #1 favorite thing they added in Snow Leopard.

</comment><comment><USER3> Stack Overflow poll about this very subject: [http://stackoverflow.com/questions/4689/recommended-fonts- fo...](http://stackoverflow.com/questions/4689/recommended-fonts-for- programming)

I've been using Inconsolata recently and so far so good.

</comment><comment><USER4> Good ol' Monaco...

Some more discussion here: <http://hivelogic.com/articles/top-10-programming- fonts>

And then there's this: <http://www.lowing.org/fonts/>

</comment><comment><USER5> I recommend Terminus. It's easy on the eyes and looks great in smaller sizes

</comment><comment><USER6> That's easy: Liberation Mono -- hands down winner in my humble opinion

<https://fedorahosted.org/liberation-fonts/>

</comment><comment><USER7> I've been using Bitstream Vera Sans Mono lately.

</comment><comment><USER8> i use this one ProFont <http://werf.ru/comment?id=129>

</comment><comment><USER9> andale mono ftw, baby!</comment>


Java's Cover (April 2001) - <AUTHOR> http://www.paulgraham.com/javacover.html <comment><USER3> let me point to a comment made by PG yesterday when asked by thaumaturgy what it's like to have your every written (or spoken!) word analyzed by a bunch of people?

 _It's pretty grim. I think that's one of the reasons I write fewer essays now. After I wrote this one, I had to go back and armor it by pre-empting anything I could imagine anyone willfully misunderstanding to use as a weapon in comment threads. The whole of footnote 1 is such armor for example. I essentially anticipated all the "No, what I said was" type comments I'd have had to make on HN and just included them in the essay. It's a uniquely bad combination to both write essays and run a forum. It's like having comments enabled on your blog whether you want them or not._

<http://news.ycombinator.com/item?id=4497691>

Maybe we should be discussing the future of finance, crowdsourced funding, new programming paradigms or some other interesting forward looking stuff instead of spending our time looking backwards trying to poke holes in an essay written more than ten years ago.

<comment><USER4> While I usually agree, in this case I found it a very interesting. pg is a very influential figure in many business circles, but for a lot of people on HN, pg is a very influential _hacker_ , who has thought a lot about hacking and the software creation business, and has very graciously let us look into those thoughts. From that lens, this is a very interesting article.

I personally think this article makes great predictions. Obviously, Java has since become an incredibly popular language. But I still think there are many people (including me!) who have the same beliefs about Java as are shown in the article. Many people consider it a much more "business-y" or "bureacratic" language than, say, Python/Ruby or many others.

<comment><USER5> pg never said Java would be unpopular. He dismissed it much as he dismissed Cobol and Visual Basic. In 1990 Cobol was the most popular programming language in the world [1]. And in 2000 Visual Basic was the most popular programming language in the world [2].

The essay is about hacker's radar, not Java, anyway. Personally I loved his list of other technologies he has ignored.

[1] <http://archive.adaic.com/docs/reports/lawlis/m.htm>

[2] [http://www.thefreelibrary.com/Visual+Basic+Programmers+Journ...](http://www.thefreelibrary.com/Visual+Basic+Programmers+Journal+Celebrates+Its+Ninth+Anniversary.-a058522477)

<comment><USER6> From the article: "So far, Java seems like a stinker to me. I've never written a Java program, never more than glanced over reference books about it, but I have a hunch that it won't be a very successful language."

I think that pretty clearly says that (at that time) he didn't think it'd be very popular.

<comment><USER7> So, you think popularity is success? I think that when Paul says "success", he means "winning" in an old sense that "those who adopt X have a better chance at winning" whatever it is. Just because the language is widely used doesn't mean it's contributing to the success of the adopters.

<comment><USER8> So how would you propose measuring "contributing to the success of the adopters" ? It seems that there is no way to either prove or disprove the statement hence any statement about the "success" of a language could be claimed as valid/true.

</comment></comment></comment></comment></comment></comment><comment><USER9> > _9\. It's designed for large organizations. Large organizations have > different aims from hackers._

This is where I think pg's bias steered him wrong. Hackers tend not to like Java (although that is less the case now with the JVM ecosystem being what it is), but hackers do not solely determine the success of technology. Furthermore, the type of hacker that pg is interested in—the lisper, the 10Xer, the startup founder—are in limited supply. Certainly they wield more influence per capita, but they still need critical mass to form a stable community around an open source platform in order to compete with large organizations. If you're looking to build a product or a small scale project, by all means find yourself a Grade-A hacker.

If you want to make the next ubiquitous programming platform though, there are other qualities that are necessary. Consensus building is probably the most important skill that large organizations have that hackers will struggle with at scale. If you have a ton of management and mediocre programmers, it's easier to at least get them moving in the same direction, and they'll be more tolerant of the foibles of a designed-by-committee language. Sun had the perfect storm of strong technical talent to design a solid language, but also the large organization effects to market a new platform to enterprise decision makers.

In a way I think pg's smell test might be more valid for an earlier era. He underestimated the influence of the mediocre programming armies, probably because back in the old days there weren't as many and they weren't as mediocre. This is just speculation on my part, but I have to imagine that the quality of the average programmer as declined over time as the numbers and appearance as a recognized career path have increased. I mean how many people were programmers in the 70s because they're parents thought that's what they should go to school for?

<comment><USER10> I was going to say almost exactly the same thing. The items that he listed are certainly detrimental from a startup perspective, but for a big company I think that they are actually arguments in favor of Java. Unfortunately for Paul Graham, and his prediction, the big companies have had more say in adoption than the startups. I agree with you. In hindsight, it makes perfect sense. But, it wouldn't necessarily have been obvious at the time.

Personally, I dislike the language wars. I think that a good developer should be able to write good software with the tools available. Arguing the opposite always smacked of the "silver bullet" to me.

<comment><USER11> In the end, all languages are Turing complete, but there is still a difference. It is similar to woodwork (from the small dabbling I've done in woodworking): good tools make you faster and can produce better output. You _can_ produce the same quality, but it takes a whole lot more effort.

But more important than the tools you choose (Makita vs DeWalt, Chevy vs Ford), getting to know them is far more important. And that's where the language wars seem to fail: the recognition that a guy with 15 years of good Java experience will code circles around that <insert your language here> beginner.

<comment><USER12> XML is not Turing complete, nor are most configuration file formats. Yet these are used to provide significant behavior. They are are programs. Programs are data. Data are programs.

<comment><USER13> > XML is not Turing complete

No, but it's also not a programming language. Of course, there are languages that use XML as their syntax, and many of these are Truing complete.

</comment></comment></comment></comment></comment><comment><USER14> It is very interesting and worth pointing out that in the beginning of the essay says

 _So, just in case it does any good, let me clarify that I'm not writing here about Java (which I have never used) but about hacker's radar (which I have thought about a lot)._

Most of the comments here on HN have been about Java and not about hackers' radars. This is not necessarily bad but it is interesting. I've seen lots of examples of this politics but not on a topic about technology. Does the topic of programming languages have the same sort of emotional sensitivity that politics does?

<comment><USER15> Spot on comment.

There are even comments regarding Java in which is obvious that the commenter doesn't have good knowledge of either Java or the JVM.

</comment></comment><comment><USER16> Coming from a Perl and C++ background, Java was great because the designers dared to remove so many features from the language. In that sense, it made the efforts of the coders stand out more than the features of the language. This is an important message to an up-and-coming hacker.

That said, Java is far from an ideal language. It lacks many features and is somewhat clunky.

It does do a few things right, though. It hits a sweet spot being both simplistic and fast. By choosing a single packaging, developers could use all features everywhere, and start to rely on them. I think it certainly gave a boost to concurrent programming. IMO, Java also drove the acceptance of GC:ed languages.

Now that Java has stagnated, I think that it is time for many old Javaites to abandon ship and transition to new languages. Perhaps it's best to let Java be. Leave it as a historical language that had its glory days. Perhaps someone will admire it for what it's designers dared to do. Perhaps for what it did for the community. Or perhaps new up-and-coming coders can look in those old code-bases and see some retro-style simplistic beauty.

<comment><USER17> Thanks to Android I've been writing a ton of Java code lately and, _with a good IDE_ , it's not really that bad.

It should steal a few tricks from C# though. If it adopted the var keyword and real lambdas, and something like LINQ, it would actually be a fairly pleasant language to work with.

<comment><USER18> I think you captured the essence very nicely there: Java is the not-really- that-bad language.

It's not very powerful and it lacks many useful features.

On the other hand, you can do almost anything with it eventually and it's simple enough that stupid syntax mistakes are relatively rare in Java code.

It's a solid tool for a journeyman, and a crude instrument for a master. But most people are never going to be masters, and most of those who will be one day aren't masters yet.

<comment><USER19> By powerful do you mean that Java is not very expressive? Java can do pretty much anything that any other language can do.

<comment><USER18> _Java can do pretty much anything that any other language can do._

Sure. That's part of my point. But just because languages are computationally equivalent (cf. Turing), that doesn't mean one is as powerful/expressive as another. I can get things done a lot faster in Python than in Whitespace.

The boilerplate in Java is a huge drag on everyday coding, and Java has weak support for (among many other things) working with functions, text manipulation, and in some cases even basic arithemetic. You can make things work eventually, but sometimes the effort required and volume of resulting junk code is prohibitive for otherwise useful programming techniques. That's an asset if and only if the people on your team aren't up to using those techniques anyway (and can't easily become so).

</comment></comment></comment></comment></comment><comment><USER20> I like Java - and I say this as someone who mostly used Python for the last 10 years (I learned other languages for fun, but did most "productive" work in Python).

My main issue with Java a decade ago was all the bloat in the framework. Want to write a Web application? Just use J2EE and write a few factory factories. Or use the "lightweight" Spring alternative, that allows you to write plenty of XML code.

This bloat got much better during the recent years and a number of sane frameworks have evolved. Want to write a Web service? Use Dropwizward. A Web application? There's the Play framework.

Java as a language is pretty nice. Yes - it has its warts, but the language is relatively simple to understand and isn't missing too many important features (Lambdas would be nice). In addition the type system really helps a lot when having larger codebases. Yes - it's not perfect (type erasure, ...), but it mostly does its job.

<comment><USER8> Your comments about Spring (not really lightweight) and Play (lightweight) are spot on.

</comment></comment><comment><USER21> "Historically, languages designed for other people to use have been bad: Cobol, PL/I, Pascal, Ada, C++. The good languages have been those that were designed for their own creators: C, Perl, Smalltalk, Lisp."

Dazzling argumentative prowess. If I wrote that, I'd be called a troll and downvoted for senseless flaming.

Historically people making baseless judgements like that have been proven to be wrong.

<comment><USER22> No, he's right. Now, Java is not such a terrible language. On a 1-to-10 scale, it's a solid 5. (5.01? Can I make that joke?) It's unpleasant and verbose, but the early Java community had real language designers, and even some heavyweights, behind it (including Odersky, designer of Scala) and believe me, they've made more good decisions than bad ones. (Language design is hard, yo.) They got Unicode right in a time where expert language designers had their heads in the sand on that one (UTF-16 is annoying, but it's a hell of a lot better than byte arrays and strings living in the same type.) However, Java was inevitably hijacked by the "commodity programmer" culture where businessmen make decisions based on risk-limiting amid mediocrity rather than clearing barriers and allowing excellence (as well as a few non-starters, cf. Paul Graham's notion of "Black Swan Farming") to shine. It's not a fun language to use, and the community that has grown up around it since its inception has shown bad taste (J2EE, Maven, Eclipse). But for a period of about a decade, Java was the best (if not only) choice for a variety of problems.

Also, Java managed to succeed in the enterprise by feasting on Cobol's corpse, but it built up a Detroit: a good-enough but unattractive infrastructure that thrives when people have solid economic reasons to care about it, then is abandoned rapidly when the context changes.

Groovy, Scala, and Clojure came out of an interesting insight: there's some stuff in the JVM ecosystem that's too valuable to abandon just because the Java language is (albeit slowly) dying. It'll be interesting to see how these languages evolve in the next 15 years. Clojure is (IMO) the best Lisp, and Scala is exciting as well... but there's a lot of cultural legacy to deal with (there's plenty of bad Scala code being written by recently-promoted Java programmers; most of them will improve massively as they get a hang of the language, I hope.) Step 1 is to either improve or fire the FactoryFactory crowd in its entirety.

<comment><USER23> Java got unicode horribly, horribly wrong; assuming everything will be in the BMP is like assuming everything will be ascii, only harder to spot in testing.

It got some things right; threading (even ten years on Java has a more reliable thread model than tcl/perl/python/ruby), strong typing (not much use day-to-day, but incredibly valuable for building extensible libraries that can nevertheless be evolved without breaking existing code), maven.

I think it achieved the enormous success it has mostly by being a conservative, incremental improvement over C++ and Cobol. A lot of things introduced in later versions of java were things other languages had been doing for years, but an unwillingness to adopt unproven techniques is the best thing about java. I don't think it even is the best choice for any given problem - it's just that in a real world of mediocrity and turnover, java makes it possible to produce reliable, boring code with minimal risk.

<comment><USER24> The unicode consortium got unicode wrong, not java. At the time Java was created, there only was a BMP and Unicode had a purely 16-bit design. Therefore, it was perfectly reasonable for java to assume a 16-bit char. Unicode was later extended to support more than 2^16 characters, but that was after java was created, hence the need for UCS-2/UTF-16

Other languages which strongly value backwards compatibility and were created around the same time have the same issue - e.g.: C#/.NET, i believe python as well

</comment></comment></comment></comment><comment><USER25> I'll say it ... I love Java (and I'd been hacking in a for a couple years when PG wrote his article).

I came from an embedded systems background and treated the JVM as my machine. I read and understood the JVM specification, and then the language specification. By that time it wasn't any different to me than writing for a uP or uC. At that time, Java was a fast-growing eco-system and our JUG met twice a month to keep up.

While this was happening, I knew a lot of people like PG who _did_ judge the book by its cover (and there were parts of the cover I didn't like). Don't be so hard on him as he admitted he never cracked it open.

Out of curiousity, have any of the YC start-ups used Java? I'm curious whether he's still biased against it. (We can count JVM languages for half points).

</comment><comment><USER26> The title of the submission is a bit misleading.

PG explicitly states in the essay that it's not that much on Java itself but rather on the way hackers judge technologies (the "hacker radar" in his expression).

And these are not quite predictions but statements on how Java is (or was then back in 2001) perceived.

And I think, IMHO, a substantial part of the Java success today should be attributed to the JVM, not so much to Java, the language. Clojure/Scala/etc. are kind of clues for this.

<comment><USER27> No hard numbers, but I'm sure most Java implementations are still running Java the language. IMHO Java's success today is more because of corporate inertia than anything else. Kinda like how COBOL still has users in this day and age.

It also helps that it's one of the languages being taught in CS classes.

<comment><USER28> I work in a very large company that has primarily Java for web apps and back end processes in COBOL/Mainframe environments. I've been steering things towards Groovy or Ruby for new projects, largely using productivity as the justification. Top push backs from upper management have been: 1) Universities we recruit from teach Java & most prospective employees already know Java 2) Costs of retraining workforce 3) They don't understand those langs can be utilized with our current JVM ecosystem

I feel pretty much all those reasons are specious and really shouldn't be holding things back. We've got a foothold established with success of some smaller projects using Groovy and Ruby to "prove" their viability. I'd like to try Scala next to see how it would fit for some of our other projects.

TLDR: At least one large company is making efforts to evolve beyond just Java in the JVM.

</comment></comment></comment><comment><USER29> For the _Dune_ fans out there...

Java and the JVM ecosystem strike me as very much like the programmers "Golden Path". That is (for those not familiar with _Dune_ ), Java represents a sort of "forced peace". Yes, things work. Yes, tools are available. Yes, there is decent, even good, documentation.

No...nobody's happy about it. But then Java also bred the JVM, and today we have "the Scattering" (another Dune reference), where hackers, honest-to- goodness _hackers_ , have spread out from this forced peace to build a new world. One that, while it will not be as peaceful as the uniform world of Java, will ensure that the JVM remains relevant long into the future.

<comment><USER30> I always thought the Golden Path referred to the continuing fate of the human race and continued after Leto's death, not referring just to his forced peace.

Still, I'm impressed that you managed to work a Dune metaphor into a Java discussion...

</comment></comment><comment><USER31> Well, _is_ Java a clean, beautiful powerful language that people love programming in?

<comment><USER32> I have been developing Java since 1996. I have a written a lot of Java so I'm probably a pretty strong example of a Java developer. I'm an above average developer (and that might be generous) but not much of a hacker.

So let's get to it.

Is Java clean and beautiful? Sure, it's easy to read and just about anyone who has read any other language can figure out what's going on.

Is Java powerful? You can do just about whatever you want with it. Early on it was pretty tough to get to the native level but that has become less of an issue over the years. It still doesn't do graphics all that well so it's never been a great option for game development.

Do people love programming it? Programming is tedious work and good languages help reduce the tedium. I'm not sure Java reduces the tedium _enough_ , it may even increase it. But this is what makes it cleaner than other other languages. Sometimes the tedium that it doesn't reduce is how others can come in and know what I was thinking then I developed it. However, POJOs with getters and setters are tedium no one explicitly needs.

I'm currently working on a new project (in Java) that I found I was building more classes than I felt I needed. A lot of getters and setters, object managers for each object, DAOs for each object, and each object itself. All that before anything even makes it into or out of a database. I thought if it would be easier in any other language and the answer was yes, but only temporarily. Once this boilerplate stuff is done I would have a very robust application that is easy to refactor if necessary and just about anyone can add to it will little trouble.

That said, I've been meaning to try out scala and python. I tried ruby but found it a little too _young_ (but that was a couple years ago). I also said I'm not much of a hacker so I tend to spend my free time doing things other than development. I'll probably get around to learning those languages right after I learn to play the piano and can speak fluent German.

<comment><USER33> >Is Java clean and beautiful? Sure, it's easy to read and just about anyone who has read any other language can figure out what's going on.

Easy to read? What? Let me do a simple comparison. Let's say there's a site, ycombinator.com, that wants to ban anyone who posts "First post!" on a story. Here is what the python code would look like:

      if "first post!" in comment.text.lower():
          comment.user.ban()

Here's what the Java code would look like:

      public static void class PostPunisher extends PostHandler raises Exception {
        public void PostPostHook(Comment comment) {
          if (comment.text.to_string().to_lowercase().contains_substring("first post!")) {
            comment.User.Banner.execute();
          }
        }
      }

Well, I left off a few factory factories there, but you get the picture.

<comment><USER32> You're being obtuse just to be obtuse. This is exactly the type of nonconstructive feedback that does no one any good.

There is no difference in your python code than the Java code that someone would write:

      if(comment.getText().toLowerCase().contains("first post!"))
      {
        comment.getUser().ban();
      }

Java doesn't require a class, it doesn't require a method, it doesn't require a factory. There is literally zero difference between the python example and my Java example except the syntax between the languages.

You just felt the need to unnecessarily obfuscate the code to suit your argument.

<comment><USER33> Do you disagree that Java typically requires the additional boilerplate I showed?

<comment><USER32> I believe my last post clearly showed that I disagree.

There is no 'boilerplate' required with Java. Anyone can obfuscate Java, or any language, and make code that is overly and unnecessarily complicated. Some do it because they don't know better. Some, like yourself, just do it to be an ass.

<comment><USER33> I wasn't doing it to be an ass. Even if you are allowed to manipulate the class function you're dealing with (and so spare new classes), most java code does look like the example I gave: lots of verbiage, having to create special classes (including [verb]-er classes). Very, very unpleasant to read, and not big on beauty either.

</comment></comment></comment></comment></comment></comment></comment><comment><USER34>
      > a hunch that it [Java] won't be a very successful language

He lists COBOL as a bad language - but it's been very successful. So I think he's not really writing about "success", but about what hackers like. Interpreted this way, he's accurate: hackers _don't_ like Java.

Businesses like investments that keep returning value - for languages, that means compatibility and portability. Hackers like to change things - expressiveness and power. Java code from years ago still works; it's also portable across machines and OSes. In contrast, ruby broke my simple toy code, after just a few months, in a minor point-release. Similarly, I believe there are many incompatible versions of lisp, and many hackers write their own libraries rather than reuse, so there's little standardisation. Different things are valued.

So I agree with pg's theme that if businesses like it, hackers won't. (There's some factual inaccuracies in the rest, but that wasn't his point.)

<comment><USER35> _hackers don't like Java_

Speak for yourself.

</comment></comment><comment><USER36> I'm probably going to get flamed for this but I think even for it's time, it's wrong on a few accounts and it stinks of elitism and an "I am better than thou" attitude rather than a discussion on relative merits or the preface which was slapped on to change the context. It sounds like it's written by someone who's comfortable status quo is threatened.

Ubiquitous readily available knowledge is power, not elitist hackerism...

</comment><comment><USER37> That's one I hadn't read, although sadly I agree with much of it. As one of the people who worked on the 'LiveOak' project which was the final, and presumptively last gasp, of Java before Sun 'redeployed' all of us, there was this really modest view of what the language was. And then it was released and folks started saying "Gee if people deliver programs in the browser, and Sun owns the language/environment of the browser, they are going to freeze Microsoft right out of the market, brilliant!"

Except nobody who was actually a part of the Java group said that, they said "Gee you can push a chemical molecule viewer to the browser at the same time you push a model, that will let you publish stuff without having to wait for browsers to 'catch up'"

Sun corporate had their own ideas though, and seeing it as a way to 'attack Microsoft' (which looked pretty unassailable in 1995) and a lot of other people were feeling the same way, and the language got hijacked. That was a sad thing indeed. I feel sorry for the developers who create a technology that is perceived as the way to 'kill Apple' or 'kill Google' since it will be very popular and ultimately corrupted by those who would seek to use it in that role. I have the misfortune of having worked on something which Sun tried to kill Microsoft with and Oracle tried to damage Google with. 2 for 2, yuck.

So if you can separate the language from the politics, there is a lot to like, it has been influential in a number of positive ways. But the taint on the language from the politics will be its most enduring legacy I suspect.

</comment><comment><USER38> I've always felt that it's a language designed to help eliminate the worst of programming, which has the side-effect of limiting some of the best programming.

So great for big businesses, but poor for hackers wanting to do cool stuff.

</comment><comment><USER27> First off I must say that I like reading about past predictions. It can provide insights into how well current predictions may pan out in the future.

It interesting that all the points made 11 years ago can still be made today, with the exceptions of #1("It has been so energetically hyped") and #8("It's pseudo-hip"). I guess it's true that the more things change, the more they stay the same.

</comment><comment><USER39> "No one loves it. C, Perl, Python, Smalltalk, and Lisp programmers love their languages. I've never heard anyone say that they loved Java."

I love Java. I loved Smalltalk until 1996, then I read Java White Paper and VM Specification and I fell in love with Java and I am still loving it more than any other programming language. I programmed in Basic, Assembler, Pascal, Oberon, C, C++, Smalltalk, Perl, PHP, Python, Ruby (on Rails) and used many technologies. Smalltalk was my love from 1992 until 1996...

I could write a lot about why do I love Java. If somebody is interested, I can explain...

"People are forced to use it. ... if the technology was good, they'd have used it voluntarily."

I am using it voluntarily for all my projects more than 15 years now. I even migrated all my programs from other languages to Java... I am regularly checking new programming languages - recently I tried out Dart and Go - and I still can not find a better programming language for me... Java is still Nr. 1!

I confess: I love Java. :-)

</comment><comment><USER40> I built a new programming language in scheme, wrote a compiler in C, map reduces in C++. I hate struts, hibernate and all shitty enterprise frameworks but I can proudly say that I love Java. I have used it for Speech synthesis, Image processing, Machine Learning, NLP and of-course Search. It's awesome.

</comment><comment><USER41> Java is horrible for prototyping, it's designed for large environments where management of complexity (through interfaces and some level of top down design) is desirable.

It's not a hacker language.

PG makes a very good point though - that today's teenagers (hackers?) are tomorrows CEOs. But not everyone can be above average, not every CEO can be of a technology company, and eventually those CEOs need to hire average programmers to do basic enterprise information systems work.

Scala on the JVM with play framework is looking pretty agile these days too

</comment><comment><USER42> The only prediction he made is that he would personally not like to program in it and that he could safely ignore it. I think that prediction has come true. He ignored it and that had no detrimental effect on him. Not ignoring it would probably not have had a benefit.

He didn't say that Java will die, that some people won't benefit from it, that useful things won't be made from it.

It's way too large for some good not to come out of it.

</comment><comment><USER43> I've become really fond of Groovy during the last weeks. It's compatible with the huge number of existing Java code but more terse. Also its defaults seem more pragmatic, e.g., "==" comparing Strings by value or implicit setters/getters. And version 2 promises Java like performance (and type checks) for statically compiled code.

</comment><comment><USER44> Another thought just struck me - a friend was relaying his thoughts on Java/JVM vs other languages. Again, related to pg's wrappers, the core thought was "Java as a language was more designed for the computer than a developer. Something like perl was more designed for a developer rather than the computer". The point was more expository than that, but that's stuck with me. Static languages in general seem to be that way, whereas dynamic langs (perl, ruby, php, etc), will make operations much simpler for a dev to implement, even at the expense of speed/clarity to the underlying os/vm. Perhaps there's more nuance here that I'm missing, or perhaps this 'wrapper' fits inside one of pg's wrappers already?

<comment><USER45> Scala is statically typed, runs on the JVM, and yet feels very much like writing Ruby or Python to me. The only time you have to add typing in the codes is where I would usually add it anyway in a dynamic language, via comments or stereotypically-named function arguments.

</comment></comment><comment><USER46> I believe that PG is totally right in this one.

Android uses java not because it has been decided by the hackers but because of a top-down decision from a big organization. It made strategic and economic sense for them.

All big organizations love java and most programmers are not hacker geniuses, they just want to pay the rent. So most programmers(in number) use java or C#.

I use Java a lot, but is so bloated, slow and "I'm sorry, Dave. I'm afraid I can't do that." But it brought VMs to the table and that was a good contribution as it is really useful for some applications. Now that you could do that on C or C++ with LLVM but is easier on java.

For a simple proof of concept I will use java, or python, when I 'm serious I will use c, c++ or obj c.

</comment><comment><USER47> Java might appear to be more successful than the (2001) article suggests, but it is geared towards java "the language." Its not a great language, but has found itself at the right place at the right time to address certain technical concerns (a "better" C++ at a time alternatives were being sought, concurrency with the rise of multi-core processing).

Java "the platform" (the JVM) has been a bigger focus in recent days especially with additional language support (JRuby, Jython, Clojure, Groovy, Scala). This support has been expanded in each recent release and seems to be the basis for the majority of the articles that appear on HN (or at least that I notice).

</comment><comment><USER48> Where do you find Go in 2012. It is also sponsored by a large organization.

</comment><comment><USER49> Having developed in Java for years, I agree with some of the points which PG has predicted 11yrs ago!

That said, using Java is sort of a insurance policy.

1\. It's easy to find developers. _Sometimes_ easier to outsource modules. 2\. It's usually hard to make mistakes in Java (you can screw up, if you want to) - mainly due to great tooling and excellent time-tested frameworks which help a tonne. 3\. Has good complementary languages (Scala, Groovy, JRuby..), which interop well with other frameworks at large. 3\. JVM does black-magic for you.

I guess committee did make a decent pick then.

<comment><USER15> JVM does not do black magic. You can donwload the source if you want to see what's going on: <http://openjdk.java.net/groups/hotspot/>

<comment><USER49> I know... I was talking about the optimizations which JVM does on fly.

<comment><USER15> You're right about that, and as a plus, depending on which JVM options you use it can act differently [http://www.xenoc.demon.co.uk/A%20Collection%20of%20JVM%20Opt...](http://www.xenoc.demon.co.uk/A%20Collection%20of%20JVM%20Options.htm)

</comment></comment></comment></comment><comment><USER50> Indeed this as an interesting topic; however, I think that many missed the point of the essay altogether. He wasn't saying that Java is a horrible language just that it's not viewed favorably by "hackers". I think that he is probably right but I didn't know he spoke for hackers everywhere. Java is just another tool in the box that almost everyone has to use at some point. Is it ideal? No. Is it perfect? Nope. Is it fun to write software with? Sometimes. I spend most of my days writing Python code with either Django or Pyramid and also have problems with it from time to time. Though I consider Python my "favorite" language it's far from perfect! All languages/platforms have their problems and tradeoffs and there is little you can do about it other than create your own.

Just because Java is not viewed favorably by some random sample of hackers that pg may or may not know doesn't mean it's not an effective language. Hell, I think C and C++ are both horrible but I have to use them sometimes and while its not ideal for me it is what it is. If you wanna get paid, you'll use what you have to. (Joel Spolsky cover your eyes) I went to a Java school to computer science [GASP!] and it was fine. I already knew how to code so it was just a formality for me; however now that I'm looking at Android development I'm glad that I learned some Java along the way. A hacker is a hacker no matter what language they use and most programmers are not good enough to be called hackers anyway.

Predictions are very much like arses; everyone has them and they usually stink.

<comment><USER51> Exactly. All this talk about mediocre programmers use java and good programmers use "new cool hipster" languages is just a very biased statement.

There are hackers in every language and there are mediocre programmers in every language.

I've seen more mediocre programmers wanting to learn the new hipster languages than java. In 10 years from now these same languages will be on the java spot, and the cycle will continue.

But it does amuse me how so many people think they are better programmers because they use language X or Y.

Love the predictions analogy :p

</comment></comment><comment><USER45> Okay, I think I fit the "hacker" name (whatever that is) as well as anyone.

And for my next project, easily the most ambitious I've undertaken, I'm working on the JVM.

If you'd asked me three years ago if I'd ever write Java code, the answer would be no.

I don't really write Java though – I'm mostly using Scala, along with a couple of libraries that were written in Java, that I patch (e.g. Cassandra).

Point is, hackers _are_ choosing the JVM today, whether its Scala, Clojure, Groovy, or JRuby, Jython, and the like. And having Java in the mix, from my perspective, is not at all bad. It means there's _tonnes_ of relatively usable libraries out there, that are easy to tweak without breaking things, that have had plenty of time to bake.

The Java classloader mechanism is kind of nasty when it's paired with application servers, but consider on its own, it's allowing us to do live rollouts of new applications written in Scala without restarting the JVM. (We don't use an application server, we effectively wrote our own.)

Akka is like Erlang-light, and paired with Scala, makes the kinds of things people are wanting to do with Node.js (which I ported to Solaris, along with v8) easier, faster, and safer.

tl;dr Hackers _are_ starting to choose the JVM, and the modern languages built on top of it (Scala, Groovy, Clojure) and the huge base of existing Java libs is making that possible -- just like the huge base of C/C++ libs made choosing Python, Ruby, or Perl reasonable a decade ago.

</comment><comment><USER52> Quite good points except the major one : "I have a hunch that it won't be a very successful language"

<comment><USER53> Granted, pg has not explicitly defined "successful" but it is clear from the context. By this definition Java is not successful.

<comment><USER54> So why is it unsuccessful? Sure inside the browser its a piece of crap, but in terms of usage and the number of OSes and embedded processors it runs on, its surpassed probably only by C.

<comment><USER53> It is not popular among hackers.

<comment><USER8> The zero day applet exploits say otherwise ;)

</comment></comment></comment></comment></comment><comment><USER55> "Historically, languages designed for other people to use have been bad: Cobol, PL/I, Pascal, Ada, C++. The good languages have been those that were designed for their own creators: C, Perl, Smalltalk, Lisp."

They might not be the most beautiful languages ever invented, but they power a great deal of real-world applications. If people managed to write useful software with those, I consider that a success.

On the other hand, I probably never used or depended on any software written in Smalltalk in my life.

</comment><comment><USER56> Hmm... Android uses java. Therefore, Android smells suspicious?

</comment><comment><USER57> I actually like Java very much and am tremendously productive with it. It's a simple language and simplicity helps in many areas. It got many things right. It has a comprehensive standard library. Threading is excellent. Performance is excellent. Typing is helpful.

Its support for functional programming is lacking, which is why a lot of people from fp background have a dim view of it.

</comment><comment><USER58> I love C++ and I know guys who love Java. And they are great systems programmers. I have nothing against Java the language (I do dislike the focus on OOP), but do have issues with JVMs (I prefer real machines rather than virtual ones), however, I would not say that no one loves Java. It has a place and is useful, and is appreciated, by many.

</comment><comment><USER59> After reading this I'm completely convinced that Go will be one of the world's most used languages within a decade.

<comment><USER60> By that logic, Google will cease to exist!

</comment></comment><comment><USER61> It's never been a loved language, but there it is, pretty much all over the place so many years later. I wouldn't have guessed that either!

I'd be more interested in reading on well-rehearsed, _current_ predictions about Java. Many enterprises are starting to consider (mostly JVM-based) alternatives these days.

<comment><USER62> > I'd be more interested in reading on well-rehearsed, current predictions > about Java.

I predict Java-the-language will stick around for at least another decade, if not for the huge enterprise codebases and the years invested in Java training, it would be because of Android. The biggest mobile platform of the moment is Android, and it's completely focussed on Java (whether that's a good thing is a whole different discussion).

Without Android, I think Java-the-language would fade very quickly, because IMO you can't possible assert the language is better in any way, for any kind of purpose, compared to the many alternatives. It's archaic, verbose, unnecessarily restrictive, misses most of the more modern language features, or bolted them on like ugly warts, it is not a very good RAD language because you need so much boilerplate, etc. In my experience (I've written about 100k lines of Java, many multiples of that in C, C++, Delphi, Python, Objective-C and PHP), Java is without doubt the least pleasant language to write.

As for Java-the-platform, I think that part of Java will not go away quickly. The JVM is actually very good, and the Java JDK frameworks are extensive, well-documented and well-known. New languages on top of the JVM, that allow leveraging the JDK frameworks will remain very popular for a long time, for good reasons.

</comment></comment><comment><USER44> I remember java from 1998/99, and by 2001 was getting the 'you should do java' routine from some colleagues. "why?" "there's so many jobs out there for it - it must be better!" That seems very much like another 'wrapper' pg is talking about.

I remember my immediate reaction was "there may be more jobs because it's takes twice as many people to write similar code as many other languages". In some ways I still feel that. The open source ecosystem around the JVM now does allow a much different level of productivity than the JVM offered in 1998. However, when I have to drop down to just plain-old-java, I'm reminded of how verbose and clunky the language is. When using the JVM, I'm typically on Groovy using some great Apache libs and such, both of which tend to shield the clunk away. :)

</comment><comment><USER63> Personally I don't think the accuracy or inaccuracy (both are debatable) of the opinion is that interesting, and I've run a Java Users Group for over 12 years. I felt the article is much more interesting as a look inside a hacker's head as to what non-technical factors influence his/her opinions (and ultimately decisions) about a technology. I wrote a blog post breaking down his reasoning for the 'stink' and how those are/aren't applicable to today's software landscape. <http://jobtipsforgeeks.com/2012/09/11/howhackerschoosetools/> <http://news.ycombinator.com/item?id=4510455> to discuss on HN

</comment><comment><USER25> I just started a thread for HNers that would like to meet at JavaOne - <USER2> <http://news.ycombinator.com/item?id=4504803> for a discussion of time and place.

</comment><comment><USER64> I'm not sure I find much to quibble with in the essay. In fact I find it almost prescient. Having worked with Java in an enterprise setting for over 12 years almost everything in that essay rings true. As we are acutely aware the enterprise beast moves to a very different beat - namely the vendors looking to make their numbers for the year. You're an IBM shop or a Microsoft shop. The decision's been made for you. And there's nothing wrong with that. As someone else pointed out, you're buying tooling, support and in the case of IBM - hardware. It is the almost the COBOL of this generation.

</comment><comment><USER65> I don't think he's _wrong_ in any sense of the word when he wrote it. From the opening he's very forward about his "hacker radar".

From a hacker perspective, Java is typically a poor choice. But it didn't succeed on hacker merits so much as it did on sponsorship and forward pushing from business types. Any competent programmer who has been in the field for long enough sees Java's issues and strengths and can judge it impartially but I'd be hard off to find a single one that felt it was the "best" language by any means.

</comment><comment><USER66> Like or dislike Java, it has changed and transformed enterprise software fundamentally and remains one of the top used languages in the world.

And I thought it would happen the way it did.

Python was already around back then in 1994, but nobody cared because Java had Duke and was being pushed as the new idiom for everything networked.

Hacker's radar is a valuable instinct, but when a reputable commercial entity acts as a wise custodian, behind a technology with technical merit, effort can easily trigger and accelerate grass root adoption.

</comment><comment><USER67> Back in school days I learned about programming paradigms, programming language technologies and cutting edge research on programming languages. I learned Java and also Haskell. Most of my class mates including all the teachers knew this that any industry grade language needs to provide multi- paradigm support out of box or it'll die. If a species is not adaptable to its environment, it'll die. And Java is one of those species.

</comment><comment><USER68> Why's this ancient text from the canon of Graham getting resubmitted? So we can all have a good laugh? So the readers of this site can have a big argument over the definition of "success"? "Sure Java sees a lot of use by clueless corporations, but teh haxors disdain it, therefore it's a failure!" Incidentally, Google can be added to the list of big dummies who use Java.

</comment><comment><USER69> Right premises wrong conclusion. Most of the things PG says about Java are true but his conclusion that it wont be successful is completely wrong. Java is not a darling of hackers for all the reasons he has mentioned but it is embraced by large organizations for the very same reasons PG mentions which means there is huge market of job for Java coders if not hackers.

</comment><comment><USER70> These predictions are correct, for the values of popularity and world pg and HN deal with. Startups.

The thing not cleary stated (or possibly understood) is that "large organizations" far out strip startups in number of employees, amount of code written, advertising budgets. And Java is very popular in "large organizations".

</comment><comment><USER71> I wholeheartedly agree with him - I wish I had read this essay in 2001, I wish every Java developer, especially whose who were live in US, had read it. There was nothing wrong of Java in 2001, but, you should have caught the smell of corporate, protocol, committee, process, outsourcing, offshoring ...

</comment><comment><USER72> _"I have a hunch that it won't be a very successful"_

As a general case, the first thing which struck me when rereading this essay was the way in which Graham's writing style (and his draft readers' editing) has improved. Today, a similarly structured essay would clearly answer the question, "Successful how?"

</comment><comment><USER73> I think he has a lot of good points. I think if they would finally stop teaching Java in CS and other IT-related educations and Android would get proper support for other languages, Java(language) would slowly fade away.

</comment><comment><USER74> While this rings true after all these years, had it not been for Java those of us living in the midwest would have either had to move away or spend the intervening years coding in VB6.

</comment><comment><USER75> Except for the parts where he predicted Java's failure and FreeBSD's dominance, I see no big problem. He even predicted Sun's fate.

</comment><comment><USER76> > 4\. No one loves it.

I think he got that one right: none of my colleagues who write Java are that much into it. They just have to.

</comment><comment><USER77> > So far, Java seems like a stinker to me. I've never written a Java program

</comment><comment><USER78> Please add the date...

</comment><comment><USER79> *2001

<comment><USER80> Learnt Java at university and swore off it as soon as I finished my course. Had a day job writing Perl software and it has been much better. The only effect though is that I have been put off Object Orientated code to, I find that and Java too verbose and non-transparent enough to hack or maintain quickly.

<comment><USER25> We're a north and south pole ... I swore off Perl in 1996 or so and spend my day job coding in Java. I find that Perl is too obfuscated and inconsistent to write solid, maintainable code.

This is one where I think we're going to have to agree to disagree!

<comment><USER80> Sounds okay to me - at least we won't be bumping heads applying for the same roles :)

</comment></comment></comment></comment><comment><USER22> Java-the-language filled a need for some time, and there's a lot of value staked on the JVM, but Java-the-culture needs to die, and the sooner the better.

[http://michaelochurch.wordpress.com/2012/04/13/java-shop- pol...](http://michaelochurch.wordpress.com/2012/04/13/java-shop-politics/)

<comment><USER45> Fantastic article, and a perfect candidate for HN readers.

 _C++ exists because someone had a fever dream in which these two classes of vehicles got mixed up and thought, "I'm going to put wings on a fucking tank"._

<comment><USER81> Indeed. Another gem: _I haven't map-reduced a toaster cluster for years._</comment></comment></comment>


Ask HN: What's the deal with start-ups named ly? - <AUTHOR> I'm currently trying to launch a startup that has to do with email campaign analytics.  While thinking of a name, I was cruising the list of YC startups for inspiration.  What's the deal with the "<Verb>ly" style naming?  I know it's what the cool kids are doing these days, but doesn't it strike anyone as seeming kind of amateurish? <comment><USER2> To me, it does sound amateurish. It's like web designers' sites that have huge text saying "Hi, I'm Fred, and I'm a web designer with a real passion for standards-compliant sites!": maybe it was a clever trick the first time, but now it's just a very dated-looking meme.

If I wanted an original web site, I wouldn't go to a designer whose own page was one big cliché.

If I wanted serious software for my business, I wouldn't go to a site whose first impression is one big cliché. If they can't even come up with a clever/meaningful name for their own brand, it screams "I'm a 20-something wannabe with no real ideas" to me.

YMMV, just my $c, I'm sure there are exceptions, etc.

<comment><USER3> But on the other hand, I think the name of the brand matters less then everything else.

And if you want a good name, *.com is already saturated, you have to get really creative and you most likely cannot find domains from single words unless you're lucky.

Speaking for myself, it was painful for me to waist time on finding a good .com when the implementation was far from ready and I didn't have a marketing plan.

<comment><AUTHOR> I wouldn't say that. Look at Mint.com. I have a feeling that "Financly" wouldn't have done quite as well.

<comment><USER3> True, but I have a feeling "Mint.com" was not cheap.

<comment><USER4> mymint.com cost $3,000; mint.com cost $181k in Series A equity:

"They offered him [previous owner of mint.com] equity in the company's Series A funding round rather than a cash payment, and assured him that he'd be the only New York financier they'd let in."[0]

"I said, "I will give you $181 thousand in Series A equity. If we do well, you'll get an asymmetric upside. If we go bankrupt, you'll be in the situation as a preferred investor to get your money out first. I won't let anyone else from New York into this round of financing"[1]

[0]: <http://news.cnet.com/8301-13577_3-10457870-36.html>

[1]: [http://thinkvitamin.com/asides/aaron-patzer-on-how-to- take-y...](http://thinkvitamin.com/asides/aaron-patzer-on-how-to-take-your- start-up-to-the-next-level/)

</comment></comment></comment></comment></comment><comment><USER5> Pros:

\- Early adopters will immediately know you're a cool startup.

\- Easier to find an available domain.

Cons:

\- In a few years, the exact opposite will happen, "<verb>ly is so 2010".

\- Libya might might delete your domain name[1].

[1] [http://thenextweb.com/me/2010/10/06/libya-deletes-ly- domain-...](http://thenextweb.com/me/2010/10/06/libya-deletes-ly-domain- without-warning-or-notice-bit-ly-en-garde/)

<comment><USER6> May seem nit-picky...but its Libya!!!

<comment><USER5> Haha, I didn't realize you were pointing out a typo and was wondering why you were getting up voted. I thought you meant I was nit-picky over Libya's government or something :D

</comment></comment></comment><comment><USER7> '-ly' is just a very common English morpheme, which also happens to be a TLD. In the age of rapidly expanding domain names, the trend in general has been to find common suffixes that will fit within English phonotactics and morphology, to find words that, though they aren't English words, look like they could be without too much trouble. -(i)ous is another example—a word like 'Historious' (historio.us) is not a word, and is more or less only by chance attested in the OED; certainly it's not in the lexicon of any English speaker today. And yet one knows exactly what it would mean if it were a word.

You want to be ahead of the next trend? Find a proxy in Albania.

<comment><USER8> The problem with -(i)ous is that many people assume it's a latin word and type "historius", omitting the "o". The proper formation would indeed be historious, but what's proper has nothing to do with what people find easy.

I have half a mind to just rename the service to historius and use historius.com for it, although my inner grammar Nazi won't let me. Having historious.com (along with historius.com, of course) would be ideal.

<comment><USER7> To be completely honest, I did originally write the name as historius, and had to double-check that there was an O in there. Latin morphology often competes with English morphology when it comes to naming things.

<comment><USER8> Yeah :/ It's not a problem when your name is delicious, but when the word doesn't exist, there's a bit of an issue...

</comment></comment></comment></comment><comment><USER9> Amateurish? Not really-- just derivative.

As naming trends go, I'm not terribly impressed by this one; but, if you're willing to submit to the vagaries of Libyan law, meaningful _.ly_ domains are much easier to come by than _.com_ s, I suppose.

</comment><comment><USER10> Amateurish? No. The current fad? Sure.

What should be of far more concern is the risk that startups are taking with these TLDs. Example:

[http://www.thedomains.com/2010/10/08/days-after-vb-ly-was- se...](http://www.thedomains.com/2010/10/08/days-after-vb-ly-was-seized-by- the-libyan-registry-they-issue-a-statement-warning-on-any-4-letter-domain/)

.com domains are more expensive but are far less risky.

<comment><USER11> More expensive? Last time i checked .ly were at $100+/yr.

<comment><USER12> I think the poster means that getting the .com name without the "ly" tacked on the end is expensive. Sticking the ly on the name drops the .com price down to $10 in the US.

This is exactly the situation I was in. I needed a domain name, so I found what I could for $10. That meant I had a sub-optimal name for the time being.

<comment><USER10> +1 that's exactly what I mean: due to domain squatting, getting a reasonable .com name can be hellishly expensive.

Since startups are now funded with far less cash than 5+ years ago the cost of a domain name is a significant factor.

Personally if I were to use domain.ly as my domain name I'd make sure I got domainly.com too.

</comment></comment></comment></comment><comment><USER13> I saw a Tweet on this very topic recently:

<http://twitter.com/amyhoy/status/26565875780>

I thought she had a good point.

<comment><USER14> You mean opinion.

</comment></comment><comment><USER15> I have a theory of conservation of "ly"s. They seem to be disappearing quick ;) from adverbs in spoken English, so I figure they have to pop up somewhere else.

<comment><USER16> Ha!

</comment></comment><comment><USER17> Here is my recommendation: Don't use a TLD from a fundamentalist, dictator lead or communist country.

These people are not your friends, do not care that you paid for service and are not bound by their ToS. Further, you have zero recourse if they screw you.

<comment><USER18> As opposed to if you register in a capitalist country where it only matters if the "person" opposing you has vastly more money than you.

Nissan Motors, MikeRoweSoft, etc..

</comment></comment><comment><USER19> Not only -ly, you also have -ish, -ify, -ist, -ity, -ious and -ible at your disposal. As proven by Spotify, Todoist, Listorious among others. Another option/fad is to name your startup anything you want and then postfix it with -hq, -app or -web for an available domain name.

</comment><comment><USER20> All the best domain names are beings squatted on.

</comment><comment><USER21> Its very simple. People have more chance of remembering a shorter domain name, which is your brand in the online world. Its very hard to find a 6 or 5 letter .com, whereas a domain such as live.ly is 6 chars including the ltd.

<comment><USER22> Or <http://vive.ly> ... as the case may be. :)

</comment></comment><comment><USER23> Side comment/rant: I think amateurish is something that is valued highly in at least some subset of the startup community. It's a rebellious rejection of the blanket conformist expectations of "professionalism" -- a way of signalling that your business is not business as usual.

(Similarly, I get the feeling that some of the sexist attitudes in the startup world doesn't come from people actually being sexist, but instead from a need to signal that they too are beyond the shackles of Political Correctness.)

</comment><comment><USER24> More amateurish than "Smart Bear"?

<http://blog.asmartbear.com/pick-company-name-brand.html>

</comment><comment><USER25> In due time web address conventions will move away from common TLDs. Why would you go to <http://news.ycombinator.com> when they can just go to <http://news.ycombinator>? Until then its not a bad thing to be creative with whats available.

Resourceful? Maybe. Amateurish? Maybe not.

<comment><USER26> Phishers would have an absolute field-day with that.

</comment></comment><comment><USER27> It's trendy, & young people are creating new things that need names. The same thing with the Flickr-style names before. This isn't a slam on young people, I see it as subconscious watermarks of inspiration.

If young people are finding an ecosystem and getting inspired and innovating, great!

</comment><comment><USER28> I can't stand startups named .ly, .io, .me, and others.

It sounds wimpy and it's incredibly Web 2.0-ish. It's also so startup community-like, meaning that I can't think of the last startup with such a name that actually got significant traction and has entered the mainstream.

<comment><USER29> What about Bitly?

<comment><USER28> Good catch. I do love Bitly, and they've done very well.

That comment was a knee-jerk reaction to so much of the copycatting and lack of originality that's so prevalent in the startup community, hate it.

</comment></comment></comment><comment><USER30> people trust Libya?

</comment><comment><USER31> I was thinking about it last night. How come this is getting more popular? What makes one choose a name ending in ly?

</comment><comment><USER32> I rather pick a .co .me .to instead of .ly

<comment><USER33> i went .co as well... hopefully it'll gain some traction</comment></comment>


Microsoft Warns of Zero-Day Under Attack - <AUTHOR> http://www.securityweek.com/microsoft-warns-zero-day-under-attack <comment><USER2> TIFF is a great example of how a terrible specification can lead to endless security vulnerabilities in parsers.

[http://secunia.com/advisories/search/?adv_search=1&s=1&searc...](http://secunia.com/advisories/search/?adv_search=1&s=1&search=TIFF&vuln_title=1&vuln_bodytext=1&critical%5B%5D=0&impact%5B%5D=1&where%5B%5D=1)

<comment><USER3> Is this the same class of exploits that affected image drawing on Windows a while back? (GDI?)

<comment><USER4> I think you're talking about the MS06-001 vulnerability ([http://technet.microsoft.com/en- us/security/bulletin/ms06-00...](http://technet.microsoft.com/en- us/security/bulletin/ms06-001)) with Windows Metafile (WMF) files.

This is a bug in the parser for TIFF files that allows for arbitrary code execution. MS06-001 was based on removing a "feature" of the WMF format (SETABORTPROC) that allowed for arbitrary code execution for legitimate, albeit antiquated, reasons.

</comment></comment></comment><comment><USER5> The original source is quite informative:

[http://technet.microsoft.com/en- us/security/advisory/2896666](http://technet.microsoft.com/en- us/security/advisory/2896666)

It's a GDI component reading TIFF files exploit, it is being used in the wild right now, and the vuln won't be patched until Dec.

<comment><USER6> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Gdiplus REG_DWORD: DisableTIFFCodec 1 And... another reason to deploy EMET.

</comment></comment><comment><USER7> The article is a little unclear - do I have to open a word doc, or is a TIFF embedded in a web page itself enough to cause infection? This may not be the place, but I could really use an opinion right now... I'm running firefox with noscript on Win7/64 and have Word 2007 installed on the system. I hit a suspect page last night, noscript blocked a number of objects, and at no point did I open a word doc, but... it was a link masquerading as am imgur link, that bounced me off at least two redirects (one of which was a .ir domain) before landing me on a spammy-looking blog.

So, I guess the question is, how paranoid should I be? MSE, malwarebytes, and GMER all show nothing (as one would expect if it was a zero-day), but going full scorched earth and doing a system wipe on both my drives would be a huge inconvenience right now. I feel like wiping the whole damn thing on principle, but you can't wipe everything every single time you get spooked.

PS: I did some testing, and it doesn't appear that firefox can display a tif file - it prompts for an external program (photoshop, in my case) and there's no application defined for the content type tiff in the firefox preferences.

Opinions appreciated. Thanks in advance.

<comment><USER8> > _I 'm running firefox with noscript on Win7/64 and have Word 2007 installed > on the system. ... at no point did I open a word doc ... So, I guess the > question is, how paranoid should I be?_

Security advisory 2896666 covers only Windows Vista and Server 2008. Since you were browsing on Windows 7, you are not affected.

It further states that you can be attacked if you _open_ an email or file. You say that you did not open any Word documents. That's a start. But did you open any files at all in Microsoft Office? Outlook emails, Excel spreadsheets, Powerpoint presentations, etc.? If not, then you are not affected.

At least, you're not affected by the _current version_ of the attack.

</comment></comment><comment><USER9> Is it just me, or should this title be "Zero-Day Attack"? What's the "Under" all about?

<comment><USER10> Phrasing is a little weird, but I read it as that this is a zero-day that is _actively_ being exploited, but a patch is not coming for a while.

Supporting evidence for this interpretation: [http://blogs.technet.com/b/msrc/archive/2013/11/05/microsoft...](http://blogs.technet.com/b/msrc/archive/2013/11/05/microsoft- releases-security-advisory-2896666-v2.aspx) which includes "We are aware of targeted attacks, largely in the Middle East and South Asia."

</comment></comment><comment><USER11> Only Vista and 2008 are affected by this exploit.

<comment><USER12> Unless you are using Office or Lync which have their own copy of GDI+. Office 2010 only uses their own copy when running under XP though unlike older versions and 2013 don't support XP at all so they don't have their own copy anymore.

<comment><USER8> > _Office 2010 only uses their own copy when running under XP though unlike > older versions and 2013 don 't support XP at all so they don't have their > own copy anymore._

That explains why Office 2013 isn't vulnerable. That, plus the fact that it uses DirectWrite instead of GDI.

But then, why is Office 2010 vulnerable? It was released after Windows 7, which isn't vulnerable. Did it ship outdated libraries?

</comment></comment></comment><comment><USER13> Why not image decoding done in a sandbox?

<comment><USER10> Speed, I'd imagine. But that should probably be revisited with the amount of exploits it seems to cause :/</comment></comment>


Hello World in LLVM - <AUTHOR> http://ecksit.wordpress.com/2011/01/01/hello-world-in-llvm/ <comment><USER2> I think it would be more interesting and fair if he hand-wrote the assembly code as well as the LLVM code. Those labels are unnecessarily intimidating and I'm sure a human could make the code structure much more clear.

<comment><USER3>
      $ cat >hello.s <<EOF
      .text
      .globl main
      main:
      	leaq msg, %rdi
      	callq puts
      	ret

      .data
      msg:	.asciz "hello world\n"

      EOF
      $ as -o hello.o hello.s; cc -o hello hello.o; ./hello
      hello world

</comment></comment><comment><USER4> I'd love for this post to be a little more detailed, actually.</comment>


Finland's basic income experiment is already making people feel better - <AUTHOR> https://www.weforum.org/agenda/2017/05/finlands-basic-income-experiment-is-already-making-people-feel-better-after-just-4-months/ <comment><USER2> I would feel better if I got $600 free a month too... No one disputes that having free money makes people happier, at least in the short term, but the question is what effect it has on the economy.</comment>


The Concept of Mass - <AUTHOR> http://www.physics.uoguelph.ca/~des/Phys2320/concept%20of%20mass.pdf

<comment><USER2> A few comments.

1\. Why is this marked "scribd"? PDF and scribd are distinct document types/presentations. Not all PDFs need to be wrapped in a scribd context to be presentable, and as it happens this one isn't, all to the good.

2\. It's a shame that this PDF is just a scan of the pages of the original, but it can't be helped -- the text would be easily scannable and convertible into text, but the equations cannot be (an unsolved scanning problem at the present time).

3\. Nice article, worth reading.

<comment><AUTHOR> If you enjoyed the article you might also enjoy the follow-up by the same author, 20 years later: [http://arxiv.org/pdf/hep- ph/0602037v1.pdf](http://arxiv.org/pdf/hep-ph/0602037v1.pdf)

<comment><USER2> Thank you, a similar subject, much updated. This discussion of relativistic mass reminds me in some ways of the debate about whether the concept of force is overused as well.</comment></comment></comment>


Indian School Girl Creates Washing Machine That Runs Without Electricity - <AUTHOR> http://trak.in/innovation/indian-school-girl-invents-washing-machine-without-electricity-302013/ <comment><USER2> I have conflicted feelings about this. On the one hand it's nice to see the creativity and spirit, on the other hand it's sad to have to invent solutions for problems we should have stopped having a century ago, where the solution does not free up time for other things. [http://www.ted.com/talks/hans_rosling_and_the_magic_washing_...](http://www.ted.com/talks/hans_rosling_and_the_magic_washing_machine.html)

<comment><USER3> Agree. Also, it's a bit misleading to suggest she's created a washing machine that "runs without electricity". By the same logic, Fred Flintstone (or someone in his era) should be credited for designing a car that "ran without electricity".

At this stage of mankind's industrialization, it's disingenuous to look at a human powered machine as an improvement over an electricity powered one.

<comment><USER4> It's a huge improvement over holding the stuff full of skin-attacking chemicals in the hands for extended periods of time. Women in India and not only there have to do that daily.

<comment><USER5> Because gloves are too expensive?

Never mind that though. Pedalling is a lot easier than washing clothes by hand. It's better for your back too.

<comment><USER6> Safety equipment is valuable. Thus, it is stolen or sold to get money to buy food.

<comment><USER7> It's not so much that they're valuable, it's that it's too easy for assholes to insist that the poor girls doing the washing don't need / deserve them.

<comment><USER6> Well, yes, that would be a problem.

There is a problem with risk assessment in general.

BBC had a few useful programmes. One was about young peoe visiting developing nations to see how luxuries are produced. They visited the Accra toxic electronic equipment dump. People take wiring and burn the insulation off to get the copper. These cable bonfires release huge clouds of toxic smoke. Now one has any kind of mask. The programme showed a boy smashing capacitors off a PCB with a rock to sell them. I think, but do not know, that if je'd had a pair of snips (for the compnent leads) and some way to get the copper / gold off the PCB that he'd have had a more valuable resource to sell. It was a profoundly depressing, distressing, view.

There was another programme called Welcome To India. This showed poor people reclaiming gold. They visited the jewelery district and swept the roads. They used acids and mercury and heat to turn this dust and grit into tiny gold grains. Part of the process was taking aciding grit in the palm of their hand and stirring it with their fingers. Again, no glasses or masks or gloves.

Indian bloggers - are there any good blogs showing everyday life in India? Not just the poverty, but the life of a broad cross section of the population?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Though this must be appreciated, but this isn't new. Even in India. This thing has be done many times and failed to gather much support, basically at some point you begin get frustrated to be putting so much mechanical effort while an automated solution exists and can't be put to use because of power shortage. Most people don't have hours to be cycling to wash clothes, because if they wanted to- They might as well wash them manually with their hands(Note, this is super common in India).

Its a bit like programmers doing manual work, what could be automated. And it looks cheap and is frustrating.

Either way, India is in desperate need for energy related hacks. Solar energy offers a lot of hope. Even things like LED lights, better battery technology, bicycle pedal assists et al can do great help in India markets.

<comment><USER9> For an example of real original thinking from India see this

[http://articles.economictimes.indiatimes.com/2014-01-30/news...](http://articles.economictimes.indiatimes.com/2014-01-30/news/46828430_1_power- supply-power-cuts-dc-power)

I tried posting it here but didnt get too many upvotes.

<comment><USER8> Great Idea, but the initial capital expenditure will be very high and at some time prohibitive enough.

I think the government can help in waiving off taxes for sale of LED lights(This can cause great savings in power consumption), pedal assist bicycles and for things alike.

Either way I don't think big changes will happen until we see great deal of innovation in the energy sector.

</comment></comment></comment><comment><USER10> Everything old is new again: [http://upload.wikimedia.org/wikipedia/commons/5/5e/Washing_m...](http://upload.wikimedia.org/wikipedia/commons/5/5e/Washing_machine.jpg)

<comment><USER11> One could argue that it was a pretty severe oversight in the original design that you had to use your arms instead of your legs to turn that one.

[http://www.youtube.com/watch?v=2v1rSA4FqlM](http://www.youtube.com/watch?v=2v1rSA4FqlM)

<comment><USER12> Not quite. Back in those days it was considered unladylike to use your legs to operate a machine. First sewing machines used hand operated wheel to run, which were very hard to use. It was only later people started to use the foot operated ones. [http://en.wikipedia.org/wiki/File:Jonescs.jpg](http://en.wikipedia.org/wiki/File:Jonescs.jpg)

<comment><USER13> Legs in themselves were considered risqué. These sewing machines would also have been covered with large skirts, much like the Victorian dinner table.

</comment></comment></comment></comment><comment><USER14> Nice. This will also work well in places that has frequent power cuts.

It is kinda funny when I went back to my home-town. Most household have Washing Machines lying around, unused because they don't have the power required to complete a wash cycle.

<comment><USER8> Forget home town, there are frequent power cuts in Bangalore itself. Most of the time 12-16 hours during weekends. I used to get frustrated, as weekends used to be my time when I wash clothes.

Now I have a clever work around, I just put everything in the washing machine in the night at dinner. Then I just wake for a moment at around 3 AM and turn on the washing machine and geyser, by the time I'm awake in the morning the washing machine is done with washing and water is ready hot. I put the clothes for drying and take a bath. By then the power is gone. But then after the major chores are done. Who cares?

<comment><USER15> Have people tried using capacitors or batteries to accumulate electricity when the power lines are working? Is it too expensive/dangerous to help cover the outages?

<comment><USER16> On an energy storage density basis, liquid fuels and a generator beat batteries by a long shot.

So if you want a dependable electrical system, you'll have a generator. You might still include batteries and some form of power regulation to get you through spikes and/or brownouts, but that's just a few miliseconds to minutes, not hours. A generator and large diesel tank can run you for days.

</comment></comment></comment></comment><comment><USER13> It's not so much that this exists: it's that she built something. Kudos to that.

Of course this idea isn't new. I use one of these when camping: [https://www.youtube.com/watch?v=OYq34Bxkp5w&t=3m55s](https://www.youtube.com/watch?v=OYq34Bxkp5w&t=3m55s)

<comment><USER17> you bring that massive thing with you when camping?! ... I think we have different definitions of "camping".

<comment><USER13> You've never been camping with 30 members of your family before huh.

<comment><USER18> really shouldn't be called camping so much as pioneering, or oregon trailing ;)

</comment></comment></comment></comment><comment><USER19> This is great. Years ago I used to help out at Honey Bee Network [http://www.sristi.org/hbnew/](http://www.sristi.org/hbnew/) and saw hundreds and hundreds of innovative solutions by people from all over India. If you can navigate the rather clunky interface at the website, there's a lot of great solutions for problems that millions of people in low-income population face.

Here are some: Motorcycle cultivator [http://www.sristi.org/hbnew/hb_inno_detail.php?ID=DTP0010000...](http://www.sristi.org/hbnew/hb_inno_detail.php?ID=DTP0010000004191&lang_name=en&page=1&search_case=cycle)

Bamboo bicycle [http://www.sristi.org/hbnew/hb_inno_detail.php?ID=KNW0020000...](http://www.sristi.org/hbnew/hb_inno_detail.php?ID=KNW0020000000054&lang_name=en&page=3&search_case=cycle)

</comment><comment><USER20> Nice, my wife got a HandyWash [1] for camping and it works pretty well. With the right sort of assists manual washing is pretty straight forward.

[1] [http://www.hometone.com/pressure-handwasher-a-handy- washing-...](http://www.hometone.com/pressure-handwasher-a-handy-washing- machine.html)

<comment><USER21> Neat. How long does it take to do a wash with that?

<comment><USER20> Since we generally have nylon clothes while camping not long at all. I don't think I've tried to wash denim in it. Basically it takes longer to dry generally than it does to wash it. (and nylon dries pretty quickly)

</comment></comment></comment><comment><USER22> "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." \--George Bernard Shaw

</comment><comment><USER23> The first thing this made me think of was the countless old/broken washing machines ending up on the dump, with perfectly intact, shiny stainless steel drums that could've been used in this.

</comment><comment><USER24> Hey, loooky here, an electricity-free, zero-emission, exercise, "green" boat made from bicycle!

[http://cubeme.com/blog/wp- content/uploads/2009/06/diy_amphib...](http://cubeme.com/blog/wp- content/uploads/2009/06/diy_amphibious_bicycle_made_recycled_water_gallons_1.jpg)

</comment><comment><USER25> Instead of running washing machines on electricity and then running on electric powered machines in gym, how about manually cycling a washing machine like this. You hit 2 birds with one stone.

Granted it's not practical in every household, but it's not a bad alternative for some.

<comment><USER26> We need generic magnetic resistance (instead of weighted) machines charging batteries.

<comment><USER25> I've wondered, but too lazy to calculate that how much electricity could be generated by machines in gym. Probably not a lot, but the whole idea of a green gym could encourage people to work out more.

Edit : Google search shows some in practice : [http://content.time.com/time/business/article/0,8599,2032281...](http://content.time.com/time/business/article/0,8599,2032281,00.html)

<comment><USER27> It works for greenwashing as a marketing technique as you suspect, but the energy cost of lighting alone exceeds the energy you can produce by leg power, to say nothing of HVAC for the facility and water heater for the showers.

This is why we burn coal and uranium instead of forced prison labor to generate electricity on exercise bikes. I'm glad of that.

</comment></comment></comment></comment><comment><USER28> Please note that this is something Remya created around 2003; more than 10 years ago. I am not sure how it was posted in 2013.

</comment><comment><USER29> My daughter has a small pedal powered washing machine that she uses in her house in Leicester (UK). I liked the article and the girl's mechanical ingenuity but the idea itself is very old!

</comment><comment><USER26> Next : use a set of rocking chairs connected to a flywheel distributing kinetic energy to whatever appliance needs it, bring your family and enjoy.

</comment><comment><USER30> The GiraDora manually powered washing machine was announced a couple of years ago - I don't know what happened to it, e.g. did it never get funding?

[http://inhabitat.com/human-powered-giradora-washer-needs- no-...](http://inhabitat.com/human-powered-giradora-washer-needs-no- electricity-and-costs-only-40/)

</comment><comment><USER31> Here's another example of a bicycle powered washing machine - in this case, using the tub and impeller from one commercial machine: [https://www.youtube.com/watch?v=NYmK9Rsh4Pg](https://www.youtube.com/watch?v=NYmK9Rsh4Pg)

</comment><comment><USER32> I think it can be improved so that you don't have to put the whole machine between your legs by using more of the cycle (chained pedal rotation). Good to see people trying to make lives better for themselves and their community.

</comment><comment><USER33> Looks awkward as hell, why not just connect a bike connected by bike chain to the washer so your legs aren't all spread wide trying to pedal. [http://goo.gl/K6W6gS](http://goo.gl/K6W6gS)

<comment><USER34> There you go, the same girl. [http://azstarnet.com/news/world/perpetual- paintbrush-bike-li...](http://azstarnet.com/news/world/perpetual-paintbrush- bike-like-washing-machine-among- finds/article_ae28ec90-2bb1-5680-ab80-55571f450908.html)

</comment></comment><comment><USER25> Cool but lots of similar stuff around

[https://www.google.com/search?q=bicycle+washing+machine&sour...](https://www.google.com/search?q=bicycle+washing+machine&source=lnms&tbm=isch&sa=X)

</comment><comment><USER35> You see odd but surprisingly practical inventions like these in China as well - as they say, "necessity is the mother of invention".

</comment><comment><USER36> Necessity is the mother of all inventions! I'm from India and I know how much impact this might have on the rural community here.

</comment><comment><USER37> Anybody else notice that the water from the washing machine is being discharged, untreated, into the stream near by?

<comment><USER38> I expect that where only 14% of the rural population of India has access to a latrine ([http://water.org/country/india/](http://water.org/country/india/)), washing machine effluent is not a significant concern.

<comment><USER39> And how do you think it was without the machine? Often it is doing the cleaning in the stream, beating the cloths on rocks.

</comment></comment></comment><comment><USER40> These things really work (I used one in an apartment).

[http://breathingwasher.com/](http://breathingwasher.com/)

And, they cost a lost less than that bicycle contraption. Takes about 5 minutes to wash a few pairs of pants and some shirts. Gets them amazingly clean.

</comment><comment><USER41> We had a project in our mechanical class to create 'stuff' using lathe machine and what not. All 35 in our class were divided into groups of 3 and were supposed to come up with 'novel' ideas.

5 groups (including mine) came up with washing machine :)

</comment><comment><USER42> I'm unsure as to why it's important to state that she is Indian in the title?

<comment><USER43> Nationality is a pretty common way, if not the most common way to describe someone. What's wrong with it's inclusion?

<comment><USER44> he's likely mad that the new CEO of Microsoft is Indian

no more tech support jokes

</comment></comment></comment><comment><USER45> Couple of years before i saw a school kid with a grinder that works by pedalling in Kerala state level science exhibition. It was very similar to this. These sort of machines are common among these competitions.

</comment><comment><USER46> Not sure about invented. I guess it could be invented on a local scale, but I saw something similar in South Africa in the early 90's.

</comment><comment><USER47> ok now. a satirical comment. :)

very good. now take this and create a company that improves your health while washing your clothes. Affluent people will buy. In my earlier days, we used to use something called as "hands" to wash clothes.

</comment><comment><USER48> Does she plan on inventing one for ironing?

<comment><USER49> Yeah - you throw an iron and your clothes into a drum which you can spin by pedalling.

The idea is only a prototype, however, and might need some fine-tuning.

</comment></comment><comment><USER50> didnt they have this on gilligan's island like 50 years ago?</comment>


What is the shape of space? - <AUTHOR> https://aeon.co/videos/why-the-apparent-flatness-of-space-is-an-enduring-cosmological-mystery <comment><USER2> Nice video, short... One possible answer to the question why the universe is the way it is, is that it is the one that has survived (and had a chance to evolve), while others - non-flat, or having different values of fundamental constants, were crippled to the point that they could not.

</comment><comment><USER3> It's a sphere whose circumference is everywhere and whose center is nowhere. Is this a trick question?

<comment><USER4> > It's a sphere whose circumference is everywhere and whose center is nowhere. > Is this a trick question?

For what it's worth, the classical quote to this effect (by 'Trismegistus', Google informs me), discussing God, switches the circumference and the centre from the way that you have them. (Maybe that's the joke.)

<comment><USER3> See also Borges ([http://www.filosofiaesoterica.com/pascals- sphere/](http://www.filosofiaesoterica.com/pascals-sphere/)).

" _Maybe that 's the joke._"

I can never remember which is the joke and which isn't.</comment></comment></comment>


Ask HN: Education in a kindergarten - <AUTHOR>

Lately I've been thinking about working in the education field, using my programming knowledge(web, ML, NLP). My parents have a kindergarten(250+ kids from 2 to 5 years) so I thought about starting there and then expand.
I've no idea what to do yet, so I'm starting to analyze the possibilities.
Does someone has any experiences or ideas about this to share?. <comment><USER2> I think you need to go to the next step: What exact job would you want in education? For example being a first grade teacher is different than working with say older special ed kids and that's different than being an administrator. Also if you really want to get into education you need to embrace that with it's own passion and not try to bring your code skills into it, unless you want to teach people how to code. Something to keep in mind is that going into K-12 often requires a post-grad degree.

PS I'd talk to a wide range of folks who work in education and visit some grad programs like Columbia Teachers College. You want to meet people who work in the field.</comment>


Too Much of the World's Math Talent Is Going to Waste - <AUTHOR> https://www.motherjones.com/kevin-drum/2018/07/too-much-of-the-worlds-math-talent-is-going-to-waste/ <comment><AUTHOR> direct link to research paper: [http://papers.nber.org/conf_papers/f107877/f107877.pdf](http://papers.nber.org/conf_papers/f107877/f107877.pdf)</comment>