11 Tips on Hiring a Rails Developer - <AUTHOR> http://www.rubyinside.com/11-tips-on-hiring-a-rails-developer-662.html <comment><USER2> "Be wary of holes in proficiency. Rails developers should be fearless. Its reasonable to expect them to have a command of everything from database indices to cross-platform JavaScript. (Bonus points if they are handy in Photoshop and Illustrator.)"

\-- This is pretty retarded. While most decent developers have toyed around with lots of technologies, it takes a lot of work and time to know one in depth. Anybody that claimes that knows everything:

1\. Usually are jack of all trades but master of none. Basically they have mocked around with everything, but they are pretty mediocre and never had the chance to involve in a technology in great depths.

2.Are the "heroic" types, the especially young ones that have played or mocked around with certain technologies, and the "claim" they know them. This is more a naive interpratation of being familiar with a technology is the same as knowing it, and this guys are about a rude-awekening when they actually have to do something serious on their technologies they "know".

Yes, I mocked around with photoshop/firwork, but I am not a good designer, I have done some PHP work, but I am not good at it, I have designed some databases, but I am not that knowlageble person to know everything at least I admit it.

Be wary of people that don't admit they weakness, but appear to "know everything"

<comment><USER3> Apparently this article's advice is "just hire someone who is good at everything!"

</comment></comment><comment><USER4> I run a django shop, and my technique for hiring is finding people who preferably have had freelancer experience (know how to get something out the door), know a little (preferably a ton) of bash, actively learn new things, are up on the latest stuff (i should be able to have a conversation about js kits with them), and when i explain the advantages of django to them they show an understanding of Why it is so cool. Python or django is not 'required'.. i can ramp them up on that with lots of little tasks at first.

A big plus is being a unix nerd.

<comment><USER5> Why the emphasis on bash?

<comment><USER4> i think a sign of a good programmer is the tendency to engage with the computer using a language, not just pointing clicking and dragging. Bash familiarity tends to coincide with shell-aptitude.

</comment></comment></comment><comment><USER6> This is a pretty narrow list of things to look for in a Rails developer. Isn't it more prudent to find a smart developer who has a wide range of interests? Smart developers such as that would surely be able to do the job well.

</comment><comment><USER7> A classic UW grad - suggests that a university degree is not required, but drops in that he just happened to graduate from "Canada's highly-regarded Math/CS program at Waterloo". I suppose it is now only appropriate I say I also am graduate.

I have to agree with him that a university degree is not required - but I would still interview a UW grad above a few other candidates. My reasoning? I know much of the basic algorithm, design and other fundamentals will have a higher chance of being there than someone who is entirely self taught. University forces you to learn things that don't necessarily meet your exact interests - but that graph algorithm you didn't really enjoy but learned could come in handy next time you are writing a google maps mashup hack.

Edit: I also forgot to mention a huge indicator among my peers is pet projects. The good developers are always working on something (a lot of android apps lately), and the bad developers aren't.

<comment><USER6> I completely understand why you'd interview a UW grad above other candidates. You have to make an intial cut somewhere, right?

As a high school dropout, I hate having to compete against those with diplomas. But I guess that's what I get for dropping out.

<comment><USER7> Yes it is quite the dilemma. I know one or two people who are self taught and great coders. However, the majority of people I have worked with that are primarily self taught aren't good.

I guess the key to competing against diplomas is making separating from the herd - perhaps with pet projects, a blog showing your expertise, etc.

<comment><USER8> The key to competing with anybody is to show recent experience. I don't care what kinds of certificates you have -- what have you done lately?

It doesn't matter what you did last year. Programming (and startups) are all about what you can do this year.

<comment><USER9> This seems a little narrow minded. Many highly talented programmers find a lucrative area and stick with it for a while, but they can pick up on the "new big thing" almost instantly.

IMO it all comes back to talent and drive which are almost impossible to judge in an interview but they tend to swamp all other factors over time.

<comment><USER3> > IMO it all comes back to talent and drive which are almost impossible to > judge in an interview but they tend to swamp all other factors over time.

I would narrow that down even further, to _drive_.

Plus I don't believe in talent; but one's level of _skill_ will increase if she has the drive to improve.

</comment></comment></comment></comment></comment></comment><comment><USER10> "A personal rails blog is required."

Not only would you be excluding 99% of the population, you'd be self selecting those who have the time to blog. If you want the best, you have to understand that they're already working. And quite possibly, too busy to blog.

<comment><USER11> I agree except in the "too busy too blog". I'd say blogging helps you be concetrated on what you are working on. While writting about it you rethink your choices etc.

It's also not that time consuming, if you are not doing it every single second that is...

<comment><USER10> "I'd say blogging helps you be concetrated on what you are working on."

This makes no sense to me.

Working on what you're working on helps you concentrate on what you're working on.

<comment><USER11> if the posts are related to the things you are working on, then writing about them, during a break, it could help you not get distracted in case you did something else totally irrelevant.

<comment><USER12> It's still a bad idea to associate blog-writing skill with technical and even interpersonal skill. It's also a bad idea to make too many assumptions about the reason why someone might choose not to have a blog. A guy with a family might not want to risk getting the wrong sort of attention, for example.

</comment></comment></comment></comment></comment><comment><USER13> #5 might counters #8

"but several of the best Rails developers I know didn't study computer science at all"

That's because Rails developers were previously PHP developers were previously "Web Designer" or "Graduate from school but interested in Web Development due to DotCom"

"First, Rails developers need their MacBook Pros and fat external screens, obviously"

I thought Ruby = type less more magics? Why would you need a fat external screens (like those 30" Mac Monitor).

<comment><USER14> > previously PHP developers

A lot of people fled from Java and its verbosity, as well. Rails is really a sweet spot in the sense of using a language that doesn't feel like such a drag, yet also being fairly structured, well ordered, and with a culture that places some value on writing good code.

<comment><USER13> That's the second wave :). The first wave was pretty much PHP and web designers.

I agree Ruby is a cool language with all the features you mentioned.

While it may be true that the culture in Ruby world is to "write good code", I kind of doubt that statement in the real world. Probably only a handful of Rails developers that actually stay true to that culture. The rest just want their share of web 2.0 fame.

Sorry if I'm being skeptical. Maybe cause I saw a lot of Rails blogs that don't reflect the Ruby/Rails culture.

<comment><USER15> I don't think thats skeptical. Probably realistic. Rails is the new VB (maybe).

<comment><USER16> I'm so tired of that comparison.

Heres the difference: Rails is programmed on Ruby.

Rails in itself is, to me, not that impressive. It does a lot of things right, but it does probably just as many wrong. Not the least of which is scaling.

But the advantage that Rails has is that its programmed on top of Ruby. And for that reason it will never be truly akin to the monstrosity that was VB.

Except in that it attracts poor developers. But, thats simply because its easy. The trick is finding the people who use Rails because of Ruby... not the other way around.

<comment><USER15> I'm so tired of that rebuttal. But really, it doesn't matter. Rails is great, as long as people build great stuff in it. Too much talk is all that bugs me.

</comment></comment></comment></comment></comment></comment><comment><USER17> Thanks for this. I am always wondering how far away I am from being a "real" Rails developer -- programming is a longtime hobby for me, and I love Rails and maybe would like to one day build stuff in it for a living. Number 6 on the list is especially encouraging, and numbers 4 and 5 give me some nice to- do's.

</comment><comment><USER5> On the employee side, is it worth learning RoR just to get a job? I haven't had much luck finding a Python job.

<comment><USER13> Short-term job: maybe

Long-term job: I doubt it (small chances)

If you want to have a web-dev job, PHP should be good enough seeing that most web-consulting companies will pick either Wordpress, Wikimedia, Joomla/Mambo, and Drupal to get the job done.

</comment></comment><comment><USER18> And how do we find a good rails freelancer?

<comment><USER19> From the other side of the fence: [http://freelanceswitch.com/finding/how-to- get-clients-to-com...](http://freelanceswitch.com/finding/how-to-get-clients- to-come-to-you/)</comment></comment>


Flash Origin Policy Issues  - <AUTHOR> http://www.foregroundsecurity.com/MyBlog/flash-origin-policy-issues.html

<comment><USER2> Wait, it looks like half the content is embedded in Flash on that page.</comment>


Dear Google: Fix Android. - <AUTHOR> http://blog.travisred.com/dear-google-fix-android.html

<comment><USER2> I suppose everyone's entitled to their opinion. If you want no options, no changes, conformity, and lack of features, then I suggest you scoot yer butt over to the iPhone camp.

Otherwise, how about you just choose a middle-of-the-road android device with no mods, or jailbreak and re-install your own device with vanilla android.

I happen to like my HTC One/X and it's unique user interface. It kicks the crap out of my wife's iPhone 4 in every way possible.

Cheers</comment>


Male Facial Attractiveness and Female Receptivity - <AUTHOR> http://www.jsecjournal.com/fishercoxproof.pdf <comment><USER2> > Furthermore, Voracek, Hofhansl and Fisher (2005) found 6% of women were > receptive to offers of casual sex with a strange man

Anyone know which strange man they're talking about and what his MO is?

<comment><USER3> I'd assume Kramer

</comment></comment><comment><USER4> "It has also been established that women's preference for attractiveness increases when they seek brief, sexual relationships compared to longer forms of relationship."

It's kinda obvious, but women lie about it all the time.

I wish they would stop lying about it. I have yet to meet a lady who had been honest of her true desires.

If there any girls reading this or any of you who understand girls really well, let me ask straight out, why do girls lie about their true intentions/desires always?

<comment><USER5> I'm no master of women psychology; however, I have spoken to many about what they desire. From what I gather, when they tell you this "lie", they actually believe those words. As far as why the lie exists to begin with, well it all boils down to saving face. Women have to keep up their social status, lest they fall victim to the double standard of being labeled a "slut", while a men who is true about his desires (and acts on them successfully) is called a "playboy" -- with obvious differences in the connotation. I won't say too much here, but message me, and I can go more in depth.

</comment></comment><comment><USER6> The basic hypothesis: Women are attracted to good-looking men.

Well, duh.

<comment><USER7> There's always someone who leaves a comment like this.

<comment><USER8> And for good reason. This type of research routinely sets out to prove something that is already obvious. When was the last time you saw an evolutionary psychology paper that provided a surprising new insight?

<comment><USER7> How is it "already obvious"? We're told that men are visually oriented, but women are not. There are websites like "hot chicks with douchebags", and there are drop-dead gorgeous women married to complete toads who happen to be wealthy or powerful. Both of your comments are nihilistic dismissals of useful and interesting science on the specious grounds that "we already knew that". No we didn't, and even if we did, it's useful to _prove_ it. Just because we had a hunch something was true doesn't mean it's so, and looking into the seemingly obvious can surprise us when it turns out that what we thought we knew was wrong.

<comment><USER9> It's "already obvious" because women do, in fact, go for attractive men (witness the swooning your wife or girlfriend does whenever there's a picture of George Clooney, Brad Pitt or Johnny Depp around). They find them sexually attractive, just like men find pretty women sexually attractive.

What confuses your argument is that women also tend to go for _long term relationships_ with men that are high status and in such cases seem to place less importance on looks.

This leads to situations where the wife of a scrawny and unnatractive alpha male (the emperor of Rome, say) will bear children who bear a suspicious resemblance to a particularly hunky albeit lower status male from her surroundings (a beefy member of the Praetorian guard, say).

Which is exactly what this paper is saying: women differentiate between sexual attractiveness and desirability for marriage, but when it comes to judging sexual attractiveness, looks win out.</comment></comment></comment></comment></comment>


Google Glass Pwned By Lowly QR Code - <AUTHOR> http://securitywatch.pcmag.com/security/313767-don-t-look-now-google-glass-pwned-by-lowly-qr-code

<comment><USER2> The most surprising thing about this article is that Google did not see this coming. This attack vector is a very basic one considering the device, and QR codes have had security problems before. On the other hand the product is still in testing to catch issues just like this. We can hope that the final product is much more secure.

</comment><comment><USER3> Is it just me or is the concept of QR codes fundamentally flawed and ripe for abuse? Basically any QR code that exists can be overwritten by a simple sticker of another QR code. How do you prevent this?

<comment><USER4> The honor system, mostly. The same could be said for price tags, bar codes, license plates, etc...

<comment><USER3> But those all have specific use cases. QR codes on the other hand are meant to be universal. Imagine the QR codes in a museum all replaced with links to porn sites (two different uses - one is for information and another is for advertising).

</comment></comment></comment><comment><USER5> Very much 'Snow Crash'.

<comment><USER6> Very David Langford.

</comment></comment><comment><USER4> "Because of Glass's limited user interface, Google set up the device's camera to automatically process any QR code in a photograph."

...set up the device's [$foo] to automatically process any [$bar] code...

What could go wrong?

</comment><comment><USER7> Pwned? Really?

<comment><USER8> It's a corruption of "owned" and refers to a hack that gives the hacker total control of the target device. HTH!

<comment><USER9> The corruption originated in gaming, specifically Warcraft modding I believe. Regardless of how it originated or is used it's still rather trashy in a headline.

<comment><USER10> There's no way to say that pwned originated in gaming. It may have been popularized by gaming, but hackers have been describing things as owned and for a long time. The "typo" is regarded as leetspeak and isn't really trashy because it's more descriptive than owned itself.

</comment></comment></comment></comment><comment><USER11> I've gotten normal usage of Glass-cast, as they call it, to work only 1 times in 10 anyway, heh. The feature is a distaster. You take a picture of the barcode over and over and have no feedback whatsoever what the problem is behind it not working.

<comment><USER12> Are you trying the screencast with a device that's already been BT paired & connected to your Glass?

I never see the barcode option, it just connects straight to my device immediately. I think you only end up with the barcode if you're not connected or having connectivity issues.

Google posted an update yesterday to the MyGlass app that supposedly improves connectivity, so maybe that might solve the trouble you'd been having.

</comment></comment><comment><USER13> >Thankfully, Google has already patched the issue.

It sounds like they are on top of it.

<comment><USER14> remind me again why you have skeptic in your name?</comment></comment>


Chapter 1 of ANSI Common Lisp - <AUTHOR> http://www.paulgraham.com/https://sep.yimg.com/ty/cdn/paulgraham/acl1.txt <comment><USER2> You constantly submit chapters 1 and 2 at the same time? Why?

Is there something that makes them better than chapters 3 onwards?

I think you 'd be better off submitting a link to either the first chapter, or a chapter you find particularly interesting, or the whole book.</comment>


How to tell if a FLOSS project is doomed to fail: a checklist - <AUTHOR> http://www.theopensourceway.org/wiki/How_to_tell_if_a_FLOSS_project_is_doomed_to_FAIL

<comment><USER2> Anyone add up how many "fail points" the linux kernel gets? :-)</comment>


Factors associated with Covid-19-related hospital death - <AUTHOR> https://opensafely.org/outputs/2020/05/covid-risk-factors/ <comment><AUTHOR> The full title (which is far too long for the HN field) is "Factors associated with COVID-19-related hospital death in the linked electronic health records of 17 million adult NHS patients".</comment>


Rudy Giuliani Twitter typo sparks anti-Trump protest website - <AUTHOR> https://www.theguardian.com/us-news/2018/dec/05/rudy-giuliani-helps-create-anti-trump-protest-website-with-twitter-typo <comment><AUTHOR> This is too funny. You wouldn't expect your average politician to understand how the web works, but how on earth don't they have staff protecting them from these kind of embarrassments?

<comment> java-man Could this be his main function: to divert attention away from Trump?

</comment></comment><comment><USER2> And an update to this. [https://twitter.com/RudyGiuliani/status/1070118915139923968](https://twitter.com/RudyGiuliani/status/1070118915139923968)

Now Rudy Giuliani, our country's cybersecurity adviser, says this is all a Twitter conspiracy.</comment>


Giphy.com Node.js API - <AUTHOR> https://github.com/austinkelleher/giphy-api

<comment><AUTHOR> This isn't the first, but it is the only node module with complete Giphy API support. It is also very well tested!</comment>


Ask HN: What IRC rooms do you frequent? - <AUTHOR>

Lately I've been hanging out at #jruby, always something interesting being discussed there. What about you guys? <comment><USER2> Speaking of IRC, I realized this weekend I've implemented what I believe is the world's largest IRC network (the Justin.TV chat system).

According to searchirc.com QuakeNet peaks at about 170k users, whereas Justin.TV chat has gone up to 188k concurrent users so far.

I should write something about how JTV Chat was implemented - there's some interesting stories.

<comment><USER3> Would love to hear about this also -- sounds like a brilliant example of reuse in software engineering.

</comment></comment><comment><USER4> <http://news.ycombinator.com/item?id=24718>

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

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

</comment><comment><USER5> Arggh...rooms? Rooms is AOL-speak. :)

You mean channels.

</comment><comment><USER6> #startups on freenode has a few people from this site.

</comment><comment><USER7> There are no IRC channels in which I want to admit being involved.

</comment><comment><USER8> #startups, #django, #clojure but to tell you the truth it changes all the time. for me it's not really a social thing - i'm just scanning for the occasional nugget of wisdom, or seeking help.

</comment><comment><USER9> On FreeNode, I auto join these channels when I bother to start my IRC client, which may or may not happen any given day.

#trilug (Triangle Linux User's Group)

#trijug (Triangle Java User's Group)

#trilug-mtb (people in trilug who ride MTBs)

#fedora

#centos

#asterisk

#centos

#openmoko

#java

#eclipse

#spring

#jboss

#hibernate

#ruby

#erlang

#prolog

#lisp

#ai

#swig

#machinelearning

#openqabal

</comment><comment><USER10> Web entrepreneur talk @ <http://webetalk.com/chat.php>

or

#webetalk on irc.webetalk.com

</comment><comment><USER11> #nmu on csc.nmu.edu My CS department runs an unofficial server that we all SSH into and screen through IRSSI. We get a lot done that way. Makes planning our ACM/LUG meetings easier too since you can scrollback and see the previous discussions.

<comment><USER12> That's a great idea, I wish we had that in college.

</comment></comment><comment><USER13> Banshee, Concatenative, Gtk+, RSpec, Rubinius, Ruby-GNOME2, Vala, YAML

</comment><comment><USER14> #rubyonrails on freenode

</comment><comment><USER15> Most of irc.perl.org - notably #moose is quite good for discussing meta-model type stuff even if not directly in a perl context.

Plus a few bits and pieces on freenode.

</comment><comment><USER16> #ai is good. #python for help in python #c++ to help ;)

</comment><comment> jeremychase-2 #debian, #linode, #lighttpd, #drupal-support, #wordpress, #amateur_radio, and a private channel. On freenode, oftc, and efnet. Colloquy is nice. ;)

<comment><USER17> Have they fixed the issue where sometimes the entire chat conversion disappears until you switch themes a couple of times?

<comment> jeremychase-2 I can't say.. I picked a theme and haven't changed it.

</comment></comment></comment><comment><USER18> Freenode: #x264dev, #x264, #avisynth, #ffmpeg, #videolan, #mplayer, #ffmpeg- devel, #mplayerdev, #xvid, #uncov

Rizon: #darkhold, #cccp

</comment><comment><USER19> I haven't been able to find an IRC client I like for the Mac, so for the last few months I've been completely clean.

<comment><USER20> I've been using Colloquy. Not great but gets the job done.

<comment><USER19> I can't get it to open up chat rooms. I enter in the room name and it goes entirely blank. And their help files are rubbish.

<comment><USER21> Try Help > Colloquy Chat Room. I'm there as 'jane', and maybe I'm not there all the time, but I can try to help when I am :)

Also you might want to try building from svn, I've got some builds up on <http://janeylicious.com/colloquy/> if you're interested.

Also if Colloquy isn't your thing, there's also LimeChat and Linkinus. I've got lots of bitching that Colloquy's a dead project (with commits from a day ago...) and people who decide to switch have found those two clients to be useful, although Linkinus is shareware.

</comment></comment></comment></comment><comment><USER22> #django, #python, #startups on freenode.

Most active in #django, can be a pretty fun channel at times

</comment><comment><USER23> #space when there is a shuttle launch or other interesting live NASA TV coverage

</comment><comment><USER24> Freenode: #physics, #math, #trivia

UnderNet: #philosophy, #trivia

</comment><comment><USER25> #startups, #lisp, #php, #dojo on freenode #java, #c on efnet

</comment><comment><USER26> #cakephp and #python maybe...I prefer mailing lists.

</comment><comment><USER27> freenode: #utah, #lojban, #perl6 irc.perl.org: #parrot I also hang out in my ISP's IRC channel for convenient occasional tech support.

</comment><comment><USER28> #clojure, #scala

</comment><comment><USER29> I've been lurking in #clojure lately.

</comment><comment><USER30> #postgresql, #ruby-lang, #python

</comment><comment><USER12> #cappuccino on freenode ;)

</comment><comment><USER31> #elinux and #linuxchix

</comment><comment><USER32> #scheme on freenode.

<comment><USER33> +1 for #scheme--it's been a while since I've been on IRC, but enjoy that, #emacs (cause I learn a lot), #autonomo.us and on occasion hop into #lisp</comment></comment>


Ask HN: Am I missing something by not learning JavaScript frameworks? - <AUTHOR> I did jQuery, Knockout, and a little Angular. It was shortly after that that there were an explosion of frameworks and at the time I was far more interested in studying math.
I still code entire projects in raw node.js and client-side JavaScript. I have half-way been keeping mostly up to date with a lot of C# stuff and I see some pros and cons in the way that is evolving.
People really love their JavaScript frameworks though. Is learning React really a mind-blowing experience? Does it teach you anything new other than how to use it?
I feel like the number of revolutionary programming concepts that I'm supposed to keep up with is beyond not only my will but also my ability. <comment><USER2> Really I can say that most frameworks are being misused by people who just learn X because it's cool/new/trendy and everything else is automatically "bad" relative to that framework they learned. So don't put much credence in claims of X being the best (chances are people didn't look at Y and Z).

There are certain things react emphasizes which people think is the best thing since sliced bread, namely component based architecture and automagically updating views when there's a change to state.

Only use it if you find jquery etc to be too painful. If you are fine as is, it's a nice learning exercise but probably will cause more headache than anything else.

</comment><comment><USER3> Frameworks are useful if you're going to be collaborating with people. They provide common idiom and structure for larger projects. Modern JS frameworks especially solve for the complexities of meeting track of state in an asynchronous application.

Are you missing something? That depends on your plans and goals.

</comment><comment><USER4> Virtual DOM, one-way data flow, immutable data, and GraphQL are interesting concepts that might justify changing the way you develop. Most of the new frameworks are based on the same concepts and there isn't value to learning multiple of them.</comment>


Dropbox-as-a-Database - <AUTHOR> http://blog.opalang.org/2012/10/dropbox-as-database.html

<comment><USER2> It is a fun exercise to do these kinds of things. Obviously, they are very inefficient. But that is not the point! Perhaps there's some residual value related to some Dropbox feature (such as automatic replication) that makes this useful . But that is countered by getting your account rate-limited by Dropbox.

I wonder, is there some way to create a key-value store out of any physical or virtual object that can store state? I know there is a lot of work done with quantum computing to store state in quarks. I can see that has value.

But, what is the most inefficient data storage mechanism you can come up with? Here are a few I can think of:

Instagram-as-a-database - You issue a request to save your data, we encode it using some visual encoding scheme, take a picture, and then upload it somewhere. You get returned a URL, and can then decode it or update it.

MTurk-as-a-database - The possibilities are endless here. Someone could write down your request on a piece of paper and then you could send another request where they type it back.

Twilio-as-a-database - Encode your data as an audio stream. Store it in random voicemail boxes. Retrieve it later by calling up, listening to your voicemail, decoding the messages.

<comment><USER3> A Minecraft game would make a hilarious database. The fact that it's probably pretty trivial to CRUD it programmatically outside the Minecraft client by manipulating save files is a great bonus.

Start using the DB. If you get bored enough you can examine the data physically in-game.

<comment><USER4> Why not go full-hilarity and not touch the save files? The DB API simply performs clicks, keydowns, and mouse movements on the game client, so you see the character moving on the screen. I guess you would have to initially read the save file though, to know what you start with. Would be hilariously slow.

<comment><USER5> You could start with the Flat world generator...

</comment></comment></comment></comment><comment><USER6> I've used .json files in place of a database before on a read-only site. It worked very well. I do believe that we over-engineer some times and use databases when flat files will do just fine.

<comment><USER7> Using sqlite as the "this is just an idea" phase positions you better for scale-out/build-up if it becomes necessary. Helps keep your head straight but doesn't slow you down.

I say this as someone who worships Crockford for inventing JSON.

I've seen too many projects get fucked hard because they used flatfiles.

Edit: Seriously though, managing synchronization/atomic changes to flatfiles manually is a Bad Idea (TM).

It's somewhere up there with, "I have a performance problem. I'll use pthreads!" Now you have 1,02-SEGMENTATION FAULT problems.

<comment><USER6> Like I said, in my case there were no changes, I only read from them. So I let the server cache the hell out of them and the entire site was fast because of it.

</comment></comment></comment><comment><USER8> It seems rather generous to call this a database. It's files on a filesystem. The lack of any kind of transactional consistency guarantees (Dropbox is notoriously awful at this), and the lack of any sane mechanism for querying this "database" means that it's just "data", not a "database".

<comment><USER9> Transactions are not a requirement for databases, and querying is the domain of the DBMS, not the database itself.

<comment><USER8> You're quite right. I think my complaint was that it reduces the definition of "database" to "anything that is used to store data", rather than the database being the json file(s) themselves, at which point we have degenerated to about the same terminological point where it would be reasonable to call saving CSV or MS-Access files into a Dropbox folder "Dropbox-as-a-Database", which seems an unhelpful label, if nothing else.

</comment></comment></comment><comment><USER10> Actually I have the exact same idea like a few weeks ago. The potential for this idea is big. It can be widely used by small web apps (Chrome App). Instead of hosting a server and a database, every thing can be done and stored in the client, isn't that neat?

<comment><USER11> You should have a look at filepicker.io then

</comment></comment><comment><USER12> Dropbox as a database is a actually great idea. It takes away scaling problems from the developer and puts the data control back to the user.

I'm actually working on NimbusBase, a product that allows you to write clientside javascript applications where there is no server code and data is stored inside of Dropbox. It also integrates with backbone.

Shameless plug: sign up for our beta! <http://nimbusbase.com>

</comment><comment><USER13> Reminds me of the GMail filesystem: <http://www.viksoe.dk/code/gmail.htm>

<comment><USER14> Ha, I remember using this for backups before I had even heard of ftp.

</comment></comment><comment><USER15> "update: Heroku is down [...] the demo in now on dotCloud."

:)

</comment><comment><USER16> is this part of the app open-sourced? it's a great idea.

<comment><USER11> You can find the source code here : <https://github.com/cedricss/server- monitor/>

<comment><USER17> The list of commits is interesting: <https://github.com/cedricss/server- monitor/commits/master>

And also shows its really a one-day app!

</comment></comment></comment><comment><USER18> Your blog design is bad btw, popout at side overlays scroll bar in Windows/Chrome.

<comment><USER11> It's one of the design proposed by Google, blame them :)

<comment><USER19> Google isn't the one using it to demonstrate their work as a developer ;-)</comment></comment></comment>


Ask HN: Can I Control Echo Buds Pings to Amazon? - <AUTHOR> New echo buds seems like a great tech product at a decent price with noise reduction, ideal for some work calls.
I'm actively not entering the smart assistant world in general except for Siri to set up some alarms and checking weather.
I want to avoid Amazon spying on me as much as possible, so how to control amazon devices not pinging their real home ? (Amz servers) <comment><USER2> I think a custom DNS server could help but I'm not sure how to set those up</comment>


Whoa, this is big – Tesla on subscription - <AUTHOR> https://www.chargebee.com/tesla/ <comment><USER2> You can't say "this is big" on your own startup. That's cheating.

EDIT: I was incorrect and OP was not from the startup; although the voting behavior is highly suspicious.

<comment><USER3> I am pretty sure it's not someone from our own startup saying that.</comment></comment>


Ask YC: Feedback on my startup - social media market analysis - <AUTHOR> http://www.hivesight.com

<comment><AUTHOR> We call it a "consumer exploration tool" - a quick way to tap into the wealth of information in social networks to get a better picture of what people are like. The target market is marketing professionals - brand managers in consumer products companies and such.

We tried to build a tool that's easy to understand and use - our hope is that you go to the website, and after just a few clicks you get it. We'd appreciate any feedback from the HN community on that point.

Oh, and it's absolutely free for now, so if you can use it to get some insights into the market for your own startups, that'd be awesome! - Let us know if you found anything interesting.

</comment><comment><USER2> Interesting idea but its a little abstract for me. Looking at the same queries might be helpful in understanding how this works but clicking on most of them gave me blank pages.</comment>


Programming For Non-Programmers: How To Approach A Developer - <AUTHOR> http://www.pfnp.me/how-to-approach-a-developer/

<comment><USER2> Great advice for finding development talent!</comment>


It Takes 6 Days to Change 1 Line of Code (2015) - <AUTHOR> http://edw519.posthaven.com/it-takes-6-days-to-change-1-line-of-code <comment><USER2> I want to fault this but I can't. Code reviewer who's not afraid to reject code? Check. Proper testing of code changes? Check.

The process probably looks silly in this case because nothing went wrong. But with a hard-coded variable being changed, who is to say it won't break some other system by being changed? And if the variable was then moved to a config file, who's to say again that it might not break in some obscure way? Such as if the config file is not found in the uat/test environment? Additionally after all this, the manager can change the variable in the config file as they please without this process need going through again.

<comment><USER3> The process is fine, but sometimes shit is broken and you need to fix it now and clean up the existing mess later.

Why not instead of

> Shirley (Code Review): It is now against company policy to have any hard- > coded variables. You will have to make this a record in the Parameters file. > Also, there are 2 old Debug commands, an unassigned variable warning > message, and a hard-coded Employee ID that will all have to be fixed before > this module can be moved to production.

Add at the end:

However, I'll allow the change for now because this is an important update that affects peoples jobs. I want to see every issue fixed before the end of the week and I will not approve any other changes until these issues are resolved.

There, win-win.

<comment><USER4> Because everything is urgent, all of the time.. and so nothing gets improved.

<comment><USER5> "I know this is priority 1, but is it priority 1A, 1B, or 1C?"

<comment><USER6> Every numeric priority scoring system I've ever worked with at every company I've ever worked with has devolved into this: Start with P1 (high), P2 (medium), and P3 (low). Sooner or later, an exec will swoop in and declare something Even Higher Priority Than P1!!! So, "P0" gets invented, and after some time, you have tons of P0 issues, meaning P1 is the new "medium", P2 is the new "low" and P3 becomes "never". Then something comes in that is Even Higher Priority than P0!!! And now, you're stuck.

For this reason, I always advocate reversing the numbers. The higher the P number, the higher the priority. So you never run out of numbers to express how much more urgent and earth shattering your next bug is. Try it!

<comment><USER7> I worked at a big company that had a big data warehouse that you could submit jobs to: these jobs could be given one of five priorities from "lowest" to "highest". Naturally, everyone set their jobs to "highest", so jobs that generated some weekly email report that nobody really read were competing at the same level as jobs that were actually business critical (e.g., necessary for ad auctions to work correctly or whatever).

So they introduced a new priority level: "Critical". The pattern repeated itself in short order.

It was a tragedy of the commons thing, and eventually it was literally impossible for a job to ever finish if it was marked anything other than "Critical".

So they introduced "Omega Critical". Now you needed to be on a permissions list maintained by the database team to raise something to "Omega Critical". I got on the list (because I was scheduling actually high-priority stuff). Then everyone in my org would come to me and ask me to set random bullshit to Omega Critical, because they knew I had permissions and "one more job won't hurt"...

I don't work there anymore, but I believe they have since developed even more weird categories like "Q4 Omega Critical" and who knows what else.

<comment><USER8> I've seen 2 pretty good solutions to this.

1\. VP bangs head with equivalent VP in other department, complaining there are too many requests. Can work, depends on individual.

2\. Actually have a service level agreement. Requests are limited to X per hour/day/week/whatever the process needs, and billed accordingly. Have a bit of buffer in this, a little creative billing. Requests within SLA are dealt with in agreed turnaround time. Have a dashboard that clearly shows this to customers. Alert customers if they're consistently submitting what's outside of SLA, and they will receive a degradation of service unless they provide further funding.

Everyone knows if you pour too much water unto a cup it will overflow.

<comment><USER9> Having a budget for each department and a cost for running the queries is a great idea... I'll try to implement it the next time I'm in this situation. (I have also had a ton of VPs - plus the CEO and the _owner_ \- come to me with "very urgent now now now!" requests... it would have been great to tell them "the top priority for me is this query worth $1000, can you beat that?)

<comment><USER8> Sure. That's how external service providers work - being internal is in the buffer, you can 'do a favour' when needed. If it is the owner making an ASAP!OMG! request perhaps take the chance for a chat and to demonstrate you have a system and that you're not only managing, but taking a stance of leadership (and point out that as it is internally charged, they're not losing any cash).

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is why startups kill big companies.

Lots of stupid little processes that add up and make the managers feel power, but end up killing the performance of the business.

Brings up the interesting differences between leadership and management. Managing is what gets people into situations like this, whereas leadership (in late stage companies) is what gets people questioning these processes instead of moving like cattle into a slaughter.

I saw this exact type of behavior at General Electric back in 2011. People wanted to argue about acronyms and process design all day, whilst Samsung ate up 20% market share in 1 year. That business of GE no longer exists and was sold to a foreign buyer. Move fast or die -- this rule does not only apply to startups!

<comment><USER11> Considering how inefficient big companies are it's surprising that they don't get killed in the market immediately. You would expect that there are plenty of nimble newcomers who kick their asses but that's not really happening.

<comment><USER12> Two words: Regulatory Capture.

See Also: Boeing, IBM, CGI Group, AT&T, NRC, etc.

<comment><USER13> I don't read that as being the point of the article. Regulation is not even mentioned or alluded to. Also, my understanding of regulatory capture has little to do with regulation slowing down business. If anything, rather the opposite. But that's off-topic anyway, and definitely not appropriate for this week.

Edited to update comment on regulatory capture.

<comment><USER12> I don't know what you're talking about, it's in there plain as day. The company has a department called _IT Security_. Not IT. Not Security. IT Security. Companies that legitimately care about security integrate security personnel with all of their operations, into every department. Top-down security departments exist to check boxes on regulatory forms. So I will be shocked if "IT Security" is not a made-to-order department whose existence is solely to satisfy things like PCI, HIPAA, etc.

<comment><USER13> I understand your point if you're referring to government regulation. I don't think your argument makes sense if you're referring to "regulatory capture":

 _Regulatory capture is a form of government failure that occurs when a regulatory agency, created to act in the public interest, instead advances the commercial or political concerns of special interest groups that dominate the industry or sector it is charged with regulating._ [0]

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

In the case of regulatory capture, you'd think regulation would most likely be _reduced_ rather than impeded.

<comment><USER14> > In the case of regulatory capture, you'd think regulation would most likely > be reduced

No, in regulatory capture you expect regulation to be increased so as to form a barrier to entry to new competitors, while advantaging (comparatively) established incumbents that have the inside track with regulators and the regulatory process.

<comment><USER13> Makes sense. Thanks for the insight. My believe main point that using the term "regulatory capture" is not what the commenter intended or is appropriate in this case (as it's regulation in general that would affect this rather than tangential effects of regulatory capture).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Related anecdote: I interned for a medical device company over summer of 2015 and worked on a team that was in charge of maintaining several implantable class 3 medical devices. The devices used a short range proprietary wireless standard to talk with a intermediary device which could be connected to via Bluetooth. One product had a pretty serious usability issue where connecting to the intermediary device could take upwards of several minutes. After the issue was discovered it took roughly an afternoon and several lines of code to fix. However, in order to provide software updates for a class 3 medical device each update needs to be individually approved by the FDA. It took 12 months from the time the fix was implemented to when the FDA allowed it to be pushed out.

<comment><USER16> What is the approval process? Do the FDA manually check the device (similar to FCC certification for wireless things)?

<comment><USER15> I never had the opportunity to be involved in the FDA submission process, but from what I understand the FDA does not do any testing of their own. It's the companies responsibility to prove to the FDA that their device is safe and effective. All the testing is done by the device company, carefully documented, and then reviewed by the FDA. I've heard stories that the documentation for a class 3 medical device can be upwards of 20,000 pages which are all printed and handed to the FDA in 3 ring binders.

</comment></comment></comment><comment><USER17> I this had happened at any of the companies I started, I would have fired several people in the aftermath. The problem is the policy is broken by design. Let's look at what is wrong here:

1.) priority is not just high, it is critical, communicating this is lost at each layer (executive, planning, execution, process control, quality control) 2.) leadership is lax, the chain of command doesn't designate a clear single responsible individual 3.) policy enforcement in this example actually _increases_ the risk of an unsatisfactory outcome, by increasing the complexity of the solution vs. what is in production 4.) quality control is adversarial and ass backwards, code review is supposed to be a sanity check "does this code do what the developer thinks it does" aka. "can some other person understand it" 5.) test planning should not be the developer's responsibility, quite frankly if QA can't figure out if it is working or not you should fire your QA department. 6.) Ultimately, it is a total failure of policy and management as it requires the President of the company to micromanage the situation.

If you think any of this is fine, I'm sorry but your company is doomed to fail (unless it is already so big it is too big to fail).

<comment><USER18> You would fire them, instead of trying to build up their skills? I'm not even sure who you would fire in this situation, the IT director for not shepherding the ticket all the way through, or Shirley for closely following company policy? Either would be overreacting.

Slow/inflexible company policy has been built up, presumably under the IT Director's watch. The president didn't communicate that it was extremely urgent (and maybe it wasn't - the article doesn't say when the change actually needed to be made by to make a difference). Ideally, management can recognize that this change took a week because of their accumulated decisions, and lack of urgency. They should figure out exactly how their company policy is slowing them down instead of letting heads roll.

<comment><USER19> Don't fire. Don't touch anything.

Just remember the chapter 12 of Peopleware.

Between two organizations, the productivity can vary by 10 times. It's not about you, it's a social characteristic of the organisation.

Just leave and find one whom speed suits you.

</comment></comment></comment><comment><USER20> For me the absurd part was this one:

"Philip (President): Our factory is underutilized by 10%. Either we start building more of our backlog or we lay people off. I'd rather keep everyone busy, build inventory, and get ahead of the curve before the busy season. How can we do that?

Lee (Operations Manager): Company policy restricts us from building more than 3 months of backlog. If you just change that to 4 months, we'll have plenty of work."

You can't have one week of 10% less productivity if not you will immediately fire everyone? And you company policies only work if you change a line of code? And this line of code is from some old legacy code that no one touch and your whole process depends on it? No, 6 days of development is the least of the problems here. This company is absurd.

6 days for the line of code wasn't optimal, but wasn't that bad. What this story shows to me how bad management pretend things are IT fault.

<comment><USER21> It didn't mention firing anyone. When I see 'layoff' used in the context of manufacturing, it usually means something more like an furlough (i.e. the laid off employees stay home and don't get paid until the company has enough work for them to do). In this case, it seems they'd rather not do it, but if the software change drags on long enough, they'd have to start layoffs.

As for requiring a code change to implement new policy; maybe not ideal, but it looks like they're trying to move away from that with the requirement that hard coded constants be moved to a parameters file.

And in general, using the company's production software to enforce business policies is probably an important management control. Often when you see rules like that, it's because the company got burned by something in the past and wants to enforce a process that prevents it from happening again. In this case, maybe in the past an operations manager was evaluated based on how busy the factory does, and so just kept building up more and more inventory to game the metrics he/she was being judged by.

I think it was a tad inaccurate of the manager to call it 'legacy' software. It might be an old system, but it appears to be critical to the company's operations, and it seems to be something that is worked on fairly regularly. Even if it's written in Cobol and JCL, I'm not sure it would be fair to call it legacy software unless the company is actively working on a replacement and making only necessary changes to the old system in the interim.

So, while I understand your concerns, I'm not sure it's fair to pin this on bad management. It sounds to me like a company that's probably been in operation for a long time, and has processes in place to make sure nobody pushes any changes to a production-critical system without proper approval and testing. They could possibly streamline the process, but it doesn't seem (necessarily) crazy based on the information we were given.

<comment><USER20> Ugh. that's sad. I'll be sure to avoid old manufacturing companies when looking for jobs then.

</comment></comment></comment><comment><USER22> That can be okay if the _same_ 6 days can be used in parallel to change 999 _other_ lines of code, too.

I.e. "1 line in 6 days" is only a measure of latency, and not of throughput.

<comment><USER23> > _a measure of latency, and not of throughput._

You could drive a station wagon full of backup tapes quite far in 6 days :)

<comment><USER22> It's not about how far, but how fast it is going. The bandwidth of that wagon is about how fast those tapes pass a given point of travel. How they are arranged inside the vehicle is critical. Tapes moving at 100 km/h side by side have more instantaneous or "burst" bandwidth than tapes moving at 100 km/h in a single file.

</comment></comment></comment><comment><USER24> A risk of allowing too much bureaucracy in commit processes is that engineers try to avoid the slowdown as much as possible. For example, several unrelated changes may bleed together into "super commits" so as to clear bureaucratic hurdles only once. Next thing you know, it's harder than ever to identify the exact cause of any one issue: you have more changes in each commit, fewer comments than ever, and a high probability that no thorough review was _really_ conducted.

Large blobs make the review process completely fall apart. In the past I dug up too many cases of people allowing 50-file steamrollers into a repository when the entire "review" was literally two words ("looks good"). While this probably happened due to time constraints, it makes the entire thing pointless. With a simpler commit process, engineers might submit smaller change requests at a time and people asked to review "7 files" might do a thorough job instead of balking at requests to review "50 files".

<comment><USER25> One of the things that happens as a result of anal code reviews is that at some point you learn to commit as little as you can get away with (and this includes things like comments and tests).

<comment><USER26> Avoiding comments or diagnostics/logging, because these two will be picked on _every single time_.

"Don't have it debug log 'Foo'd 5 bars', make it 'Foodulated five bar things'"

</comment></comment></comment><comment><USER27> In Case of Emergency Break Glass

There really needs to be a procedure for violating procedure, so that when higher-ups say "do this immediately", those same higher-ups can own the consequences of violating procedure, and so that they know the business implications of the rollback plan, etc.

If the bug is "people are getting laid off" or "our customer database is being siphoned by an SQL injection", it probably should not wait.

<comment><USER28> The process sounds fine, no need to violate it. The problem was that the IT Admin said "I'll put this on the fast track" but didn't, and no one else saw the urgency. It was just dumped at the back of the queue behind a lot of other things and mistakenly labeled an 'Enhancement'.

Proper handling would have had a dev working on it within the hour. The response to the code review would have been "other changes are out of scope, open another ticket for enhancements". If the developer didn't already have access to the test environment, at least IT would know that they're authorized for it. (Critical fixes shouldn't be assigned to a new hire who doesn't know the code base and doesn't have access to commit code yet.) The ticket would be edited (Test Case: view WorkOrdersHours report, Expected Result: ~10% higher total) and tester would be told to reread it and go ahead. And of course documenting the test runs is the tester's responsibility (they're the one doing the test runs), not the developer's, as is notifying the IT Admin and Operations Manager when the testing is done and it's ready for sign off.

Exact same process, same quality checking along the way, timeframe reduced from 6 days to 4 hours or less; likely less than 1 if the team works together well and their tools are decent. A good process can handle emergencies without sacrificing quality, as long as the people work together and the priority is communicated.

</comment></comment><comment><USER29> I once waited 6 weeks for a backend team to fix a prematurely closed div tag that was screwing up the layout of a news site. The templates they were given were good; they screwed up the implementation. In desperation I had to hack the layout with JS (which I was able to update at will).

<comment><USER30> That kills me to hear that. I'm in charge of Web where I am and we make 95 percent of our changes instantly. There is no reason to make people wait; it honestly takes longer to project manage most changes than to just make them, so we just make them, but of course Web sites/front end is a different beast than application or other code.

</comment></comment><comment><USER31> I don't get this, whatever happened to a hot fix in minutes, and then a proper fix 6 days later? Have we forgotten how to do this? Together with some other reasonable comments, I can't fault the process in the story, but I just can't get why they didn't allow a hot fix?

Then it would be a different title; It takes 5 minutes to approve the change to 1 line of code and rolled into production, and then 6 days to get an official patch - done in accordance with proper IT policy.

<comment><USER19> What makes you think that they have CI and CD? It's entirely possible that just building & shipping is a 1 full day procedure.

</comment></comment><comment><USER32> I'm surprised no one has raised the problem of senior managers and VPs underestimating and oversimplifying the complexity and LOE of work. It causes unrealistic timelines for others who do have to adhere to a release process (which is never perfect but certainly necessary). "Yes CEO, of course we can get that in by tomorrow, no problem."

When the work misses the impossible deadline the feedback usually points to an underperforming organization and rarely to unrealistic estimation.

</comment><comment><USER33> Agree with some other comments here:

Good: Code review? Great. Boy scout rules enforced in legacy code? awesome. The QE analysis seems great!

Bad: Failure to expedite? Fail. And without that there's no story.

Also at a high level, the fact that it is only 1 line of code is irrelevant. It's not closely correlated to the riskiness of the change.

</comment><comment><USER34> Favorite line:

"Ed: Fuck that shit."

"Shirley: That may very well be true."

</comment><comment><USER35> Policies are organizational scar tissue. [https://m.signalvnoise.com/dont- scar-on-the-first-cut-e9afd2...](https://m.signalvnoise.com/dont-scar-on-the- first-cut-e9afd256afdf#.f1od1i2ax)

</comment><comment><USER36> I work on a consulting company. We have extremely aggressive deadlines, and work with less than capable people on both sides of the table.

This means sometimes that takes a usual programmer a few minutes to change a line of code and promote it to UAT.

Forget the number of bugs that happens after this. Yeah, the number is VERY high, but is subjective. Think about the overall state of the program. When all that matters is velocity, people takes all forms of shortcuts. OO is out of the window. Hardcode? What about things that should've been parameters and are not only hard-coded, but spread along many files?

TL;DR OP case seems contrived, or at least the other extreme. Processes should be followed. If the factory stopped because of that single line - or any other, someone would ask: all this to save 6 man days?

</comment><comment><USER37> This has been discussed on Hacker News before ([https://news.ycombinator.com/item?id=3989136](https://news.ycombinator.com/item?id=3989136)). The cited article was published in 2012 at a different domain that is no longer alive. Thanks to the Wayback Machine, we have copies. Here's one: [https://web.archive.org/web/20120623032243/http://edweissman...](https://web.archive.org/web/20120623032243/http://edweissman.com/it- takes-6-days-to-change-1-line-of-code)

</comment><comment><USER38> Change control needs to be structured around risk. I.e how much $ are you losing a second given an outage. Also, not all changes have the same risk. Your change control process should be malleable to these realities. If a change is low risk and the reward is high then it shouldn't need the same controls as a high risk change. Also, there are more ways to mitigate risk other than additional steps in the release process.

TLDR absolutists make poor release engineers.

</comment><comment><USER39> This is why it's important to have a "hotfix" process where you can make a change fast and then still follow up with all the QA and coding standards.

</comment><comment><USER40> The bad thing with bureaucracy and slow processes is that eventually you'll find yourself in a situation where you either 1) start working on something else while waiting on some process to complete and get your changes merged, and then you gradually forget to play your turns in the process, delaying it even further, or 2) waste days sitting on the important change, pushing it forward, being active and responsive, and basically just avoiding any other non-trivial task because of #1 happens.

So you need to decide whether you want to get real work done or if you want to get the one task done, for which coding took a matter of minutes or hours, but the process eats up days.

</comment><comment><USER41> To change the frame of reference a bit, how would this story work out at Google?

I just have an outsider perspective on this, but I really think that monorepos & automation that comes with it will have an amplifying effect in the years to come ..

</comment><comment><USER42> Requiring all your constants to be configurable seems like a great way to bypass (potentially critical) code review and QA. I can totally see changing something like "number of months" causing extremely non-obvious issues (e.g. integer overflow in something 20 stack levels away)...once you make it a configurable constant though, changing it won't be QA'd at all.

</comment><comment><USER43> If technical debt accumulates, you slow down until the point you need a lot of time to understand the consequences of changing code.

Pretty much like the end game in Jenga.

One good approach is SOLID: [https://en.wikipedia.org/wiki/SOLID_(object- oriented_design)](https://en.wikipedia.org/wiki/SOLID_\(object- oriented_design\))

</comment><comment><USER44> It's hilarious to read but part of the events that lead up to this are compliance , audit trails, security, investors and customers want to know every 5 minutes some dev isn't jumping into vim and saving new code on production and taking things down with a syntax error.

</comment><comment><USER45> The only difference between this and a large modern tech company is that the latter has this process automated. If anything, large tech companies have _more_ respect for the need for process, as they understand how critical it is for everything to run smoothly.

</comment><comment><USER34> It seems like buried in all the other policies in one meta-policy: nothing gets done until someone with sufficient authority overrides all the rules.

How often does the president have to do this? Has anything ever been done the correct way?

<comment><USER46> Reality is in a large org, process can usually be sidestepped with emergency change requests and executive sponsor. Which is basically what happened here, it just took extra days because it wasn't started that way.

</comment></comment><comment><USER47> Are there really factories whose policies and parameters are encoded in software vs. under the guidance of humans?

That in itself is amazing to me considering that the tech company I work at, lots of things are just done by fiat.

</comment><comment><USER48> Since this was a critical issue I think "David" should've brought key stakeholders (or leads) together and set expectations for who was doing what parts and when it would be complete.

</comment><comment><USER49> there's a saying, "if it hurts, do it more often" ( [https://www.martinfowler.com/bliki/FrequencyReducesDifficult...](https://www.martinfowler.com/bliki/FrequencyReducesDifficulty.html) )

these guys should do all their PRs as one line (or a few lines ) changes and put it through the system and improve the system till they can get things deployed within an hour ( or some reasonable time period )

</comment><comment><USER50> They should also limit the number of lines that are allowed to be changed/added/removed every 6 days... and maybe it should be a law for popular products.

</comment><comment><USER51> Why did they hard code a variable in the first place? Hundreds of comments about technical debt when it's just shitty engineering.

</comment><comment><USER52> This sounds like bureaucratic nonsense waiting for signatures and approvals. Maybe the task flow needs to improve.

</comment><comment><USER53> these processes are beyond fixing. if you absorbed into a corporate monolith that values 'best practise' you'll just have to put up with it. however this really would not happen at any shop that is concerned with saving money.

</comment><comment><USER54> I don't think I would eat 24 excedrin over something like this.

</comment><comment><USER55> This sounds like perfect is the enemy of good.

</comment><comment><USER56> Thats a dream orocess right there right?

The solution imo is to tell the higher ups to fast track it if peoples jobs arecat stake.

</comment><comment><USER57> This is true beauty

</comment><comment><USER58> Become a $$$/hour contractor and learn to love the bureaucracy.

Then wait for those all-too-often moments where a manager's ass is on the line if feature X doesn't ship by tomorrow and watch all the rules and regulations get chucked wholesale out the window. Then chuckle.

<comment><USER59> Exactly. The mantra I was taught when I first began consulting, when faced with frustrations like these was (adapted from the old school Hawaii Five-O): "Bill 'em, Danno!" I've been at it for 20+ years and it truly works.

</comment></comment><comment><USER60> Surely there could be some optimizations, but there are no gross failures here.

At every step there were reasonable policies it seems.

It's not wise to frame this issue as '1 line of code' because '1 line of code' could ruin a company.

It's frustrating ... but it's not that bad.

</comment><comment><USER61> Well, I've seen 5 line patch take 6 months (and counting), so...

<comment><USER62> I've had 6 months of work thrown out because management changed its mind over which approach to take. So 0 lines in 6 months..

</comment></comment><comment><USER63> TRWTF is that it is considered a problem that it took 6 days. Sounds like there was no harm done and 6 days was OK.

</comment><comment><USER64> [2015]</comment>


Software Recommendations Stack Exchange - <AUTHOR> http://softwarerecs.stackexchange.com/ <comment><USER2> It would be useful for those who have recommendation questions

[http://meta.stackoverflow.com/questions/254393/what- exactly-...](http://meta.stackoverflow.com/questions/254393/what-exactly-is-a- recommendation-question)

<comment><AUTHOR> That's the point of it being created, as hinted at by the second (newer) answer to the question you linked:

[http://meta.stackoverflow.com/a/271676/98528](http://meta.stackoverflow.com/a/271676/98528)</comment></comment>


New John Dee discovery reveals resemblance to mother and a mysterious 'dwarf' - <AUTHOR> http://www.culture24.org.uk/history-and-heritage/royal-history/art544763-new-john-dee-discovery-reveals-resemblance-to-mother-and-a-mysterious-dwarf <comment><USER2> As someone who is interested in tractors, this article was a total letdown.

<comment><USER3> I used to be, but now I'm an ex-tractor-fan.</comment></comment>


Telenav Takes On Google With New OpenStreetMap-Based Offline Navigation SDK - <AUTHOR> http://techcrunch.com/2014/05/19/telenav-takes-on-google-with-new-openstreetmap-based-offline-navigation-sdk/

<comment><USER2> Make no mistake, this is a major announcement in the mapping space. Scout is consistently the leading navigation app on smartphones after Google Maps (perhaps by quite a margin, but still ...) and given how core mapping is to apps like Strava, this probably means that OSM is now mature.

The real question is how this will affect the ability to OSM to attract new contributors and improve the map even further. While routing works well on OSM, the POI layer and the address layer (important for geocoding) still needs a fair bit of work, at least in the US.

Here are some stats from the project: [http://osmstats.altogetherlost.com/](http://osmstats.altogetherlost.com/)

<comment><USER3> > While routing works well on OSM, the POI layer and the address layer > (important for geocoding) still needs a fair bit of work, at least in the > US.

OSM is built from the contributions of hundreds of thousands of individuals mapping their local area, and it would be great if you wanted to help them with that work!

If you're wondering how to get started, these guides might be helpful:

[http://learnosm.org/en/](http://learnosm.org/en/) [http://wiki.openstreetmap.org/wiki/Beginners%27_guide](http://wiki.openstreetmap.org/wiki/Beginners%27_guide)

Or, jump right in and sign up for OSM:

[https://www.openstreetmap.org/user/new](https://www.openstreetmap.org/user/new)

If you don't feel like signing up, you can simply add "notes" for OSM members to check out places where the map isn't accurate:

[https://blog.openstreetmap.org/2013/04/29/openstreetmap- open...](https://blog.openstreetmap.org/2013/04/29/openstreetmap-opens-up-to- more-contributors-with-easy-add-a-note-feature/)

Once you've mapped your local area and are looking for something else to help out with, these tools are a great way to find other problems to fix:

[http://maproulette.org/](http://maproulette.org/) [http://keepright.at/](http://keepright.at/)

</comment></comment><comment><USER4> Steve Coast the founder of OpenStreetMap who now works at Telnav also wrote about this on this on his homepage:

[http://stevecoast.com/2014/05/19/why-openstreetmap-is-now- na...](http://stevecoast.com/2014/05/19/why-openstreetmap-is-now-navigation- ready-for-people-like-you/)

</comment><comment><USER5> Since an announcement about this is currently at #1, I guess we'll bury this post as a dupe.</comment>


Media Temple Hacked? - <AUTHOR>

What is it with all the hosting companies get assaulted? Or maybe it was something they did (have not searched extensively). Anyways just wanted to throw this out there in case anyone has to do damage control (like me..)<p>www.mediatemple.net <comment><USER2> Media Temple grid server has awful uptime. It's always down for some reason or another. Stay away, folks.

<comment><USER3> I've actually heard the opposite. I was planning on moving from BlueHost to Media Temple Grid Server. I know neither are top-of-the-line-or-even-close services. But I don't have any 24/7 mission critical projects either.

<comment><USER4> Do make sure you leave Bluehost. They denied some stuff about a big malware attack and generally acted ridiculous:

[http://blog.sucuri.net/2010/06/bluehost-talks-down- malware-p...](http://blog.sucuri.net/2010/06/bluehost-talks-down-malware- percentages.html)

</comment></comment></comment><comment><USER5> Their DNS is down.</comment>


Ask HN: How do you scale MySQL (or Postgres) writes? - <AUTHOR> I have been reading about scaling relational databses, and so far most of what I have seen caters to key value style reads(caching by the primary key). I am still curious to understand how do people scale their MySQL writes. I would love it if some of you could share what you did. <comment><USER2> Scaling reads is pretty easy with MySQL as you can create read replicas and just have a single write node. Scaling writes while maintaining strong consistency is very hard and requires a sharding setup. Facebook wrote an article showing a bit under the hood details of how they setup MySQL sharding here:

[https://www.facebook.com/notes/facebook-engineering/under- th...](https://www.facebook.com/notes/facebook-engineering/under-the-hood- mysql-pool-scanner-mps/10151750529723920/)

You should look into CockroachDB if you want something very easy and scalable. It's strongly consistent like a conventional RDBMS but still scales horizontally pretty easily. It's basically like Google Cloud Spanner if you've heard of that.</comment>


Show HN: K-means algorithm in Ruby - <AUTHOR> https://github.com/sungwoncho/k_means_ruby

<comment><AUTHOR> I want to improve my coding skills, and decided to build something simple without using frameworks.

Here's a simple implementation of a famous clustering algorithm in Ruby. Feedbacks are welcome.

<comment><USER2> This repository is a good example of trying to abstract something to death in my opinion. It takes a relatively simple algorithm and breaks it up into far more pieces than really needed. It also manages to be both incomplete in its implementation (no iteration until convergence or change<some delta) and incorrect in implementation as the update step updates the centroid's location at the incorrect time.

100% coverage is pretty nice to have though.

<comment><AUTHOR> Thanks. I'm fairly new to OOP and wanted to try it out. Isn't abstraction here good because it breaks the code into modular pieces? Can you suggest some good readings? And I agree the algorithm is incomplete.

<comment><USER3> Only if you need those modules outside of your k-means</comment></comment></comment></comment>


Modern ClojureScript - <AUTHOR> https://github.com/magomimmo/modern-cljs

<comment><USER2> If you already know Clojurescript and Reagent reasonably well, I am very taken with re-frame[1] as a UI "framework." The readme is epic, but a great walkthrough of the framework and the reasons behind it. It achieves the same goals as Flux, but because it's cljs things end up being more functional, more powerful, and less verbose. :)

[1] [https://github.com/Day8/re-frame](https://github.com/Day8/re-frame)

</comment><comment><USER3> I really liked Living Clojure.

[http://shop.oreilly.com/product/0636920034292.do](http://shop.oreilly.com/product/0636920034292.do)

<comment><USER4> Huh, another Clojure book? I was skimming through Programming Clojure, Practical Clojure and Programming Concurrency on the JVM earlier this year (apparently before Living Clojure came out), seems like this would be a great addition to the Clojure resources with all the practical examples and the training program.

On the same note, looks like The Pragmatic Bookshelf is working on a more practical "next step" Clojure book (currently in beta):

[https://pragprog.com/book/vmclojeco/clojure- applied](https://pragprog.com/book/vmclojeco/clojure-applied)

</comment></comment><comment><USER5> How is there no mention of Om[1] or Reagent[2]?

[1] [https://github.com/omcljs/om](https://github.com/omcljs/om) [2] [https://github.com/reagent-project/reagent](https://github.com/reagent- project/reagent)

<comment><USER6> Most of it was written 2+ years ago

</comment></comment><comment><USER7> This page is vastly dated

</comment><comment><USER8> There is also new book in progress: [https://github.com/funcool/clojurescript- unraveled](https://github.com/funcool/clojurescript-unraveled)

</comment><comment><USER3> also aphyr's clojure from the ground up has great exercises at the end of each post.

[https://aphyr.com/tags/Clojure-from-the-ground- up](https://aphyr.com/tags/Clojure-from-the-ground-up)

<comment><AUTHOR> Aphyr is awesome [0], but _Clojure from the Ground Up_ isn't focused on ClojureScript, and the use cases for Clojure and ClojureScript are different in meaningful ways, e.g. dependencies and REPL connections and working with HTTP and browsers. What I like about this set of tutorials is that it covers a lot of different pieces if the ecosystem together in one place.

[0]: Just naming Jepson "Jepson" would have been enough.

<comment><USER3> True....Living Clojure isn't focused on just ClojureScript either.</comment></comment></comment>


IPv6: Trillions of new net addresses now possible - <AUTHOR> http://www.bbc.co.uk/news/technology-18338948 <comment><USER2> Relevant XKCD, illustrating how big that number is: <https://xkcd.com/865/>

</comment><comment><USER3> > The new system will run concurrently with the old for the next few years

Greatest bit of classic British understatement I've ever read, hands down.

(I wonder if it was intentional?)</comment>


The complete story of Paris-8 university going for Krita, Blender, Natron - <AUTHOR> http://libregraphicsworld.org/blog/entry/the-complete-story-of-paris-8-university-going-for-krita-blender-natron

<comment><USER2> Interesting. If the open-source tools are not the tools used by a majority of studios, then their students are being put at a disadvantage.

But if the choice is "Blender or nothing" then at least their students are learning the skills associated with the job, and can transfer them to the standard software later.</comment>


Ask HN: who started something that wasn't profitable but then posted on HN? - <AUTHOR>

<comment><USER2> Similar thread here: <http://news.ycombinator.com/item?id=4090845></comment>


Cats and Dogs: a one dimensional theory of character - <AUTHOR> http://www.logarithmic.net/pfh/cats_and_dogs

<comment><USER2> I think [http://www.ribbonfarm.com/2009/08/06/on-seeing-like-a- cat/on...](http://www.ribbonfarm.com/2009/08/06/on-seeing-like-a-cat/on- trail/the-way-of-the-sociopath/) is a more insightful analysis of the cat/dog dichotomy. There's nothing particularly cat like or dog like in the roles described in the linked article.</comment>


Bloomberg: BTC price on Bitfinex jumps as USDT holders look for exits - <AUTHOR> https://www.bloomberg.com/news/articles/2019-04-30/bitcoin-trading-at-300-premium-on-exchange-accused-of-mischief <comment><AUTHOR> Bloomberg Intelligence analyst Mike McGlone from the article:

"People on Bitfinex are getting out of Tether, off the exchange and what's the first thing you're going to buy if you don't want too much broad crypto exposure? Bitcoin."</comment>


Ask HN: How to get pitched by startups - <AUTHOR>

So I work for a pretty awesome consumer products company, and we like to try new things that aren't proven by the big guys yet. Any tips on a place to get pitched by startups?
I track HN/TC/etc daily, but I have this feeling that theres probably a lot of startups that could help our business, and likewise we could help validate/grow. I might not be thinking about what they're offering, or frankly understand the proposition.
Any ideas? <comment><USER2> I see a lot of startups on a day to day basis (I run The Startup Foundry) and would be happy to pass along some info your way.

What are you looking for specifically?

<comment><AUTHOR> I suppose thats the problem, I'm not quite sure.

Our company is Vita Coco (<http://vitacoco.com>), and we're always looking for ways to increase our social media fans, analyze where and what our fans are doing, optimize our web/fb pages, etc.

I guess what I'm looking for is a way to opt-in as a person willing (and looking) to be pitched ideas by fresh companies.

<comment><USER3> I would suggest AlphaList except that I just realized I haven't seen anything from them in a couple weeks.

Still, worth a shot.

<http://alphalist.co/>

<comment><AUTHOR> ah perfect, just what I was looking for. thanks!</comment></comment></comment></comment>


Show HN: Docker monitoring SaaS - <AUTHOR> https://ruxit.com/docker-monitoring/

<comment><USER2> So, is the pricing the same no matter how many containers your monitor if you only have it on one host os? Or is it host + n containers?

<comment><USER3> The service is focused on monitoring hosts (for all kinds of things) and so is their pricing. So yes, it does not matter how many containers are on a host.</comment></comment>


Inside Moscow's Metro - <AUTHOR> https://www.washingtonpost.com/news/in-sight/wp/2018/01/19/inside-the-theater-of-moscows-metro/ <comment><USER2> I am former resident of Moscow and a current resident of New York. If I could take one thing out of Moscow and bring to NYC it would be the subway. An impossible dream, but what we actually can have though is expanding our NYC subway at a rate anywhere near Moscows. Moscow added 80 stations to its subway since 2000, including 26 stations on a new circular line [0]. New York added 5 in that time [1].

[0] [https://en.wikipedia.org/wiki/Expansion_timeline_of_the_Mosc...](https://en.wikipedia.org/wiki/Expansion_timeline_of_the_Moscow_Metro)

[1] [https://en.wikipedia.org/wiki/Proposed_expansion_of_the_New_...](https://en.wikipedia.org/wiki/Proposed_expansion_of_the_New_York_City_Subway#21st- century_expansion)

<comment><USER3> Same here. I've moved to Sydney from Moscow. Boy, do I miss Moscow subway, it works just like teleport. Dive in, dive out in the destination and it's warm in winter and chill in hot summer.

</comment></comment><comment><USER4> Was just there on a weekend trip, while on longer trip to EU. (Got to love that in Europe you can just hop on a plane on a whim and be in a completely different country within a couple hours!)

Using the metro really reminded me how much LA is missing in terms of sane public transit. Walked around downtown Moscow, froze near to death (-12C with wind requires some extra cloths that I neglected), got into the first station I saw and only needed one train change to get to the line that took me home. All-in-all less than 20 minutes from randomly picked downtown station to home halfway across the city. Same thing in LA would have required extensive planning and likely multiple bus/train combos, or more likely a call to Uber/Lyft...

Another interesting feature is that Moscow metro has flat rate pricing.

<comment><USER5> I had a similarly pleasant travel experience while visiting Moscow on a whim. It was a bliss to get all around the city and back to where I was staying easily. Trains would come often and would have multiple connections (and if you missed a connection, you could just take one of the circle lines to get to the line you missed. And being from southern California, I definitely agree with your comment about how much more difficult a trip to LA would be without having access to a car.

<comment><USER6> The biggest advantage is how predictable it is, because of short intervals. There are smartphone apps that compute your ETA from station to station, and even across multiple transfers, I found them very accurate. It's a nice feature when planning commute etc.

</comment></comment></comment><comment><USER7> It's hard for pictures to convey just how stunning these stations are, and the fact that the photos in the article were not particularly good didn't help.

I'd recommend anyone to visit and see this for themselves. It doesn't hurt that it also gets you to your destination with amazing accuracy.

It's quite telling that instead of having a sign indicating the arrival time of the next train (in minutes) like all other underground systems I've seen, they have a counter that counts down the seconds until the next train. Also, the counter only has two digits, since it doesn't need more.

<comment><USER8> Personally I think Stockholm's subway stations are much more spectacular.

<comment><USER7> The Stockholm stations are nice in a different way. That said, I'm from Stockholm, so I might not be the best person to judge.

</comment></comment></comment><comment><USER9> > The metro, which was named after Vladimir Ilyich Lenin

OK, I'm nitpicking, but it's not exactly true.

The construction was overseen by the ruthless Kaganovich and named after him. When Kaganovich was purged by the successor of Stalin ([http://soviethistory.msu.edu/1934-2/the-moscow- metro/](http://soviethistory.msu.edu/1934-2/the-moscow-metro/)), it was changed to "Lenin's".

<comment><USER10> The St. Petersburg Metro was also named after Lenin. Its full Soviet-era name: the V.I. Lenin Order of Lenin Leningrad Metropoliten [1].

That's a lot of Lenin.

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

</comment></comment><comment><USER11> The (centrifugal) layout's cool, too:

[https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Mo...](https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Moscow_metro_ring_railway_map_en_sb_future.svg/1000px- Moscow_metro_ring_railway_map_en_sb_future.svg.png)

Or this alternate take:

[https://ilyabirman.net/projects/moscow- metro/map/2016/i/diag...](https://ilyabirman.net/projects/moscow- email@example.com?1490271378)

<comment><USER12> Berlin also has a ring metro line [1], but I think it's safe to say that it's not as reliable or as aesthetically stunning as the ones in Moscow. Not that the Berlin metro system is crappy; I've lived here for years and love it.

[1] [https://i.pinimg.com/originals/2c/73/f5/2c73f573e6afaf332145...](https://i.pinimg.com/originals/2c/73/f5/2c73f573e6afaf332145bb6af550ffaf.jpg)

<comment><USER13> It's not a metro line (U-Bahn), actually. It's a railway (S-Bahn), similar to "Moscow Central Ring". Moscow is currently developing it's own equivalent of S-Bahn in addition to the metro.

</comment></comment></comment><comment><USER14> As everyone else is writing, it is stunning. One cannot believe the beauty and elegance, the art and technique.

Oh and while there (in Moscow) a must-see for all in the HN is the Museum of Russian Arcade Machines!!

[https://www.tripadvisor.com/Attraction_Review-g298484-d23423...](https://www.tripadvisor.com/Attraction_Review-g298484-d2342320-Reviews- Museum_of_Soviet_Arcade_Machines-Moscow_Central_Russia.html)

<comment><USER15> Agreed on both counts.

I was there in ... 2011? or 2013? I can't remember which year I visited the arcade museum, but it was fun. They were, while I was there, working on it, as in, some guys in the back were welding some... staircase or wall fixture or something - while I was walking around playing games.

I couldn't read much Russian, and couldn't speak it, but my brother could, and he had a chat with one of the owners of the museum. They were apparently fixing or rebuilding many of the games from whatever parts they could find - apparently it was quite a challenge to find original parts for some of the games.

I remember playing "sniper" and "sniper 2" and "gorodki" \- gorodki was pretty fun, and probably would have been a hit in the US with a different name. :)

<comment><USER16> If you can manage to find the ROMs, Gorodki (actually a remake on TIA-MC1 hardware, released a few years after the original) can be played via MAME since 2016. It also supports several other Soviet arcade games.

[http://mamedev.org/?p=429](http://mamedev.org/?p=429)

<comment><USER15> Cool - thanks!

</comment></comment></comment></comment><comment><USER17> Picturs cannot make justice you have to see it for yourself. Moscow metro is like you are in a high end art gallery filled with beautiful Russian women. It is different around the year and it can take you anywhere in Moscow.

PS

Checkout the metro map the layout is great

</comment><comment><USER15> I was there a couple times and was discouraged from taking pictures in the stations. Not knowing the language, I was afraid of the warnings and didn't take too many pics, but ... yeah, the architecture and art is extremely impressive. Unless you live there and use it every day - you probably get to a 'meh' stage at some point. I do remember pretty much no one smiling or expressing much of any emotion, and remember there being just... in my mind, enormous numbers of people. I've been in NYC and London subways, but it felt like Moscow's were just handling far more people (and it felt ... faster too, once I got the hang of reading the maps).

<comment><USER18> In Russian culture, smiling at a stranger is considered buffoonish behavior.

<comment><USER19> People would just think that you're foreigner. Russians don't usually smile without reason, but it's not like they discourage that.

</comment></comment></comment><comment><USER20> What copy editor let "Plochtchad Revolioutsi" and "Plotschad Revolutsyii" through as acceptable transliterations of "Площаь Революции" (and allowed two versions of the same station's name to boot)?

<comment><USER10> I'm guessing that the author, Didier Bizet, is French. These look like typical (though not very consistent) transliterations of Russian into French (the path by which the composer Чайковский became known as Tchaikovsky, rather than Chaikovskiy). Also, one of the captions mentions a bench from the "Cathedral of Christ-Sauveur". Bien sur?

So maybe the article was translated from French? Anyway, I agree that the copy editor was asleep at the switch.

</comment></comment><comment><USER21> Anyone else disappointed by the photos? It's obviously a really gorgeous system, perhaps the most beautiful in the world, but I don't think the pictures do it justice.

</comment><comment><USER22> Is it accurate that North Korea strives to copy the Russians on the beauty of their subway systems? Rather, I suppose, is it an ideological belief to insure public transit is beautiful?

<comment><USER23> If anything, the Pyongyang Metro is even more ideological: AFAIK, it's the only metro in the world where all stations are named after concepts (Comrade, Red Star, Glory, Complete Victory), not nearby places, although there are occasional overlaps (eg. Kaeson/Triumph is near the Arch of Triumph).

[http://www.earthnutshell.com/stopping-all-stations-the- pyong...](http://www.earthnutshell.com/stopping-all-stations-the-pyongyang- metro/)

Broadly speaking, though, virtually all older Communist-era metros were inspired by Moscow and look similar: trains, deep underground platforms, triangle network layouts, revolutionary art, etc. Newer lines are more utilitarian and there is the odd delightful exception, like Prague's weird and wonderful Line A from the 1970s:

[https://ubahn.photos/en/portfolio/prague- line-a/](https://ubahn.photos/en/portfolio/prague-line-a/) (skip ahead 10 photos or so to get past the newer ones)

<comment><USER24> >Broadly speaking, though, virtually all older Communist-era metros were inspired by Moscow and look similar

The subway in East Berlin didn't look like the one in Moscow, in Berlin it was built by the Nazis in the thirties (also Wikipedia says that the trains in the Pyongyang metro came from East Berlin - these are a bit different from the wagons in Moscow [https://en.m.wikipedia.org/wiki/Pyongyang_Metro](https://en.m.wikipedia.org/wiki/Pyongyang_Metro) )

<comment><USER23> The subway in East Berlin was formerly (and is now again) part of the Berlin U-Bahn, which predates Moscow's metro by a good 30 years. So while in a Communist country, it's not really a Communist- _era_ metro.

<comment><USER24> not exactly 30 years, the first section of the U-Bahn opened in 1923 and the first section of the Moscow metro opened in 1935

[https://en.wikipedia.org/wiki/Berlin_U- Bahn](https://en.wikipedia.org/wiki/Berlin_U-Bahn) [https://en.wikipedia.org/wiki/Moscow_Metro](https://en.wikipedia.org/wiki/Moscow_Metro)

</comment></comment></comment></comment></comment><comment><USER25> Surprisingly The article doesn't talk about the efficiency and scale of the system (one of the busiest and fastest in the world), the price (<0,5$ Flat) per ride, WiFi and cellular in the trains, safety, simplicity of navigation (thinking of Tokyo), art-gallery trains and professional musicians playing near the exits.

Overall, I'd say that WP could've done a better job here (especially if you ask ppl to pay for this article).

</comment><comment> bra-ket couldn't get through the paywall, but here is another article with amazing pictures: [http://www.businessinsider.com/moscows-incredible-metro- syst...](http://www.businessinsider.com/moscows-incredible-metro-system- photos-empty-2015-10)

<comment><USER26> It's a pity they haven't added any additional info. For example Mayakovskaya Station's arcs were made from special alluminium at [https://en.wikipedia.org/wiki/Dolgoprudnenskoe_Scientific_Pr...](https://en.wikipedia.org/wiki/Dolgoprudnenskoe_Scientific_Production_Plant), which was created at first for the means of producing the dirigibles.

Also at first rhodonite was used as a material for column fins. Now replaces with marble for the most part.</comment></comment>