Free Linux cloud shell for Gmail users - <AUTHOR> https://console.cloud.google.com/cloudshell/editor?pli=1&shellonly=true <comment><USER2> (I work for Google Cloud)

If you want to learn more about Cloud Shell, the marketing page is here: [https://cloud.google.com/shell/](https://cloud.google.com/shell/)

Cloud Shell is one of my favorite things about GCP. A lot of dev tools (Docker, Python/Go/Node/Ruby/Java/.Net, etc) are pre-installed, you can test "localhost" servers with the preview feature, there is a built in file editor (based on the open source Orion project), etc. And it's all free!

This link will directly open the shell in a full page, and I'm not sure it will work unless you have set up your GCP account before. It's really not designed to be opened this way, I recommend opening it from the GCP console and then making it full screen if your want.

Also note: Cloud Shell gives you a persistent 5GB /home Directory, but every other folder is reset after a while. If you want to add your own binaries, I'd recommend adding home to your path and installing them there.

<comment><USER3> Can I give you a tidbit of feedback?

If the instance is ephemeral, I need to manage everything in HOME and that's fine. For Python, that basically means using Virtualenv. That works fine at the moment for python 2.7, but 3.x on Debian requires the package python3-venv, which is not installed by default - and sure enough, it's missing in Cloud Shell.

It's a bit annoying having to apt-get install python3-venv every time. Any chance it could be preinstalled? It's such an essential tool for modern python development...

<comment><USER4> You can tell virtualenv to use an arbitrary python interpreter, even pypy, using `--python=/path/to/python/interpreter`.

<comment><USER3> But then I have to install the virtualenv script in every dev environment, when really the stdlib version is perfectly fine and requires no extra hacks.

It's an annoyance specific to Debian and to this day I'm not sure I understand the rationale for splitting it out of the main python3 package.

</comment></comment></comment></comment><comment><USER5> Before you get excited, read about limitations:

[https://cloud.google.com/shell/docs/limitations](https://cloud.google.com/shell/docs/limitations)

</comment><comment><USER6> And if you'd rather use something on a higher level of abstraction, there's also Google Apps Script ([https://www.google.com/script/start/](https://www.google.com/script/start/))

From one way of thinking, Apps Script is a lot like AWS Lambda; but from another way of thinking, Apps Script is more like OS automation workflows that happen to run in your cloud account rather than on your computer.

<comment><USER7> Personally, I think of Apps Script as being more like the cloud-based equivalent of VBA.

</comment></comment><comment><USER5> It's available for to anyone that has a Google account.

You don't have to be a "Gmail user".

<comment><USER8> You do need to register as a business if you are located in EMEA. There is no private/personal option. This is a huge showstopper for me and, in my opinion, anyone who wants to use it for educational purposes.

<comment><USER3> _> You do need to register as a business if you are located in EMEA._

Is that a T&C rule or a technical block? Because I'm in EMEA, not registered as a business, and it opened for me just fine.

<comment><USER8> It's inquired when you first register for GCP. If beforehand you've selected EMEA country there will be no option to choose between personal/business.

GCP support did respond to my inquiry and they specified that it's the case in whole EMEA.

P.S I just tried and it appears they've added option to switch to "Individual". Great!

<comment><USER5> You don't have to register for GCP to use the cloud shell.

</comment></comment></comment></comment></comment><comment><USER9> With my Google Chrome 64.0.3282.119 instance, there is no user selector it seems, which is causing authentication to fail, which then causes an infinitely repeating loop of reconnection attempts all leading to a 404 or 401 response in JSON.

<comment><USER10> +1, not having the user selector on this is a pain, more than once ive spun up some resources on a personnal account accidentally

</comment></comment><comment><USER11> Wow, even has dotnet. Including C#, F# and Visual Basic.

        $ find /opt/dotnet/ -name \*.sh
        /opt/dotnet/sdk/2.0.0/Roslyn/RunCsc.sh
        /opt/dotnet/sdk/2.0.0/Roslyn/RunVbc.sh
        /opt/dotnet/sdk/2.0.0/FSharp/RunFsc.sh
        ....

</comment><comment><USER12> This is nice. If we could ssh into it, it would be _great_! Is that feature coming soon?

<comment><USER2> I don't think that feature is planned. However, you can get a f1-micro VM for free:

[https://news.ycombinator.com/reply?id=16248668&goto=item%3Fi...](https://news.ycombinator.com/reply?id=16248668&goto=item%3Fid%3D16247577%2316248668)

</comment></comment><comment><USER13> How does this work? Given that its PID1 is not a "real" init process but a bash running the script `/google/scripts/onrun.sh` and its / being type `aufs`, I guess this is a Debian Docker instance?

<comment><USER11> Yep, /etc/debian_version is 9.3.

It has a docker0 network interface (among others)

<comment><USER13> > It has a docker0 network interface (among others)

That's for the dockerd which is running inside the ... VM?

The interesting thing is that the uptime and dmesg show that this system is not shared on the kernel level - if I were to guess, I'd say that Google allocates a real virtual machine with a tiny OS running Docker, starts the docker container inside this VM and then grants you webshell/ssh access to this Docker container.

But why the Docker setup when the machine is yours anyway?

<comment><USER11> You're right... and docker works:

        $ docker pull hello-world
        $ docker run hello-world

        Hello from Docker!
        This message shows that your installation appears to be working correctly.
        ....

Not surprising since two of the outgoing ports allowed are 2375 and 2376 -- the docker non-ssl and ssl ports.

<comment><USER14> A minor note: docker run will download the image if it's not already present. No need to pull manually (unless you want to go offline or something like that).

</comment></comment></comment></comment></comment><comment><USER15> This looks cool. I wonder how does the sandboxing work since it looks like docker but some things are different.

I am curious because we made a somewhat similar tool for conducting interviews[1] but ours has collaboration too.

[1] [https://codepad.remoteinterview.io/](https://codepad.remoteinterview.io/)

</comment><comment><USER16> Wow, Debian 3.9 kernel.

Has ssh, vim, tmux, and docker installed. I'm guessing this is either a container itself or a Debian vm.

I'm still finding new things that are installed and useful. I would find myself using it to QA docker compositions I write. The question is can I host from this instance?

<comment><USER17> It's a container. And what do you mean by host? You can definitely run containers in it, and an ephemeral external IP. There is a button at the top right that shows what you are running on port 8000 from the outside, handy to test whatever you are running.

</comment></comment><comment><USER18> Would be great for your shell to automount your Google drive. (I know Google Drive isn't a real distributed file system, but the point stands... and if GDrive doesn't work, how about Google making an actual distributed/network file system that I can own for this purpose, like AWS EFS?)

</comment><comment><USER19> Interesting, upon 'ps aux', There's a 'sleep infinity' process running.

<comment><USER20> Docker maybe? I know that's one way to keep a docker container open.

</comment></comment><comment><USER21> Does this have something specific to do with Gmail? Or is it just that it's another thing (a separate, independent feature of your Google account) that you get for free, as part of being a Gmail user?

<comment><USER2> This has nothing to do with Gmail. It is part of Google Cloud. Both Gmail and GCP use your Google Account. The title is misleading.

(I work for Google Cloud)

</comment></comment><comment><USER22> I run sudo npm install -g n and then sudo n8.9.4 but I got an error "sudo: n: command not found". How can I use n?

</comment><comment><USER23> is this down at the moment? (Sat Jan 27 23:18:48 UTC 2018) the ux seems to be hanging, trying to contact [https://ssh.cloud.google.com](https://ssh.cloud.google.com) ...

"slashdotted?", or whatever the hackernews term for that is?

<comment><USER23> ... of course, moments after i posted this comment, it started responding again. Growing pains, I suppose, or temporary burp.

<comment><USER24> Delay for spinning up new instances?

</comment></comment></comment><comment><USER25> Interesting how they make use of tmux sessions for the cloud shell session feature.

</comment><comment><USER26> I setup an IPSec tunnel on it a while ago just to test , pretty neat IMO

</comment><comment><USER27> Wow, I find GCP to be much less straightforward to use than AWS.

</comment><comment><USER28> This is pretty cool. Thanks for sharing.

</comment><comment><USER29> can I ssh into it? does it have a public ip?

<comment><USER2> If you want a free Linux box with a Public IP and SSH, I'd recommend spinning up an f1-micro VM. It's part of the permanent free tier:

[https://cloud.google.com/free/](https://cloud.google.com/free/)

Cloud Shell is a "temporary" instance, really meant for interactive Dev/Admin work.

(I work for GCP)

<comment><USER30> Thanks for taking the time to comment. I wasn't aware there was a free tier. I really appreciate that it's an _actual_ free tier:

"Thanks for signing up for the 12-month free trial.

We've given you $300 in free trial credit to spend. If you run out of credit, don't worry, you won't be billed until you give your permission."

[ed: and as mentioned above there are instances that don't consume any of those 300 credits]

<comment><USER2> So there is the free trial and the free tier.

The free trial is $300 for 12 months that you can spend on pretty much anything (I think there are some limits on GPUs due to abuse).

The free tier is free forever, no dollar limits or time limits. This includes the 24/7 f1-micro, 28 App Engine hours per day, Cloud Datastore, Firebase stuff, some Cloud Functions, etc.

<comment><USER31> In the free tier, is it "fair game" to run 10 instances of the f1-micro?

I would like to test the throughput, measure uptime over a few months, and check how well it handles DDOS. I would configure 10x static IPv4 and IPv6 to make sure it does not impact anyone else.

I plan to setup a nginx serving a few static pages with a Round Robin DNS on a subdomain.

<comment><USER2> Free trial, yes. Free tier, no.

Basically the free tier subtracts the cost of a f1-micro from your monthly bill if you have at least one running.

<comment><USER31> Thanks for the precision! It avoids a bad surprise :-)

Do you know if a f1-micro can cost more than $4 per month if it is used extensively? By that, I just mean 100% cpu usage, 100% of the 5Gb disk quota, with just 1 IPv4 and 1 IPv6.

I like the scalability, but I want my clients to know that their bill will not "fluctuate".

Cost-wise, $40 for 10 IPv4 is in the upper tier (some OVH resellers give you 16 IPv4 on some decent dedicated server) but for what I need (low latency), the wide geographic coverage could still make it worthwhile.

<comment><USER2> Network Egress is not included in the price, so you have to keep that in mind. Ingress is free. Otherwise, feel free to use 100% 24/7.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER32> Python 2.7 by default?

<comment><USER3> Python 3.5 is also preinstalled.

</comment></comment><comment><USER33> No Lua preinstalled

</comment><comment><USER19> No Ruby Pre-installed.

<comment><USER11> Works for me.

$ ruby --version ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

</comment></comment><comment><USER34> Last I looked, Cloud Shell was still pretty tiny instances, with no paid option for more (wth isn't there a super boost mode that I pay for, at least?!), and the integrated editor was meh. I suppose I could use it with the gcloud CLI and docker-machine as a sort of orchestration console to bring up more boxes, but then I have to remember to kill them or I get a huge bill. (This has happened to me on DO before.)

AWS Cloud9 lets me pay for a single big honkin ec2 that backs the IDE, has a better editor, browser ssh support—and has a built in option to suspend the "expensive" instance after 30 mins of inactivity.

I loved Cloud Shell but the inability to let me pay for a bigger backing instance or more storage is a real limitation. (One of my commonly worked on projects takes 25 mins to compile on a boost mode Cloud Shell instance, and operates on ~80GiB of data.) Cloud9 is at a real advantage here.

Whoever first integrates Atom, though (all of these seem to use Ace), I think will be the real winner.

<comment><USER35> _the integrated editor was meh_

Cloud Shell has Vim 8 installed, which you can use instead.

<comment><USER34> I meant the local one. Remote editing over ssh is a nonstarter.</comment></comment></comment>


Ask HN: What is this new "offline" support trend? - <AUTHOR> Is there gonna be an internet shortage soon? Why would you want your app to send forms when it's offline? <comment><USER2> Not everybody lives in large urban areas where Internet is an almost guarantee. I myself live in a remote area of Ontario where coverage can be spotty at times. It's nice to have a fallback to offline storage when I don't have access. Not everybody is willing to pay for a data plan as well.

<comment><AUTHOR> Yes, I have experienced bad internet connection before too. If I'm filling a form, when I click "Save" button I would expect it to save, if my connection is bad, it would either say "failed" or the loading wheel of death would go forever which would make me move my computer or phone to somewhere else to get better reception.

Saving to offline storage and sending via service worker when the devices comes back online sounds horrible because there is no way to explain a user that the form they sent will be processed automagically when they are back online.

<comment><USER2> For sure it's painful. I experienced that with a project we have here. It's a submission portal for students at a remote area college. Students there typically don't have reliable access to the Internet. When they go to submit their answers to their assignment, if they do not have a connection then we have to save the information locally and submit when they come online.

It's also nice because now the students can view their list of courses and assignments without having Internet. I wouldn't say there is a use case for every app that markets it but there definitely is a market for offline availability in some cases.

<comment><AUTHOR> I totally understand and support offline reading which makes a lot of sense since you want to access something you had already downloaded. But I believe sending something later and relying on an app for an important form wouldn't make anyone comfortable.

</comment></comment></comment></comment><comment><USER3> Because: 1) subway trains have no wifi 2) concrete and refrigerators block signals 3) data is expensive 4) once I have all the data from the site, I want to read and play on it without necessarily updating every micromove with a ping and response 5) some services don't need real-time call-and-response. Would you want wikipedia live updating every paragraph when all you want to do is read an article?

<comment><AUTHOR> I was misunderstood. I mean the "posting capability". I open the most popular HackerNews thread and read the comments on commute but I don't care posting a comment because I know I'm offline.

<comment><USER3> Ah, well imagine you are writing a novel of a reply to someone and it gets lost when you exit out of the app. Wouldn't it be nice to save the form data so when you're on Wifi you can reply? That must be the motivation.

</comment></comment></comment><comment><USER4> Take a trip to NYC and jump on the subway, tons of time you are offline yet have time on your side.

</comment><comment><USER5> I do not know what you mean. Can you be a little more specific?

<comment><AUTHOR> Here is an example: [https://mxb.at/blog/offline- forms/](https://mxb.at/blog/offline-forms/)

I started to see another "offline sending support" every single day and can't understand the idea behind. If I'm doing something important, I would want to see that the form I filled is sent. I would never rely on an app saying "Oh yes, I saved this and will send it later for you". I am questioning this trend.</comment></comment>


Little Languages - <AUTHOR> https://www.maxhallinan.com/posts/2018/12/07/little-languages/ <comment><USER2> Andrej Bauer maintains a "programming languages zoo" of languages like this: [http://plzoo.andrej.com](http://plzoo.andrej.com)

 _> The Programming Languages Zoo is a collection of miniature programming languages which demonstrates various concepts and techniques used in programming language design and implementation. It is a good starting point for those who would like to implement their own programming language, or just learn how it is done._

<comment><USER3> The PL Zoo is a great resource, but that's not exactly what the blog post is advocating for. PL Zoo is meant for students studying the _implementation and design_ of programming languages.

What the blog author is describing, on the other hand, is a small language for teaching the _use_ and _application_ of certain programming techniques.

It's a very promising idea, one that I may try to bring to life for something tricky, like monads or maybe Rust's ownership system.

<comment><USER4> _What the blog author is describing, on the other hand, is a small language for teaching the use and application of certain programming techniques._

They already exist: the Racket student languages. My first year CS course was built on them [1]. Really well-made and -run course.

[1] [https://www.student.cs.uwaterloo.ca/~cs135/](https://www.student.cs.uwaterloo.ca/~cs135/)

<comment><AUTHOR> Thanks for mentioning Racket. I'm aware of the language but didn't know it know it was designed specifically for "language-oriented programming".

</comment></comment></comment></comment><comment><USER5> I'm very fond of small, specific and simple languages without sacrificing inherent complexity. For me, that includes IP adresses, UUIDs, timestamps, URIs, println formatting, et cetera.

It's a shame though that we don't represent them as such in the current state of affairs but choose to implement them separately in every language. Can we have a fast, universal, feature complete parser generator that is natively supported in our mainstream languages?

For instance, think adding an ANTLR grammar into a .NET project and then be able to just do `var ipAddress = ip"127.0.0.1";` and get full editor support with that.

<comment><USER6> Clojure (and EDN) has it in the form of tagged literals.

[https://clojure.org/reference/reader#tagged_literals](https://clojure.org/reference/reader#tagged_literals)

</comment></comment><comment><USER7> Scheme sounds like it's pretty close to what the author is describing. It's a very small and simple core that you can build on, and even create mini languages on top of. The macro system allows you to pretty much express any idea without having to change the core language. As a bonus the runtime is interactive allowing you to explore ideas and see the results immediately.

<comment><USER8> Forth is also quite amazing. I really enjoy both.

<comment><USER9> Lua always seemed somehow "right" to me (despite its numerous flaws, including one-based indexing), just like s-expressions somehow are just the right format for many kinds of data. You look at it and "just know". You understand it, the computer understands it effortlessly, and if you remove any element it stops making sense.

One thing both of these have in common is that they are slightly different from mainstream ideas (e.g. C, Python, JSON, XML). Not so different it becomes alien, but different enough to make you approach it with a different state of mind.

<comment><USER10> I'm not a Lua user, so I thought I'd ask why one-based indexing is a flaw. As long as it's consistent, does it really matter?

As someone who is forced to use VBA, it sounds like Lua could be worse

<comment><USER11> "Why numbering should start at zero":

[http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EW...](http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html)

</comment></comment></comment></comment></comment><comment> a-saleh In my mind, there are three really great little languages:

* datafun - attempt to extend datalog to more generic computation. [http://www.rntz.net/datafun/](http://www.rntz.net/datafun/) I liked simillar exploration of computing with latices with the concept of propagators: [http://web.mit.edu/~axch/www/art.pdf](http://web.mit.edu/~axch/www/art.pdf)

* dhall - configuration language that has user defined functions, but is total :) [https://github.com/dhall-lang/dhall-lang](https://github.com/dhall-lang/dhall-lang)

* the gamma - a visualization/data query language : [http://tomasp.net/blog/2017/thegamma-getting-started/](http://tomasp.net/blog/2017/thegamma-getting-started/)

<comment><USER12> Wow, The Gamma looks great! Any idea if it can generate zoomable time series charts?

<comment> a-saleh T.b.h. I am not sure, been a long time since I played with it. I think so?

</comment></comment></comment><comment><USER13> I worked through the CTM book[0] a while ago and I think this was the general approach taken using the Oz programming language. Each programming paradigm was split into a kernel language that would demonstrate specific programming features. I'd highly recommend trying it out.

I really like the diagram they use to split up the languages + paradigms[1]

[0][https://en.wikipedia.org/wiki/Concepts,_Techniques,_and_Mode...](https://en.wikipedia.org/wiki/Concepts,_Techniques,_and_Models_of_Computer_Programming)

[1][https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.jpg](https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.jpg)

</comment><comment><USER14> I was expecting this to be about [http://wiki.c2.com/?LittleLanguage](http://wiki.c2.com/?LittleLanguage)

But instead it's almost the opposite. Bentley's original use of the little language term was about optimizing the languages for specific tasks. Not about building them around explaining a single concept

<comment><USER15> Here's another one: [http://www.erasmatazz.com/library/the-journal-of- computer/jc...](http://www.erasmatazz.com/library/the-journal-of- computer/jcgd-volume-9/little-languages.html)

</comment></comment><comment><USER16> Wikipedia knows of this thing called XL, or 'Extensible Language,' though I haven't seen it anywhere else: [https://en.wikipedia.org/wiki/XL_(programming_language)](https://en.wikipedia.org/wiki/XL_\(programming_language\))

> XL features programmer-reconfigurable syntax and semantics. Compiler plug- > ins can be used to add new features to the language. A base set of plug-ins > implements a relatively standard imperative language. Programmers can write > their own plug-ins to implement application-specific notations, which can > then be used as readily as built-in language features.

> XL is defined at four different levels: XL0 defines how an input text is > transformed into a parse tree. XL1 defines a base language with features > comparable to C++. XL2 defines the standard library, which includes common > data types and operators. XLR defines a dynamic runtime for XL based on XL0.

> XL has no primitive types nor keywords. All useful operators and data types, > like integers or addition, are defined in the standard library (XL2). XL1 is > portable between different execution environments. There is no such > guarantee for XL2: if a particular CPU does not implement floating-point > multiplication, the corresponding operator definition may be missing from > the standard library, and using a floating-point multiply may result in a > compile-time error.

Frankly, I'm not sure if this is much different from implementing a language with a parser generator, but apparently the 'semantics plugins' are written in a version of the language itself, instead of something like the eternal C[++].

</comment><comment><USER17> Hmm. I wanted to offer a course based on Idris this time around, and found that I would have to cover a lot of Haskell to get to the main parts of Idris. As I was about to teach this semester, somebody pointed out the new book "The Little Typer", along the lines of "The Little Lisper" and "The Little Schemer". Looks like Pie is a toy language in "The Little Typer". Pie looks promising - I'll dig in and spend a weekend on it :)

</comment><comment><USER18> As I was reading, I kept thinking, he should really look at The Little Typer and Pie. Then that was Section V!

(Really, many of the books in that series do this. The Reasoned Schemer for logic programming, The Little Prover for ACL2-style first-order logic.)

</comment><comment><USER19> What an interesting idea. Sort of, isolate out a graph of concepts from a language, and pull it out into its own language.

I do wonder why the author believes you need a separate language for this. Why not a DSL, or even a regular library in your popular language of choice (Scala, Haskell, JS, etc.).

Is that a reasonable approach too? Or is some part of the toy language approach lost without perfect domain-specific syntax, or because of parts of your host language leaking in?

<comment><USER20> As a developer who loves Ruby, the article (or possibly someone's comment above about making a mini-language around monads) reminded me of an excellent talk I heard lately that implemented a DSL/object model for monads in Ruby, and refactored some moderately sticky problems to use them. Still didn't convince me that they were the One Holy Way to do my next project, but got it a whole lot closer to a tool in my toolbox.

I think the reasoning behind implementing these small languages on their own would be twofold: one, unless you're very careful, you end up with lots of context and approach and style inherited from your host language. You can write non-rubyish Ruby, but only to a degree...and anyone using it who's moderately familiar with the language is likely to break your artificial constraints. And for many of the programming concepts perhaps best demonstrated in isolation, they're divergent enough to be hard to implement well in a 'traditional' host language.

</comment></comment><comment><USER21> Wonder, how everyone forget BibTeX, the (stack based) language for formating bibligraphy databases:

[http://vesta.informatik.rwth- aachen.de/ftp/pub/mirror/ctan/b...](http://vesta.informatik.rwth- aachen.de/ftp/pub/mirror/ctan/biblio/bibtex/base/btxhak.pdf)

</comment><comment><USER22> Does brainfuck count as a small language?

<comment><AUTHOR> Brainfuck certainly is small. I think it might also be an example of what I had in mind. Brainfuck could be a little language for the idea of a Turing machine. Perhaps by writing Brainfuck programs, one better understands the mechanics of the Turing machine.

</comment></comment><comment><USER23> When I first read the title, I thought the article was about awk. After all the definitive book about awk has a whole chapter on little languages. In that context, little languages means languages with specialized applications, and not general-purpose.</comment>


How will Apple's move to Arm change web development? - <AUTHOR> How do you think Apple's move to arm will change web today's standard web development workflow? <comment><USER2> I don't think a hypothetical move to ARM will change much for web development. Most of our tools are in interpreted languages (as well as the languages we develop in - JavaScript, Python, Ruby, etc) and interpreters are available for ARM already.

I would be more concerned for designers and creatives who need software like Sketch, Photoshop, After Effects, etc.

</comment><comment><USER3> Well it might change the tools you use on the Apple platforms, as Intel specific stuff will deprecate. And some tools will be optimized for it, whenever that happens (having been around for the 68k->PPC and PPC->Intel changes) you will probably see some of your favorite programs either become useless on new systems or a rewrite that isn't quite in the spirit of the older versions (new dev team, new ideas/priorities, maybe not as savvy on some of the features that were in the older versions) Ive seen a lot of good software/features left on the wayside during those transitions, theres been some welcome advances too but I fondly remember what was possible but no more.

<comment><USER4> Yup, basically this. If you rely on open source tools, especially packages that are primarily developed for Linux but packaged for Mac via Homebrew, you'll probably want to wait 18 months to switch to an ARM device for development, because it'll take that long for >80% of the maintainers to catch up.

</comment></comment><comment> tony-allan It is not certain that Apply will change its Mac completely to the ARM architecture any time soon. But even if it did I would expect that developer related applications will run as they do today and web development workflow will not change.</comment>


Moody's takes rating actions on nine Hong Kong banks - <AUTHOR> http://www.moodys.com/research/Moodys-takes-rating-actions-on-nine-Hong-Kong-banks--PR_275029

<comment><USER2> I just don't see how this is retaliation. Moody's is a public company. While the US government could conceivably put pressure on the firm to do something like this, they have a lot more tools at their disposal. In addition, the government has a lot of incentive to keep Chinese capital markets happy. If things go awry, it could hurt the American government even more. What if the Chinese banks decide not to hold any more US debt? It starts a bad cycle. Nobody wins in a trade war.

</comment><comment><USER3> Well, that's quite a stretch. I don't see where Snowden fits in. Plus, the rating agencies are already under heavy scrutiny over the housing market crisis.

</comment><comment><USER4> Retaliation? Does not look like it. What proof is there that this has been a political move?

</comment><comment><USER5> The rationale is justified. Not everyone is bullish on Hong Kong. They could've been inclined to do this already and this pushed them over but this isn't purely a political play.</comment>


UltraEdit for Linux - <AUTHOR> http://www.ultraedit.com/products/uex.html

<comment><USER3> IMHO it's a good thing to see commercial software being ported to Linux.

Now granted, on Linux, we probably don't need yet another editor - <USER2> no closed source one, but it's the spirit that matters.

The more companies out there producing Linux software, the more companies will do the same, accumulating momentum and in the end forcing stuff like Photoshop to happen on Linux sometime in the future.

UltraEdit is a well known product on the Windows world and it's being produced by a well known company, so if they see value in producing a Linux desktop version, others might too.

<comment><USER4> I was one of the people who ran UEStudio on Windows. When I switched to Ubuntu, I did not find the open source editors to my liking (yes, I know, heresy).

However, over the past year Komodo has stopped crashing enough to be the perfect editor for me. I don't see anything Ultraedit does that Komodo doesn't.

If they had come out on the market an year ago, I might have felt differently.

</comment></comment><comment><USER5> I used to _love_ UltraEdit back in 2000 before I completely switched over to Linux. It handled the various languages I needed (Java, Perl, PHP, Tcl) very well. After switching to Linux, I searched high and low for something that approached its feature set and user-friendliness and ended up with jEdit, which was a very solid replacement. vim and emacs are great, but both jEdit and UltraEdit are very approachable to the newbie.

I've downloaded the Ubuntu package and am impressed with the job they've done porting it over. It looks beautiful. I commend them for their effort. Not sure I could come back at this point, but man I wish I had this 9 years ago...

I hope the port proves rewarding for them.

</comment><comment><AUTHOR> UltraEdit is my favorite editor on Windows, which is why I was pretty happy to see it being made available for Linux. It is true that being closed source will make it difficult to succeed on Linux, but it's a good sign nonetheless. The website mentions that a Mac version is coming soon, which should be interested -- at least in comparison to TextMate.

<comment><USER6> I remember a time when UE was really the best option for Windows. Just think, (S)FTP integration! I certainly put a lot of miles on it.

Nowadays though, so many editors (some of them free) with identical feature- sets have popped up across all platforms that the only way I can see this having traction is if former users are really vying for the UltraEdit UI.

I remember having UI separation anxiety moving from Photoshop to GIMP, but my memories of UltraEdit aren't so fond.

</comment></comment><comment><USER7> That's great news but about 5 years too late... I've long since weaned myself of the habit.

<comment><USER8> That sums up how I felt, too. I was excited at first, but then remembered that I stopped using UltraEdit when I switched to Linux on the desktop.

Still one the best editors I've used, though, and was my favorite on Windows.

</comment></comment><comment><USER9> Meh, I don't need another editor for linux, vim is enough for me.

<comment><USER10> Yeah, no offense UE, but gvim's already got all your front-page features.

Find/replace? Of course.

Hex editing? Yes, via external helper xxd.

Column mode? If you mean block visual mode, yes. Justifying text is available through a macro.

Highly configurable and powerful? I'd say so.

Macros and scripts? Naturally.

Highly configurable GUI with file tabs, split windows, and more? Yes, yes, yes, and please define 'more' more succinctly.

<comment><USER11> Just because gvim (or emacs) can already do everything anyone has ever conceived of doing with a text editor doesn't mean it can't be improved upon.

<comment><USER12> Exactly. It's the interface that matters, not the feature list.

</comment></comment></comment></comment><comment><USER13> What's wrong with Geany?</comment>


Facebook knows what people are doing on their phones even if they don't use it - <AUTHOR> http://www.independent.co.uk/life-style/gadgets-and-tech/news/facebook-know-smartphones-activity-what-do-not-use-social-network-account-media-privacy-security-a7892761.html <comment><USER2> Discussed 18 days ago (270 points/96 comments):

[https://news.ycombinator.com/item?id=15007454](https://news.ycombinator.com/item?id=15007454)

<comment><AUTHOR> I found it hard to believe nobody would've posted this before but couldn't find it under the original title. Thanks for paying attention.

</comment></comment><comment><USER3> TL;DR - Facebook is running a free VPN service named Onavo Protect, which Facebook uses to monitor mobile users' network activity.

</comment><comment><USER4> I like to see these articles on MSM sites but I really wish there was a little more doom and gloom about how these capabilities could be abused. Fear drives change.

If FB decides that adultery is the worst thing in the world they could easily drop hints in the right places to screw over people who do that. What's worse is that they could generalize for anything they don't like. If Zuck decides to buy an ISP or three net-neutrality could be the thing they go after.</comment>


Ask HN: Language with good SVG libraries? - <AUTHOR> I've had an idea recently that involves automated programmatic creation of simple geometric vector graphics. Mostly repeated composition of lines, arcs, and circles, with varying endpoint shapes. Learning a new programming language is not an obstacle - it'd be good to have the extra motivation, actually.<p>Can anyone recommend a language for which there are good libraries for this purpose (and such a library, of course)? A minor plus would be if it also has good libraries for making a web-app, but that's not high-priority since the actual image-generation can be separated from the web-app that delivers results without needing any conceptual changes, as long as I go with a thin client in that case. <comment><USER2> You might look into TCPDF library for PHP, it is for generating PDFs, does a lot of great graphics stuff. Add inith FPDI and you can also import PDF files as page templates. You can set whatever page sizes, etc. And being PHP based it is very web capable.

</comment><comment><USER3> SVG is just XML, so any language that can write XML can handle SVG. There are plenty of tools to rasterize the SVG to a PNG. I don't think the choice of language matters very much.

<comment><AUTHOR> While that's true, there's a bit of a divide between "can write arbitrary XML" and having a proper scene-graph to e.g. place shapes relative to each other, or apply transformations to groups. In the same way, "has string processing" is not "has a framework for static web pages", for all that it's possible to put together arbitrary HTML from that point.

<comment><USER3> When you look at the SVG spec, it is quite simple, and not very different from what you would have to do in graphics APIs like OpenVG anyway for the operations you have described.

</comment></comment></comment><comment><USER4> JavaScript and d3js would suit you well. And if you hate JS just transpile from your fave language.</comment>


Association of E-Cigarette Use with Respiratory Disease Among Adults - <AUTHOR> https://www.sciencedirect.com/science/article/abs/pii/S0749379719303915 <comment><AUTHOR> This is the actual study that's being cited in articles like this one [https://www.nbcnews.com/health/vaping/e-cigarettes-linked- lu...](https://www.nbcnews.com/health/vaping/e-cigarettes-linked-lung- problems-first-long-term-study- vaping-n1101641?cid=sm_npd_nn_fb_ma&fbclid=IwAR1ft0ZXZyT5yji5aFxZMLmzFndcOlJsgjx9upkINjC2PziB2Zdr6aG9bXo)</comment>


A Week With The LG G Flex - <AUTHOR> http://techcrunch.com/2014/02/14/a-week-with-the-lg-g-flex/ <comment><USER2> GENOCIDE LATINO AMERICA.

CILIA FLORES GENERAL FISCAL NICOLAS MADURO OBAMA HARPERS SPAIN KING JAPAN CHINA AND COREA.

HUIMAN RACE STUDIES, ROBBS, VIOLATIONS, MURDERERS.

[http://www.pgiorg.blog.com](http://www.pgiorg.blog.com)

GENOCIDE LATINO AMERICA.

CILIA FLORES GENERAL FISCAL NICOLAS MADURO OBAMA HARPERS SPAIN KING JAPAN CHINA AND COREA.

HUIMAN RACE STUDIES, ROBBS, VIOLATIONS, MURDERERS.

[http://www.pgiorg.blog.com](http://www.pgiorg.blog.com)

GENOCIDE LATINO AMERICA.

CILIA FLORES GENERAL FISCAL NICOLAS MADURO OBAMA HARPERS SPAIN KING JAPAN CHINA AND COREA.

HUIMAN RACE STUDIES, ROBBS, VIOLATIONS, MURDERERS.

[http://www.pgiorg.blog.com](http://www.pgiorg.blog.com)

GENOCIDE LATINO AMERICA.

CILIA FLORES GENERAL FISCAL NICOLAS MADURO OBAMA HARPERS SPAIN KING JAPAN CHINA AND COREA.

HUIMAN RACE STUDIES, ROBBS, VIOLATIONS, MURDERERS.

[http://www.pgiorg.blog.com](http://www.pgiorg.blog.com)

GENOCIDE LATINO AMERICA.

CILIA FLORES GENERAL FISCAL NICOLAS MADURO OBAMA HARPERS SPAIN KING JAPAN CHINA AND COREA.

HUIMAN RACE STUDIES, ROBBS, VIOLATIONS, MURDERERS.

[http://www.pgiorg.blog.com](http://www.pgiorg.blog.com)

GENOCIDE LATINO AMERICA.

CILIA FLORES GENERAL FISCAL NICOLAS MADURO OBAMA HARPERS SPAIN KING JAPAN CHINA AND COREA.

HUIMAN RACE STUDIES, ROBBS, VIOLATIONS, MURDERERS.

[http://www.pgiorg.blog.com](http://www.pgiorg.blog.com)

GENOCIDE LATINO AMERICA.

CILIA FLORES GENERAL FISCAL NICOLAS MADURO OBAMA HARPERS SPAIN KING JAPAN CHINA AND COREA.

HUIMAN RACE STUDIES, ROBBS, VIOLATIONS, MURDERERS.

[http://www.pgiorg.blog.com](http://www.pgiorg.blog.com)</comment>


Yahoo Says Delicious For Sale, Blames Press for Confusion - <AUTHOR> http://www.wired.com/epicenter/2010/12/yahoo-blames-press/

<comment><USER2> The way they handled the leak was idiotic and short sighted. They should blame themselves, not the press.

Their first reply should have clarified that Delicious was not going to be shut down. Furthermore, they should have clearly stated that other prominent properties (like Flickr) were safe and weren't going to be shut down either.

Their initial response ("[we] plan to shut down some products in the coming months") was self-inflicted FUD, which basically stated that they were going to shut down whatever they saw fit. Not the best way to instill confidence in your products.

I suspect they panicked, saw the huge backlash from the community, and quickly came up with the plan of selling delicious and claiming that they were misunderstood from the get go.

<comment><USER3> The really interesting thing is how long they let this play without any kind of clarification at all. This ran for 24 hours before Yahoo jumped on this. I think you're probably right, surely if they meant to sell this then the response would have been far quicker? Letting this sit out there as a dead service for 24 hours doesn't do a lot for valuations.

Which does raise an interesting question: why the hell would you just shut the thing down and not even attempt to sell it?

<comment><USER4> Because they didn't think they could get enough for it to be worth the hassle of selling it. Why do people throw things away that they _could_ sell at a yard sale?

<comment><USER5> And if they were planning on selling it they might have used another term other then "Sunset"... possibly "Greener Pastures"

</comment></comment></comment></comment><comment><USER6> If Yahoo were really planning to sell Delicious all along, why would they sack everyone? <http://daringfireball.net/linked/2010/12/16/delicious>

</comment><comment><USER7> Whoever here wants to start an alternative to TechCrunch that doesn't dengenerate into crap, say _aye_. Hell, even a well-researched blog would kill techcrunch, mashable and all those shameless corporate/startup whores who pose as journalist.

Although...Yahoo should have came out and dispelled the rumours as soon as they circulated or released their own press release as soon as the presentation was finished.

I think both parties here are to blame; journalists (or supposed journalistst) should hold themselves to a higher standard and actually investigate instead of merely reporting rumours, and corporations should make sure they control their marketing/media message.

<comment><USER8> "Whoever here wants to start an alternative to TechCrunch that doesn't dengenerate into crap, say aye."

* given a leaked slide that came from a Yahoo product all-hands meeting

* given that it was leaked by a yahoo employee who wasn't laid off two days before

* given the Product Executive threatened on Twitter to get rid of the employee who leaked the slide

* given that two people who received the leaked slide were former Yahoo employees acquired through their own startup (delicious and upcoming)

What would you have done differently?

</comment></comment><comment><USER9> Its all he said. www.paulgraham.com/yahoo.html

</comment><comment><USER10> There's spin, and then there's spinning out of control while the last of your credibility evaporates forever.

</comment><comment><USER11> Bah, this story is as bad as the TC article.

Just more blog spam with no added insight. You can get everything you need from the blogpost, and the HN comments.

</comment><comment><USER12> Carol Bartz should step down as CEO, she doesn't have the balls to run a company like yahoo. She was appointed to bring yahoo down and is doing a great job at that.

<comment><USER13> > she doesn't have the balls to run a company like yahoo

Right. She doesn't.

I disagree with plenty of her moves but I always wonder how much that is because I'm standing on the sidelines and she's in the midst of it.

That said, saying one of the most powerful women in tech 'has no balls' is really dumb, for one she is a woman, second she's achieved more than 99.9% of the visitors here including you.

You weren't on the short-list to be picked as CEO of Yahoo! were you?

She's facing nothing but tough decisions, and even if - again - I disagree with some of them it is interesting to try to figure out what it is that you would do instead and to say that rather than criticize someone for 'lack of balls' when they make one ruthless decision after another.

<comment><USER14> Whatever she has achieved doesn't make the opinions of anyone, including yours, null by default because of some random metric of success. According to you, we should not criticize Ballmer, because he's the head honcho at Microsoft, even though he's obviously a mental case. According to you we should not criticize Jobs because he's the Apple god, even though it's obvious that the amount of control over the app store is a curse in disguise (and don't try to spin that the wrong way, I'm writing this on a mac and own an iPad... I'm as much a fan of most of Apple's products as the next guy).

Not every capable person becomes a multimillionaire and manages a big company, the same way not every dumb fucker ends up in the slums asking for cash on traffic lights. A lot of really smart people end up in the gutter for a variety of reasons, the same way a lot of imbeciles end up being millionaires through good luck or the fact that they where born into money or society. Kilimanjaro may have not been in the Yahoo CEO list, but his opinion is one shared with a great amount of people, and it's insulting not only towards him, but towards anyone who has an 'opinion' to say something that implies that their thoughts are not important because they're not the CEO of a big company. What can't I voice my opinion that someone is doing a lousy job without someone chastising me because "you're not on the CEO to be list". Bartz may be a tech superstar and all (and hell she deserves the respect that she deserves) and has achieved more than 99.9% of us have achieved, but she's also bringing down Yahoo in a torrent of fire.

That being said, I agree with you. I don't think she lacks 'balls'. Quite the contrary, I think she has lot's of 'balls' and the decisions she's making are sure as hell not easy to make. I also think they're the wrong decisions, and I think I'm entitled to say so... even though I'm not in the "Next Yahoo CEO" list.</comment></comment></comment>


Apple Is Taunting Publishers with Ad-Blocking and Apple News - <AUTHOR> http://www.wired.com/2015/09/apple-taunting-publishers-ad-blocking-apple-news/

<comment><USER2> _"Obviously, Apple's hope is that more consumers will shift to just using apps, instead of Safari or the mobile web._

A future app-based web really bothers me.

<comment><USER3> Seems inevitable. CPMs drop, buyers get desperate, ad units get invasive. Consumers hate invasive. Ad blockers emerge as a relevant biz category, so there's money to be made.

To Apple, by allowing ad blockers (and other Safari filters I presume), they can deliver better experience on those gross websites, and make a little money for a new category of apps (similar to the keyboard app stuff). Conveniently, this hurts web-based publishers, but hey, it's what the users are screaming for, and everybody else does it.

Developers think: oh great, something new to sell. Apple does want us to have control! And to think it only took 9 years.

Publishers, seeing a progressive drop in numbers, must explore other models. Apple News will probably feature micropayments of some kind which would be very convenient.

I can't see how any of these trends can be reversed, unless micropayments on the open web somehow caught on. With Bitcoin's endless drama that seems unlikely. Can you see any other conclusion?</comment></comment>


Ask HN: Best environmental monitoring front end for large lab, small datacenter? - <AUTHOR> We have about 3000 physical servers in our R&D lab. We have various environmental sensors (server temps, rack temps, room temp, humidity, HVAC statuses, etc) already accessible behind disparate portals.
I'm moving all these to one frontend. Are there some solutions for this that people here like? I'd love to be able to share all the dashboards with the rest of my team, send out emails automatically when things break, and also send emails when they appear fixed.
Obviously it's not too hard to do this from scratch, but figured it might make sense not to reinvent the wheel if there's something excellent available. <comment><USER2> What's your budget?

If you want a fancy easy to use UI you can consider getting the data into something like DataDog. But it's expensive.

For lower budget, consider Prometheus and Grafana. You will need to write glue code to get the the data points wired to prometheus.

For a scalable backend consider Grafana cloud, or you can run Cortex or Thanos yourself.

What resolution do you want? That is how frequently do you want to save a datapoint?

<comment><AUTHOR> Any reason you can think of to store points at a higher resolution than 1 minute?

</comment></comment><comment><USER3> What systems/protocols are your environmental systems using?

A common monitoring stack is Telegraf/InfluxDB or Prometheus for monitoring and storage. Grafana for visualization.

<comment><AUTHOR> Thank you! These look very well-tailored.

As for systems/protocols, all I know at the moment is that some of it currently uses Zabbix. It's multi-departmental so fact-finding goes slowly. I'm an industrial IoT guy at heart, so I'm also eager to determine the current topology.

I've used some proprietary solutions for things like this in the past (OSIsoft PI System, no relation to the Open Source Initiative "OSI")...and Sunbird DCIM looks fantastic. Both are probably a contracting company's dream for earning huge contracts to configure and maintain, and while I'd love to have the features Sunbird advertises, it doesn't feel like the right solution during a cost-cutting year. It also feels like it would be more difficult for the team to maintain.

In addition, my organization has been willing to let employees use their 9-5 work hours to contribute to open source when bug fixes or new features were needed for software stacks we depend on. So it feels good to see some well- developed open source options that we may be able to contribute to down the road.

<comment><USER3> Good to hear, I'm an industrial IoT guy as well. I was curious if the environmental monitors were using ModBus, OPC-UA, or BACNet.

Zabbix can integrate with InfluxDB and I beleive there is currently a Telegraf Input Plugin for Zabbix under development. Grafana can also be used to query Zabbix content directly.

I have extensive expierence with the traditional Historians like OSI Pi Server. You can actually visualize data from OSI Pi in Grafana! The Open Source and COTS produts have their own specific use cases. Much of it comes down to will the IT or OT groups be maintaining the system and what kind of support do they require.

That's great that your organization supports open source!

</comment></comment></comment><comment><USER4> [http://www.dglogik.com/iot-verticals/intelligent- buildings-s...](http://www.dglogik.com/iot-verticals/intelligent-buildings- software/data-centers)</comment>


Ask HN: Which freelancer matchmaking site should I use? - <AUTHOR>

I'm thinking about hiring some freelance software developer help, and I'm interested in thoughts people have on the different freelancer sites available.<p>If the particulars of the project or my background is germane to the choice: - I'm looking to get a Visual Studio extension built in C#.
- I think the task is straightforward for a moderately skilled developer. -I'm an experienced C# dev, but I haven't built a Visual Studio extension before. - I've never managed a remote developer before, but have a small amount of experience managing an on-site developer. <comment><USER2> To be honest, I'd be hesitant to recommend most "go-to" freelancer sites like oDesk, Freelancer.com, etc. There definitely _are_ genuine skilled and hardworking people on these sites, it's just there are tens of thousands more that aren't.

I would:

\- Look to see if any Visual Studio Extensions you [use/like/that are similar to what you have in mind]'s authors are easily tracked down and see if they'd be open to taking on your project.

\- Look within your own network/circles for someone you know or trust.

\- Google.

I'd much rather "headhunt" a freelancer and make up my own mind through seeing how they present themselves online, their past work, etc, without being constrained to a thrown-together proposal on a freelance site to decide.

Good luck!

</comment><comment><USER3> I used ODesk, paid somebody $20 an hour for C# work.

Went ok. Guy was good enough.

Saves a lot of time for myself and was worth the $20 an hour.

I asked what your favorite C# language feature was and your favorite nuget package to screen candidates out. There was a HUGE difference between two tiers of answers. Either people completely punted or gave me insightful answers.

Will be doing more or less the same thing on Odesk in the near term future because it worked out ok enough to be worthwhile.

</comment><comment><USER4> At a startup I consulted for, we had a developer who had come via toptal.com. He was heads and shoulders above anyone I've worked with via oDesk etc. Good screening could find diamonds in the rough, though.

You could also google around for people who have done what you want (built extensions you like) and ask them if they would consult on this project for you.

</comment><comment><USER5> I am a freelancer myself. I use elance. I got paid but only after a month after the last deliverable. Not quite the employer's fault because he admittedly was new to the on-line site. If I have to point out a fault, the elance process needs to be improved.

If payment is not prompt, freelancers will pick other sites.

</comment><comment><USER6> [http://www.lancelist.com/](http://www.lancelist.com/) is a big list of alternatives to the larger sites.

Full disclosure: I am the author, so this is a plug!

</comment><comment><USER7> I use oDesk. There are lots of talented humans there. I use a tool I made at [http://ars.io](http://ars.io) to help filter the best 2 of 200</comment>


Facebook's data export is broken - <AUTHOR> http://makuro.wordpress.com/2010/10/29/facebooks-data-export-is-broken/

<comment><USER2> It works fine for me.

The problem is probably that in the url: src="../photos%2FProfile%20Pictures%2F432293561980.jpg" some browsers will convert %2F to "/", whereas others don't

<comment><AUTHOR> This is true, Chrome works no problem. Real slashes are the right method, though. Running it through Firefox (I'm on 3.6) would have revealed the issue.

</comment></comment><comment><USER3> Does anybody else not have the export feature yet?

<comment><AUTHOR> I was kind of surprised to see it available so quickly. I heard the high- resolution photo announcement what seems like months ago and I just checked; still don't have it. Maybe I heard the announcement wrong?</comment></comment>


Employers Influence Job Hopping (Mark Suster's Take Is One-Sided) - <AUTHOR> http://www.gawrilla.com/2010/04/25/employers-influence-job-hopping/ <comment><USER2> There's a reason that the standard equity vesting schedule is four years with a one year cliff. Great people will stick around if they feel that their equity is valuable even if they can get more cash/benefits/perks/responsibility/credit/fame/fortune/whatever elsewhere. If you're not handing out equity, then you need to compete on all those slashies. It's a competitive market and every employee is a free agent.

<comment><AUTHOR> couldn't agree more

</comment></comment><comment><USER3> Of course employers influence job hopping. The impression I get everywhere is that bad employers outnumber good ones by far (too much to be attributed to selection bias). The prevalence of job hoppers is probably more of an indictment of these employers rather than the job seeker.

"Good" places to work like the one Suster purports to run can probably afford to filter out a lot of false negatives from job hopping behavior. Fine, whatever. Your loss. But don't expect people to take that advice at face value.

You might also claim that good employees should also know better than to steer clear of these bad employers, but these people also have to eat, too.

<comment><AUTHOR> right...mark did not touch on the topic of toxic workplaces. he focused solely (i guess) on these "good" or "utopian" work situations. that was another catalyst for the post.

however, in his latest blog post, mark addresses these issues. so i definitely credit him there.

</comment></comment><comment><USER4> Are we dignifying Suster's post a little by calling this a "debate"? Has anyone reputable reinforced Suster's side?

<comment><AUTHOR> you cannot deny that he doesn't make some compelling arguments. objectively of course.

<comment><USER4> Not only did I not find Suster's arguments compelling, I found many of them mildly offensive (but then, I offend easily). My immediate reaction was to find the companies he was on the board of (not too many). Speaking as an employer, hiring in this market is dreadfully hard, and smugly advertising this kind of attitude towards candidates (and by extension employees) is... asinine, is the word.

<comment><AUTHOR> compelling may have been a poor choice of words on my part. clearly, i felt strongly against his position to write about it. the filtering technique was what jumped out at me as plain wrong. not to mention the fact that it was coming from a completely polarized perspective. with all that said, i think i can see where he was going with his post. he's gotten a ton of shit from the community for it, which might have forced him to write his latest piece. have you seen this? : [http://www.bothsidesofthetable.com/2010/04/25/job-hoppers- re...](http://www.bothsidesofthetable.com/2010/04/25/job-hoppers-redux-an- employees-perspective/)

what do you think about it?

<comment><USER4> I think he's gone from saying something asinine to something that is common sense. Everybody worries about people who never stay at jobs for longer than 12 months, accumulating long chains of short job tenures.

But that's not what he said. He said:

* Never hire job hoppers. Never.

* You don't have to be a lifer. 6 years is fine.

* If they've had 5 jobs of 2 years or less, buh bye [sic].

* If you're 30 and have had 6 jobs since college, you're probably disloyal, you don't have staying power, you're in it for yourself instead of the company.

Six years! 6-7 years may make sense for the Sr. Managers of Strategy Consulting at Accenture, but it's totally out of step with the industry we work in.

There's still no debate here.

<comment><USER5> The biggest challenge I had with hiring people who were job hoppers is they didn't have the sort of mentored growth you see in people who spent several years working to grow themselves. Basically, they were doing the same 10-100k line of code projects they were when they got out of college but expecting to be paid more because they had "7 years of industry experience."

I'm sorry, but if you haven't learned to take on larger projects --- and learning two different platforms and a language a year don't cut it --- why should you be paid more than someone with the two years of experience you need to learn to estimate and deliver simple tasks at quality?

This may sound like a hypothetical argument, but it was a serious hiring quality issue I ran into with entire industries that are pro-hopping (finance and startups were the biggest). After a few years of hundreds of phone and in- person interviews with dud "superstar" candidates, you get cynical. As it sounds like the article author is.

<comment><USER4> This comment seems somewhat incoherent.

The question of how much experience a candidate has on your platform has nothing to do with how often they "hop jobs" (and can we stop calling it that now?).

It's hard to interview people, and the penalty for making a bad hiring decision really is steep. But don't scapegoat.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Classic opposing interests.

Employers want employees that will stay for reasons that are anti-capitalist. (because it's cheaper for them)

Employees will stay for reasons that are capitalist.

The recent bits about interns working for free, deriving the company gain, is right up this alley.

</comment><comment><USER7> I've done a fair amount of hiring, and I would definitely take a slightly less talented employee that has some staying power over a superstar who won't be around in a year.

The product knowledge that walks out the door with a short-term employee is just devastating. Of course, as an employer, we have a responsibility to create an environment conducive to retention (pay well, keep the projects varied and interesting, go easy on the death marches)... but there are certain folks who simply can't stay put no matter how well they're treated. They're just not worth the investment.</comment>


Pokémon Go similar to game students created at hackathon in 2014 - <AUTHOR> http://www.cbc.ca/news/canada/kitchener-waterloo/pok%C3%A9mon-go-similar-to-game-students-created-at-uw-competition-in-2014-1.3676833 <comment><AUTHOR> Here's a summary of what they built (in 36 hours) based on the demo video:

        1. Pokemon-style map generation based on the
           actual physical map
        2. Pebble app listing nearby pokemon + pokemon
           in roster
        3. Battle UI + mechanics
        4. Wit.AI (or similar API)-based voice commands
            a. Tell your pokemon what move to use
            b. Challenge another player
            c. Open pokedex
            d. Close pokedex
        5. Myo armband throw Pokeball motion
        6. Multiplayer: two players discover each
           other via GPS and can battle (implemented
           via Socket.IO)
        7. Pokedex recording pokemon you catch
        8. Leap Motion to pet your pokemon

Hackathons often have API prizes, which is why you see a lot of features that use APIs / hardware (Wit.AI, Myo, Leap Motion). What I really love is that the integrations were very natural: throwing Pokeballs, voice commands.

</comment><comment><USER2> Kudos to the team that made that. I'm curious if they thought to approach Nintendo and if Nintendo would have been interested (I don't think they were into mobile yet).

FYI Pokemon Go is based on (and by the same people I think) as Ingress [1] which has been around since 2013.

Although, Pokemon the challenge of the app has been scaling it due to it's instant popularity. The "find Pokemon on an actual map" part is in my opinion not the biggest challenge.

As others have pointed out, Google also had something similar.

1\. [https://www.ingress.com/](https://www.ingress.com/)

</comment><comment><USER3> It's also similar to the April Fool's joke Google did earlier that year... [https://www.youtube.com/watch?v=4YMD6xELI_k](https://www.youtube.com/watch?v=4YMD6xELI_k)

</comment><comment><USER4> No kidding! According to the article it says they made a DS ROM too, which seems like a super fun hack!

</comment><comment><USER5> We need someone to build a similar thing for Yu-Gi-Oh! That'd be wicked!

</comment><comment><USER6> lol twice the features too. the world's still waiting for digimon go. HTN 2016?

</comment><comment><USER7> So ahead of their time</comment>


Ask HN: How do tech companies typically use job references? - <AUTHOR> Hi folks,
I'm planning to leave my current position soon. This position is my first job out of college. I'm looking for senior SDE roles. I'm aware that I'm going to be asked for references by a number of companies. I have some questions:
- How important are references, typically? Are they just a sanity check after a successful round of interviews? Or are they more important?
I understand it's different depending on the company. I have no insight into how tech companies use references. Historically, for internships I've accepted, my references have never been contacted.
- Is providing solely peers (including senior peers, like team leads) or direct reports (e.g. interns I've managed and mentored) as references okay? Is not including a manager a red flag?
I don't want my manager to know I'm leaving until I've accepted an offer elsewhere and have given notice. On top of that, our relationship has been a bit cool as of late. I don't think I can trust him/her to give me a glowing reference. My relationship with my current co-workers, however, is excellent (as well as past interns I've mentored/managed). I know they'll give me some great and truthful references. In addition, I think my co-workers are better positioned to assess my skills as a software engineer; we do code reviews and design reviews and talk shop together daily, but my manager rarely participates. Moreover, I rarely see or speak to my manager and I honestly don't feel he/she has an accurate picture of me or my skills.
Thanks folks!
Edit: When I say tech companies, I'm referring primarily to Bay Area companies (e.g. Google, Facebook, mid-sized startups, unicorns, etc...). I'll be interviewing for offices located within the US. <comment><USER3> I've never given a current manager as a reference. Not wanting to alert your current employer that you're seeking a new job is pretty typical, and the hiring manager should understand. Senior peers are a good substitute. In my experience, your references will usually be contacted.

<comment><AUTHOR> Ah, I see how the wording can be confusing. I'll edit the post for clarification I'm not a contractor. I'm a full time SDE.

By "true" job, I meant to imply I've had short-term jobs, like SDE internships, during college. I suppose I could use references from those positions. However, I wouldn't want to as they were quite a while back and my personality and skillset and responsibility has grown substantially since then.

Anyways, my main concern was not including any sort of manager in my pool of references. Ideally, I'd just want to use current peers. They know me well and have a lot to say. I'm afraid anyone 5+ years back whom I only worked for 3 months would barely remember me.

<comment><USER4> > I'm afraid anyone 5+ years back whom I only worked for 3 months would barely > remember me.

Pick one you had a good relationship with. Call them up and talk to them, tell them you want a reference, and tell them what you've done since you worked for them.

That's what everybody else is doing...

<comment><AUTHOR> Got it. My plan right now is to use:

\- An intern who I managed.

\- A current co-worker who I've collaborated closely with on a number of projects.

\- Our current team lead who I regularly collaborate with on architecture design, but I don't report to him.

These people already know that I'm looking for a new position and they've agreed to provide me with a reference. They should be able to confirm any projects and contributions at my current job, where I've been for 4+ years, as well as speak highly about my performance. Is this set of references good enough for a mid-level SDE position or should I look further back into my job history to add an actual manager [1]?

[1] I know I said I wanted senior SDE earlier but I realized I'm better suited for mid-level right now.

<comment><USER4> If it were me, I'd still put in someone who'd been an actual manager - even if it were from 4-5 years back - there's a few questions hiring managers ask about what you were like to manage that can only be answered by someone who's managed you - things not related to your current skillset, but more about thins like attitudes to authority, curiosity, adaptability, teamwork, willingness and speed of learning - stuff like that.

<comment><USER5> Yup over half of recruiters or HR I've dealt with have wanted a current manager as a must have.

</comment></comment></comment></comment></comment></comment><comment><USER4> 1) Everybody in the hiring process knows that people are _super_ selective about who they choose to use as references. When checking them it's fantastically unusual to get anything less than a completely glowing almost certainly pre-arranged set of answers.

2) Everybody in the hiring process knows that candidates mostly cannot put their current manager and often even cow orkers down as references, due to the sensitivity/privacy of the job seeking process.

3) If you've made extraordinary claims in your resume or the interview - <USER2> will be checked probably both with your given references, and possibly with random ex-colleagues the recruiter or hiring manager will discover from LinkedIn, Googling you, or asking their own network of contacts to suggest names of people who might have worked with you. This is lots more relevant the more senior the role is - if you're going for a C level role, you should 100% expect board members to be reaching out several levels deep in their networks to find out more about you.

I'd suggest going for Senior SDE roles as your second job might trigger #3 there. While giving contact details for your direct reports will help - I'd consider checking your LinkedIn and social media profiles, and your top page or two of google search results, and ask yourself what the people revealed _there_ will say about you if a recruiter calls up...

(I've seen this from all sides: I've had recruiters cold-call me to ask about ex colleagues, I've had friends/acquaintances get in touch asking about people they're considering hiring and if I know them or know any of the people they've given as references, I've Google/LinkedIn stalked candidates I've considered hiring, and I've asked my network of friends/acquaintances if they know anything about people who've claimed to work with them or at places they work...)

<comment><AUTHOR> Thanks for your detailed response! It helps a ton. I've been feeling a bit neurotic because I don't have a large network to fall back on for references, but really want to get out of my current job.

</comment></comment><comment><USER6> Actually, I've never been asked for references by tech companies. I've interviewed at most of the big ones in the last couple years. The only time I've been asked was back when I worked in finance.

</comment><comment><USER7> Someone you report to on a day-to-day basis (i.e. team lead) is fine as are managers at previous companies.

</comment><comment><USER8> From the complete lack of information on your location I conclude that you live in South Africa and you assume that everybody else live there. Am I right?

<comment><AUTHOR> Bay Area, probably like a good majority of contributors here but, you're right, I should add that info.

<comment><USER8> Probably like the rest of the world is a quite big place, you know. I wouldn't bet a beer on Bay Area being a majority here.</comment></comment></comment>


Ideas For Beginning Web Developers - <AUTHOR> http://excid3.com/blog/10-ideas-for-beginner-web-developers/

<comment><USER2> _Don't spend much time building any of these projects. Get the to minimum list of requirements you'd like each site to have and move onto the next one. Do them over the weekend and don't let them stagnate for too long._

I would revise this: Spend as much time as you want. If you get interested in something - keep going. Don't force yourself to keep moving according to this arbitrary list. Go where your interest takes you. JUST. KEEP. GOING!

<comment><USER3> I one-hundred percent agree with your comment. It's all about the learning process and what makes you curious to learning something more on a topic. Doing forced projects is a quick way to burn yourself out if you are not completely interested.

<comment><USER4> +1! The only IT people worth their salt are those who have natural curiosity. Without it, you cannot sustain learning as technology evolves and the industry changes, and your skills will become irrelevant. Incidentally, this is probably why a lot of formally trained CS / software engineering grads actually suck. They never put 2+2 together for themselves, out of interest, in their own time, for fun.

</comment></comment></comment><comment><USER5> Nice list. Along the lines of post yesterday, I'd encourage the developer to use an IDE and gems as little as possible in order to truly get what's going on under the covers. Also, the moving on is an excellent point. I've recently started an app-a-month goal for myself (I'm married with 2 kids) in order to keep myself shipping. I don't know how many times I've rewritten my mp3 site since 2002 :)

Here's one more comment.

11\. Add Unit tests to anything you've developed that you want to keep developing.

<comment><USER6> I would agree with your IDE point, IF the person doesn't know how to use the IDE properly.

I used RubyMine when learning Ruby/Rails, after having used IDEA for years (Java), and the two things which helped me learn Ruby and Rails faster than anything else were code completion (for finding methods which I may have not found otherwise) and the Source Navigator (for want of a better term). Being able to Ctrl-Click on a method and instantly see the source for it(Whether in a gem or in Rails itself) was a massive time-saver when it came to understanding what was going on under the covers.

Edit: Agree 100% with adding tests.

</comment></comment><comment><USER7> (slightly off-topic) Just out of curiosity. Is there a web framework in any language that can compete with Perl's Mojolicious? <http://mojolicio.us/>

I know Mojo offer more but I would like to know whether there is another language with a framework where you have a complete box that is easy to deploy on any platform, comes with built in templates, comes with tools for testing, the ability to seamlessly grow Sinatra-style application into well structured Rail like stuff, a good plugin interface, a WWW library to directly get JSON or DOM elements from a remote location in one command, logs, interfaces for cgi, fastcgi, etc., production and development server with helpful exception handling inside the browser.

I know you can have all of this when you use libraries, but it makes applications harder to deploy and maintain. Besides that it's way easier to write and read stuff when it's an all in one solution. I looked for something like that in Node.js and Ruby, but couldn't find anything.

<comment><USER4> Honestly, I've coded loads in perl, and I think the language has a great place in the Unix user's toolkit. I certainly use it for small scripts all the time. However, the 10,000th time I had to type 'man perldsc' because of the ugly hack that perl data structures and their syntax represent ("Access and printing of HoHoAoHoHoAoA", anyone?), I swore never to use it for complex projects. I learned PHP, and never looked back. Do yourself a favour and learn Ruby, Python or PHP. Don't use perl for complex web projects - it's simply not the problem domain it was designed for, and it shows. I mean, look at the code example on that framework's page: "my $self = shift;" .. who can be bothered with such cruft in 2011? Get with the program!

<comment><USER7> Uhm, sorry but that's nonsense. I know PHP and Ruby. The latter one very well. While Ruby is a great language I prefer Perl in most situations. While I consider both of them to be very good the primary reasons for choosing Perl are CPAN and the fact that it is older and therefor they already "fixed" a lot of shortcomings that other scripting languages have.

And yes, I know the benefits of Ruby's OO. I have used Smalltalk, so please don't tell me all the wonderful things you can do. I know them. But using Perl is like using a lot of experience for practical stuff. That's Perl's strength. There is a lot of knowledge in it and it's designed for practical stuff, the real world and not to look good or to be easy to learn. I still recommend Ruby to people who ask me about programming. Simply because it's better to understand a lot of things and I think it's easier if you start out with a programming language like Ruby. But staying with one language is just stupid. You will have a lot experience with a particular, but knowing different approaches to solve problems is even better.

Then there is this TIMTOWTDI dogma it that receives a lot of criticism, but I think it what keeps Perl alive. It makes it very flexible so you can use it like a completely different language. One can use it for small scripts or one- liners and huge applications. Also it's not true that there are no start up. DuckDuckGo is maybe the most popular example.

But this doesn't mean you should all use Perl. People do things in different ways and they think in different ways. It's not about choosing one single language that receives a lot of hype. Just learn and what's more important understand them. And with understanding I mean the philosophy. A lot of C people for example use Perl like it would be C and then say it's bad because it's like C and slower. GitHub is a nice way to find out how people are using a language and receive some inspiration. It's like everyone should at least try Small Talk and a language like LISP or Haskell. And everyone should learn what Assembly is all about. It will make you a better programmer no matter what language you'll be loosing in the end.

Oh, sorry. This is so off topic. I just wanted to know what stuff I might have missed, because it's really been a while since I had a look on other languages. Sorry!

</comment></comment></comment><comment><USER8> I agree. Reading books and materials can only take you so far. In my experience, after reading an iOS dev book for countless time, you think you get it, but after a few weeks.. you tend to forget all about them. Eventually, i decided on a project to work on, and when i get stuck, refer to the book and continue working on it until it is done. I think the concept sticks better that way, plus you get a sense of satisfaction of a finished product..

</comment><comment><USER9> A wiki is a simple idea that beginning web developers can get started with. <http://riki.heroku.com/> was one of the first web applications I wrote a few years ago (using Rails 2.1.0).

</comment><comment><USER10> As someone looking for some direction on starting Rails development, I'd just like to post a "Thanks", both for the list and the motivation.

</comment><comment><USER11> Good article. Now, I begin to build a todo web service.

</comment><comment><USER4> I disagree strongly with the article's premise. Don't take a job where a language and framework has been chosen that you don't know, where you are still at the point where building basic websites is a 'project'. Why not? Because obviously the company you are working for has no idea what they are doing with their time and money, and you're therefore unlikely to be in an environment with skilled coworkers.

If you are really a beginning web developer, read the HTTP RFC. Learn HTML. Learn Javascript. Learn CSS. Learn basic Unix. Pick one simple project and implement it in three different languages. Then implement it with three different database layers. Then implement it with three different web servers. Then implement it on three different operating systems or at least Linux distributions.

Now try to benchmark and scale. Compare multiple front end load balancers. Compare various NoSQL database architectures and caching solutions. Try some cloud hosting, see where it falls down.

This will teach you far more than fiddling in one framework.

<comment><AUTHOR> I agree if you're doing this fulltime. My job was a part time Rails job for a professor. There are lots of opportunities out there that you can do on nights and weekends if you have another fulltime job. It's a whole different situation than what you're talking about.</comment></comment>


Socialist Millionaire Problem - <AUTHOR> https://en.wikipedia.org/wiki/Socialist_millionaires <comment><USER2> In an episode of Curb Your Enthusiasm, the protagonist has to find the total weight of all the passengers for an airplane, but every passenger is uncomfortable sharing their weight. To me this seems like a problem that could be solved cryptographically, as it seems reminiscent of the SMP or distributed key generation. Does anyone from the crypto community know if there exists a solution for a problem like that?

<comment><USER3> If you do things physically, you can do it easily.

For example you could have a hat with pieces of paper in it each with a number. The numbers sum to 0 (some are positive, some are negative). Each person draws a piece of paper, adds his or her weight to it, then says that number. The numbers that each person says are summed and that's the total sum.

<comment><USER4> Won't you possibly get some information about some passengers by doing this, if you know / can figure out the distribution of the random numbers?

E.g., say that the random numbers are uniformly distributed between -200 and 200. If somebody says a number like 425, then I know they weigh at least 225 pounds. And the probability they weigh more than 225 - k pounds is 1 - k/400.

<comment><USER5> Yes absolutely, but you can just make the range wide enough to wash out the difference (like -2000 to 2000, summing to zero)

Then you would probably get more information from looking at the person thank you could from hearing a weight number that could be +/-2000 pounds

<comment><USER6> You could also do it modulo some number, I think?

Then knowing any individual number (weight + pad) mod n gives zero knowledge (I think. If all but one party reveal their pads, they can trivially determine the other's weight so it fails. Believe it to be secure if only 1 party is malicious, though. Cases for other numbers of bad actors are more complicated...)

</comment></comment></comment></comment></comment><comment><USER7> My eyes are glossing over trying to understand the equations in this article, but isn't the solution as easy as comparing a cryptographic hash of Alice's wealth with a cryptographic hash of Bob's wealth for equality?

The fact that Alice could guess Bob's wealth within a certain range, even if that range is "between $0 and $1 trillion," and then have a finite range to search for a collision could be mitigated with a sufficiently slow hashing algorithm and/or an absurd number of iterations.

<comment><USER8> "could be mitigated"

This is the issue with your solution, it isn't really mitigated in such problems because the domain is too small.

<comment><USER9> Expanding on this observation - mitigating in this manner means the two parties would have to use absurd amounts of time and computing power to calculate the initial hashes to communicate. Not very practical in many cases.</comment></comment></comment>


Good Encryption Practices - <AUTHOR> https://futureboy.us/gpg.html#GoodPractices

<comment><USER2> For practical purposes I don't know anything about encryption; I'll just get that out of the way now.

The parent warns against messages with similar formats, exchange of pleasantries or signatures. In particular, it warns against sending HTML- formatted data (e-mails).

Encrypted data is sent all day long, with message contents in HTML format over SSL/TLS.

Would this article be better named "Good _GPG_ Encryption Practices"?

-If so, could GPG be improved to share the characteristics of SSL/TLS or does it already have that support with some message types?

-If not, why don't we see more attacks on HTTPS traffic?</comment>


Bitbucket announces Connect platform - <AUTHOR> https://blog.bitbucket.org/2015/06/10/atlassian-connect-for-bitbucket-a-new-way-to-extend-your-workflow-in-the-cloud/ <comment><AUTHOR> Here are some of the interesting things coming to the Bitbucket platform:

Code search: [https://sourcegraph.com/](https://sourcegraph.com/) Code quality: [https://www.bithound.io/](https://www.bithound.io/), [https://www.codacy.com/](https://www.codacy.com/) Code analytics: [http://stiltsoft.com/](http://stiltsoft.com/) Deployment: [http://cloudcannon.com/](http://cloudcannon.com/), [https://platform.sh/](https://platform.sh/) Crash and exception handling: [https://rollbar.com/](https://rollbar.com/) Rapid integration: [http://www.wittified.com/](http://www.wittified.com/) Cloud IDE: [https://codeanywhere.com/](https://codeanywhere.com/), [https://codeanywhere.com/](https://codeanywhere.com/)

<comment><USER2> Thanks for the list. Lots of good projects in here!

<comment><USER3> The developer documentation is here for anyone interested in developing their own Bitbucket add-on projects.

[https://developer.atlassian.com/static/bitbucket/](https://developer.atlassian.com/static/bitbucket/)

</comment></comment></comment><comment><USER4> Who else thinks bitbucket is better than github? And that even if its not, we should host a copy of repos on bitbucket too, because competition is good?

EDIT: (For git non-pro's like me)

How does one create a copy? After creating an empty repo on the web interface:

git remote add bitbucket <url of the repo>

How does one keep it updated?

git push bitbucket <branchname>

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

Or if you'd like to always keep the bitbucket repo in sync every time you do a git push origin (preferred method):

`git remote set-url --add --push origin <url of the repo>`

<comment><USER5> > Who else thinks bitbucket is better than github?

Each service has it's pros/cons. Github charges you for private repositories while bitbucket offers them for free. But with bitbucket you are limited to only 5 collaborators - so it's not really useful for anything but personal repo hosting. I teach classes on occasion (obviously more than 5 students) and I pre-provision repos on my own source code hosting service but I also allow the students to get a free private repo from github (they are free if you say you are using it for a class).

> And that even if its not, we should host a copy of repos on bitbucket too, > because competition is good?

It's very unlikely and rare that github would go down or be shutdown but due to google code shutting down I've learned that - it's not a good idea to keep your project (code) in a central location. You can mirror it - but if you aren't running the service yourself be ready to jump ship to either shutdown or changing of features. Github did remove downloads at one point but reintroduced them as releases.

More and more employers are (incorrectly) using github as a CV for developers. So I think github will be the primary source code hosting service for awhile until people realize that a user's github profile is not a proper CV.

<comment><USER6> Bitbucket offers unlimited collaborators if you have a University email address - [https://www.atlassian.com/software/views/bitbucket- academic-...](https://www.atlassian.com/software/views/bitbucket-academic- license.jsp)

That may be useful for your classes and students.

<comment><USER5> I didn't know about that - they seem to keep that pretty hidden. In contrast github makes it very visible that they support academics.

In any case - the one benefit of running my own is that not only can I pre- provision the repos but the accounts as well. Getting students to use git is a challenge itself (it can be rather difficult to use if you don't understand the idea behind it - and pushing using SSH can also be difficult if you have never used SSH or keys before) but putting an account they can use/login with in their hands is half the battle.

<comment><USER7> _they seem to keep that pretty hidden._

It's explicitly stated on their plans/pricing page, I don't think that really counts as "hidden"

[https://bitbucket.org/plans](https://bitbucket.org/plans)

<comment><USER5> Compare that to github who has a whole subdomain dedicated to their academic offers:

[https://education.github.com/](https://education.github.com/)

</comment></comment></comment></comment></comment></comment><comment><USER8> Can anyone tell me, why GitHub doesn't have this feature yet?

Every time I need to browse through the code on GitHub, I need to download the project and open it in an IDE. Very lengthy process. On the other hand this approach looks novel.

<comment><USER9> I usually just search within the repo, that works well.

It's a bit funny - some of these features github already has like code search and commit statistics. On bit bucket you have to pay for the plugin.

One thing I wish github had was bitbucket's commit list with the line graph. That's helpful.

<comment><USER8> Say, I want to see the definition of a class.

If I try to search the repository using just the name of the class; the result is very messy. It shows me everywhere the class has been used. But that's not what I want. I want to go to the definition and BitBucket Connect demonstrates exactly that.

<comment><USER10> Don't most languages have a symbol to denote a class definition. Search for that: class Namespace

<comment><USER8> Yes, that's helpful. Thank you.

</comment></comment></comment></comment></comment><comment><USER11> Tried CodeSearch, but after installing it and clicking on it, it shows a form that says it will "be available soon for private repos" and asks for a bunch of information.

Tried the Graph plugin also -- after installing it and clicking on it, it shows a blank page.

The HipChat integration works well, but they've had that for some time now.

<comment><USER12> The Sourcegraph Code Search add-on will be available for private repositories soon. You can check it out on public code in the meantime; e.g., [https://bitbucket.org/sourcegraph/atlassian- rest/addon/com.s...](https://bitbucket.org/sourcegraph/atlassian- rest/addon/com.sourcegraph.bitbucket.addon/launch-search) and [https://bitbucket.org/sqs/go- aria/addon/com.sourcegraph.bitb...](https://bitbucket.org/sqs/go- aria/addon/com.sourcegraph.bitbucket.addon/launch-search).

</comment></comment><comment><USER13> Great news for anyone that doesn't care at all about protecting their SCM with MFA.

<comment><USER14> I just don't get the reticence to implement it - I added 2FA to a customer facing app we produce in less than a week - and most of that time was coming up with a nice/pretty setup workflow to enable it on your account.

<comment><USER15> From what I've read, it seems because of the complications of the global Atlassian accounts across multiple domains.

</comment></comment></comment><comment><USER16> not to be confused with Stripe Connect:

[https://stripe.com/connect](https://stripe.com/connect)

<comment><USER17> Not to be confused with Facebook Connect, Garmin Connect, Adobe Connect, TI Connect and hundreds of others either. There are two hard things in software development; cache invalidation and naming things.

<comment><USER18> You forgot "and off-by-one errors".</comment></comment></comment>


TapIn.tv (YC S12) Brings Instantaneous Live Video Streaming To The iPhone - <AUTHOR> http://techcrunch.com/2012/08/08/yc-backed-tapin-tv-launches-to-bring-instantaneous-live-video-streaming-to-the-iphone/

<comment><USER3> I'm really looking forward seeing how this app is used to live broadcast interactions with police. Confiscating a phone and deleting it's contents will no longer be such a hot option.

<comment><USER4> And, anything streamed can't be confiscated. You aren't obligated to show a police officer anything not physically on your phone if they're arresting you.

<comment><USER5> They might have to do some work to become resistant to takedowns, but that's a very long-term deal. Just getting the content off the phone is good for the short term.

<comment><USER4> Absolutely. I should've made it more clear, but I'm working on the project.

<comment><USER5> Heh, not your fault, I got that part. Should have looked at the username more closely before responding. :P

</comment></comment></comment></comment></comment><comment><USER6> This seems like it has the potential to replace a great deal of what "news" does for us now. We can literally see _what_ is happening, _when_ it is happening, with no editing.

Building on fire? 10 phones point at it. Major disaster? 10 more phones. Amusing thing, anywhere? 10 phones, and it's archived for anyone to watch later.

<comment><USER4> You've hit the nail on the head. We're looking to make that sort of video as streamlined as possible.

</comment></comment><comment><USER7> I did exactly the same thing in 2008 for the Google Android Challenge. After starting the app, you would see two big buttons - browse and stream - <USER2> clicking on stream would automatically start, well, recording and streaming video. Only _after_ you were done you were required to enter a description and optionally a category (concert, hot event, journalism, sightseeing, etc) of the video you just shot.

Everything would be geotagged and browsable by category, description and radius. Say you wanted to check out the clubs in a 1km radius - just filter by that criteria and see where the hot party is. There is some protest going on right now and you want to see what is happening? Check it out in real time. You are late for a concert and don't wanna miss out? Just watch one of the 50 streams being recorded live. Want to see how war really looks like? You can.

There was a gmaps overlay and some other features I don't remember anymore.

Anyways, I didn't get sponsored (the best 100 or so apps got $25k), and with 10 other competing live streaming services I kinda scrapped the project. Fun to see how history repeats itself, although I thought this was already a solved problem. Maybe I should have pressed on back then :)

<comment><USER8> Interesting. Would you be willing to have a short chat? I am working on something similar. Email in my profile.

</comment></comment><comment><USER9> There's kind of this race to be the first popular streaming video service.

I've been working on something myself this past summer for Android. The difficulty is that you have to create something that can stream video at a high quality despite a poor connection. People will tolerate compression artifacts in a live stream, but on replay the video should be full quality. I think I've come up to a solution for this, but I've had to dig through a bunch of compression research papers.

Of course, if my little hobby ever takes off at some point I don't know what I'll do -- without a good way to monetize quickly, there's no way I can afford the bandwidth of streaming video.

<comment><USER10> I am curious : would you mind sharing the research papers that you found to be useful ?

</comment></comment><comment><USER11> Pretty funny to see a video from a Color employee: [http://www.tapin.tv/#video/132bdb3fbadc4fa0ae89a640ece9e918/...](http://www.tapin.tv/#video/132bdb3fbadc4fa0ae89a640ece9e918/1344465928)

</comment><comment><USER12> <http://bambuser.com/> was doing effectively the same thing during the Egyptian protests.

<comment><USER4> Bambuser has done some great things. I think there's still a lot of room for improvement in the live video sharing space.

</comment></comment><comment><USER13> Did YC know that Justin.tv already has a live broadcasting app? Doesn't YC have a policy against funding competing startups?

<comment><USER14> The Geo and citizen journalism angle I think makes these guys really unique. Also, its just really really fast and easy to start streaming. When it is that easy, you start living streaming everything.

<comment><USER15> That's what I like, even they originally pitched as a way to stream for conferences (including a very weirdly streamed TEDx conference), what they've built is the best streaming tool out there for one to many.

David, Tyler, Paul, and Vu have built something awesome that allows anyone to create. I already know people who can't stop using it. I just wonder what happens once it explodes...

</comment></comment></comment><comment><USER16> Wait, you got live stream video with SOUND without needing a $41M price tag?

And we get to see everyone testing out Tapin.tv live lolz...

Looks like fun, would love to see more tagging and sorting of what's available to watch - I'll look forward to more features to come! Great job guys!

<comment><USER9> I've got it in my own Android project for $0. The problem is the bandwidth if I ever want to scale it up...

</comment></comment><comment><USER17> I remember using Qik[1] on my Nokia N97 a few years ago and thinking the idea was awesome. Without wifi or bundled data packages it was kind of expensive, obviously not an issue anymore.

<http://qik.com/>

</comment><comment><USER18> If I could just live stream without saving it at the end I might use this, but I can't stand it if it automatically saves. Same issue I had with Qik.

<comment><AUTHOR> We're doing a huge feature build out right now, and there will definitely be an option to delete your video as soon as you're done streaming.

</comment></comment><comment><USER19> Excellent work. Live video streaming has wide applications, glad to see you made it so easy to share spontaneous moments.

<comment><USER4> Thanks!

</comment></comment><comment><USER20> I really like the focus on geography as a way of organizing content.

</comment><comment><USER21> "With today's generation of on-demand mobile video apps, users also have the option of adding filters, title cards, and _other crap_ before posting video." (Ryan Lawler, Author)

</comment><comment><USER22> Correct me if I'm wrong, but this is very similar to what color.com ended up doing, right?

<comment><USER4> A few differences. We have sound, unlimited video length and have a much heavier focus on content creation. The current app is entirely for content creation while the web end is consumption.

</comment></comment><comment><USER23> How do these YC/Techcrunch post gain such massive amounts of votes in the first 20min? With no comments? Already 14 at the 13 minute mark.

<comment><USER24> Take a look at the TLD and you'll find your answer. Whether it's positive or negative, I don't know -- but here it's their ball and thus their ballgame.

<comment><USER25> One of the first thing pg tells everyone in YC is that YC founders aren't treated any differently by the Hacker News software and moderators.

A lot of the upvotes come from the fact that people share TechCrunch stories with everyone they know. There seems to be a big feedback loop effect with TechCrunch.</comment></comment></comment>


Show HN: Shoot missiles at Ruby devs - <AUTHOR> http://missile.lab.io/#

<comment><USER2> Stop ducking. I've got awful lag from Hawaii. How did you do it?

</comment><comment><USER2> Awesome. Move your Coke before someone shoots it on your macbook :)

</comment><comment><AUTHOR> cursor keys to move HOLD space for about 6-8 sec to shoot

</comment><comment><USER3> missile.lab.io is offline right now

</comment><comment><USER2> ha ha! fun. How did you wire it up?</comment>